Hello,
H.264 encoder HDVICP 2.0 support field frame encoding, with the option to encode both fields in single process call.
Does it result in one stream for both fields ?
Best Regards,
Ran
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.
Irrespective of number of process calls and input field arrangement, any field based encoder will generate stream where each field is coded as a seperate POC. When you call single process call for both fields, it will give out the streams for both field in single call.
With Regards,
Pramod
>any field based encoder will generate stream where each field is coded as a seperate POC. When you call single process call for both fields, it will give out the streams for both field in single call
Does it mean that 2 elementary streams are created for the interlaced input ?
Ran
Still it will not be called as 2 elementry stream. it is a single elementery stream where stream structure will be as below
field1 --> field2 --> field1 --> field2.....
In signle process call, both field output will be available in same call.
Thanks,
with Regards,
Pramod
Hi Pramod,
One more thing if I may, If I summarize what you said: irrespective of process call, whenever used field coding in H.264/MPEG-4 it will always result in one elementary stream ?
My platform: DM8168, HDVICP 2.0, MPEG-4, H.264 encoder/decoder.
Thank you,
Ran
Right - but this answer applies to H.264 encoder only. MPEG4 encoder implementation on DM8168 doesn;t support interlaced coding.
On decoder its other way - these will accept one elementry stream (not generate)
With Regards,
Pramod
so in summarize:
1. h.264 encoder support interlaced, field coding only (frame coding is not supported ?? )
2. MPEG-4 encoder does not support interlaced coding
3. MPEG-4 & H.264 decoder support interlacing, field coding only (frame coding is not supported ??)
Thanks,
Ran
Ran,
I don't think you are getting it right.
1. H.264 encoder supports both interlaced field coding and Frame coding also.
2. Yes
3. Mpeg4 and H.264 decoder supports both field and frame coding.
regards
Yashwant
Hi Yashwant,
Thanks for the answer.
I might be wrong with this, but it seems that H.264 standard makes distinction between progressive coding and interlaced video which can be encoded as field or frame coding, i.e. I am not sure that interlaced frame coding is the same as progressive frame coding. Please correct me if I'm wrong on that.
Thank you,
Ran
Hi Ran,
Below tables shows the possible mode of coding supported by H.264 standard and also whether it is supported by TI H.264 encoder/decoder on DM816x
frame_mbs_only_flag | mb_adaptive_frame_field_flag | H.264 Encoder | H.264 Decoder |
0 | 0 | YES | YES |
0 | 1 | NO | YES |
1 | Don't Care | YES | YES |
You might be getting confused with statements shown in section 0.6.2 Coding of progressive and interlaced video of H.264 standard.
What actually it says that for interlaced content, one can code the frame_mbs_only_flag differently for different pictures in a sequence. It is called as PicAFF (Picture adaptive Frame Field Coding) in industry. So PicAFF is not supported by H.264 encoder but it is supported by H.264 decoder.
So in summary
Progressive Coding is supported by H.264 E/D
Interlaced field coding is supported by H.264 E/D
Interlaced MBAFF coding is supported by H.264 D but not by H.264 Encoder
Interlaced PicAFF coding is supported by H.264 D but not by H.264 Encoder
With Regards,
Pramod
Hi Pramod,
Thank you very much, it is very helpful.
I would like to continue this table for TI's MPEG-4 and MPEG-2 codec for DM8168 , please correct me if the following summary is wrong:
With regard to MPEG-2 and MPEG-4 there is something which is called interlaced frame coding:
"
4.1.2 Coding interlaced video
Each frame of interlaced video consists of two fields which are separated by one field-period. The
specification allows either the frame to be encoded as picture or the two fields to be encoded as two
pictures. Frame encoding or field encoding can be adaptively selected on a frame-by-frame basis. Frame
encoding is typically preferred when the video scene contains significant detail with limited motion. Field
encoding, in which the second field can be predicted from the first, works better when there is fast
movement."
MPEG-2 decoder support interlaced field coding & frame coding(?)
MPEG-4 part 2 encoder does not support interlace
MPEG-4 part 2 decoder support interlace field coding & frame coding(?)
Thank you,
Ran