ref: b3dedb3f376fa9ff0044445f0bede3fcdca581b2
parent: f49fa81d4259505d9b69c0abfa7bd5abf2994181
author: ruil2 <ruil2@cisco.com>
date: Mon Jun 23 09:16:15 EDT 2014
modify the interface for delivery info and add some comments
--- a/codec/api/svc/codec_app_def.h
+++ b/codec/api/svc/codec_app_def.h
@@ -85,7 +85,7 @@
ENCODER_OPTION_PROFILE,
ENCODER_OPTION_LEVEL,
ENCODER_OPTION_NUMBER_REF,
- ENCODER_OPTION_DROP_NUM,
+ ENCODER_OPTION_DELIVERY_STATUS,
ENCODER_LTR_RECOVERY_REQUEST,
ENCODER_LTR_MARKING_FEEDBACK,
@@ -414,4 +414,9 @@
ELevelIdc uiLevelIdc; //the level info
} SLevelInfo;
+typedef struct TagDeliveryStatus{
+ int iDropNum; //the number of video frames that are dropped continuously before delivery to encoder, which is used by screen content.
+ int iDropFrameType; // the frame type that is dropped
+ int iDropFrameSize; // the frame size that is dropped
+}SDeliveryStatus;
#endif//WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__
--- a/codec/encoder/plus/src/welsEncoderExt.cpp
+++ b/codec/encoder/plus/src/welsEncoderExt.cpp
@@ -935,9 +935,9 @@
CheckReferenceNumSetting (iValue);
}
break;
- case ENCODER_OPTION_DROP_NUM: {
- int32_t iValue = * ((int32_t*)pOption);
- m_pEncContext->iDropNumber = iValue;
+ case ENCODER_OPTION_DELIVERY_STATUS: {
+ SDeliveryStatus *pValue = (static_cast<SDeliveryStatus*>(pOption));
+ m_pEncContext->iDropNumber = pValue->iDropNum;
}
break;
default: