ref: b84f056cf2345ce447f9ab6d17c6289f083c0538
parent: 082449eaceb7dfcee787c7fd00b6459b8cb35492
parent: 8c88b934735a3d7668755b66b06b7305d03456c9
author: ruil2 <ruil2@cisco.com>
date: Thu Feb 16 03:50:23 EST 2017
Merge pull request #2659 from sijchen/chp [Encoder] add support for bConstraintSet4Flag and bConstraintSet5Flag
--- a/codec/encoder/core/src/au_set.cpp
+++ b/codec/encoder/core/src/au_set.cpp
@@ -272,7 +272,14 @@
BsWriteOneBit (pLocalBitStringAux, pSps->bConstraintSet1Flag); // bConstraintSet1Flag
BsWriteOneBit (pLocalBitStringAux, pSps->bConstraintSet2Flag); // bConstraintSet2Flag
BsWriteOneBit (pLocalBitStringAux, pSps->bConstraintSet3Flag); // bConstraintSet3Flag
- BsWriteBits (pLocalBitStringAux, 4, 0); // reserved_zero_4bits, equal to 0
+ if (PRO_HIGH == pSps->uiProfileIdc || PRO_EXTENDED == pSps->uiProfileIdc ||
+ PRO_MAIN == pSps->uiProfileIdc) {
+ BsWriteOneBit (pLocalBitStringAux, 1); // bConstraintSet4Flag: If profile_idc is equal to 77, 88, or 100, constraint_set4_flag equal to 1 indicates that the value of frame_mbs_only_flag is equal to 1. constraint_set4_flag equal to 0 indicates that the value of frame_mbs_only_flag may or may not be equal to 1.
+ BsWriteOneBit (pLocalBitStringAux, 1); // bConstraintSet5Flag: If profile_idc is equal to 77, 88, or 100, constraint_set5_flag equal to 1 indicates that B slice types are not present in the coded video sequence. constraint_set5_flag equal to 0 indicates that B slice types may or may not be present in the coded video sequence.
+ BsWriteBits (pLocalBitStringAux, 2, 0); // reserved_zero_2bits, equal to 0
+ } else {
+ BsWriteBits (pLocalBitStringAux, 4, 0); // reserved_zero_4bits, equal to 0
+ }
BsWriteBits (pLocalBitStringAux, 8, pSps->iLevelIdc); // iLevelIdc
BsWriteUE (pLocalBitStringAux, pSps->uiSpsId + pSpsIdDelta[pSps->uiSpsId]); // seq_parameter_set_id
--- a/test/api/encoder_test.cpp
+++ b/test/api/encoder_test.cpp
@@ -163,15 +163,15 @@
},
{
"res/CiscoVT2people_320x192_12fps.yuv",
- {"feecaa5dc8809b8802807230970edf5f77dfcaed"}, CAMERA_VIDEO_REAL_TIME, 320, 192, 12.0f, SM_SINGLE_SLICE, false, 1, false, false, true //turn on cabac
+ {"ab23d0ae245283b3f12db766df155ced7b4a610e"}, CAMERA_VIDEO_REAL_TIME, 320, 192, 12.0f, SM_SINGLE_SLICE, false, 1, false, false, true //turn on cabac
},
{
"res/Cisco_Absolute_Power_1280x720_30fps.yuv",
- {"5c96676f6cd9bccd7333234d4311237fc134f0cd"}, CAMERA_VIDEO_REAL_TIME, 1280, 720, 30.0f, SM_SIZELIMITED_SLICE, false, 1, false, false, true
+ {"7e59555ff5832e65e776ced13b35d054cf93a32c"}, CAMERA_VIDEO_REAL_TIME, 1280, 720, 30.0f, SM_SIZELIMITED_SLICE, false, 1, false, false, true
},
{
"res/Cisco_Absolute_Power_1280x720_30fps.yuv",
- {"ac97d59745a2c41fb43e34c8d608abb30e227dea"}, CAMERA_VIDEO_REAL_TIME, 1280, 720, 30.0f, SM_FIXEDSLCNUM_SLICE, false, 1, false, false, true
+ {"c82965b5119341b288a7c39135ce44521a6f23e1"}, CAMERA_VIDEO_REAL_TIME, 1280, 720, 30.0f, SM_FIXEDSLCNUM_SLICE, false, 1, false, false, true
},
};