shithub: openh264

Download patch

ref: 63cef0f0f4a10cd4791903ea2eb530e32c8cbd1a
parent: 31b1c2eb7e6f47ffeaa5c82a26013b8b090d2e89
author: ruil2 <ruil2@cisco.com>
date: Fri Mar 28 06:06:42 EDT 2014

add preprocessing parameter for screen content

--- a/codec/encoder/core/inc/wels_preprocess.h
+++ b/codec/encoder/core/inc/wels_preprocess.h
@@ -60,7 +60,13 @@
   int32_t     iScaledHeight[MAX_DEPENDENCY_LAYER];
 } Scaled_Picture;
 
+
 typedef struct {
+  int32_t    iBestRefSrcListIdx;   //idx in  h->spatial_pic[base_did];
+  bool       bSceneLtrFlag;
+}SRefInfoParam;
+
+typedef struct {
   SVAACalcResult		sVaaCalcInfo;
   SAdaptiveQuantizationParam sAdaptiveQuantParam;
   SComplexityAnalysisParam sComplexityAnalysisParam;
@@ -81,9 +87,22 @@
   uint8_t         uiValidLongTermPicIdx;
   uint8_t         uiMarkLongTermPicIdx;
 
+  ESceneChangeIdc eSceneChangeIdc;
   bool          bSceneChangeFlag;
   bool          bIdrPeriodFlag;
 } SVAAFrameInfo;
+
+typedef struct SVAAFrameInfoExt_t: public SVAAFrameInfo
+{
+  SComplexityAnalysisScreenParam    sComplexityScreenParam;
+  SScrollDetectionResult    sScrollDetectInfo;
+    //TOP3_BEST_REF_NO_TID
+  SRefInfoParam    sVaaStrBestRefCandidate[MAX_REF_PIC_COUNT];
+  int32_t    iNumOfAvailableRef;
+
+  int32_t    *pVaaBestBlockStaticIdc;//pointer
+  int32_t    *pVaaBlockStaticIdc[16];//real memory,
+}SVAAFrameInfoExt;
 
 class CWelsLib {
  public: