[FFmpeg-devel] [PATCH 01/23] avcodec: add color_range to AVCodec struct and use it

wm4 nfxjfg at googlemail.com
Tue Dec 12 16:07:12 EET 2017


On Tue, 12 Dec 2017 14:55:59 +0100
Paul B Mahol <onemda at gmail.com> wrote:

> Signed-off-by: Paul B Mahol <onemda at gmail.com>
> ---
>  libavcodec/avcodec.h | 1 +
>  libavcodec/utils.c   | 2 ++
>  2 files changed, 3 insertions(+)
> 
> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
> index 5db6a81320..df715fd5ee 100644
> --- a/libavcodec/avcodec.h
> +++ b/libavcodec/avcodec.h
> @@ -3376,6 +3376,7 @@ typedef struct AVCodec {
>      uint8_t max_lowres;                     ///< maximum value for lowres supported by the decoder
>      const AVClass *priv_class;              ///< AVClass for the private context
>      const AVProfile *profiles;              ///< array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN}
> +    const enum AVColorRange *color_ranges;  ///< array of supported color ranges by encoder, or  NULL if unknown, array is terminated by -1

wouldn't it be terminated by AVCOL_RANGE_UNSPECIFIED? (The enum might be
backed by an unsigned integer type, so this is not just bikeshed.)

>  
>      /*****************************************************************
>       * No fields below this line are part of the public API. They
> diff --git a/libavcodec/utils.c b/libavcodec/utils.c
> index 873f39f9bd..41cc6fbf2c 100644
> --- a/libavcodec/utils.c
> +++ b/libavcodec/utils.c
> @@ -879,6 +879,8 @@ FF_ENABLE_DEPRECATION_WARNINGS
>                  avctx->codec->pix_fmts[i] == AV_PIX_FMT_YUVJ444P)
>                  avctx->color_range = AVCOL_RANGE_JPEG;
>          }
> +        if (avctx->codec->color_range)
> +            avctx->color_range = avctx->codec->color_range;
>          if (avctx->codec->supported_samplerates) {
>              for (i = 0; avctx->codec->supported_samplerates[i] != 0; i++)
>                  if (avctx->sample_rate == avctx->codec->supported_samplerates[i])



More information about the ffmpeg-devel mailing list