Hi everyone,
Does TI H.264 Encoder support B frame with IH264_SLICEMODE_BYTES?
Thanks.
Sincerely,
James
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi everyone,
Does TI H.264 Encoder support B frame with IH264_SLICEMODE_BYTES?
Thanks.
Sincerely,
James
Yes, it is supported. Please see below note in user-guide to know about the conditions under which it is supported.
Note:
sliceMode == IH264_SLICEMODE_BYTES is only supported under below conditions:
Width >= 320 pixels
inputContentType != IVIDEO_INTERLACED
entropyCodingMode != IH264_ENTROPYCODING_CABAC
streamFormat == IH264_NALU_STREAM is only supported when outputDataMode == IVIDEO_SLICEMODE with sub frame level communications
Dear Ramakrishna,
But I try the use case in RDK. If I set B frame, (that is interFrameInterval = 3) and
set sliceCodingParams as below:
dynamicParams->sliceCodingParams.sliceCodingPreset = 1;
dynamicParams->sliceCodingParams.sliceMode = 2;
dynamicParams->sliceCodingParams.sliceUnitSize = 1000;
the encoder control will fail. Error message is as below.
!ERROR!:ENCLINK::links_m3video/iva_enc/encLink_h264.c:[178]::INTERNAL ERROR:-1
[m3video] ALGCONTROL FAILED:CMD:1
If I set
dynamicParams->sliceCodingParams.sliceCodingPreset = 1;
dynamicParams->sliceCodingParams.sliceMode = 1;
dynamicParams->sliceCodingParams.sliceUnitSize = 44;
The encoder control succeed and generate correct bitstream.
Is there anything wrong? Could you give me some advices? Thanks.
Sincerely,
James
Dear James Chu,
My mistake, for this particular mode (i.e., IH264_SLICEMODE_BYTES) B-frame encoding is not supported. It is not documented it in user-guide. We will update this info in user guide. The interFrameInterval should not be greater than 1 for sliceMode = IH264_SLICEMODE_BYTES
Please click on verify if this answers your query
-Ramakrishna.