Hi,
I want to encode video buffers into h264 format. The following code works fine.
VIDENC1_Params encParams;
memset(&encParams, 0, sizeof(VIDENC1_Params));
encParams.size = sizeof(VIDENC1_Params);
encParams.encodingPreset = XDM_HIGH_SPEED;
encParams.rateControlPreset = IVIDEO_NONE;
encParams.maxFrameRate = 30000;
encParams.maxBitRate = 0;
encParams.maxWidth = width;
encParams.maxHeight = height;
encParams.inputContentType = IVIDEO_PROGRESSIVE;
encParams.inputChromaFormat = XDM_YUV_420SP;
encParams.reconChromaFormat = XDM_YUV_420SP;
encParams.dataEndianness = XDM_BYTE;
encParams.maxInterFrameInterval = 0;
enc = VIDENC1_create(ce, (char*)ENCODER_NAME, &encParams);
But the buffer I get from video_in is YUV422. So I changed the red line to
encParams.inputChromaFormat = XDM_YUV_422P;
encParams.reconChromaFormat = XDM_YUV_422P;
Now, VIDENC1_create returns NULL.
So, doesn't h264 encoder support YUV422 format?
Thanks a lot.
Kevin