[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, ¤t->vui, current));
+ else
+ CHECK(FUNC(vui_parameters_default)(ctx, rw, ¤t->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