HEVC print out summary中 BitRate组成部分

    xiaoxiao2021-03-31  42

    整个序列的BitRate信息在哪里输出? TAppEncTop中,编完整个序列,输出R和D信息 Void TAppEncTop::encode() { fstream bitstreamFile(m_bitstreamFileName.c_str(), fstream::binary | fstream::out); //定义文件流指向编码输出码流文件 if (!bitstreamFile) { fprintf(stderr, "\nfailed to open bitstream file `%s' for writing\n", m_bitstreamFileName.c_str()); exit(EXIT_FAILURE); } ... while(!bEos) { m_cTEncTop.encode() } //while循环执行完,整个序列被编完 m_cTEncTop.printSummary(m_isField);//打印summary中的信息 // delete original YUV buffer pcPicYuvOrg->destroy(); delete pcPicYuvOrg; pcPicYuvOrg = NULL; // delete used buffers in encoder class m_cTEncTop.deletePicBuffer(); cPicYuvTrueOrg.destroy(); // delete buffers & classes xDeleteBuffer(); xDestroyLib(); printRateSummary();//打印总体信息,bits written to file等 return; }

    TEncGop::printOutSummary()中,继续跟进,会进入下面的函数

    printf( "\n\nSUMMARY --------------------------------------------------------\n" ); m_gcAnalyzeAll.printOut('a', chFmt, printMSEBasedSNR, printSequenceMSE, bitDepths); printf( "\n\nI Slices--------------------------------------------------------\n" ); m_gcAnalyzeI.printOut('i', chFmt, printMSEBasedSNR, printSequenceMSE, bitDepths); printf( "\n\nP Slices--------------------------------------------------------\n" ); m_gcAnalyzeP.printOut('p', chFmt, printMSEBasedSNR, printSequenceMSE, bitDepths); printf( "\n\nB Slices--------------------------------------------------------\n" ); m_gcAnalyzeB.printOut('b', chFmt, printMSEBasedSNR, printSequenceMSE, bitDepths);

    分别输出总体,I帧,P帧,B帧信息 TEncAnalyze::printOut()

    printOut(TChar cDelim, const ChromaFormat chFmt, const Bool printMSEBasedSNR, const Bool printSequenceMSE, const BitDepths &bitDepths ) { ... switch(chFmt) { case CHROMA_400: ... case CHROMA_420: case CHROMA_422: case CHROMA_444: { printf( "\t
    转载请注明原文地址: https://ju.6miu.com/read-665245.html

    最新回复(0)