[FFmpeg-devel] [PATCH] avcodec/hevc: export chroma sample location

James Almer jamrial at gmail.com
Wed Apr 11 19:09:12 EEST 2018


On 4/11/2018 8:46 AM, Hendrik Leppkes wrote:
> ---
>  libavcodec/hevcdec.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
> index c8877626d2..e8227a510b 100644
> --- a/libavcodec/hevcdec.c
> +++ b/libavcodec/hevcdec.c
> @@ -344,6 +344,17 @@ static void export_stream_params(AVCodecContext *avctx, const HEVCParamSets *ps,
>          avctx->colorspace      = AVCOL_SPC_UNSPECIFIED;
>      }
>  
> +    if (sps->chroma_format_idc == 1) {
> +        if (sps->vui.chroma_loc_info_present_flag) {
> +            if (sps->vui.chroma_sample_loc_type_top_field <= 5)
> +                avctx->chroma_sample_location = sps->vui.chroma_sample_loc_type_top_field + 1;
> +            else
> +                avctx->chroma_sample_location = AVCHROMA_LOC_UNSPECIFIED;
> +        } else
> +            avctx->chroma_sample_location = AVCHROMA_LOC_LEFT;
> +    } else
> +        avctx->chroma_sample_location = AVCHROMA_LOC_UNSPECIFIED;
> +

Nit: It's probably cleaner to set it to AVCHROMA_LOC_UNSPECIFIED right
before doing thsee bitstream checks, instead of duplicating the else case.

>      if (vps->vps_timing_info_present_flag) {
>          num = vps->vps_num_units_in_tick;
>          den = vps->vps_time_scale;
> 



More information about the ffmpeg-devel mailing list