Interlaced video H.264 encoding

Hi,

We are considering using the Jetson Nano and Jetson TX2 NX for a H264 encoder. Encoding H264 in interlaced format is a must (1080i60, 720x480i60, 720x576i60, etc.).
I know that interlaced video encoding is not supported from what I’d read in other posts.

Is this a hardware or software limitation? Will it be available in the future?
Can we make a modification in the low level drivers to achieve this?

Best regards,
Ivan.

Hi,
On Jetson platforms, we would expect input sources to be in progressive mode, and have progressive frames feed into hardware encoders. For now we don’t have plan to support interlaced encoding.

Thank you DaneLLL for your answer.

What options do we have if we want to encode interlaced with a Jetson module? What latency should we expect?

Is there a way to hardware encode 1080p and then make fast changes in the video PES with a patch to transform that into 1080i?
Maybe ffmpeg transforms encoded progressive into encoded interlaced, but they must decode->encode, and that introduces more delay, is that so?

Best regards,
Ivan.

Hi,
On Jetson platforms you can encode top-field and bottom-field frames separately. For one 1080i frame, can be considered as two 1920x540 frames. So if there is tool which can re-mux 1920x540p H264 stream into 1080i stream, this may be a possible solution. Do you have idea if there is tool for this?

Thank you again for your answer DaneLLL.
Are you positive that if I H.264 encode 1920x540p top and 1920x540p bottom at the same time, then I could remux the two encoded data into one H.264 1920x1080i?
Can I achieve this by only changing the metadata of the access units of the elementary stream ? E.g. bottom_field_flag, field_pic_flag, IDR, etc.

I do not know any tool for this. I found some that handle video files, but they probably first transform the H264 to raw video and then back to H264.

Best regards,
Ivan.

Hi,

No, we don’t have enough knowledge about this to give positive answer. Would need other users to share experience.

The existing implementation is for progressive frame input. We would suggest use existing implementation.