| 161 | } while (iLevelIdx >= 0); |
| 162 | } |
| 163 | void CheckReferenceNumSetting (SLogContext* pLogCtx, SWelsSvcCodingParam* pParam, int32_t iNumRef) { |
| 164 | int32_t iRefUpperBound = (pParam->iUsageType == CAMERA_VIDEO_REAL_TIME) ? |
| 165 | MAX_REFERENCE_PICTURE_COUNT_NUM_CAMERA : MAX_REFERENCE_PICTURE_COUNT_NUM_SCREEN; |
| 166 | pParam->iNumRefFrame = iNumRef; |
| 167 | if ((iNumRef < MIN_REF_PIC_COUNT) || (iNumRef > iRefUpperBound)) { |
| 168 | pParam->iNumRefFrame = AUTO_REF_PIC_COUNT; |
| 169 | WelsLog (pLogCtx, WELS_LOG_WARNING, |
| 170 | "doesn't support the number of reference frame(%d) change to auto select mode", iNumRef); |
| 171 | } |
| 172 | } |
| 173 | |
| 174 | int32_t SliceArgumentValidationFixedSliceMode (SLogContext* pLogCtx, |
| 175 | SSliceArgument* pSliceArgument, const RC_MODES kiRCMode, |