|
|
|
@ -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() { |
|
|
|
|