On 02/27/2012 02:17 PM, Anton Khirnov wrote:

> It's currently only used as temporary storage by the mov demuxer. Make
> it use a local variable instead.
> ---
>  libavcodec/avcodec.h |    4 +++-
>  libavcodec/options.c |    2 ++
>  libavcodec/version.h |    3 +++
>  libavformat/mov.c    |    7 ++++---
>  4 files changed, 12 insertions(+), 4 deletions(-)
> 
> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
> index 19478fe..13de8cc 100644
> --- a/libavcodec/avcodec.h
> +++ b/libavcodec/avcodec.h
> @@ -1681,13 +1681,15 @@ typedef struct AVCodecContext {
>       */
>      int inter_quant_bias;
>  
> +#if FF_API_COLOR_TABLE_ID
>      /**
>       * color table ID
>       * - encoding: unused
>       * - decoding: Which clrtable should be used for 8bit RGB images.
>       *             Tables have to be stored somewhere. FIXME
>       */
> -    int color_table_id;
> +    attribute_deprecated int color_table_id;
> +#endif
>  
>      /**
>       * slice flags
> diff --git a/libavcodec/options.c b/libavcodec/options.c
> index 9fdfb88..64abc9f 100644
> --- a/libavcodec/options.c
> +++ b/libavcodec/options.c
> @@ -299,7 +299,9 @@ static const AVOption options[]={
>  {"me_range", "limit motion vectors range (1023 for DivX player)", 
> OFFSET(me_range), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
>  {"ibias", "intra quant bias", OFFSET(intra_quant_bias), AV_OPT_TYPE_INT, 
> {.dbl = FF_DEFAULT_QUANT_BIAS }, INT_MIN, INT_MAX, V|E},
>  {"pbias", "inter quant bias", OFFSET(inter_quant_bias), AV_OPT_TYPE_INT, 
> {.dbl = FF_DEFAULT_QUANT_BIAS }, INT_MIN, INT_MAX, V|E},
> +#if FF_API_COLOR_TABLE_ID
>  {"color_table_id", NULL, OFFSET(color_table_id), AV_OPT_TYPE_INT, {.dbl = 
> DEFAULT }, INT_MIN, INT_MAX},
> +#endif
>  {"global_quality", NULL, OFFSET(global_quality), AV_OPT_TYPE_INT, {.dbl = 
> DEFAULT }, INT_MIN, INT_MAX, V|A|E},
>  {"coder", NULL, OFFSET(coder_type), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, 
> INT_MIN, INT_MAX, V|E, "coder"},
>  {"vlc", "variable length coder / huffman coder", 0, AV_OPT_TYPE_CONST, {.dbl 
> = FF_CODER_TYPE_VLC }, INT_MIN, INT_MAX, V|E, "coder"},
> diff --git a/libavcodec/version.h b/libavcodec/version.h
> index 386f287..33a6c2e 100644
> --- a/libavcodec/version.h
> +++ b/libavcodec/version.h
> @@ -56,5 +56,8 @@
>  #ifndef FF_API_SUB_ID
>  #define FF_API_SUB_ID           (LIBAVCODEC_VERSION_MAJOR < 55)
>  #endif
> +#ifndef FF_API_COLOR_TABLE_ID
> +#define FF_API_COLOR_TABLE_ID   (LIBAVCODEC_VERSION_MAJOR < 55)
> +#endif
>  
>  #endif /* AVCODEC_VERSION_H */
> diff --git a/libavformat/mov.c b/libavformat/mov.c
> index b11e0bf..0c51eac 100644
> --- a/libavformat/mov.c
> +++ b/libavformat/mov.c
> @@ -1180,6 +1180,7 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext 
> *pb, int entries)
>          if (st->codec->codec_type==AVMEDIA_TYPE_VIDEO) {
>              unsigned int color_depth, len;
>              int color_greyscale;
> +            int color_table_id;
>  
>              st->codec->codec_id = id;
>              avio_rb16(pb); /* version */
> @@ -1207,9 +1208,9 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext 
> *pb, int entries)
>                  st->codec->codec_tag=MKTAG('I', '4', '2', '0');
>  
>              st->codec->bits_per_coded_sample = avio_rb16(pb); /* depth */
> -            st->codec->color_table_id = avio_rb16(pb); /* colortable id */
> +            color_table_id = avio_rb16(pb); /* colortable id */
>              av_dlog(c->fc, "depth %d, ctab id %d\n",
> -                   st->codec->bits_per_coded_sample, 
> st->codec->color_table_id);
> +                   st->codec->bits_per_coded_sample, color_table_id);
>              /* figure out the palette situation */
>              color_depth = st->codec->bits_per_coded_sample & 0x1F;
>              color_greyscale = st->codec->bits_per_coded_sample & 0x20;
> @@ -1236,7 +1237,7 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext 
> *pb, int entries)
>                          if (color_index < 0)
>                              color_index = 0;
>                      }
> -                } else if (st->codec->color_table_id) {
> +                } else if (color_table_id) {
>                      const uint8_t *color_table;
>                      /* if flag bit 3 is set, use the default palette */
>                      color_count = 1 << color_depth;


definitely LGTM.

-Justin

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to