Files
sophgo-forum-service 8b903d8fa7 mw_mpi: weekly rls 2024.05.22
- 9b31d0, [fix](sample):fix some error in sample_vio.
- d097e0, [style](gdc):Modify dwa to ldc.
- 6cc776, [fix](audio):fix the bug in sample_audio case4 when open vqe.

Change-Id: Id429708a0aa8b74ce1e1094838c62b6e8caf112d
2024-05-31 14:52:28 +08:00

138 lines
17 KiB
Markdown

# Sample_venc User Guide
## Sample_venc 使用方法
sample_venc -c codec -w width -h height -i src.yuv -o enc
EX.
sample_venc -c 265 -w 1920 -h 1080 -i ReadySteadyGo_1920x1080_600.yuv -o enc
sample_venc --numChn=1 --chn=0 -c 264 --getBsMode=1 --statTime=2 --gop=50 --srcFramerate=25 --framerate=25 --initQp=32 --minIqp=28 --maxIqp=46 --minQp=28 --maxQp=46 --ipQpDelta=0 -w 720 -h 480 -i input_yuv -o output_stream --rcMode=0 -n 100 --bitrate=10000 --initialDelay=100 --thrdLv=4 --maxIprop=10
## 参数及其使用说明
|参数|描述|
|----------------------------------|------------------------------------------------------------------------------------------------------|
|--codec | 265 = h.265, jpg = jpeg, mjp = motion jpeg |
|--width | width of input yuv file |
|--height | height of input yuv file |
|--input | source yuv file |
|--output | output bitstream |
|--frame_num | number of frame to be encode |
|--getBsMode | get-bitstream mode, 0 = query status, 1 = select |
|--profile | profile, 0 = h264 baseline, 1 = h264 main, 2 = h264 high, Default = 2 |
|--rcMode | rate control mode, 0 = CBR, 1 = VBR, 2 = AVBR, 4 = FIXQP, 5 = QPMAP, 6 = UBR (User BR), default = 4|
|--iqp | I frame QP. [0, 51] |
|--pqp | P frame QP. [0, 51] |
|--ipQpDelta | QP Delta between P frame and I frame. [-10, 30] |
|--bgQpDelta | Smart-P QP delta between P frame and BG (background) frame. [-10, 30], default = 0 |
|--viQpDelta | Smart-P QP delta between P frame and VI (virtual I) frame. [-10, 30], default = 0 |
|--gop | The period of one gop |
|--gopMode | GOP mode. 0: Normal P, 2: Smart P, Default: 0 |
|--bitrate | The average target bitrate (kbits) |
|--initQp | The Start Qp of 1st frame, 63 = default |
|--minQp | Minimum Qp for one frame |
|--maxQp | Maximum Qp for one frame |
|--minIqp | Minimum Qp for I frame |
|--maxIqp | Maximum Qp for I frame |
|--srcFramerate | source frame rate |
|--framerate | destination frame rate |
|--vfps | enable variable FPS |
|--quality | jpeg encode quality. [0, 99] |
|--maxbitrate | Maximum output bit rate (kbits) |
|--changePos | Ratio to change Qp. [50, 100] |
|--minStillPercent | Percentage of target bitrate in low motion. [5, 100] |
|--maxStillQp | Maximum Qp in low motion |
|--motionSense | Motion sensitivity |
|--avbrFrmLostOpen | avbrFrmLostOpen |
|--avbrFrmGap | avbrFrmGap |
|--avbrPureStillThr | avbrPureStillThr |
|--bgEnhanceEn | Enable background enhancement |
|--bgDeltaQp | background delta qp |
|--statTime | statistics time in seconds |
|--testMode | samele_venc test mode |
|--getstream-timeout | samele_venc getstream-timeout -1:block mode, 0:try_once, >0 timeout in ms |
|--sendframe-timeout | samele_venc sendframe-timeout -1:block mode, 0:try_once, >0 timeout in ms |
|--ifInitVb | if enable VB pool or not |
|--vbMode | if enable VB pool mode. 0 = common, 1 = module, 2 = private, 3 = user |
|--yuvFolder | yuv files folder |
|--bindmode | bind mode. 0 = VENC_BIND_DISABLE, 1 = VENC_BIND_VI, 2 = VENC_BIND_VPSS |
|--pixel_format | 0: 420 planar, 1: 422 planar, 2: NV12, 3: NV21 |
|--posX | x axis of start position, need to be multiple of 16 (used for crop) |
|--posY | y axis of start position, need to be multiple of 16 (used for crop) |
|--inWidth | width of input frame (used for crop) |
|--inHeight | height of input frame (used for crop) |
|--bufSize | bitstream Buffer size |
|--single_LumaBuf | 0: disable, 1: use single luma buffer for H264 |
|--single_core | 0: disable, 1: use single core(h264 or h265 only) |
|--forceIdr | 0: disable, > 0: set force idr at number of frame |
|--chgNum | frame num to change attr |
|--chgBitrate | change bitrate (kbits) |
|--chgFramerate | change dstframerate |
|--tempLayer | tempLayer |
|--roiCfgFile | ROI configuration file |
|--qpMapCfgFile | Roi-based qpMap file |
|--bgInterval | bgInterval |
|--frame_lost | 0: disable, 1: use frame lost(h264 or h265 only) |
|--frame_lost_gap | The gap between 2 frame_lost frames(h264 or h265 only) |
|--frame_lost_thr | frame_lost bsp threshold(h264 or h265 only) |
|--MCUPerECS | jpeg encode MCUPerECS |
|--single_EsBuf | 0: disable, 1: use single stream buffer (jpege) |
|--single_EsBuf_264 | 0: disable, 1: use single stream buffer (h264e) |
|--single_EsBuf_265 | 0: disable, 1: use single stream buffer (h265e) |
|--single_EsBufSize | single stream buffer size (jpege) |
|--single_EsBufSize_264 | single stream buffer size (h264e) |
|--single_EsBufSize_265 | single stream buffer size (h265e) |
|--numChn | number of channels to encode |
|--chn | set channel-id to configure the following parameters |
|--viWidth | for VI input width |
|--viHeight | for VI input height |
|--vpssWidth | for Vpss output width |
|--vpssHeight | for VPss output height |
|--vpssSrcPath | source file path for vpss |
|--user_data1 | user data binary file 1 |
|--user_data2 | user data binary file 2 |
|--user_data3 | user data binary file 3 |
|--user_data4 | user data binary file 4 |
|--h265RefreshType | 0: IDR, 1: CRA, default = 0 |
|--initialDelay | rc initial delay in ms, default = 1000 |
|--jpegMarkerOrder | 0: Cvitek, 1: SOI-JFIF-DQT_MERGE-SOF0-DHT_MERGE-DRI, 2: Cvitek w/ JFIF, default = 0 |
|--intraCost | intraCost, the extra cost of intra mode |
|--thrdLv | thrdLv, threhold to control block qp. [0, 4] |
|--h264EntropyMode | 0: CAVLC, 1: CABAC, default = 1 |
|--h264ChromaQpOffset | H264 Chroma QP offset [-12, 12], default = 0 |
|--h265CbQpOffset | H265 Cb QP offset [-12, 12], default = 0 |
|--h265CrQpOffset | H265 Cr QP offset [-12, 12], default = 0 |
|--maxIprop | max I frame bitrate ratio to P frame, default = 100 |
|--rowQpDelta | rowQpDelta [0, 10], default = 1 |
|--superFrmMode | superFrmMode, 0 = disable, 3 = encode to IDR, default = 0 |
|--superIBitsThr | superIBitsThr [1000, 33554432], default = 4000000 |
|--superPBitsThr | superPBitsThr [1000, 33554432], default = 4000000 |
|--maxReEnc | maxReEnc [0, 3], default = 0 |
|--aspectRatioInfoPresentFlag | aspect ratio info present flag [0, 1], default = 0 |
|--aspectRatioIdc | aspect ratio idc [0, 255], default = 1 |
|--overscanInfoPresentFlag | overscan info present flag [0, 1], default = 0 |
|--overscanAppropriateFlag | overscan appropriate flag [0, 1], default = 0 |
|--sarWidth | sar width [0, 65535], default = 1 |
|--sarHeight | sar height [0, 65535], default = 1 |
|--timingInfoPresentFlag | timing info present flag [0, 1], default = 0 |
|--fixedFrameRateFlag | fixed frame rate flag [0, 1], default = 0 |
|--numUnitsInTick | num units in tick [0, 4294967295], default = 1 |
|--timeScale | time scale [0, 4294967295], default = 60 |
|--videoSignalTypePresentFlag | video signal type present flag [0, 1], default = 0 |
|--videoFormat | video format [0, 7], default = 5 |
|--videoFullRangeFlag | video full range flag [0, 1], default = 0 |
|--colourDescriptionPresentFlag | colour description present flag [0, 1], default = 0 |
|--colourPrimaries | colour primaries [0, 255], default = 2 |
|--transferCharacteristics | transfer characteristics [0, 255], default = 2 |
|--matrixCoefficients | matrix coefficients [0, 255], default = 2 |
|--testUbrEn | enable to test ubr [0, 1], default = 0 |
|--frameQp | frameQp [0, 51], default = 38 |
|--isoSendFrmEn | isoSendFrmEn [0, 1], default = 1 |
|--sensorEn | sensorEn [0, 1], default = 0 |
|--sliceSplitCnt | sliceSplitCnt [1, 5], default = 1 |
|--disabledblk | disabledblk [0, 1], default = 0 |
|--betaOffset | betaOffset [-6, 6], default = 0 |
|--alphaoffset | alphaoffset [-6, 6], default = 0 |
|--intraPred | intraPred [0, 1], default = 0 |