ref: ff94344196ba39d08fd27b67d693363937cb25a3
parent: eb2469fb4d0987cf75ae05b706711df59533d690
author: vacingFang <[email protected]>
date: Fri Jul 9 09:40:29 EDT 2021
fix bug of sps->direct_8x8_inference_flag setting
--- a/codec/encoder/core/src/au_set.cpp
+++ b/codec/encoder/core/src/au_set.cpp
@@ -304,7 +304,11 @@
BsWriteUE (pLocalBitStringAux, pSps->iMbHeight - 1); // pic_height_in_map_units_minus1
BsWriteOneBit (pLocalBitStringAux, true/*pSps->bFrameMbsOnlyFlag*/); // bFrameMbsOnlyFlag
- BsWriteOneBit (pLocalBitStringAux, 0/*pSps->bDirect8x8InferenceFlag*/); // direct_8x8_inference_flag
+ uint8_t d8x8 = 0;
+ if (pSps->iLevelIdc >= 30)
+ d8x8 = 1;
+ BsWriteOneBit (pLocalBitStringAux, d8x8/*pSps->bDirect8x8InferenceFlag*/); // direct_8x8_inference_flag
+
BsWriteOneBit (pLocalBitStringAux, pSps->bFrameCroppingFlag); // bFrameCroppingFlag
if (pSps->bFrameCroppingFlag) {
BsWriteUE (pLocalBitStringAux, pSps->sFrameCrop.iCropLeft); // frame_crop_left_offset