On Fri, Jun 10, 2011 at 02:46:27PM +0200, Andreas Öman wrote:
> ---
>  libavcodec/pngdec.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
> index 7477f67..d4ec38e 100644
> --- a/libavcodec/pngdec.c
> +++ b/libavcodec/pngdec.c
> @@ -232,7 +232,7 @@ static void png_filter_row(DSPContext *dsp, uint8_t *dst, 
> int filter_type,
>              p = last[i];
>              dst[i] = p + src[i];
>          }
> -        if(bpp > 1 && size > 4) {
> +        if(bpp > 1 && bpp <=4 && size > 4) {
>              // would write off the end of the array if we let it process the 
> last pixel with bpp=3
>              int w = bpp==4 ? size : size-3;
>              dsp->add_png_paeth_prediction(dst+i, src+i, last+i, w-i, bpp);
> -- 

IIRC Michael committed a "fix" for SIMD part which somehow splits this
function execution into two parts, maybe it's worth doing that in pngdec.c
(or properly fix SIMD counterpart instead).
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to