("SEIColourRemappingInfoFilename",m_colourRemapSEIFileName,string(""),"Colour Remapping YUV output file name. If empty, no remapping is applied (ignore SEI message)\n")
("OutputDecodedSEIMessagesFilename",m_outputDecodedSEIMessagesFilename,string(""),"When non empty, output decoded SEI messages to the indicated file. If file is '-', then output to stdout\n")
("ClipOutputVideoToRec709Range",m_bClipOutputVideoToRec709Range,false,"If true then clip output video to the Rec. 709 Range on saving")
("PYUV",m_packedYUVMode,false,"If true then output 10-bit and 12-bit YUV data as 5-byte and 3-byte (respectively) packed YUV data. Ignored for interlaced output.")
#if ENABLE_TRACING
("TraceChannelsList",bTracingChannelsList,false,"List all available tracing channels")
("TraceRule",sTracingRule,string(""),"Tracing rule (ex: \"D_CABAC:poc==8\" or \"D_REC_CB_LUMA:poc==8\")")
intm_respectDefDispWindow;///< Only output content inside the default display window
std::stringm_outputDecodedSEIMessagesFilename;///< filename to output decoded SEI messages to. If '-', then use stdout. If empty, do not output details.
boolm_bClipOutputVideoToRec709Range;///< If true, clip the output video to the Rec 709 range on saving.
boolm_packedYUVMode;///< If true, output 10-bit and 12-bit YUV data as 5-byte and 3-byte (respectively) packed YUV data
std::stringm_cacheCfgFile;///< Config file of cache model
("FramesToBeEncoded,f",m_framesToBeEncoded,0,"Number of frames to be encoded (default=all)")
("ClipInputVideoToRec709Range",m_bClipInputVideoToRec709Range,false,"If true then clip input video to the Rec. 709 Range on loading when InternalBitDepth is less than MSBExtendedBitDepth")
("ClipOutputVideoToRec709Range",m_bClipOutputVideoToRec709Range,false,"If true then clip output video to the Rec. 709 Range on saving when OutputBitDepth is less than InternalBitDepth")
("PYUV",m_packedYUVMode,false,"If true then output 10-bit and 12-bit YUV data as 5-byte and 3-byte (respectively) packed YUV data. Ignored for interlaced output.")
("SummaryOutFilename",m_summaryOutFilename,string(),"Filename to use for producing summary output file. If empty, do not produce a file.")
("SummaryPicFilenameBase",m_summaryPicFilenameBase,string(),"Base filename to use for producing summary picture output files. The actual filenames used will have I.txt, P.txt and B.txt appended. If empty, do not produce a file.")
("SummaryVerboseness",m_summaryVerboseness,0u,"Specifies the level of the verboseness of the text output")
("QPIncrementFrame,-qpif",m_qpIncrementAtSourceFrame,OptionalValue<uint32_t>(),"If a source file frame number is specified, the internal QP will be incremented for all POCs associated with source frames >= frame number. If empty, do not increment.")
("QPIncrementFrame,-qpif",m_qpIncrementAtSourceFrame,OptionalValue<uint32_t>(),"If a source file frame number is specified, the internal QP will be incremented for all POCs associated with source frames >= frame number. If empty, do not increment.")
#else
("QP,q",m_fQP,30.0,"Qp value, if value is float, QP is switched once during encoding")
xConfirmPara(m_bipredSearchRange<0,"Bi-prediction refinement search range must be more than 0");
xConfirmPara(m_minSearchWindow<0,"Minimum motion search window size for the adaptive window ME must be greater than or equal to 0");
xConfirmPara(m_iMaxDeltaQP>MAX_DELTA_QP,"Absolute Delta QP exceeds supported range (0 to 7)");
#if ENABLE_QPA
xConfirmPara(m_bUsePerceptQPA&&m_uiDeltaQpRD>0,"Perceptual QPA cannot be used together with slice-level multiple-QP optimization");
#endif
#if SHARP_LUMA_DELTA_QP
xConfirmPara(m_lumaLevelToDeltaQPMapping.mode&&m_uiDeltaQpRD>0,"Luma-level-based Delta QP cannot be used together with slice level multiple-QP optimization\n");
msg(DETAILS,"Real Format : %dx%d %gHz\n",m_iSourceWidth-m_confWinLeft-m_confWinRight,m_iSourceHeight-m_confWinTop-m_confWinBottom,(double)m_iFrameRate/m_temporalSubsampleRatio);
msg(DETAILS,"Internal Format : %dx%d %gHz\n",m_iSourceWidth,m_iSourceHeight,(double)m_iFrameRate/m_temporalSubsampleRatio);
msg(DETAILS,"Sequence PSNR output : %s\n",(m_printMSEBasedSequencePSNR?"Linear average, MSE-based":"Linear average only"));
#define JVET_K0351_LESS_CONSTRAINT 1 // Only disallow binary split with same orientation in center partition of the ternary split and release the other constraints in K0351.
#define JVET_K0251_QP_EXT 1 // Extending the QP parameter value range for coarse quantization
#define JVET_K0251_QP_EXT 1 // Extending the QP parameter value range for coarse quantization
#define JVET_K_AFFINE 1
#if JVET_K_AFFINE
...
...
@@ -178,7 +178,7 @@
#endif // ! ENABLE_TRACING
#define WCG_EXT 0 // part of JEM sharp Luma qp
#define WCG_WPSNR WCG_EXT
#define WCG_WPSNR WCG_EXT
#if HEVC_TOOLS
#define HEVC_USE_INTRA_SMOOTHING_T32 1
...
...
@@ -321,8 +321,7 @@
#define SHARP_LUMA_DELTA_QP 1 ///< include non-normative LCU deltaQP and normative chromaQP change
#define ER_CHROMA_QP_WCG_PPS 1 ///< Chroma QP model for WCG used in Anchor 3.2
#define ENABLE_QPA 0
#define ENABLE_QPA 1 ///< Non-normative perceptual QP adaptation according to JVET-H0047 and JVET-K0206. Deactivated by default, activated using encoder arguments --PerceptQPA=1 --SliceChromaQPOffsetPeriodicity=1
constuint32_tB=Clip3<uint32_t>(0,128>>chromaShift,4*uint32_t(16.0*sqrt(R)+0.5));// WPSNR block size in integer multiple of 4 (for SIMD, = 64 at full-HD)