⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 downconvert.h

📁 JVT-Z203_jsvm.rar
💻 H
📖 第 1 页 / 共 2 页
字号:
                                      int                     imin,
                                      int                     imax );
  //--- SVC normative intra upsampling ---
  void  xCompIntraUpsampling        ( ResizeParameters*       pcParameters,
                                      bool                    bChroma,
                                      bool                    bBotFlag,
                                      bool                    bVerticalInterpolation );
  void  xVertIntraUpsampling        ( int  iBaseW,   int  iBaseH,
                                      int  iLOffset, int  iTOffset, int  iROffset, int  iBOffset,
                                      int  iYBorder, bool bBotFlag, bool bChromaFilter );
  void  xBasicIntraUpsampling       ( int  iBaseW,   int  iBaseH,   int  iCurrW,   int  iCurrH,
                                      int  iLOffset, int  iTOffset, int  iROffset, int  iBOffset,
                                      int  iShiftX,  int  iShiftY,  int  iScaleX,  int  iScaleY,
                                      int  iOffsetX, int  iOffsetY, int  iAddX,    int  iAddY,
                                      int  iDeltaX,  int  iDeltaY,  int  iYBorder, bool bChromaFilter );

#ifdef  DOWN_CONVERT_STATIC
  //=======================================
  // helper functions for DownConvert Tool 
  //=======================================
  //--- initialization ---
  void  xInitLanczosFilter          ();
  //--- place to and get from image buffer ---
  void  xCopyToImageBuffer          ( unsigned char*        pucSrc,
                                      int                   iWidth,
                                      int                   iHeight,
                                      int                   iStride );
  void  xCopyFromImageBuffer        ( unsigned char*        pucDes,
                                      int                   iWidth,
                                      int                   iHeight,
                                      int                   iStride );
  void  xInitializeWithValue        ( unsigned char*        pucBuffer,
                                      int                   iWidth,
                                      int                   iHeight,
                                      int                   iStride,
                                      unsigned char         cValue );
  //--- dyadic upsampling ---
  void  xCompUpsamplingDyadic       ( int                   iBaseW,
                                      int                   iBaseH,     
                                      bool                  bChroma );
  //--- Lanczos upsampling ---
  void  xCompUpsamplingLanczos      ( ResizeParameters*     pcParameters,
                                      bool                  bChroma );
  void  xUpsamplingDataLanczos      ( int                   iInLength,
                                      int                   iOutLength,
                                      long                  spos );
  void  xGetNumDenomLanczos         ( int                   iInWidth,
                                      int                   iOutWidth,
                                      int&                  riNumerator,
                                      int&                  riDenominator );
  long  xGetFilterLanczos           ( long                  x );
  //--- 6-tap + bilinear upsampling ---
  void  xCompUpsampling6tapBilin    ( ResizeParameters*     pcParameters,
                                      bool                  bChroma );
  void  xUpsamplingData6tapBilin    ( int                   iInLength,
                                      int                   iOutLength );
  //--- dyadic downsampling ---
  void  xCompDownsamplingDyadic     ( int                   iCurrW,
                                      int                   iCurrH );
  //--- SVC non-normative downsampling ---
  void  xCompDownsampling           ( ResizeParameters*     pcParameters,
                                      bool                  bChroma, 
                                      bool                  bBotFlag, 
                                      bool                  bVerticalDownsampling );
  void  xVertDownsampling           ( int                   iBaseW,
                                      int                   iBaseH,
                                      bool                  bBotFlag );
  void  xBasicDownsampling          ( int  iBaseW,   int  iBaseH,   int  iCurrW,   int  iCurrH,
                                      int  iLOffset, int  iTOffset, int  iROffset, int  iBOffset,
                                      int  iShiftX,  int  iShiftY,  int  iScaleX,  int  iScaleY,
                                      int  iAddX,    int  iAddY,    int  iDeltaX,  int  iDeltaY );
#else
  //======================================
  // helper functions for encoder/decoder 
  //======================================
  //--- place to and get from image buffer ---
  void  xCopyToImageBuffer          ( const short*          psSrc,
                                      int                   iWidth,
                                      int                   iHeight,
                                      int                   iStride );
  void  xCopyFromImageBuffer        ( short*                psDes,
                                      int                   iWidth,
                                      int                   iHeight,
                                      int                   iStride );
  void  xInitializeWithValue        ( short*                psBuffer,
                                      int                   iWidth,
                                      int                   iHeight,
                                      int                   iStride,
                                      short                 iValue );
  //--- cropping ---
  void  xCrop                       ( Frame*                pcFrame, 
                                      Frame*                pcBaseFrame,
                                      ResizeParameters*     pcParameters,
                                      short                 iValue );
  //--- SVC intra upsampling ---
  void  xIntraUpsampling            ( Frame*                pcFrame, 
                                      Frame*                pcBaseFrame,
                                      ResizeParameters*     pcParameters );
  void  xInitSliceIdList            ( MyList<unsigned int>& rcSliceIdList,
                                      ResizeParameters*     pcParameters,
                                      MbDataCtrl*           pcMbDataCtrl );
  void  xInitBaseModeAllowedFlags   ( ResizeParameters*     pcParameters,
                                      bool*                 pabBaseModeAllowedFlagArrayFrm,
                                      bool*                 pabBaseModeAllowedFlagArrayFld );
  void  xUpdateBaseModeAllowedFlags ( ResizeParameters*     pcParameters,
                                      bool*                 pabBaseModeAllowedFlagArrayFrm,
                                      bool*                 pabBaseModeAllowedFlagArrayFld );
  void  xGenerateMbMapsForSliceId   ( ResizeParameters*     pcParameters,
                                      MbDataCtrl*           pcMbDataCtrlBase,
                                      MbDataCtrl*           pcMbDataCtrlPredFrm,
                                      MbDataCtrl*           pcMbDataCtrlPredFld,
                                      unsigned int          uiCurrentSliceId );
  void  xInitMbMaps                 ( ResizeParameters*     pcParameters,
                                      bool                  bFrm,
                                      bool                  bTop,
                                      bool                  bBot );
  void  xUpdateMbMapForSliceId      ( ResizeParameters*     pcParameters,
                                      bool                  bChroma,
                                      bool                  bFieldMb,
                                      MbDataCtrl*           pcMbDataCtrlBase,
                                      MbDataCtrl*           pcMbDataCtrlPredFrm,
                                      MbDataCtrl*           pcMbDataCtrlPredFld,
                                      unsigned int          uiCurrentSliceId );
  void  xUpdateIntraPredFrame       ( Frame*                pcDesFrame,
                                      Frame*                pcSrcFrame,
                                      ResizeParameters*     pcParameters );
  //--- SVC residual upsampling ---
  void  xResidualUpsampling         ( Frame*              pcFrame, 
                                      Frame*              pcBaseFrame,
                                      ResizeParameters*   pcParameters,
                                      MbDataCtrl*         pcMbDataCtrlBase );
  void  xDetermineTransBlkIdcs      ( int                 iBaseW,
                                      int                 iBaseH,
                                      bool                bChroma,
                                      bool                bBotField,
                                      ResizeParameters*   pcRP,     
                                      MbDataCtrl*         pcMbDataCtrlBase );
  void  xCompResidualUpsampling     ( ResizeParameters*   pcParameters, 
                                      bool                bChroma, 
                                      bool                bBotFlag,
                                      bool                bVerticalInterpolation,
                                      MbDataCtrl*         pcMbDataCtrlBase );
  void  xVertResidualUpsampling     ( int  iBaseW,   int  iBaseH,
                                      int  iLOffset, int  iTOffset, int  iROffset, int  iBOffset,
                                      int  iYBorder, bool bBotFlag );
  void  xBasicResidualUpsampling    ( int  iBaseW,   int  iBaseH,   int  iCurrW,   int  iCurrH,
                                      int  iLOffset, int  iTOffset, int  iROffset, int  iBOffset,
                                      int  iShiftX,  int  iShiftY,  int  iScaleX,  int  iScaleY,
                                      int  iOffsetX, int  iOffsetY, int  iAddX,    int  iAddY,
                                      int  iDeltaX,  int  iDeltaY,  int  iYBorder );
#endif

private:
  //===== member variables =====
  int         m_iImageStride;
  int*        m_paiImageBuffer;
  int*        m_paiTmp1dBuffer;
#ifdef  DOWN_CONVERT_STATIC
  long*       m_padFilter;
  int*        m_aiTmp1dBufferInHalfpel;
  int*        m_aiTmp1dBufferInQ1pel;
  int*        m_aiTmp1dBufferInQ3pel;
  int*        m_paiTmp1dBufferOut;
#else
  int*        m_paiTransBlkIdc;
  int         m_iMbMapStride;
  MbMapEntry* m_paeMbMapFrm;
  MbMapEntry* m_paeMbMapFld;
#endif
};


#ifdef DOWN_CONVERT_STATIC
#else
H264AVC_NAMESPACE_END
#endif


#endif // _DOWN_CONVERT_


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -