On Mon, Oct 12, 2020 at 10:12:11AM +0200, Andreas Rheinhardt wrote:
> Before the LE bitstream reader was used in the Indeo 2 decoder,
> a standard BE bitstream reader with swapped bits was used; when the LE
> bitstream reader was added, the old code was only #ifdef'ed away and not
> removed. Said code has several problems: It modifies the input packet
> without ensuring that the packet is indeed writable; and it doesn't work
> since 09c4e5c5988c0037d108c5fc2a137d9ad488f7f4 because said commit
> removed the BE table used to initialize the VLC table. So just remove
> this cruft from the actual decoder, too.
> 
> Also use INIT_LE_VLC_STATIC while at it.

lgtm

> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@gmail.com>
> ---
>  libavcodec/indeo2.c | 19 +++----------------
>  1 file changed, 3 insertions(+), 16 deletions(-)
> 
> diff --git a/libavcodec/indeo2.c b/libavcodec/indeo2.c
> index ccf6cd84cb..7a568bfbc4 100644
> --- a/libavcodec/indeo2.c
> +++ b/libavcodec/indeo2.c
> @@ -174,10 +174,6 @@ static int ir2_decode_frame(AVCodecContext *avctx,
>      s->decode_delta = buf[18];
>  
>      /* decide whether frame uses deltas or not */
> -#ifndef BITSTREAM_READER_LE
> -    for (i = 0; i < buf_size; i++)
> -        buf[i] = ff_reverse[buf[i]];
> -#endif
>  
>      if ((ret = init_get_bits8(&s->gb, buf + start, buf_size - start)) < 0)
>          return ret;
> @@ -232,7 +228,6 @@ static int ir2_decode_frame(AVCodecContext *avctx,
>  static av_cold int ir2_decode_init(AVCodecContext *avctx)
>  {
>      Ir2Context * const ic = avctx->priv_data;
> -    static VLC_TYPE vlc_tables[1 << CODE_VLC_BITS][2];
>  
>      ic->avctx = avctx;
>  
> @@ -242,17 +237,9 @@ static av_cold int ir2_decode_init(AVCodecContext *avctx)
>      if (!ic->picture)
>          return AVERROR(ENOMEM);
>  
> -    ir2_vlc.table = vlc_tables;
> -    ir2_vlc.table_allocated = 1 << CODE_VLC_BITS;
> -#ifdef BITSTREAM_READER_LE
> -        init_vlc(&ir2_vlc, CODE_VLC_BITS, IR2_CODES,
> -                 &ir2_codes[0][1], 4, 2,
> -                 &ir2_codes[0][0], 4, 2, INIT_VLC_USE_NEW_STATIC | 
> INIT_VLC_LE);
> -#else
> -        init_vlc(&ir2_vlc, CODE_VLC_BITS, IR2_CODES,
> -                 &ir2_codes[0][1], 4, 2,
> -                 &ir2_codes[0][0], 4, 2, INIT_VLC_USE_NEW_STATIC);
> -#endif
> +    INIT_LE_VLC_STATIC(&ir2_vlc, CODE_VLC_BITS, IR2_CODES,
> +                       &ir2_codes[0][1], 4, 2,
> +                       &ir2_codes[0][0], 4, 2, 1 << CODE_VLC_BITS);
>  
>      return 0;
>  }
> -- 
> 2.25.1
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to