History

Use bool instead of bool_t

bool is one of the built in, standard types in C++, there's no need for a typedef for it.

Martin Storsjö committed 12 years ago

Commit 2b77fe71 parent 17d7b5d82 files · +468 −471Browse files

Showing the changes to codec/decoder (27 of 82 files). Show all

Unified · Split

27 files
  1. codec/decoder/core/inc/au_parser.h +2 −2
  2. codec/decoder/core/inc/dec_frame.h +4 −4
  3. codec/decoder/core/inc/decode_slice.h +2 −2
  4. codec/decoder/core/inc/decoder_context.h +18 −18
  5. codec/decoder/core/inc/decoder_core.h +2 −2
  6. codec/decoder/core/inc/fmo.h +2 −2
  7. codec/decoder/core/inc/manage_dec_ref.h +2 −2
  8. codec/decoder/core/inc/nal_prefix.h +8 −8
  9. codec/decoder/core/inc/nalu.h +2 −2
  10. codec/decoder/core/inc/parameter_sets.h +35 −35
  11. codec/decoder/core/inc/picture.h +4 −4
  12. codec/decoder/core/inc/rec_mb.h +1 −1
  13. codec/decoder/core/inc/slice.h +24 −24
  14. codec/decoder/core/src/au_parser.cpp +7 −7
  15. codec/decoder/core/src/deblocking.cpp +2 −2
  16. codec/decoder/core/src/decode_slice.cpp +2 −2
  17. codec/decoder/core/src/decoder.cpp +4 −4
  18. codec/decoder/core/src/decoder_core.cpp +19 −19
  19. codec/decoder/core/src/expand_pic.cpp +1 −1
  20. codec/decoder/core/src/fmo.cpp +4 −4
  21. codec/decoder/core/src/get_intra_predictor.cpp +1 −1
  22. codec/decoder/core/src/manage_dec_ref.cpp +5 −5
  23. codec/decoder/core/src/memmgr_nal_unit.cpp +1 −1
  24. codec/decoder/core/src/mv_pred.cpp +2 −2
  25. codec/decoder/core/src/parse_mb_syn_cavlc.cpp +6 −6
  26. codec/decoder/core/src/pic_queue.cpp +1 −1
  27. codec/decoder/core/src/rec_mb.cpp +2 −2
codec/decoder/core/inc/au_parser.h+2−2
@@ -92,8 +92,8 @@ void_t ParseRefBasePicMarking (PBitStringAux pBs, PRefBasePicMarking pRefBasePic · 91 unmodified lines
92 92
93void_t ParsePrefixNalUnit (PWelsDecoderContext pCtx, PBitStringAux pBs);93void_t ParsePrefixNalUnit (PWelsDecoderContext pCtx, PBitStringAux pBs);
94 94
95bool_t CheckAccessUnitBoundary (const PNalUnit kpCurNal, const PNalUnit kpLastNal, const PSps kpSps);95bool CheckAccessUnitBoundary (const PNalUnit kpCurNal, const PNalUnit kpLastNal, const PSps kpSps);
96bool_t CheckAccessUnitBoundaryExt (PNalUnitHeaderExt pLastNalHdrExt, PNalUnitHeaderExt pCurNalHeaderExt,96bool CheckAccessUnitBoundaryExt (PNalUnitHeaderExt pLastNalHdrExt, PNalUnitHeaderExt pCurNalHeaderExt,
97 PSliceHeader pLastSliceHeader, PSliceHeader pCurSliceHeader);97 PSliceHeader pLastSliceHeader, PSliceHeader pCurSliceHeader);
98/*!98/*!
99 *************************************************************************************99 *************************************************************************************
codec/decoder/core/inc/dec_frame.h+4−4
@@ -107,14 +107,14 @@ struct TagDqLayer { · 106 unmodified lines
107 PPicture pRef; // reference picture pointer107 PPicture pRef; // reference picture pointer
108 PPicture pDec; // reconstruction picture pointer for layer108 PPicture pDec; // reconstruction picture pointer for layer
109 109
110 bool_t bStoreRefBasePicFlag; // iCurTid == 0 && iCurQid = 0 && bEncodeKeyPic = 1110 bool bStoreRefBasePicFlag; // iCurTid == 0 && iCurQid = 0 && bEncodeKeyPic = 1
111 bool_t bTCoeffLevelPredFlag;111 bool bTCoeffLevelPredFlag;
112 bool_t bConstrainedIntraResamplingFlag;112 bool bConstrainedIntraResamplingFlag;
113 uint8_t uiRefLayerDqId;113 uint8_t uiRefLayerDqId;
114 uint8_t uiRefLayerChromaPhaseXPlus1Flag;114 uint8_t uiRefLayerChromaPhaseXPlus1Flag;
115 uint8_t uiRefLayerChromaPhaseYPlus1;115 uint8_t uiRefLayerChromaPhaseYPlus1;
116 uint8_t uiLayerDqId; // dq_id of current layer116 uint8_t uiLayerDqId; // dq_id of current layer
117 bool_t bUseRefBasePicFlag; // whether reference pic or reference base pic is referred?117 bool bUseRefBasePicFlag; // whether reference pic or reference base pic is referred?
118};118};
119 119
120typedef struct TagGpuAvcLayer {120typedef struct TagGpuAvcLayer {
codec/decoder/core/inc/decode_slice.h+2−2
@@ -48,12 +48,12 @@ typedef int32_t (*PWelsDecMbCavlcFunc) (PWelsDecoderContext pCtx, PNalUnit pNalC · 47 unmodified lines
48 48
49int32_t WelsTargetSliceConstruction (PWelsDecoderContext pCtx); //construction based on slice49int32_t WelsTargetSliceConstruction (PWelsDecoderContext pCtx); //construction based on slice
50 50
51int32_t WelsDecodeSlice (PWelsDecoderContext pCtx, bool_t bFirstSliceInLayer, PNalUnit pNalCur);51int32_t WelsDecodeSlice (PWelsDecoderContext pCtx, bool bFirstSliceInLayer, PNalUnit pNalCur);
52 52
53 53
54int32_t WelsTargetMbConstruction (PWelsDecoderContext pCtx);54int32_t WelsTargetMbConstruction (PWelsDecoderContext pCtx);
55 55
56int32_t WelsMbIntraPredictionConstruction (PWelsDecoderContext pCtx, PDqLayer pCurLayer, bool_t bOutput);56int32_t WelsMbIntraPredictionConstruction (PWelsDecoderContext pCtx, PDqLayer pCurLayer, bool bOutput);
57int32_t WelsMbInterSampleConstruction (PWelsDecoderContext pCtx, PDqLayer pCurLayer,57int32_t WelsMbInterSampleConstruction (PWelsDecoderContext pCtx, PDqLayer pCurLayer,
58 uint8_t* pDstY, uint8_t* pDstU, uint8_t* pDstV, int32_t iStrideL, int32_t iStrideC);58 uint8_t* pDstY, uint8_t* pDstU, uint8_t* pDstV, int32_t iStrideL, int32_t iStrideC);
59int32_t WelsMbInterConstruction (PWelsDecoderContext pCtx, PDqLayer pCurLayer);59int32_t WelsMbInterConstruction (PWelsDecoderContext pCtx, PDqLayer pCurLayer);
codec/decoder/core/inc/decoder_context.h+18−18
@@ -180,8 +180,8 @@ typedef struct TagWelsDecoderContext { · 179 unmodified lines
180 180
181 int32_t iOutputColorFormat; // color space format to be outputed181 int32_t iOutputColorFormat; // color space format to be outputed
182 VIDEO_BITSTREAM_TYPE eVideoType; //indicate the type of video to decide whether or not to do qp_delta error detection.182 VIDEO_BITSTREAM_TYPE eVideoType; //indicate the type of video to decide whether or not to do qp_delta error detection.
183 bool_t bErrorResilienceFlag; // error resilience flag183 bool bErrorResilienceFlag; // error resilience flag
184 bool_t bHaveGotMemory; // global memory for decoder context related ever requested?184 bool bHaveGotMemory; // global memory for decoder context related ever requested?
185 185
186 int32_t iImgWidthInPixel; // width of image in pixel reconstruction picture to be output186 int32_t iImgWidthInPixel; // width of image in pixel reconstruction picture to be output
187 int32_t iImgHeightInPixel;// height of image in pixel reconstruction picture to be output187 int32_t iImgHeightInPixel;// height of image in pixel reconstruction picture to be output
@@ -191,7 +191,7 @@ typedef struct TagWelsDecoderContext { · 3 unmodified lines
191 ESliceType eSliceType; // Slice type191 ESliceType eSliceType; // Slice type
192 int32_t iFrameNum;192 int32_t iFrameNum;
193 int32_t iPrevFrameNum; // frame number of previous frame well decoded for non-truncated mode yet193 int32_t iPrevFrameNum; // frame number of previous frame well decoded for non-truncated mode yet
194 bool_t bLastHasMmco5; //194 bool bLastHasMmco5; //
195 int32_t iErrorCode; // error code return while decoding in case packets lost195 int32_t iErrorCode; // error code return while decoding in case packets lost
196 SFmo sFmoList[MAX_PPS_COUNT]; // list for FMO storage196 SFmo sFmoList[MAX_PPS_COUNT]; // list for FMO storage
197 PFmo pFmo; // current fmo context after parsed slice_header197 PFmo pFmo; // current fmo context after parsed slice_header
@@ -270,25 +270,25 @@ typedef struct TagWelsDecoderContext { · 72 unmodified lines
270 int32_t iPicHeightReq; // picture height have requested the memory270 int32_t iPicHeightReq; // picture height have requested the memory
271 271
272 uint8_t uiTargetDqId; // maximal DQ ID in current access unit, meaning target layer ID272 uint8_t uiTargetDqId; // maximal DQ ID in current access unit, meaning target layer ID
273 bool_t bAvcBasedFlag; // For decoding bitstream:273 bool bAvcBasedFlag; // For decoding bitstream:
274 bool_t bEndOfStreamFlag; // Flag on end of stream requested by external application layer274 bool bEndOfStreamFlag; // Flag on end of stream requested by external application layer
275 bool_t bInitialDqLayersMem; // dq layers related memory is available?275 bool bInitialDqLayersMem; // dq layers related memory is available?
276 276
277 bool_t bOnlyOneLayerInCurAuFlag; //only one layer in current AU: 1277 bool bOnlyOneLayerInCurAuFlag; //only one layer in current AU: 1
278 278
279 // for EC parameter sets279 // for EC parameter sets
280 bool_t bSpsExistAheadFlag; // whether does SPS NAL exist ahead of sequence?280 bool bSpsExistAheadFlag; // whether does SPS NAL exist ahead of sequence?
281 bool_t bSubspsExistAheadFlag;// whether does Subset SPS NAL exist ahead of sequence?281 bool bSubspsExistAheadFlag;// whether does Subset SPS NAL exist ahead of sequence?
282 bool_t bPpsExistAheadFlag; // whether does PPS NAL exist ahead of sequence?282 bool bPpsExistAheadFlag; // whether does PPS NAL exist ahead of sequence?
283 283
284 bool_t bSpsAvailFlags[MAX_SPS_COUNT];284 bool bSpsAvailFlags[MAX_SPS_COUNT];
285 bool_t bSubspsAvailFlags[MAX_SPS_COUNT];285 bool bSubspsAvailFlags[MAX_SPS_COUNT];
286 bool_t bPpsAvailFlags[MAX_PPS_COUNT];286 bool bPpsAvailFlags[MAX_PPS_COUNT];
287 bool_t bReferenceLostAtT0Flag;287 bool bReferenceLostAtT0Flag;
288#ifdef LONG_TERM_REF288#ifdef LONG_TERM_REF
289 bool_t bParamSetsLostFlag; //sps or pps do not exist or not correct289 bool bParamSetsLostFlag; //sps or pps do not exist or not correct
290 290
291 bool_t291 bool
292 bCurAuContainLtrMarkSeFlag; //current AU has the LTR marking syntax element, mark the previous frame or self292 bCurAuContainLtrMarkSeFlag; //current AU has the LTR marking syntax element, mark the previous frame or self
293 int32_t iFrameNumOfAuMarkedLtr; //if bCurAuContainLtrMarkSeFlag==true, SHOULD set this variable293 int32_t iFrameNumOfAuMarkedLtr; //if bCurAuContainLtrMarkSeFlag==true, SHOULD set this variable
294 294
@@ -319,7 +319,7 @@ typedef struct TagWelsDecoderContext { · 24 unmodified lines
319 int32_t iFeedbackVclNalInAu;319 int32_t iFeedbackVclNalInAu;
320 int32_t iFeedbackTidInAu;320 int32_t iFeedbackTidInAu;
321 321
322 bool_t bAuReadyFlag; // TRUE: one au is ready for decoding; FALSE: default value322 bool bAuReadyFlag; // TRUE: one au is ready for decoding; FALSE: default value
323 323
324 //trace handle324 //trace handle
325 void_t* pTraceHandle;325 void_t* pTraceHandle;
codec/decoder/core/inc/decoder_core.h+2−2
@@ -89,13 +89,13 @@ void_t DecodeNalHeaderExt (PNalUnit pNal, uint8_t* pSrc); · 88 unmodified lines
89 * ParseSliceHeaderSyntaxs89 * ParseSliceHeaderSyntaxs
90 * Parse slice header of bitstream90 * Parse slice header of bitstream
91 */91 */
92int32_t ParseSliceHeaderSyntaxs (PWelsDecoderContext pCtx, PBitStringAux pBs, const bool_t kbExtensionFlag);92int32_t ParseSliceHeaderSyntaxs (PWelsDecoderContext pCtx, PBitStringAux pBs, const bool kbExtensionFlag);
93/*93/*
94 * Copy relative syntax elements of NALUnitHeaderExt, sRefPicBaseMarking and bStoreRefBasePicFlag in prefix nal unit.94 * Copy relative syntax elements of NALUnitHeaderExt, sRefPicBaseMarking and bStoreRefBasePicFlag in prefix nal unit.
95 * pSrc: mark as decoded prefix NAL95 * pSrc: mark as decoded prefix NAL
96 * pDst: succeeded VCL NAL based AVC (I/P Slice)96 * pDst: succeeded VCL NAL based AVC (I/P Slice)
97 */97 */
98bool_t PrefetchNalHeaderExtSyntax (PWelsDecoderContext pCtx, PNalUnit const kpDst, PNalUnit const kpSrc);98bool PrefetchNalHeaderExtSyntax (PWelsDecoderContext pCtx, PNalUnit const kpDst, PNalUnit const kpSrc);
99 99
100 100
101/*101/*
codec/decoder/core/inc/fmo.h+2−2
@@ -58,7 +58,7 @@ uint8_t* pMbAllocMap; · 57 unmodified lines
58int32_t iCountMbNum;58int32_t iCountMbNum;
59int32_t iSliceGroupCount;59int32_t iSliceGroupCount;
60int32_t iSliceGroupType;60int32_t iSliceGroupType;
61bool_t bActiveFlag;61bool bActiveFlag;
62uint8_t uiReserved[3]; // reserved padding bytes62uint8_t uiReserved[3]; // reserved padding bytes
63} SFmo, *PFmo;63} SFmo, *PFmo;
64 64
@@ -96,7 +96,7 @@ void_t UninitFmoList (PFmo pFmo, const int32_t kiCnt, const int32_t kiAvail); · 31 unmodified lines
96 *96 *
97 * \return true - update/insert successfully; false - failed;97 * \return true - update/insert successfully; false - failed;
98 */98 */
99bool_t FmoParamUpdate (PFmo pFmo, PSps pSps, PPps pPps, int32_t* pActiveFmoNum);99bool FmoParamUpdate (PFmo pFmo, PSps pSps, PPps pPps, int32_t* pActiveFmoNum);
100 100
101/*!101/*!
102 * \brief Get successive mb to be processed with given current mb_xy102 * \brief Get successive mb to be processed with given current mb_xy
codec/decoder/core/inc/manage_dec_ref.h+2−2
@@ -56,7 +56,7 @@ REMOVE_BASE_FIRST = 2 · 55 unmodified lines
56void_t WelsResetRefPic (PWelsDecoderContext pCtx);56void_t WelsResetRefPic (PWelsDecoderContext pCtx);
57int32_t WelsInitRefList (PWelsDecoderContext pCtx, int32_t iPoc);57int32_t WelsInitRefList (PWelsDecoderContext pCtx, int32_t iPoc);
58int32_t WelsReorderRefList (PWelsDecoderContext pCtx);58int32_t WelsReorderRefList (PWelsDecoderContext pCtx);
59int32_t WelsMarkAsRef (PWelsDecoderContext pCtx, const bool_t kbRefBaseMarkingFlag);59int32_t WelsMarkAsRef (PWelsDecoderContext pCtx, const bool kbRefBaseMarkingFlag);
60 60
61static PPicture WelsDelShortFromList (PRefPic pRefPic, int32_t iFrameNum, ERemoveFlag eRemoveFlag);61static PPicture WelsDelShortFromList (PRefPic pRefPic, int32_t iFrameNum, ERemoveFlag eRemoveFlag);
62static PPicture WelsDelLongFromList (PRefPic pRefPic, uint32_t uiLongTermFrameIdx, ERemoveFlag eRemoveFlag);62static PPicture WelsDelLongFromList (PRefPic pRefPic, uint32_t uiLongTermFrameIdx, ERemoveFlag eRemoveFlag);
@@ -65,7 +65,7 @@ static PPicture WelsDelLongFromListSetUnref (PRefPic pRefPic, uint32_t uiLongTer · 2 unmodified lines
65 65
66static int32_t MMCOBase (PWelsDecoderContext pCtx, PRefBasePicMarking pRefPicBaseMarking);66static int32_t MMCOBase (PWelsDecoderContext pCtx, PRefBasePicMarking pRefPicBaseMarking);
67static int32_t MMCO (PWelsDecoderContext pCtx, PRefPicMarking pRefPicMarking);67static int32_t MMCO (PWelsDecoderContext pCtx, PRefPicMarking pRefPicMarking);
68static int32_t MMCOProcess (PWelsDecoderContext pCtx, uint32_t uiMmcoType, bool_t bRefBasePic,68static int32_t MMCOProcess (PWelsDecoderContext pCtx, uint32_t uiMmcoType, bool bRefBasePic,
69 int32_t iShortFrameNum, uint32_t uiLongTermPicNum, int32_t iLongTermFrameIdx, int32_t iMaxLongTermFrameIdx);69 int32_t iShortFrameNum, uint32_t uiLongTermPicNum, int32_t iLongTermFrameIdx, int32_t iMaxLongTermFrameIdx);
70static int32_t SlidingWindow (PWelsDecoderContext pCtx);70static int32_t SlidingWindow (PWelsDecoderContext pCtx);
71 71
codec/decoder/core/inc/nal_prefix.h+8−8
@@ -55,29 +55,29 @@ typedef struct TagNalUnitHeaderExt { · 54 unmodified lines
55 SNalUnitHeader sNalUnitHeader;55 SNalUnitHeader sNalUnitHeader;
56 56
57// uint8_t reserved_one_bit;57// uint8_t reserved_one_bit;
58 bool_t bIdrFlag;58 bool bIdrFlag;
59 uint8_t uiPriorityId;59 uint8_t uiPriorityId;
60 int8_t iNoInterLayerPredFlag; // change as int8_t to support 3 values probably in encoder60 int8_t iNoInterLayerPredFlag; // change as int8_t to support 3 values probably in encoder
61 uint8_t uiDependencyId;61 uint8_t uiDependencyId;
62 62
63 uint8_t uiQualityId;63 uint8_t uiQualityId;
64 uint8_t uiTemporalId;64 uint8_t uiTemporalId;
65 bool_t bUseRefBasePicFlag;65 bool bUseRefBasePicFlag;
66 bool_t bDiscardableFlag;66 bool bDiscardableFlag;
67 67
68 bool_t bOutputFlag;68 bool bOutputFlag;
69 uint8_t uiReservedThree2Bits;69 uint8_t uiReservedThree2Bits;
70 // Derived variable(s)70 // Derived variable(s)
71 uint8_t uiLayerDqId;71 uint8_t uiLayerDqId;
72 bool_t bNalExtFlag;72 bool bNalExtFlag;
73} SNalUnitHeaderExt, *PNalUnitHeaderExt;73} SNalUnitHeaderExt, *PNalUnitHeaderExt;
74 74
75/* Prefix NAL Unix syntax, refer to Page 392 in JVT X201wcm */75/* Prefix NAL Unix syntax, refer to Page 392 in JVT X201wcm */
76typedef struct TagPrefixNalUnit {76typedef struct TagPrefixNalUnit {
77 SRefBasePicMarking sRefPicBaseMarking;77 SRefBasePicMarking sRefPicBaseMarking;
78 bool_t bStoreRefBasePicFlag;78 bool bStoreRefBasePicFlag;
79 bool_t bPrefixNalUnitAdditionalExtFlag;79 bool bPrefixNalUnitAdditionalExtFlag;
80 bool_t bPrefixNalUnitExtFlag;80 bool bPrefixNalUnitExtFlag;
81} SPrefixNalUnit, *PPrefixNalUnit;81} SPrefixNalUnit, *PPrefixNalUnit;
82 82
83} // namespace WelsDec83} // namespace WelsDec
codec/decoder/core/inc/nalu.h+2−2
@@ -53,7 +53,7 @@ union { · 52 unmodified lines
53 SBitStringAux sSliceBitsRead;53 SBitStringAux sSliceBitsRead;
54 uint8_t* pNalPos; // save the address of slice nal for GPU function54 uint8_t* pNalPos; // save the address of slice nal for GPU function
55 int32_t iNalLength; // save the nal length for GPU function55 int32_t iNalLength; // save the nal length for GPU function
56 bool_t bSliceHeaderExtFlag;56 bool bSliceHeaderExtFlag;
57 } sVclNal;57 } sVclNal;
58 SPrefixNalUnit sPrefixNal;58 SPrefixNalUnit sPrefixNal;
59} sNalData;59} sNalData;
@@ -71,7 +71,7 @@ uint32_t uiActualUnitsNum; // actual number of NAL units belong to current au · 11 unmodified lines
71uint32_t uiCountUnitsNum; // Count size number of malloced NAL Units in each AU list71uint32_t uiCountUnitsNum; // Count size number of malloced NAL Units in each AU list
72uint32_t uiStartPos;72uint32_t uiStartPos;
73uint32_t uiEndPos;73uint32_t uiEndPos;
74bool_t bCompletedAuFlag; // Indicate whether it is a completed AU74bool bCompletedAuFlag; // Indicate whether it is a completed AU
75} SAccessUnit, *PAccessUnit;75} SAccessUnit, *PAccessUnit;
76 76
77} // namespace WelsDec77} // namespace WelsDec
codec/decoder/core/inc/parameter_sets.h+35−35
@@ -80,25 +80,25 @@ uint8_t uiChromaArrayType; · 79 unmodified lines
80uint8_t uiBitDepthLuma;80uint8_t uiBitDepthLuma;
81uint8_t uiBitDepthChroma;81uint8_t uiBitDepthChroma;
82/* TO BE CONTINUE: POC type 1 */82/* TO BE CONTINUE: POC type 1 */
83bool_t bDeltaPicOrderAlwaysZeroFlag;83bool bDeltaPicOrderAlwaysZeroFlag;
84bool_t bGapsInFrameNumValueAllowedFlag;84bool bGapsInFrameNumValueAllowedFlag;
85 85
86bool_t bFrameMbsOnlyFlag;86bool bFrameMbsOnlyFlag;
87bool_t bMbaffFlag; // MB Adapative Frame Field87bool bMbaffFlag; // MB Adapative Frame Field
88bool_t bDirect8x8InferenceFlag;88bool bDirect8x8InferenceFlag;
89bool_t bFrameCroppingFlag;89bool bFrameCroppingFlag;
90 90
91bool_t bVuiParamPresentFlag;91bool bVuiParamPresentFlag;
92// bool_t bTimingInfoPresentFlag;92// bool bTimingInfoPresentFlag;
93// bool_t bFixedFrameRateFlag;93// bool bFixedFrameRateFlag;
94bool_t bConstraintSet0Flag;94bool bConstraintSet0Flag;
95bool_t bConstraintSet1Flag;95bool bConstraintSet1Flag;
96bool_t bConstraintSet2Flag;96bool bConstraintSet2Flag;
97bool_t bConstraintSet3Flag;97bool bConstraintSet3Flag;
98bool_t bSeparateColorPlaneFlag;98bool bSeparateColorPlaneFlag;
99bool_t bQpPrimeYZeroTransfBypassFlag;99bool bQpPrimeYZeroTransfBypassFlag;
100bool_t bSeqScalingMatrixPresentFlag;100bool bSeqScalingMatrixPresentFlag;
101bool_t bSeqScalingListPresentFlag[12];101bool bSeqScalingListPresentFlag[12];
102const SLevelLimits *pSLevelLimits;102const SLevelLimits *pSLevelLimits;
103} SSps, *PSps;103} SSps, *PSps;
104 104
@@ -111,8 +111,8 @@ const SLevelLimits *pSLevelLimits; · 6 unmodified lines
111// int32_t iAlphaTransparentValue;111// int32_t iAlphaTransparentValue;
112 112
113// uint8_t uiBitDepthAux;113// uint8_t uiBitDepthAux;
114// bool_t bAlphaIncrFlag;114// bool bAlphaIncrFlag;
115// bool_t bAdditionalExtFlag;115// bool bAdditionalExtFlag;
116//}SSpsExt, *PSpsExt;116//}SSpsExt, *PSpsExt;
117 117
118/* Sequence Parameter Set extension syntax, refer to Page 391 in JVT X201wcm */118/* Sequence Parameter Set extension syntax, refer to Page 391 in JVT X201wcm */
@@ -124,19 +124,19 @@ uint8_t uiChromaPhaseXPlus1Flag; · 5 unmodified lines
124uint8_t uiChromaPhaseYPlus1;124uint8_t uiChromaPhaseYPlus1;
125uint8_t uiSeqRefLayerChromaPhaseXPlus1Flag;125uint8_t uiSeqRefLayerChromaPhaseXPlus1Flag;
126uint8_t uiSeqRefLayerChromaPhaseYPlus1;126uint8_t uiSeqRefLayerChromaPhaseYPlus1;
127bool_t bInterLayerDeblockingFilterCtrlPresentFlag;127bool bInterLayerDeblockingFilterCtrlPresentFlag;
128bool_t bSeqTCoeffLevelPredFlag;128bool bSeqTCoeffLevelPredFlag;
129bool_t bAdaptiveTCoeffLevelPredFlag;129bool bAdaptiveTCoeffLevelPredFlag;
130bool_t bSliceHeaderRestrictionFlag;130bool bSliceHeaderRestrictionFlag;
131} SSpsSvcExt, *PSpsSvcExt;131} SSpsSvcExt, *PSpsSvcExt;
132 132
133/* Subset sequence parameter set syntax, refer to Page 391 in JVT X201wcm */133/* Subset sequence parameter set syntax, refer to Page 391 in JVT X201wcm */
134typedef struct TagSubsetSps {134typedef struct TagSubsetSps {
135SSps sSps;135SSps sSps;
136SSpsSvcExt sSpsSvcExt;136SSpsSvcExt sSpsSvcExt;
137bool_t bSvcVuiParamPresentFlag;137bool bSvcVuiParamPresentFlag;
138bool_t bAdditionalExtension2Flag;138bool bAdditionalExtension2Flag;
139bool_t bAdditionalExtension2DataFlag;139bool bAdditionalExtension2DataFlag;
140} SSubsetSps, *PSubsetSps;140} SSubsetSps, *PSubsetSps;
141 141
142/* Picture parameter set syntax, refer to Page 59 in JVT X201wcm */142/* Picture parameter set syntax, refer to Page 59 in JVT X201wcm */
@@ -164,15 +164,15 @@ int32_t iPicInitQp; · 21 unmodified lines
164int32_t iPicInitQs;164int32_t iPicInitQs;
165int32_t iChromaQpIndexOffset;165int32_t iChromaQpIndexOffset;
166 166
167bool_t bEntropyCodingModeFlag;167bool bEntropyCodingModeFlag;
168bool_t bPicOrderPresentFlag;168bool bPicOrderPresentFlag;
169/* slice_group_map_type = 3, 4 or 5 */169/* slice_group_map_type = 3, 4 or 5 */
170bool_t bSliceGroupChangeDirectionFlag;170bool bSliceGroupChangeDirectionFlag;
171bool_t bDeblockingFilterControlPresentFlag;171bool bDeblockingFilterControlPresentFlag;
172 172
173bool_t bConstainedIntraPredFlag;173bool bConstainedIntraPredFlag;
174bool_t bRedundantPicCntPresentFlag;174bool bRedundantPicCntPresentFlag;
175bool_t bWeightedPredFlag;175bool bWeightedPredFlag;
176uint8_t uiWeightedBipredIdc;176uint8_t uiWeightedBipredIdc;
177 177
178} SPps, *PPps;178} SPps, *PPps;
codec/decoder/core/inc/picture.h+4−4
@@ -58,16 +58,16 @@ int32_t iHeightInPixel;// picture height in pixel · 57 unmodified lines
58int32_t iFramePoc; // frame POC58int32_t iFramePoc; // frame POC
59 59
60/*******************************sef_definition for misc use****************************/60/*******************************sef_definition for misc use****************************/
61bool_t bUsedAsRef; //for ref pic management61bool bUsedAsRef; //for ref pic management
62bool_t bIsLongRef; // long term reference frame flag //for ref pic management62bool bIsLongRef; // long term reference frame flag //for ref pic management
63uint8_t uiRefCount;63uint8_t uiRefCount;
64bool_t bAvailableFlag; // indicate whether it is available in this picture memory block.64bool bAvailableFlag; // indicate whether it is available in this picture memory block.
65 65
66/*******************************for future use****************************/66/*******************************for future use****************************/
67uint8_t uiTemporalId;67uint8_t uiTemporalId;
68uint8_t uiSpatialId;68uint8_t uiSpatialId;
69uint8_t uiQualityId;69uint8_t uiQualityId;
70bool_t bRefBaseFlag;70bool bRefBaseFlag;
71 71
72int32_t iFrameNum; // frame number //for ref pic management72int32_t iFrameNum; // frame number //for ref pic management
73int32_t iLongTermFrameIdx; //id for long term ref pic73int32_t iLongTermFrameIdx; //id for long term ref pic
codec/decoder/core/inc/rec_mb.h+1−1
@@ -49,7 +49,7 @@ · 48 unmodified lines
49 49
50namespace WelsDec {50namespace WelsDec {
51 51
52void_t WelsFillRecNeededMbInfo (PWelsDecoderContext pCtx, bool_t bOutput, PDqLayer pCurLayer);52void_t WelsFillRecNeededMbInfo (PWelsDecoderContext pCtx, bool bOutput, PDqLayer pCurLayer);
53 53
54int32_t RecI4x4Mb (int32_t iMBXY, PWelsDecoderContext pCtx, int16_t* pScoeffLevel, PDqLayer pDqLayer);54int32_t RecI4x4Mb (int32_t iMBXY, PWelsDecoderContext pCtx, int16_t* pScoeffLevel, PDqLayer pDqLayer);
55 55
codec/decoder/core/inc/slice.h+24−24
@@ -51,7 +51,7 @@ typedef struct TagRefPicListReorderSyntax { · 50 unmodified lines
51 uint16_t uiLongTermPicNum;51 uint16_t uiLongTermPicNum;
52 uint16_t uiReorderingOfPicNumsIdc;52 uint16_t uiReorderingOfPicNumsIdc;
53 } sReorderingSyn[LIST_A][MAX_REF_PIC_COUNT];53 } sReorderingSyn[LIST_A][MAX_REF_PIC_COUNT];
54 bool_t bRefPicListReorderingFlag[LIST_A];54 bool bRefPicListReorderingFlag[LIST_A];
55} SRefPicListReorderSyn, *PRefPicListReorderSyn;55} SRefPicListReorderSyn, *PRefPicListReorderSyn;
56 56
57/*57/*
@@ -65,8 +65,8 @@ typedef struct TagPredWeightTabSyntax { · 7 unmodified lines
65 int32_t iLumaOffset[MAX_REF_PIC_COUNT];65 int32_t iLumaOffset[MAX_REF_PIC_COUNT];
66 int32_t iChromaWeight[MAX_REF_PIC_COUNT][2];66 int32_t iChromaWeight[MAX_REF_PIC_COUNT][2];
67 int32_t iChromaOffset[MAX_REF_PIC_COUNT][2];67 int32_t iChromaOffset[MAX_REF_PIC_COUNT][2];
68 bool_t bLumaWeightFlag;68 bool bLumaWeightFlag;
69 bool_t bChromaWeightFlag;69 bool bChromaWeightFlag;
70 } sPredList[LIST_A];70 } sPredList[LIST_A];
71} SPredWeightTabSyn;71} SPredWeightTabSyn;
72 72
@@ -81,9 +81,9 @@ typedef struct TagRefPicMarking { · 8 unmodified lines
81 int32_t iMaxLongTermFrameIdx;81 int32_t iMaxLongTermFrameIdx;
82 } sMmcoRef[MAX_MMCO_COUNT];82 } sMmcoRef[MAX_MMCO_COUNT];
83 83
84 bool_t bNoOutputOfPriorPicsFlag;84 bool bNoOutputOfPriorPicsFlag;
85 bool_t bLongTermRefFlag;85 bool bLongTermRefFlag;
86 bool_t bAdaptiveRefPicMarkingModeFlag;86 bool bAdaptiveRefPicMarkingModeFlag;
87} SRefPicMarking, *PRefPicMarking;87} SRefPicMarking, *PRefPicMarking;
88 88
89/* Decode reference base picture marking syntax in Page 396 of JVT X201wcm */89/* Decode reference base picture marking syntax in Page 396 of JVT X201wcm */
@@ -95,7 +95,7 @@ typedef struct TagRefBasePicMarkingSyn { · 5 unmodified lines
95 uint32_t uiLongTermPicNum; //should uint32_t, cover larger range of iFrameNum.95 uint32_t uiLongTermPicNum; //should uint32_t, cover larger range of iFrameNum.
96 } mmco_base[MAX_MMCO_COUNT]; // MAX_REF_PIC for reference picture based on frame96 } mmco_base[MAX_MMCO_COUNT]; // MAX_REF_PIC for reference picture based on frame
97 97
98 bool_t bAdaptiveRefBasePicMarkingModeFlag;98 bool bAdaptiveRefBasePicMarkingModeFlag;
99} SRefBasePicMarking, *PRefBasePicMarking;99} SRefBasePicMarking, *PRefBasePicMarking;
100 100
101/* Header of slice syntax elements, refer to Page 63 in JVT X201wcm */101/* Header of slice syntax elements, refer to Page 63 in JVT X201wcm */
@@ -131,11 +131,11 @@ typedef struct TagSliceHeaders { · 29 unmodified lines
131 131
132 uint16_t uiIdrPicId;132 uint16_t uiIdrPicId;
133 ESliceType eSliceType;133 ESliceType eSliceType;
134 bool_t bNumRefIdxActiveOverrideFlag;134 bool bNumRefIdxActiveOverrideFlag;
135 bool_t bFieldPicFlag; //not supported in base profile135 bool bFieldPicFlag; //not supported in base profile
136 bool_t bBottomFiledFlag; //not supported in base profile136 bool bBottomFiledFlag; //not supported in base profile
137 uint8_t uiPadding1Byte;137 uint8_t uiPadding1Byte;
138 bool_t bSpForSwitchFlag; // For SP/SI slices138 bool bSpForSwitchFlag; // For SP/SI slices
139 int16_t iPadding2Bytes;139 int16_t iPadding2Bytes;
140} SSliceHeader, *PSliceHeader;140} SSliceHeader, *PSliceHeader;
141 141
@@ -155,18 +155,18 @@ typedef struct TagSliceHeaderExt { · 13 unmodified lines
155 int32_t iScaledRefLayerPicHeightInSampleLuma;155 int32_t iScaledRefLayerPicHeightInSampleLuma;
156 156
157 SRefBasePicMarking sRefBasePicMarking;157 SRefBasePicMarking sRefBasePicMarking;
158 bool_t bBasePredWeightTableFlag;158 bool bBasePredWeightTableFlag;
159 bool_t bStoreRefBasePicFlag;159 bool bStoreRefBasePicFlag;
160 bool_t bConstrainedIntraResamplingFlag;160 bool bConstrainedIntraResamplingFlag;
161 bool_t bSliceSkipFlag;161 bool bSliceSkipFlag;
162 162
163 bool_t bAdaptiveBaseModeFlag;163 bool bAdaptiveBaseModeFlag;
164 bool_t bDefaultBaseModeFlag;164 bool bDefaultBaseModeFlag;
165 bool_t bAdaptiveMotionPredFlag;165 bool bAdaptiveMotionPredFlag;
166 bool_t bDefaultMotionPredFlag;166 bool bDefaultMotionPredFlag;
167 bool_t bAdaptiveResidualPredFlag;167 bool bAdaptiveResidualPredFlag;
168 bool_t bDefaultResidualPredFlag;168 bool bDefaultResidualPredFlag;
169 bool_t bTCoeffLevelPredFlag;169 bool bTCoeffLevelPredFlag;
170 uint8_t uiRefLayerChromaPhaseXPlus1Flag;170 uint8_t uiRefLayerChromaPhaseXPlus1Flag;
171 171
172 uint8_t uiRefLayerChromaPhaseYPlus1;172 uint8_t uiRefLayerChromaPhaseYPlus1;
@@ -192,7 +192,7 @@ typedef struct TagSlice { · 19 unmodified lines
192 /*slice_data_ext() generate*/192 /*slice_data_ext() generate*/
193 193
194 /*******************************misc use****************************/194 /*******************************misc use****************************/
195 bool_t bSliceHeaderExtFlag; // Indicate which slice header is used, avc or ext?195 bool bSliceHeaderExtFlag; // Indicate which slice header is used, avc or ext?
196 /*************got from other layer for effiency if possible***************/196 /*************got from other layer for effiency if possible***************/
197 /*from lower layer: slice header*/197 /*from lower layer: slice header*/
198 uint8_t eSliceType;198 uint8_t eSliceType;
codec/decoder/core/src/au_parser.cpp+7−7
@@ -108,7 +108,7 @@ uint8_t* ParseNalHeader (PWelsDecoderContext pCtx, SNalUnitHeader* pNalUnitHeade · 107 unmodified lines
108 uint8_t* pNal = pSrcRbsp;108 uint8_t* pNal = pSrcRbsp;
109 int32_t iNalSize = iSrcRbspLen;109 int32_t iNalSize = iSrcRbspLen;
110 PBitStringAux pBs = NULL;110 PBitStringAux pBs = NULL;
111 bool_t bExtensionFlag = false;111 bool bExtensionFlag = false;
112 int32_t iErr = ERR_NONE;112 int32_t iErr = ERR_NONE;
113 int32_t iBitSize = 0;113 int32_t iBitSize = 0;
114 114
@@ -362,7 +362,7 @@ uint8_t* ParseNalHeader (PWelsDecoderContext pCtx, SNalUnitHeader* pNalUnitHeade · 247 unmodified lines
362}362}
363 363
364 364
365bool_t CheckAccessUnitBoundaryExt (PNalUnitHeaderExt pLastNalHdrExt, PNalUnitHeaderExt pCurNalHeaderExt,365bool CheckAccessUnitBoundaryExt (PNalUnitHeaderExt pLastNalHdrExt, PNalUnitHeaderExt pCurNalHeaderExt,
366 PSliceHeader pLastSliceHeader, PSliceHeader pCurSliceHeader) {366 PSliceHeader pLastSliceHeader, PSliceHeader pCurSliceHeader) {
367 const PSps kpSps = pCurSliceHeader->pSps;367 const PSps kpSps = pCurSliceHeader->pSps;
368 368
@@ -421,7 +421,7 @@ bool_t CheckAccessUnitBoundaryExt (PNalUnitHeaderExt pLastNalHdrExt, PNalUnitHea · 52 unmodified lines
421}421}
422 422
423 423
424bool_t CheckAccessUnitBoundary (const PNalUnit kpCurNal, const PNalUnit kpLastNal, const PSps kpSps) {424bool CheckAccessUnitBoundary (const PNalUnit kpCurNal, const PNalUnit kpLastNal, const PSps kpSps) {
425 const PNalUnitHeaderExt kpLastNalHeaderExt = &kpLastNal->sNalHeaderExt;425 const PNalUnitHeaderExt kpLastNalHeaderExt = &kpLastNal->sNalHeaderExt;
426 const PNalUnitHeaderExt kpCurNalHeaderExt = &kpCurNal->sNalHeaderExt;426 const PNalUnitHeaderExt kpCurNalHeaderExt = &kpCurNal->sNalHeaderExt;
427 const SSliceHeader* kpLastSliceHeader = &kpLastNal->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader;427 const SSliceHeader* kpLastSliceHeader = &kpLastNal->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader;
@@ -560,7 +560,7 @@ int32_t ParseNonVclNal (PWelsDecoderContext pCtx, uint8_t* pRbsp, const int32_t · 132 unmodified lines
560}560}
561 561
562void_t ParseRefBasePicMarking (PBitStringAux pBs, PRefBasePicMarking pRefBasePicMarking) {562void_t ParseRefBasePicMarking (PBitStringAux pBs, PRefBasePicMarking pRefBasePicMarking) {
563 const bool_t kbAdaptiveMarkingModeFlag = !!BsGetOneBit (pBs);563 const bool kbAdaptiveMarkingModeFlag = !!BsGetOneBit (pBs);
564 pRefBasePicMarking->bAdaptiveRefBasePicMarkingModeFlag = kbAdaptiveMarkingModeFlag;564 pRefBasePicMarking->bAdaptiveRefBasePicMarkingModeFlag = kbAdaptiveMarkingModeFlag;
565 if (kbAdaptiveMarkingModeFlag) {565 if (kbAdaptiveMarkingModeFlag) {
566 int32_t iIdx = 0;566 int32_t iIdx = 0;
@@ -670,7 +670,7 @@ static const SLevelLimits g_kSLevelLimits[17] = { · 103 unmodified lines
670 {2073600, 36864, 184320, 240000, 240000, -2048, 2047, 2, 16} /* level 5.2 */670 {2073600, 36864, 184320, 240000, 240000, -2048, 2047, 2, 16} /* level 5.2 */
671};671};
672 672
673const SLevelLimits *GetLevelLimits(int32_t iLevelIdx, bool_t bConstraint3) {673const SLevelLimits *GetLevelLimits(int32_t iLevelIdx, bool bConstraint3) {
674 switch (iLevelIdx) {674 switch (iLevelIdx) {
675 case 10:675 case 10:
676 return &g_kSLevelLimits[0];676 return &g_kSLevelLimits[0];
@@ -737,8 +737,8 @@ int32_t ParseSps (PWelsDecoderContext pCtx, PBitStringAux pBsAux, int32_t* pPicW · 60 unmodified lines
737 ProfileIdc uiProfileIdc;737 ProfileIdc uiProfileIdc;
738 uint8_t uiLevelIdc;738 uint8_t uiLevelIdc;
739 int32_t iSpsId;739 int32_t iSpsId;
740 bool_t bConstraintSetFlags[6] = { false };740 bool bConstraintSetFlags[6] = { false };
741 const bool_t kbUseSubsetFlag = IS_SUBSET_SPS_NAL (pNalHead->eNalUnitType);741 const bool kbUseSubsetFlag = IS_SUBSET_SPS_NAL (pNalHead->eNalUnitType);
742 742
743 743
744 if (kbUseSubsetFlag) { // SubsetSps744 if (kbUseSubsetFlag) { // SubsetSps
codec/decoder/core/src/deblocking.cpp+2−2
@@ -252,8 +252,8 @@ int32_t DeblockingAvailableNoInterlayer (PDqLayer pCurDqLayer, int32_t iFilterId · 251 unmodified lines
252 int32_t iMbY = pCurDqLayer->iMbY;252 int32_t iMbY = pCurDqLayer->iMbY;
253 int32_t iMbX = pCurDqLayer->iMbX;253 int32_t iMbX = pCurDqLayer->iMbX;
254 int32_t iMbXy = pCurDqLayer->iMbXyIndex;254 int32_t iMbXy = pCurDqLayer->iMbXyIndex;
255 bool_t bLeftFlag = FALSE;255 bool bLeftFlag = FALSE;
256 bool_t bTopFlag = FALSE;256 bool bTopFlag = FALSE;
257 257
258 if (2 == iFilterIdc) {258 if (2 == iFilterIdc) {
259 bLeftFlag = (iMbX > 0) && (pCurDqLayer->pSliceIdc[iMbXy] == pCurDqLayer->pSliceIdc[iMbXy - 1]);259 bLeftFlag = (iMbX > 0) && (pCurDqLayer->pSliceIdc[iMbXy] == pCurDqLayer->pSliceIdc[iMbXy - 1]);
codec/decoder/core/src/decode_slice.cpp+2−2
@@ -234,7 +234,7 @@ void_t WelsLumaDcDequantIdct (int16_t* pBlock, int32_t iQp) { · 233 unmodified lines
234#undef STRIDE234#undef STRIDE
235}235}
236 236
237int32_t WelsMbIntraPredictionConstruction (PWelsDecoderContext pCtx, PDqLayer pCurLayer, bool_t bOutput) {237int32_t WelsMbIntraPredictionConstruction (PWelsDecoderContext pCtx, PDqLayer pCurLayer, bool bOutput) {
238//seems IPCM should not enter this path238//seems IPCM should not enter this path
239 int32_t iMbXy = pCurLayer->iMbXyIndex;239 int32_t iMbXy = pCurLayer->iMbXyIndex;
240 240
@@ -351,7 +351,7 @@ void_t WelsChromaDcIdct (int16_t* pBlock) { · 110 unmodified lines
351 pBlk[iStride1] = (iE - iB) >> 1;351 pBlk[iStride1] = (iE - iB) >> 1;
352}352}
353 353
354int32_t WelsDecodeSlice (PWelsDecoderContext pCtx, bool_t bFirstSliceInLayer, PNalUnit pNalCur) {354int32_t WelsDecodeSlice (PWelsDecoderContext pCtx, bool bFirstSliceInLayer, PNalUnit pNalCur) {
355 PDqLayer pCurLayer = pCtx->pCurDqLayer;355 PDqLayer pCurLayer = pCtx->pCurDqLayer;
356 PFmo pFmo = pCtx->pFmo;356 PFmo pFmo = pCtx->pFmo;
357 int32_t i, iRet;357 int32_t i, iRet;
codec/decoder/core/src/decoder.cpp+4−4
@@ -177,11 +177,11 @@ void_t WelsDecoderDefaults (PWelsDecoderContext pCtx) { · 176 unmodified lines
177 * get size of reference picture list in target layer incoming, = (iNumRefFrames x 2)177 * get size of reference picture list in target layer incoming, = (iNumRefFrames x 2)
178 */178 */
179static inline int32_t GetTargetRefListSize (PWelsDecoderContext pCtx) {179static inline int32_t GetTargetRefListSize (PWelsDecoderContext pCtx) {
180 bool_t* pSubsetSpsAvail = &pCtx->bSubspsAvailFlags[0];180 bool* pSubsetSpsAvail = &pCtx->bSubspsAvailFlags[0];
181 bool_t* pSpsAvail = &pCtx->bSpsAvailFlags[0];181 bool* pSpsAvail = &pCtx->bSpsAvailFlags[0];
182 int32_t iSubsetIdx = -1;182 int32_t iSubsetIdx = -1;
183 int32_t iSpsIdx = -1;183 int32_t iSpsIdx = -1;
184 bool_t bExistSubsetSps = false;184 bool bExistSubsetSps = false;
185 int32_t bExistSps = false;185 int32_t bExistSps = false;
186 int32_t iPos = MAX_SPS_COUNT - 1;186 int32_t iPos = MAX_SPS_COUNT - 1;
187 int32_t iNumRefFrames = 0;187 int32_t iNumRefFrames = 0;
@@ -238,7 +238,7 @@ int32_t WelsRequestMem (PWelsDecoderContext pCtx, const int32_t kiMbWidth, const · 50 unmodified lines
238 238
239 int32_t iListIdx = 0; //, mb_blocks = 0;239 int32_t iListIdx = 0; //, mb_blocks = 0;
240 int32_t iPicQueueSize = 0; // adaptive size of picture queue, = (pSps->iNumRefFrames x 2)240 int32_t iPicQueueSize = 0; // adaptive size of picture queue, = (pSps->iNumRefFrames x 2)
241 bool_t bNeedChangePicQueue = true;241 bool bNeedChangePicQueue = true;
242 242
243 WELS_VERIFY_RETURN_IF (ERR_INFO_INVALID_PARAM, (NULL == pCtx || kiPicWidth <= 0 || kiPicHeight <= 0))243 WELS_VERIFY_RETURN_IF (ERR_INFO_INVALID_PARAM, (NULL == pCtx || kiPicWidth <= 0 || kiPicHeight <= 0))
244 244
codec/decoder/core/src/decoder_core.cpp+19−19
@@ -105,7 +105,7 @@ static inline int32_t DecodeFrameConstruction (PWelsDecoderContext pCtx, uint8_t · 104 unmodified lines
105 return 0;105 return 0;
106}106}
107 107
108inline bool_t CheckSliceNeedReconstruct (int16_t iCurDid, int16_t iCurQid, bool_t bStoreRefBasePicFlag,108inline bool CheckSliceNeedReconstruct (int16_t iCurDid, int16_t iCurQid, bool bStoreRefBasePicFlag,
109 uint8_t uiDidMax, uint8_t uiLayerDqId, uint8_t uiTargetDqId) {109 uint8_t uiDidMax, uint8_t uiLayerDqId, uint8_t uiTargetDqId) {
110 return ((iCurDid == uiDidMax) && (iCurQid == BASE_QUALITY_ID) && (bStoreRefBasePicFlag)) // store base110 return ((iCurDid == uiDidMax) && (iCurQid == BASE_QUALITY_ID) && (bStoreRefBasePicFlag)) // store base
111 || (uiLayerDqId == uiTargetDqId); // target layer111 || (uiLayerDqId == uiTargetDqId); // target layer
@@ -201,7 +201,7 @@ int32_t ParseRefPicListReordering (PBitStringAux pBs, PSliceHeader pSh) { · 89 unmodified lines
201}201}
202 202
203int32_t ParseDecRefPicMarking (PWelsDecoderContext pCtx, PBitStringAux pBs, PSliceHeader pSh, PSps pSps,203int32_t ParseDecRefPicMarking (PWelsDecoderContext pCtx, PBitStringAux pBs, PSliceHeader pSh, PSps pSps,
204 const bool_t kbIdrFlag) {204 const bool kbIdrFlag) {
205 PRefPicMarking const kpRefMarking = &pSh->sRefMarking;205 PRefPicMarking const kpRefMarking = &pSh->sRefMarking;
206 206
207 if (kbIdrFlag) {207 if (kbIdrFlag) {
@@ -238,7 +238,7 @@ int32_t ParseDecRefPicMarking (PWelsDecoderContext pCtx, PBitStringAux pBs, PSli · 30 unmodified lines
238 return ERR_NONE;238 return ERR_NONE;
239}239}
240 240
241bool_t FillDefaultSliceHeaderExt (PSliceHeaderExt pShExt, PNalUnitHeaderExt pNalExt) {241bool FillDefaultSliceHeaderExt (PSliceHeaderExt pShExt, PNalUnitHeaderExt pNalExt) {
242 if (pShExt == NULL || pNalExt == NULL)242 if (pShExt == NULL || pNalExt == NULL)
243 return false;243 return false;
244 244
@@ -392,7 +392,7 @@ int32_t CheckPpsId (PWelsDecoderContext pCtx, PPps* ppPps, uint32_t uiPpsId) { · 147 unmodified lines
392}392}
393 393
394int32_t CheckSpsId (PWelsDecoderContext pCtx, PSubsetSps* ppSubsetSps, PSps* ppSps, int32_t iSpsId,394int32_t CheckSpsId (PWelsDecoderContext pCtx, PSubsetSps* ppSubsetSps, PSps* ppSps, int32_t iSpsId,
395 bool_t bExtensionFlag) {395 bool bExtensionFlag) {
396 PSps pSpsList = pCtx->sSpsBuffer;396 PSps pSpsList = pCtx->sSpsBuffer;
397 PSubsetSps pSubspsList = pCtx->sSubsetSpsBuffer;397 PSubsetSps pSubspsList = pCtx->sSubsetSpsBuffer;
398 398
@@ -455,7 +455,7 @@ int32_t CheckSpsId (PWelsDecoderContext pCtx, PSubsetSps* ppSubsetSps, PSps* ppS · 56 unmodified lines
455 * decode_slice_header_avc455 * decode_slice_header_avc
456 * Parse slice header of bitstream in avc for storing data structure456 * Parse slice header of bitstream in avc for storing data structure
457 */457 */
458int32_t ParseSliceHeaderSyntaxs (PWelsDecoderContext pCtx, PBitStringAux pBs, const bool_t kbExtensionFlag) {458int32_t ParseSliceHeaderSyntaxs (PWelsDecoderContext pCtx, PBitStringAux pBs, const bool kbExtensionFlag) {
459 PNalUnit const kpCurNal = pCtx->pAccessUnitList->pNalUnitsList[pCtx->pAccessUnitList->uiAvailUnitsNum - 1];459 PNalUnit const kpCurNal = pCtx->pAccessUnitList->pNalUnitsList[pCtx->pAccessUnitList->uiAvailUnitsNum - 1];
460 460
461 PNalUnitHeaderExt pNalHeaderExt = NULL;461 PNalUnitHeaderExt pNalHeaderExt = NULL;
@@ -469,8 +469,8 @@ int32_t ParseSliceHeaderSyntaxs (PWelsDecoderContext pCtx, PBitStringAux pBs, co · 7 unmodified lines
469 int32_t iRet = ERR_NONE;469 int32_t iRet = ERR_NONE;
470 uint8_t uiSliceType = 0;470 uint8_t uiSliceType = 0;
471 uint8_t uiQualityId = BASE_QUALITY_ID;471 uint8_t uiQualityId = BASE_QUALITY_ID;
472 bool_t bIdrFlag = false;472 bool bIdrFlag = false;
473 bool_t bSgChangeCycleInvolved = false; // involved slice group change cycle ?473 bool bSgChangeCycleInvolved = false; // involved slice group change cycle ?
474 474
475 if (kpCurNal == NULL) {475 if (kpCurNal == NULL) {
476 return ERR_INFO_OUT_OF_MEMORY;476 return ERR_INFO_OUT_OF_MEMORY;
@@ -484,7 +484,7 @@ int32_t ParseSliceHeaderSyntaxs (PWelsDecoderContext pCtx, PBitStringAux pBs, co · 7 unmodified lines
484 484
485 if (pSliceHeadExt) {485 if (pSliceHeadExt) {
486 SRefBasePicMarking sBaseMarking;486 SRefBasePicMarking sBaseMarking;
487 const bool_t kbStoreRefBaseFlag = pSliceHeadExt->bStoreRefBasePicFlag;487 const bool kbStoreRefBaseFlag = pSliceHeadExt->bStoreRefBasePicFlag;
488 memcpy (&sBaseMarking, &pSliceHeadExt->sRefBasePicMarking, sizeof (SRefBasePicMarking)); //confirmed_safe_unsafe_usage488 memcpy (&sBaseMarking, &pSliceHeadExt->sRefBasePicMarking, sizeof (SRefBasePicMarking)); //confirmed_safe_unsafe_usage
489 memset (pSliceHeadExt, 0, sizeof (SSliceHeaderExt));489 memset (pSliceHeadExt, 0, sizeof (SSliceHeaderExt));
490 pSliceHeadExt->bStoreRefBasePicFlag = kbStoreRefBaseFlag;490 pSliceHeadExt->bStoreRefBasePicFlag = kbStoreRefBaseFlag;
@@ -619,7 +619,7 @@ int32_t ParseSliceHeaderSyntaxs (PWelsDecoderContext pCtx, PBitStringAux pBs, co · 128 unmodified lines
619 if (kbExtensionFlag) {619 if (kbExtensionFlag) {
620 uiQualityId = pNalHeaderExt->uiQualityId;620 uiQualityId = pNalHeaderExt->uiQualityId;
621 } else if (uiSliceType == P_SLICE || uiSliceType == SP_SLICE || uiSliceType == B_SLICE) {621 } else if (uiSliceType == P_SLICE || uiSliceType == SP_SLICE || uiSliceType == B_SLICE) {
622 const bool_t kbBipredFlag = (B_SLICE == uiSliceType);622 const bool kbBipredFlag = (B_SLICE == uiSliceType);
623 if (kbBipredFlag) {623 if (kbBipredFlag) {
624 WelsLog (pCtx, WELS_LOG_WARNING, "ParseSliceHeaderSyntaxs(): kbBipredFlag = 1 not supported.\n");624 WelsLog (pCtx, WELS_LOG_WARNING, "ParseSliceHeaderSyntaxs(): kbBipredFlag = 1 not supported.\n");
625 return GENERATE_ERROR_NO (ERR_LEVEL_SLICE_HEADER, ERR_INFO_UNSUPPORTED_BIPRED);625 return GENERATE_ERROR_NO (ERR_LEVEL_SLICE_HEADER, ERR_INFO_UNSUPPORTED_BIPRED);
@@ -820,7 +820,7 @@ int32_t ParseSliceHeaderSyntaxs (PWelsDecoderContext pCtx, PBitStringAux pBs, co · 194 unmodified lines
820 * pSrc: mark as decoded prefix NAL820 * pSrc: mark as decoded prefix NAL
821 * ppDst: succeeded VCL NAL based AVC (I/P Slice)821 * ppDst: succeeded VCL NAL based AVC (I/P Slice)
822 */822 */
823bool_t PrefetchNalHeaderExtSyntax (PWelsDecoderContext pCtx, PNalUnit const kppDst, PNalUnit const kpSrc) {823bool PrefetchNalHeaderExtSyntax (PWelsDecoderContext pCtx, PNalUnit const kppDst, PNalUnit const kpSrc) {
824 PNalUnitHeaderExt pNalHdrExtD = NULL, pNalHdrExtS = NULL;824 PNalUnitHeaderExt pNalHdrExtD = NULL, pNalHdrExtS = NULL;
825 PSliceHeaderExt pShExtD = NULL;825 PSliceHeaderExt pShExtD = NULL;
826 PPrefixNalUnit pPrefixS = NULL;826 PPrefixNalUnit pPrefixS = NULL;
@@ -1297,7 +1297,7 @@ void_t RefineIdxNoInterLayerPred (PAccessUnit pCurAu, int32_t* pIdxNoInterLayerP · 470 unmodified lines
1297 int32_t iCurNalDependId, iCurNalQualityId, iCurNalTId, iCurNalFrameNum, iCurNalPoc, iCurNalFirstMb, iCurIdx,1297 int32_t iCurNalDependId, iCurNalQualityId, iCurNalTId, iCurNalFrameNum, iCurNalPoc, iCurNalFirstMb, iCurIdx,
1298 iFinalIdxNoInterLayerPred;1298 iFinalIdxNoInterLayerPred;
1299 1299
1300 bool_t bMultiSliceFind = false;1300 bool bMultiSliceFind = false;
1301 1301
1302 iFinalIdxNoInterLayerPred = 0;1302 iFinalIdxNoInterLayerPred = 0;
1303 iCurIdx = *pIdxNoInterLayerPred - 1;1303 iCurIdx = *pIdxNoInterLayerPred - 1;
@@ -1332,7 +1332,7 @@ void_t RefineIdxNoInterLayerPred (PAccessUnit pCurAu, int32_t* pIdxNoInterLayerP · 28 unmodified lines
1332 }1332 }
1333}1333}
1334 1334
1335bool_t CheckPocOfCurValidNalUnits (PAccessUnit pCurAu, int32_t pIdxNoInterLayerPred) {1335bool CheckPocOfCurValidNalUnits (PAccessUnit pCurAu, int32_t pIdxNoInterLayerPred) {
1336 int32_t iEndIdx = pCurAu->uiEndPos;1336 int32_t iEndIdx = pCurAu->uiEndPos;
1337 int32_t iCurAuPoc =1337 int32_t iCurAuPoc =
1338 pCurAu->pNalUnitsList[pIdxNoInterLayerPred]->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader.iPicOrderCntLsb;1338 pCurAu->pNalUnitsList[pIdxNoInterLayerPred]->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader.iPicOrderCntLsb;
@@ -1347,7 +1347,7 @@ bool_t CheckPocOfCurValidNalUnits (PAccessUnit pCurAu, int32_t pIdxNoInterLayerP · 8 unmodified lines
1347 return true;1347 return true;
1348}1348}
1349 1349
1350bool_t CheckIntegrityNalUnitsList (PWelsDecoderContext pCtx) {1350bool CheckIntegrityNalUnitsList (PWelsDecoderContext pCtx) {
1351 PAccessUnit pCurAu = pCtx->pAccessUnitList;1351 PAccessUnit pCurAu = pCtx->pAccessUnitList;
1352 const int32_t kiEndPos = pCurAu->uiEndPos;1352 const int32_t kiEndPos = pCurAu->uiEndPos;
1353 int32_t iIdxNoInterLayerPred = 0;1353 int32_t iIdxNoInterLayerPred = 0;
@@ -1391,7 +1391,7 @@ bool_t CheckIntegrityNalUnitsList (PWelsDecoderContext pCtx) { · 37 unmodified lines
1391 pCurAu->pNalUnitsList[pCurAu->uiEndPos]->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader.iMbHeight << 4;1391 pCurAu->pNalUnitsList[pCurAu->uiEndPos]->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader.iMbHeight << 4;
1392 } else { //P_SLICE1392 } else { //P_SLICE
1393 //step 1: search uiDependencyId equal to pCtx->cur_seq_interval_target_dependency_id1393 //step 1: search uiDependencyId equal to pCtx->cur_seq_interval_target_dependency_id
1394 bool_t bGetDependId = false;1394 bool bGetDependId = false;
1395 int32_t iIdxDependId = 0;1395 int32_t iIdxDependId = 0;
1396 1396
1397 iIdxDependId = kiEndPos;1397 iIdxDependId = kiEndPos;
@@ -1406,7 +1406,7 @@ bool_t CheckIntegrityNalUnitsList (PWelsDecoderContext pCtx) { · 8 unmodified lines
1406 1406
1407 //step 2: switch according to whether or not find the index of pNalUnit whose uiDependencyId equal to iCurSeqIntervalTargetDependId1407 //step 2: switch according to whether or not find the index of pNalUnit whose uiDependencyId equal to iCurSeqIntervalTargetDependId
1408 if (bGetDependId) { //get the index of pNalUnit whose uiDependencyId equal to iCurSeqIntervalTargetDependId1408 if (bGetDependId) { //get the index of pNalUnit whose uiDependencyId equal to iCurSeqIntervalTargetDependId
1409 bool_t bGetNoInterPredFront = false;1409 bool bGetNoInterPredFront = false;
1410 //step 2a: search iNoInterLayerPredFlag [0....iIdxDependId]1410 //step 2a: search iNoInterLayerPredFlag [0....iIdxDependId]
1411 iIdxNoInterLayerPred = iIdxDependId;1411 iIdxNoInterLayerPred = iIdxDependId;
1412 while (iIdxNoInterLayerPred >= 0) {1412 while (iIdxNoInterLayerPred >= 0) {
@@ -1650,7 +1650,7 @@ void_t WelsDqLayerDecodeStart (PWelsDecoderContext pCtx, PNalUnit pCurNal, PSps · 237 unmodified lines
1650 }1650 }
1651}1651}
1652 1652
1653int32_t InitRefPicList (PWelsDecoderContext pCtx, const uint8_t kuiNRi, const bool_t kbFirstSlice, int32_t iPoc) {1653int32_t InitRefPicList (PWelsDecoderContext pCtx, const uint8_t kuiNRi, const bool kbFirstSlice, int32_t iPoc) {
1654 int32_t iRet = ERR_NONE;1654 int32_t iRet = ERR_NONE;
1655 if (kbFirstSlice)1655 if (kbFirstSlice)
1656 iRet = WelsInitRefList (pCtx, iPoc);1656 iRet = WelsInitRefList (pCtx, iPoc);
@@ -1718,7 +1718,7 @@ int32_t DecodeCurrentAccessUnit (PWelsDecoderContext pCtx, uint8_t** ppDst, int3 · 61 unmodified lines
1718 int16_t iLastIdD = -1, iLastIdQ = -1;1718 int16_t iLastIdD = -1, iLastIdQ = -1;
1719 int16_t iCurrIdD = 0, iCurrIdQ = 0;1719 int16_t iCurrIdD = 0, iCurrIdQ = 0;
1720 uint8_t uiNalRefIdc = 0;1720 uint8_t uiNalRefIdc = 0;
1721 bool_t bFreshSliceAvailable =1721 bool bFreshSliceAvailable =
1722 true; // Another fresh slice comingup for given dq layer, for multiple slices in case of header parts of slices sometimes loss over error-prone channels, 8/14/20081722 true; // Another fresh slice comingup for given dq layer, for multiple slices in case of header parts of slices sometimes loss over error-prone channels, 8/14/2008
1723 PPicture pStoreBasePic = NULL;1723 PPicture pStoreBasePic = NULL;
1724 1724
@@ -1774,7 +1774,7 @@ int32_t DecodeCurrentAccessUnit (PWelsDecoderContext pCtx, uint8_t** ppDst, int3 · 49 unmodified lines
1774 * Loop decoding for slices (even FMO and/ multiple slices) within a dq layer1774 * Loop decoding for slices (even FMO and/ multiple slices) within a dq layer
1775 */1775 */
1776 while (iIdx <= iEndIdx) {1776 while (iIdx <= iEndIdx) {
1777 bool_t bReconstructSlice;1777 bool bReconstructSlice;
1778 iCurrIdQ = pNalCur->sNalHeaderExt.uiQualityId;1778 iCurrIdQ = pNalCur->sNalHeaderExt.uiQualityId;
1779 iCurrIdD = pNalCur->sNalHeaderExt.uiDependencyId;1779 iCurrIdD = pNalCur->sNalHeaderExt.uiDependencyId;
1780 pSh = &pNalCur->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader;1780 pSh = &pNalCur->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader;
@@ -1823,7 +1823,7 @@ int32_t DecodeCurrentAccessUnit (PWelsDecoderContext pCtx, uint8_t** ppDst, int3 · 42 unmodified lines
1823 InitDqLayerInfo (dq_cur, &pLayerInfo, pNalCur, pCtx->pDec);1823 InitDqLayerInfo (dq_cur, &pLayerInfo, pNalCur, pCtx->pDec);
1824 1824
1825 if (!dq_cur->sLayerInfo.pSps->bGapsInFrameNumValueAllowedFlag) {1825 if (!dq_cur->sLayerInfo.pSps->bGapsInFrameNumValueAllowedFlag) {
1826 const bool_t kbIdrFlag = dq_cur->sLayerInfo.sNalHeaderExt.bIdrFlag1826 const bool kbIdrFlag = dq_cur->sLayerInfo.sNalHeaderExt.bIdrFlag
1827 || (dq_cur->sLayerInfo.sNalHeaderExt.sNalUnitHeader.eNalUnitType == NAL_UNIT_CODED_SLICE_IDR);1827 || (dq_cur->sLayerInfo.sNalHeaderExt.sNalUnitHeader.eNalUnitType == NAL_UNIT_CODED_SLICE_IDR);
1828 // Subclause 8.2.5.2 Decoding process for gaps in frame_num1828 // Subclause 8.2.5.2 Decoding process for gaps in frame_num
1829 if (!kbIdrFlag &&1829 if (!kbIdrFlag &&
codec/decoder/core/src/expand_pic.cpp+1−1
@@ -144,7 +144,7 @@ void_t ExpandReferencingPicture (PPicture pPic, PExpandPictureFunc pExpLuma, PEx · 143 unmodified lines
144 pExpLuma (pPicY, pPic->iLinesize[0], kiWidthY, kiHeightY);144 pExpLuma (pPicY, pPic->iLinesize[0], kiWidthY, kiHeightY);
145 if (kiWidthUV >= 16) {145 if (kiWidthUV >= 16) {
146 // fix coding picture size as 16x16 issues 7/27/2010146 // fix coding picture size as 16x16 issues 7/27/2010
147 const bool_t kbChrAligned = /*(kiWidthUV >= 16) && */ ((kiWidthUV & 0x0F) == 0); // chroma planes: (16+kiWidthUV) & 15147 const bool kbChrAligned = /*(kiWidthUV >= 16) && */ ((kiWidthUV & 0x0F) == 0); // chroma planes: (16+kiWidthUV) & 15
148 pExpChroma[kbChrAligned] (pPicCb, pPic->iLinesize[1], kiWidthUV, kiHeightUV);148 pExpChroma[kbChrAligned] (pPicCb, pPic->iLinesize[1], kiWidthUV, kiHeightUV);
149 pExpChroma[kbChrAligned] (pPicCr, pPic->iLinesize[2], kiWidthUV, kiHeightUV);149 pExpChroma[kbChrAligned] (pPicCr, pPic->iLinesize[2], kiWidthUV, kiHeightUV);
150 } else {150 } else {
codec/decoder/core/src/fmo.cpp+4−4
@@ -119,7 +119,7 @@ static inline int32_t FmoGenerateSliceGroup (PFmo pFmo, const PPps kpPps, const · 118 unmodified lines
119 const int32_t kiMbHeight) {119 const int32_t kiMbHeight) {
120 int32_t iNumMb = 0;120 int32_t iNumMb = 0;
121 int32_t iErr = 0;121 int32_t iErr = 0;
122 bool_t bResolutionChanged = false;122 bool bResolutionChanged = false;
123 123
124 // the cases we would not like124 // the cases we would not like
125 WELS_VERIFY_RETURN_IF (1, (NULL == pFmo || NULL == kpPps))125 WELS_VERIFY_RETURN_IF (1, (NULL == pFmo || NULL == kpPps))
@@ -238,7 +238,7 @@ void_t UninitFmoList (PFmo pFmo, const int32_t kiCnt, const int32_t kiAvail) { · 112 unmodified lines
238 *238 *
239 * \return true - changed or not initialized yet; false - not change at all239 * \return true - changed or not initialized yet; false - not change at all
240 */240 */
241bool_t FmoParamSetsChanged (PFmo pFmo, const int32_t kiCountNumMb, const int32_t kiSliceGroupType,241bool FmoParamSetsChanged (PFmo pFmo, const int32_t kiCountNumMb, const int32_t kiSliceGroupType,
242 const int32_t kiSliceGroupCount) {242 const int32_t kiSliceGroupCount) {
243 WELS_VERIFY_RETURN_IF (false, (NULL == pFmo))243 WELS_VERIFY_RETURN_IF (false, (NULL == pFmo))
244 244
@@ -258,7 +258,7 @@ bool_t FmoParamSetsChanged (PFmo pFmo, const int32_t kiCountNumMb, const int32_t · 13 unmodified lines
258 *258 *
259 * \return true - update/insert successfully; false - failed;259 * \return true - update/insert successfully; false - failed;
260 */260 */
261bool_t FmoParamUpdate (PFmo pFmo, PSps pSps, PPps pPps, int32_t* pActiveFmoNum) {261bool FmoParamUpdate (PFmo pFmo, PSps pSps, PPps pPps, int32_t* pActiveFmoNum) {
262 const uint32_t kuiMbWidth = pSps->iMbWidth;262 const uint32_t kuiMbWidth = pSps->iMbWidth;
263 const uint32_t kuiMbHeight = pSps->iMbHeight;263 const uint32_t kuiMbHeight = pSps->iMbHeight;
264 264
@@ -330,4 +330,4 @@ MB_XY_T FmoNextMb (PFmo pFmo, const MB_XY_T kiMbXy) { · 65 unmodified lines
330 return iNextMb;330 return iNextMb;
331}331}
332 332
333} // namespace WelsDec333} // namespace WelsDec
codec/decoder/core/src/get_intra_predictor.cpp+1−1
@@ -653,4 +653,4 @@ void_t WelsI16x16LumaPredDcNA_c (uint8_t* pPred, const int32_t kiStride) { · 652 unmodified lines
653 } while (i-- > 0);653 } while (i-- > 0);
654}654}
655 655
656} // namespace WelsDec656} // namespace WelsDec
codec/decoder/core/src/manage_dec_ref.cpp+5−5
@@ -92,7 +92,7 @@ void_t WelsResetRefPic (PWelsDecoderContext pCtx) { · 91 unmodified lines
92 */92 */
93int32_t WelsInitRefList (PWelsDecoderContext pCtx, int32_t iPoc) {93int32_t WelsInitRefList (PWelsDecoderContext pCtx, int32_t iPoc) {
94 int32_t i, j, iCount = 0;94 int32_t i, j, iCount = 0;
95 const bool_t kbUseRefBasePicFlag = pCtx->pCurDqLayer->bUseRefBasePicFlag;95 const bool kbUseRefBasePicFlag = pCtx->pCurDqLayer->bUseRefBasePicFlag;
96 PPicture* ppShoreRefList = pCtx->sRefPic.pShortRefList[LIST_0];96 PPicture* ppShoreRefList = pCtx->sRefPic.pShortRefList[LIST_0];
97 PPicture* ppLongRefList = pCtx->sRefPic.pLongRefList[LIST_0];97 PPicture* ppLongRefList = pCtx->sRefPic.pLongRefList[LIST_0];
98 memset (pCtx->sRefPic.pRefList[LIST_0], 0, MAX_REF_PIC_COUNT * sizeof (PPicture));98 memset (pCtx->sRefPic.pRefList[LIST_0], 0, MAX_REF_PIC_COUNT * sizeof (PPicture));
@@ -215,12 +215,12 @@ int32_t WelsReorderRefList (PWelsDecoderContext pCtx) { · 116 unmodified lines
215 return ERR_NONE;215 return ERR_NONE;
216}216}
217 217
218int32_t WelsMarkAsRef (PWelsDecoderContext pCtx, const bool_t kbRefBaseMarkingFlag) {218int32_t WelsMarkAsRef (PWelsDecoderContext pCtx, const bool kbRefBaseMarkingFlag) {
219 PRefPic pRefPic = &pCtx->sRefPic;219 PRefPic pRefPic = &pCtx->sRefPic;
220 PRefPicMarking pRefPicMarking = pCtx->pCurDqLayer->pRefPicMarking;220 PRefPicMarking pRefPicMarking = pCtx->pCurDqLayer->pRefPicMarking;
221 PRefBasePicMarking pRefPicBaseMarking = pCtx->pCurDqLayer->pRefPicBaseMarking;221 PRefBasePicMarking pRefPicBaseMarking = pCtx->pCurDqLayer->pRefPicBaseMarking;
222 PAccessUnit pCurAU = pCtx->pAccessUnitList;222 PAccessUnit pCurAU = pCtx->pAccessUnitList;
223 bool_t bIsIDRAU = FALSE;223 bool bIsIDRAU = FALSE;
224 uint32_t j;224 uint32_t j;
225 225
226 int32_t iRet = ERR_NONE;226 int32_t iRet = ERR_NONE;
@@ -322,7 +322,7 @@ static int32_t MMCO (PWelsDecoderContext pCtx, PRefPicMarking pRefPicMarking) { · 95 unmodified lines
322 322
323 return ERR_NONE;323 return ERR_NONE;
324}324}
325static int32_t MMCOProcess (PWelsDecoderContext pCtx, uint32_t uiMmcoType, bool_t bRefBasePic,325static int32_t MMCOProcess (PWelsDecoderContext pCtx, uint32_t uiMmcoType, bool bRefBasePic,
326 int32_t iShortFrameNum, uint32_t uiLongTermPicNum , int32_t iLongTermFrameIdx, int32_t iMaxLongTermFrameIdx) {326 int32_t iShortFrameNum, uint32_t uiLongTermPicNum , int32_t iLongTermFrameIdx, int32_t iMaxLongTermFrameIdx) {
327 PRefPic pRefPic = &pCtx->sRefPic;327 PRefPic pRefPic = &pCtx->sRefPic;
328 PPicture pPic = NULL;328 PPicture pPic = NULL;
@@ -551,4 +551,4 @@ static int32_t MarkAsLongTerm (PRefPic pRefPic, int32_t iFrameNum, int32_t iLong · 222 unmodified lines
551 return iRet;551 return iRet;
552}552}
553 553
554} // namespace WelsDec554} // namespace WelsDec
codec/decoder/core/src/memmgr_nal_unit.cpp+1−1
@@ -143,4 +143,4 @@ PNalUnit MemGetNextNal (PAccessUnit* ppAu) { · 142 unmodified lines
143 return pNu;143 return pNu;
144}144}
145 145
146} // namespace WelsDec146} // namespace WelsDec
codec/decoder/core/src/mv_pred.cpp+2−2
@@ -44,7 +44,7 @@ · 43 unmodified lines
44 44
45namespace WelsDec {45namespace WelsDec {
46void_t PredPSkipMvFromNeighbor (PDqLayer pCurLayer, int16_t iMvp[2]) {46void_t PredPSkipMvFromNeighbor (PDqLayer pCurLayer, int16_t iMvp[2]) {
47 bool_t bTopAvail, bLeftTopAvail, bRightTopAvail, bLeftAvail;47 bool bTopAvail, bLeftTopAvail, bRightTopAvail, bLeftAvail;
48 48
49 int32_t iCurSliceIdc, iTopSliceIdc, iLeftTopSliceIdc, iRightTopSliceIdc, iLeftSliceIdc;49 int32_t iCurSliceIdc, iTopSliceIdc, iLeftTopSliceIdc, iRightTopSliceIdc, iLeftSliceIdc;
50 int32_t iLeftTopType, iRightTopType, iTopType, iLeftType;50 int32_t iLeftTopType, iRightTopType, iTopType, iLeftType;
@@ -369,4 +369,4 @@ void_t UpdateP8x16MotionInfo (PDqLayer pCurDqLayer, int16_t iMotionVector[LIST_A · 318 unmodified lines
369 }369 }
370}370}
371 371
372} // namespace WelsDec372} // namespace WelsDec
codec/decoder/core/src/parse_mb_syn_cavlc.cpp+6−6
@@ -398,7 +398,7 @@ int32_t CheckIntra16x16PredMode (uint8_t uiSampleAvail, int8_t* pMode) { · 397 unmodified lines
398 *pMode = I16_PRED_DC_128;398 *pMode = I16_PRED_DC_128;
399 }399 }
400 } else {400 } else {
401 bool_t bModeAvail = CHECK_I16_MODE (*pMode, iLeftAvail, iTopAvail, bLeftTopAvail);401 bool bModeAvail = CHECK_I16_MODE (*pMode, iLeftAvail, iTopAvail, bLeftTopAvail);
402 if (0 == bModeAvail) {402 if (0 == bModeAvail) {
403 return ERR_INFO_INVALID_I16x16_PRED_MODE;403 return ERR_INFO_INVALID_I16x16_PRED_MODE;
404 }404 }
@@ -423,7 +423,7 @@ int32_t CheckIntraChromaPredMode (uint8_t uiSampleAvail, int8_t* pMode) { · 18 unmodified lines
423 *pMode = C_PRED_DC_128;423 *pMode = C_PRED_DC_128;
424 }424 }
425 } else {425 } else {
426 bool_t bModeAvail = CHECK_CHROMA_MODE (*pMode, iLeftAvail, iTopAvail, bLeftTopAvail);426 bool bModeAvail = CHECK_CHROMA_MODE (*pMode, iLeftAvail, iTopAvail, bLeftTopAvail);
427 if (0 == bModeAvail) {427 if (0 == bModeAvail) {
428 return ERR_INFO_INVALID_I_CHROMA_PRED_MODE;428 return ERR_INFO_INVALID_I_CHROMA_PRED_MODE;
429 }429 }
@@ -455,7 +455,7 @@ int32_t CheckIntra4x4PredMode (int32_t* pSampleAvail, int8_t* pMode, int32_t iIn · 25 unmodified lines
455 iFinalMode = I4_PRED_DC_128;455 iFinalMode = I4_PRED_DC_128;
456 }456 }
457 } else {457 } else {
458 bool_t bModeAvail = CHECK_I4_MODE (*pMode, iLeftAvail, iTopAvail, bLeftTopAvail);458 bool bModeAvail = CHECK_I4_MODE (*pMode, iLeftAvail, iTopAvail, bLeftTopAvail);
459 if (0 == bModeAvail) {459 if (0 == bModeAvail) {
460 return ERR_INVALID_INTRA4X4_MODE;460 return ERR_INVALID_INTRA4X4_MODE;
461 }461 }
@@ -486,7 +486,7 @@ void_t BsEndCavlc (PBitStringAux pBs) { · 24 unmodified lines
486 486
487// return: used bits487// return: used bits
488static int32_t CavlcGetTrailingOnesAndTotalCoeff (uint8_t& uiTotalCoeff, uint8_t& uiTrailingOnes,488static int32_t CavlcGetTrailingOnesAndTotalCoeff (uint8_t& uiTotalCoeff, uint8_t& uiTrailingOnes,
489 SReadBitsCache* pBitsCache, SVlcTable* pVlcTable, bool_t bChromaDc, int8_t nC) {489 SReadBitsCache* pBitsCache, SVlcTable* pVlcTable, bool bChromaDc, int8_t nC) {
490 const uint8_t* kpVlcTableMoreBitsCountList[3] = {g_kuiVlcTableMoreBitsCount0, g_kuiVlcTableMoreBitsCount1, g_kuiVlcTableMoreBitsCount2};490 const uint8_t* kpVlcTableMoreBitsCountList[3] = {g_kuiVlcTableMoreBitsCount0, g_kuiVlcTableMoreBitsCount1, g_kuiVlcTableMoreBitsCount2};
491 int32_t iUsedBits = 0;491 int32_t iUsedBits = 0;
492 int32_t iIndexVlc, iIndexValue, iNcMapIdx;492 int32_t iIndexVlc, iIndexValue, iNcMapIdx;
@@ -587,7 +587,7 @@ static int32_t CavlcGetLevelVal (int32_t iLevel[16], SReadBitsCache* pBitsCache, · 94 unmodified lines
587}587}
588 588
589static int32_t CavlcGetTotalZeros (int32_t& iZerosLeft, SReadBitsCache* pBitsCache, uint8_t uiTotalCoeff,589static int32_t CavlcGetTotalZeros (int32_t& iZerosLeft, SReadBitsCache* pBitsCache, uint8_t uiTotalCoeff,
590 SVlcTable* pVlcTable, bool_t bChromaDc) {590 SVlcTable* pVlcTable, bool bChromaDc) {
591 int32_t iCount, iUsedBits = 0;591 int32_t iCount, iUsedBits = 0;
592 const uint8_t* kpBitNumMap;592 const uint8_t* kpBitNumMap;
593 uint32_t uiValue;593 uint32_t uiValue;
@@ -673,7 +673,7 @@ int32_t WelsResidualBlockCavlc (SVlcTable* pVlcTable, uint8_t* pNonZeroCountCach · 79 unmodified lines
673 int32_t iUsedBits = 0;673 int32_t iUsedBits = 0;
674 int32_t iCurIdx = pBs->iIndex;674 int32_t iCurIdx = pBs->iIndex;
675 uint8_t* pBuf = ((uint8_t*)pBs->pStartBuf) + (iCurIdx >> 3);675 uint8_t* pBuf = ((uint8_t*)pBs->pStartBuf) + (iCurIdx >> 3);
676 bool_t bChromaDc = (CHROMA_DC == iResidualProperty);676 bool bChromaDc = (CHROMA_DC == iResidualProperty);
677 uint8_t bChroma = (bChromaDc || CHROMA_AC == iResidualProperty);677 uint8_t bChroma = (bChromaDc || CHROMA_AC == iResidualProperty);
678 SReadBitsCache sReadBitsCache;678 SReadBitsCache sReadBitsCache;
679 679
codec/decoder/core/src/pic_queue.cpp+1−1
@@ -149,4 +149,4 @@ PPicture PrefetchPic (PPicBuff pPicBuf) { · 148 unmodified lines
149 return pPic;149 return pPic;
150}150}
151 151
152} // namespace WelsDec152} // namespace WelsDec
codec/decoder/core/src/rec_mb.cpp+2−2
@@ -44,7 +44,7 @@ · 43 unmodified lines
44 44
45namespace WelsDec {45namespace WelsDec {
46 46
47void_t WelsFillRecNeededMbInfo (PWelsDecoderContext pCtx, bool_t bOutput, PDqLayer pCurLayer) {47void_t WelsFillRecNeededMbInfo (PWelsDecoderContext pCtx, bool bOutput, PDqLayer pCurLayer) {
48 PPicture pCurPic = pCtx->pDec;48 PPicture pCurPic = pCtx->pDec;
49 int32_t iLumaStride = pCurPic->iLinesize[0];49 int32_t iLumaStride = pCurPic->iLinesize[0];
50 int32_t iChromaStride = pCurPic->iLinesize[1];50 int32_t iChromaStride = pCurPic->iLinesize[1];
@@ -235,7 +235,7 @@ static inline void_t BaseMC (sMCRefMember* pMCRefMem, int32_t iXOffset, int32_t · 184 unmodified lines
235 uint8_t* pDstY = pMCRefMem->pDstY;235 uint8_t* pDstY = pMCRefMem->pDstY;
236 uint8_t* pDstU = pMCRefMem->pDstU;236 uint8_t* pDstU = pMCRefMem->pDstU;
237 uint8_t* pDstV = pMCRefMem->pDstV;237 uint8_t* pDstV = pMCRefMem->pDstV;
238 bool_t bExpand = false;238 bool bExpand = false;
239 239
240 ENFORCE_STACK_ALIGN_1D (uint8_t, uiExpandBuf, (PADDING_LENGTH + 6) * (PADDING_LENGTH + 6), 16);240 ENFORCE_STACK_ALIGN_1D (uint8_t, uiExpandBuf, (PADDING_LENGTH + 6) * (PADDING_LENGTH + 6), 16);
241 241

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t