[FFmpeg-trac] #8752(avcodec:open): hevc_metadata: VUI fields not correctly inferred

FFmpeg trac at avcodec.org
Sun Jun 21 21:34:43 EEST 2020


#8752: hevc_metadata: VUI fields not correctly inferred
-------------------------------------+-------------------------------------
             Reporter:               |                    Owner:
  MetalThrashingManiac               |
                 Type:  defect       |                   Status:  open
             Priority:  important    |                Component:  avcodec
              Version:  git-master   |               Resolution:
             Keywords:  hevc cbs     |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  1            |
-------------------------------------+-------------------------------------
Changes (by jamrial):

 * analyzed:  0 => 1
 * keywords:  hevc => hevc cbs
 * version:  unspecified => git-master
 * status:  new => open
 * priority:  normal => important


Comment:

 Probably a regression since ef13fafe229a86480305fbb05e83208102ea962f.

 Does the following patch fix the issue for you?


 {{{
 From 6b1b0b9381c8342c48b4c3703e860f09b2cbaf55 Mon Sep 17 00:00:00 2001
 From: James Almer <jamrial at gmail.com>
 Date: Sun, 21 Jun 2020 15:30:45 -0300
 Subject: [PATCH] avcodec/cbs_h265: set default VUI parameters when
  vui_parameters_present_flag is false

 Based on cbs_h264 code.

 Signed-off-by: James Almer <jamrial at gmail.com>
 ---
  libavcodec/cbs_h265_syntax_template.c | 28 +++++++++++++++++++++++++++
  1 file changed, 28 insertions(+)

 diff --git a/libavcodec/cbs_h265_syntax_template.c
 b/libavcodec/cbs_h265_syntax_template.c
 index 5b7d1aa837..48fae82d04 100644
 --- a/libavcodec/cbs_h265_syntax_template.c
 +++ b/libavcodec/cbs_h265_syntax_template.c
 @@ -744,6 +744,32 @@ static int
 FUNC(sps_scc_extension)(CodedBitstreamContext *ctx, RWContext *rw,
      return 0;
  }

 +static int FUNC(vui_parameters_default)(CodedBitstreamContext *ctx,
 +                                        RWContext *rw, H265RawVUI
 *current,
 +                                        H265RawSPS *sps)
 +{
 +    infer(aspect_ratio_idc, 0);
 +
 +    infer(video_format,             5);
 +    infer(video_full_range_flag,    0);
 +    infer(colour_primaries,         2);
 +    infer(transfer_characteristics, 2);
 +    infer(matrix_coefficients,      2);
 +
 +    infer(chroma_sample_loc_type_top_field,    0);
 +    infer(chroma_sample_loc_type_bottom_field, 0);
 +
 +    infer(tiles_fixed_structure_flag,    0);
 +    infer(motion_vectors_over_pic_boundaries_flag, 1);
 +    infer(min_spatial_segmentation_idc,  0);
 +    infer(max_bytes_per_pic_denom,       2);
 +    infer(max_bits_per_min_cu_denom,     1);
 +    infer(log2_max_mv_length_horizontal, 15);
 +    infer(log2_max_mv_length_vertical,   15);
 +
 +    return 0;
 +}
 +
  static int FUNC(sps)(CodedBitstreamContext *ctx, RWContext *rw,
                       H265RawSPS *current)
  {
 @@ -908,6 +934,8 @@ static int FUNC(sps)(CodedBitstreamContext *ctx,
 RWContext *rw,
      flag(vui_parameters_present_flag);
      if (current->vui_parameters_present_flag)
          CHECK(FUNC(vui_parameters)(ctx, rw, &current->vui, current));
 +    else
 +        CHECK(FUNC(vui_parameters_default)(ctx, rw, &current->vui,
 current));

      flag(sps_extension_present_flag);
      if (current->sps_extension_present_flag) {
 --
 2.27.0


 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/8752#comment:3>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list