[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