summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorameerj <52414509+ameerj@users.noreply.github.com>2021-08-10 22:26:06 -0400
committerameerj <52414509+ameerj@users.noreply.github.com>2021-08-16 14:40:53 -0400
commitb384129c63c604d8087f72a880adfdc6c68ab9a0 (patch)
tree144966db5a167ee6f880111bea77f7c8743d5d5f
parentcd016d3cb5191b9f4f2756e440a6aa67e577c414 (diff)
h264: Lower max_num_ref_frames
GPU decoding seems to be more picky when it comes to the maximum number of reference frames.
-rw-r--r--src/video_core/command_classes/codecs/h264.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/video_core/command_classes/codecs/h264.cpp b/src/video_core/command_classes/codecs/h264.cpp
index 5fb6d45ee..51ee14c13 100644
--- a/src/video_core/command_classes/codecs/h264.cpp
+++ b/src/video_core/command_classes/codecs/h264.cpp
@@ -95,7 +95,8 @@ const std::vector<u8>& H264::ComposeFrameHeader(const NvdecCommon::NvdecRegister
const s32 pic_height = context.h264_parameter_set.frame_height_in_map_units /
(context.h264_parameter_set.frame_mbs_only_flag ? 1 : 2);
- writer.WriteUe(16);
+ // TODO (ameerj): Where do we get this number, it seems to be particular for each stream
+ writer.WriteUe(6); // Max number of reference frames
writer.WriteBit(false);
writer.WriteUe(context.h264_parameter_set.pic_width_in_mbs - 1);
writer.WriteUe(pic_height - 1);