h264: Make WriteUe take a u32
Enforces the type of the desired value in calling code.
This commit is contained in:
		@@ -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() {
 | 
			
		||||
 
 | 
			
		||||
@@ -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();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user