summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2020-10-27 07:50:03 +0100
committerLioncash <mathew1800@gmail.com>2020-10-27 08:21:53 +0100
commitcce14b4cd75fd3bbab548375a0a547ec499283e2 (patch)
tree4e7b8e774ba4a07489b14ab6b42ada58d476ec14
parentvp9: std::move buffer within ComposeFrameHeader() (diff)
downloadyuzu-cce14b4cd75fd3bbab548375a0a547ec499283e2.tar
yuzu-cce14b4cd75fd3bbab548375a0a547ec499283e2.tar.gz
yuzu-cce14b4cd75fd3bbab548375a0a547ec499283e2.tar.bz2
yuzu-cce14b4cd75fd3bbab548375a0a547ec499283e2.tar.lz
yuzu-cce14b4cd75fd3bbab548375a0a547ec499283e2.tar.xz
yuzu-cce14b4cd75fd3bbab548375a0a547ec499283e2.tar.zst
yuzu-cce14b4cd75fd3bbab548375a0a547ec499283e2.zip
-rw-r--r--src/video_core/command_classes/codecs/h264.cpp13
-rw-r--r--src/video_core/command_classes/codecs/h264.h2
2 files changed, 8 insertions, 7 deletions
diff --git a/src/video_core/command_classes/codecs/h264.cpp b/src/video_core/command_classes/codecs/h264.cpp
index 54a749e2b..549a40f52 100644
--- a/src/video_core/command_classes/codecs/h264.cpp
+++ b/src/video_core/command_classes/codecs/h264.cpp
@@ -63,7 +63,8 @@ std::vector<u8>& H264::ComposeFrameHeader(NvdecCommon::NvdecRegisters& state, bo
writer.WriteU(0, 8);
writer.WriteU(31, 8);
writer.WriteUe(0);
- const s32 chroma_format_idc = (context.h264_parameter_set.flags >> 12) & 0x3;
+ const auto chroma_format_idc =
+ static_cast<u32>((context.h264_parameter_set.flags >> 12) & 3);
writer.WriteUe(chroma_format_idc);
if (chroma_format_idc == 3) {
writer.WriteBit(false);
@@ -74,8 +75,8 @@ std::vector<u8>& H264::ComposeFrameHeader(NvdecCommon::NvdecRegisters& state, bo
writer.WriteBit(false); // QpprimeYZeroTransformBypassFlag
writer.WriteBit(false); // Scaling matrix present flag
- const s32 order_cnt_type = static_cast<s32>((context.h264_parameter_set.flags >> 14) & 3);
- writer.WriteUe(static_cast<s32>((context.h264_parameter_set.flags >> 8) & 0xf));
+ const auto order_cnt_type = static_cast<u32>((context.h264_parameter_set.flags >> 14) & 3);
+ writer.WriteUe(static_cast<u32>((context.h264_parameter_set.flags >> 8) & 0xf));
writer.WriteUe(order_cnt_type);
if (order_cnt_type == 0) {
writer.WriteUe(context.h264_parameter_set.log2_max_pic_order_cnt);
@@ -115,7 +116,7 @@ std::vector<u8>& H264::ComposeFrameHeader(NvdecCommon::NvdecRegisters& state, bo
writer.WriteUe(0);
writer.WriteUe(0);
- writer.WriteBit(context.h264_parameter_set.entropy_coding_mode_flag);
+ writer.WriteBit(context.h264_parameter_set.entropy_coding_mode_flag != 0);
writer.WriteBit(false);
writer.WriteUe(0);
writer.WriteUe(context.h264_parameter_set.num_refidx_l0_default_active);
@@ -187,8 +188,8 @@ void H264BitWriter::WriteSe(s32 value) {
WriteExpGolombCodedInt(value);
}
-void H264BitWriter::WriteUe(s32 value) {
- WriteExpGolombCodedUInt((u32)value);
+void H264BitWriter::WriteUe(u32 value) {
+ WriteExpGolombCodedUInt(value);
}
void H264BitWriter::End() {
diff --git a/src/video_core/command_classes/codecs/h264.h b/src/video_core/command_classes/codecs/h264.h
index c36a54399..f2292fd2f 100644
--- a/src/video_core/command_classes/codecs/h264.h
+++ b/src/video_core/command_classes/codecs/h264.h
@@ -38,7 +38,7 @@ public:
/// WriteSe and WriteUe write in the Exp-Golomb-coded syntax
void WriteU(s32 value, s32 value_sz);
void WriteSe(s32 value);
- void WriteUe(s32 value);
+ void WriteUe(u32 value);
/// Finalize the bitstream
void End();