Hello, Rogerio!
1. Capture YUV422, resolution 1280x720.
2. Convert and resize YUV422 to YUV420 in IPU, output resolution 800x600.
2.1. ipu_lib_input_param_t.user_def_paddr[0] = v4l2 buffer address
ipu_lib_output_param_t.user_def_paddr[0] = codec input buffer phys addres
2.2. output resolution aligned to 16
static inline unsigned short round_size(unsigned short val,
bool to_big = false)
{
return (to_big ? (val + 15) : val) / 16 * 16;
}
3. Encode YUV420 buffer in VPU
EncOpenParam:
bitstreamBuffer 0x76a00000
bitstreamBufferSize 1638400
bitstreamFormat 2
picWidth 800
picHeight 592
frameRateInfo 65556000
bitRate 0
initialDelay 0
vbvBufferSize 0
gopSize 20
slicemode.sliceMode 0
slicemode.sliceSizeMode 0
slicemode.sliceSize 0
intraRefresh 0
sliceReport 0
mbReport 0
mbQpReport 0
rcIntraQp -1
dynamicAllocEnable 0
ringBufferEnable 0
EncStdParam.avcParam.avc_constrainedIntraPredFlag 0
EncStdParam.avcParam.avc_disableDeblk 1
EncStdParam.avcParam.avc_deblkFilterOffsetAlpha 6
EncStdParam.avcParam.avc_deblkFilterOffsetBeta 0
EncStdParam.avcParam.avc_chromaQpOffset 10
EncStdParam.avcParam.avc_audEnable 0
EncStdParam.avcParam.avc_fmoEnable 0
EncStdParam.avcParam.avc_fmoType 0
EncStdParam.avcParam.avc_fmoSliceNum 1
EncStdParam.avcParam.avc_fmoSliceSaveBufSize 32
EncParam:
enableAutoSkip 0
encLeftOffset 0
encTopOffset 0
forceIPicture 0
quantParam 10
skipPicture 0
sourceFrame 0x54ba0ea8
picStreamBufferAddr 0
picStreamBufferSize 0