📄 sesenc.hpp
字号:
Int* rgiNumOfBbetweenPVOP; // no of B-VOPs between P-VOPs Int* rgiNumOfPbetweenIVOP; // no of P-VOPs between I-VOPs//added to encode GOV header by SONY 980212 Int* rgiGOVperiod; Bool* rgbDeblockFilterDisable; //deblocking filter disable Bool *rgbAllowSkippedPMBs; // file information Char* pchPrefix; // prefix name of the movie Char* pchBmpFiles; // bmp file directory location ChromType* rgfChrType; // input chrominance type. 0 - 4:4:4; 1 - 4:2:2; 0 - 4:2:0 Char* pchOutBmpFiles; // quantized frame file directory Char* pchOutStrFiles; // output bitstream file Int* rgiTemporalRate; // temporal subsampling rate Int* rgiEnhcTemporalRate; // temporal subsampling rate for enhancement layer // added by Sharp (98/02/09) // statistics dumping options Bool* rgbDumpMB; Bool* rgbTrace; // rounding control Bool* rgbRoundingControlDisable; Int* rgiInitialRoundingType; // for sprite info UInt* rguiSpriteUsage; // sprite usage UInt* rguiWarpingAccuracy; // warping accuracy Int* rgNumOfPnts; // number of points for sprite; 0 for stationary and -1 for no sprite Char* pchSptDir; // sprite directory Char* pchSptPntDir; // sprite point file SptMode *pSpriteMode; // sprite reconstruction mode Int iSpatialOption; UInt uiFrameWidth_SS; UInt uiFrameHeight_SS; UInt uiHor_sampling_n; UInt uiHor_sampling_m; UInt uiVer_sampling_n; UInt uiVer_sampling_m;//OBSS_SAIT_991015 UInt uiUse_ref_shape; UInt uiUse_ref_texture; UInt uiHor_sampling_n_shape; UInt uiHor_sampling_m_shape; UInt uiVer_sampling_n_shape; UInt uiVer_sampling_m_shape; Bool bCodeSequenceHead; UInt uiProfileAndLevel;//~OBSS_SAIT_991015} SessionEncoderArgList;class CSessionEncoder{ friend class CEnhcBufferEncoder;public: // Constructors ~CSessionEncoder (); CSessionEncoder (SessionEncoderArgList *pArgs); // Attributes UInt compressedSize () const {return m_uCmpSize;} // in bits // Operations Void encode ();///////////////// implementation /////////////////protected: CRct m_rctOrg; CRct m_rctOrgSpatialEnhn; Int m_iFirstFrame; // first frame number Int m_iLastFrame; // last frame number Int m_iNumFrame; // number of frames Int m_iFirstVO; // first VO index Int m_iLastVO; // last VO index Int m_iNumVO; // number of VO's const Bool* m_rgbSpatialScalability; //spatial scalability on/off UInt** m_rguiRateControl; // rate control type UInt** m_rguiBudget; // for rate control own VOLMode* m_rgvolmd [2]; // VOL modes own VOPMode* m_rgvopmd [2]; // VOP modes const CVOPU8YUVBA* m_rgpvopcPrevDisp [2]; // pointers to previously displayed vops // file information const Char* m_pchPrefix; // prefix name of the movie const Char* m_pchBmpFiles; // bmp file directory location const ChromType* m_rgfChrType; // input chrominance type. 0 - 4:4:4, 1 - 4:2:2, 0 - 4:2:0 const Char* m_pchReconYUVDir; // quantized frame file directory const Char* m_pchOutStrFiles; // output bitstream file UInt m_uCmpSize; // in bits Bool m_bTexturePerVOP; // Bool for whether there are texture data for each VOP Bool m_bAlphaPerVOP; // Bool for whether there are alpha data for each VOP // for sprite info const Char* m_pchSptDir; // sprite directory const Char* m_pchSptPntDir; // sprite point file const UInt* m_rguiSpriteUsage; // sprite usage const UInt* m_rguiWarpingAccuracy; // warping accuracy const Int* m_rgNumOfPnts; // number of points for each VOP own CSiteD** m_ppstSrc; // source sites, [numVOP] [numPnt] own CSiteD*** m_pppstDst; // destination sites, [numVOP] [numFrm] [numPnt] // low latency stuff SptMode m_SptMode; // sprite reconstruction mode : 0 -- basic sprite , 1 -- Object piece only, 2 -- Update piece only, 3 -- intermingled CRct m_rctFrame; // to save the frame rectangle Int** m_rgiMVFileUsage; // MV file usage [iLayer][iObj] Char*** m_pchMVFileName; // MV file names [iLayer][iObj] // temporal scalability const Int* m_rgiTemporalScalabilityType; // added by Sharp (98/2/12) Bool m_bPrevObjectExists; Void getInputFiles (FILE*& pfYuvSrc, FILE*& pfAlpSrc, FILE** ppfAuxSrc, // MAC (SB) 24-Nov-99 FILE*& pfYuvSrcSpatialEnhn, FILE*& pfAlpSrcSpatialEnhn,//OBSS_SAIT_991015 FILE* rgpfReconYUV [], FILE* rgpfReconSeg [], FILE** rgpfReconAux [], std::ofstream* rgpostrm [], std::ofstream* rgpostrmTrace [], PixelC& pxlcObjColor, Int iobj, const VOLMode& volmd, const VOLMode& volmd_enhn); Void initVOEncoder (CVideoObjectEncoder** rgpvoenc, Int iobj, std::ofstream* rgpostrmTrace []); Bool loadDataSpriteCheck(UInt iVOrelative,UInt iFrame, FILE* pfYuvSrc, FILE* pfSegSrc, FILE** ppfAuxSrc, PixelC pxlcObjColor, CVOPU8YUVBA* pvopcDst, const VOLMode& volmd); Bool loadData (UInt iFrame, FILE* pfYuvSrc, FILE* pfSegSrc, FILE** ppfAuxSrc, PixelC pxlcObjColor, CVOPU8YUVBA* pvopcDst, CRct& rctOrg,const VOLMode& volmd);//OBSS_SAIT_991015 //for load enhancement layer shape Bool loadDataSpriteCheck(UInt iVOrelative,UInt iFrame, FILE* pfYuvSrc, FILE* pfSegSrc, PixelC pxlcObjColor, CVOPU8YUVBA* pvopcDst, const VOLMode& volmd,const VOLMode& volmd_enhn); //for load enhancement layer shape Bool loadData (UInt iFrame, FILE* pfYuvSrc, FILE* pfSegSrc, PixelC pxlcObjColor, CVOPU8YUVBA* pvopcDst, CRct& rctOrg,const VOLMode& volmd,const VOLMode& volmd_enhn);//~OBSS_SAIT_991015 Void dumpData (FILE* pfYuvDst, FILE* pfSegDst, FILE** ppfAuxDst, Int iLayer, const CVOPU8YUVBA* pvopcSrc, const CRct& rctOrg, const VOLMode& volmd, const Bool bInterlace); Void dumpDataNonCoded (FILE* pfYUV, FILE* pfSeg, FILE ** ppfAux, Int iLayer, CRct& rct, const VOLMode& volmd); Void createReconDir (UInt idx) const; Void createCmpDir (UInt idx) const; Void encodeVideoObject( Bool bObjectExists, Bool bPrevObjectExists, Int iFrame, VOPpredType predType, Int iDumpMode, Int iVO, Int iVOrelative, Int iLayer, FILE* pfYuvSrc, FILE* pfSegSrc, FILE** ppfAuxSrc, FILE* rgpfReconYUV[], FILE* rgpfReconSeg[], FILE** rgpfReconAux[], PixelC pxlcObjColor, CVideoObjectEncoder** rgpvoenc, const VOLMode& volmd, std::ofstream* rgpostrm[], const CVOPU8YUVBA* pvopcBaseQuant = NULL);// begin: added by Sharp (98/2/12) Void updateRefForTPS (CVideoObjectEncoder* pvopc, CEnhcBufferEncoder* BufP1, CEnhcBufferEncoder* BufP2, CEnhcBufferEncoder* BufB1, CEnhcBufferEncoder* BufB2, CEnhcBufferEncoder* BufE, Int bNoNextVOP, Int iVOrelative, Int iEcount, Int ibFrameWithRate, Int ieFrame, Bool bupdateForLastLoop); Void dumpDataOneFrame (UInt iFrame, Int iobj, const CVOPU8YUVBA* pvopcSrc, const VOLMode& volmd); Void initVObfShape (CVideoObjectEncoder** rgpvobfShape, Int iobj, VOLMode& volmd_back, VOPMode& vopmd_back, VOLMode& volmd_forw, VOPMode& vopmd_forw); Void encodeEnhanceVideoObject(Bool bObjectExists, Int iFrame, VOPpredType predType, Int iDumpMode, Int iVO,Int iVOrelative, FILE* pfYuvSrc, FILE* pfSegSrc, FILE* rgpfReconYUV[], FILE* rgpfReconSeg[], PixelC pxlcObjColor, CVideoObjectEncoder* rgpvoenc, const VOLMode& volmd, const VOLMode& volmd_enhn, Int iEnhnFirstFrame, std::ofstream* rgpostrm[], CEnhcBufferEncoder& BufP1, CEnhcBufferEncoder& BufP2, CEnhcBufferEncoder& BufB1, CEnhcBufferEncoder& BufB2, CEnhcBufferEncoder& BufE );// end: added by Sharp (98/2/12) // sprite Void readPntFile (UInt iobj); Void loadSpt (UInt iobj, CVOPU8YUVBA* pvopcDst); CRct findBoundBoxInAlpha (UInt ifr, UInt iobj); CRct findSptRct (UInt iobj);};#endif // __SESENC_HPP_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -