[FFmpeg-devel] [PATCH] IFF: decode last 8 pixels per line

Sebastian Vater cdgs.basty
Sun May 9 15:47:11 CEST 2010


Mans Rullgard a ?crit :
> The decodeplane8() function processes one byte of input less than
> it should.  Also, the for loop has an unusual style with side-effects
> in the controlling expression; replaced with a more intuitive while
> loop.
>
> 10l to Basty.
>   

Thanks for the beer! :P

> ---
>  libavcodec/iff.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/libavcodec/iff.c b/libavcodec/iff.c
> index e563de1..d23837e 100644
> --- a/libavcodec/iff.c
> +++ b/libavcodec/iff.c
> @@ -141,9 +141,10 @@ static av_cold int decode_init(AVCodecContext *avctx)
>  static void decodeplane8(uint8_t *dst, const uint8_t *buf, int buf_size, int bps, int plane)
>  {
>      const uint64_t *lut = plane8_lut[plane];
> -    for(; --buf_size != 0; dst += 8) {
> +    while (buf_size--) {
>          uint64_t v = AV_RN64A(dst) | lut[*buf++];
>          AV_WN64A(dst, v);
> +        dst += 8;
>      }
>  }
>  
>   

Works for me...patch is fine!

-- 

Best regards,
                   :-) Basty/CDGS (-:




More information about the ffmpeg-devel mailing list