X-Git-Url: https://git.piment-noir.org/?p=deb_x265.git;a=blobdiff_plain;f=source%2Fencoder%2Fencoder.h;h=27f07366062c52bf5d5bfd96f69e35fc2d74cca8;hp=8a387c23ba9c7c86be0c3c58beddf4e8274f21f6;hb=b53f7c52d8280ab63876efd6eb292c21430ac607;hpb=5c9b45285dd64723ad1dac380b98a7b1f3095674 diff --git a/source/encoder/encoder.h b/source/encoder/encoder.h index 8a387c2..27f0736 100644 --- a/source/encoder/encoder.h +++ b/source/encoder/encoder.h @@ -74,7 +74,7 @@ struct ThreadLocalData; class Encoder : public x265_encoder { -private: +public: int m_pocLast; // time index (POC) int m_encodedFrameNum; @@ -113,9 +113,7 @@ private: int m_numChromaWPFrames; // number of P frames with weighted chroma reference int m_numLumaWPBiFrames; // number of B frames with weighted luma reference int m_numChromaWPBiFrames; // number of B frames with weighted chroma reference - -public: - + FILE* m_analysisFile; int m_conformanceMode; VPS m_vps; SPS m_sps; @@ -136,12 +134,10 @@ public: bool m_aborted; // fatal error detected Encoder(); - ~Encoder() {} void create(); void destroy(); - void init(); int encode(const x265_picture* pic, x265_picture *pic_out); @@ -163,12 +159,20 @@ public: void updateVbvPlan(RateControl* rc); + void allocAnalysis(x265_analysis_data* analysis); + + void freeAnalysis(x265_analysis_data* analysis); + + void readAnalysisFile(x265_analysis_data* analysis, int poc); + + void writeAnalysisFile(x265_analysis_data* pic); + + void finishFrameStats(Frame* pic, FrameEncoder *curEncoder, uint64_t bits); + protected: void initSPS(SPS *sps); void initPPS(PPS *pps); - - void finishFrameStats(Frame* pic, FrameEncoder *curEncoder, uint64_t bits); }; }