diff options
-rw-r--r-- | drivers/frame_provider/decoder/h265/vh265.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/frame_provider/decoder/h265/vh265.c b/drivers/frame_provider/decoder/h265/vh265.c index 9369556..516d74a 100644 --- a/drivers/frame_provider/decoder/h265/vh265.c +++ b/drivers/frame_provider/decoder/h265/vh265.c @@ -8513,6 +8513,13 @@ static void set_frame_info(struct hevc_state_s *hevc, struct vframe_s *vf, } if (hevc->video_signal_type & VIDEO_SIGNAL_TYPE_AVAILABLE_MASK) { vf->signal_type = pic->video_signal_type; + /* When the matrix_coeffiecents, transfer_characteristics and colour_primaries + * syntax elements are absent, their values shall be presumed to be equal to 2 + */ + if ((vf->signal_type & 0x1000000) == 0) { + vf->signal_type = vf->signal_type & 0xff000000; + vf->signal_type = vf->signal_type | 0x20202; + } if (hevc->sei_present_flag & SEI_HDR10PLUS_MASK) { u32 data; data = vf->signal_type; |