diff options
| author | Lioncash <mathew1800@gmail.com> | 2020-10-27 02:50:03 -0400 | 
|---|---|---|
| committer | Lioncash <mathew1800@gmail.com> | 2020-10-27 03:21:53 -0400 | 
| commit | cce14b4cd75fd3bbab548375a0a547ec499283e2 (patch) | |
| tree | 4e7b8e774ba4a07489b14ab6b42ada58d476ec14 /src/video_core | |
| parent | 6291975731f6237de3edc81a96aca87cdae01000 (diff) | |
h264: Make WriteUe take a u32
Enforces the type of the desired value in calling code.
Diffstat (limited to 'src/video_core')
| -rw-r--r-- | src/video_core/command_classes/codecs/h264.cpp | 13 | ||||
| -rw-r--r-- | src/video_core/command_classes/codecs/h264.h | 2 | 
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(); | 
