[vlc-devel] Interlaced Top Bottom and block flags
fcvlcdev at free.fr
Fri Jun 10 23:07:36 CEST 2016
We currently have 2 flags for interlaced content,
but the way it is supposed to be used in muxers and packetizers
it still confusing.
I believe and that's what is currently done that the first block has to
carry the field order flag (and first field).
#define BLOCK_FLAG_TOP_FIELD_FIRST 0x2000
#define BLOCK_FLAG_BOTTOM_FIELD_FIRST 0x4000
Seems most streams do packetize both fields together (2AU per packet),
but our packetizer do split them.
As packetizer outputs:
block 1(field T) BLOCK_FLAG_TOP_FIELD_FIRST,
block 2(field B) NONE,
block 3(field T) BLOCK_FLAG_TOP_FIELD_FIRST,
block 4(field B) NONE
decoder has then to expect the opposite, non flagged field, in the
following block, when not in the same block (case below)
As seen in most streams (assuming we didn't mux the others...):
block 1(field T+B) BLOCK_FLAG_TOP_FIELD_FIRST
block 2(field T+B) BLOCK_FLAG_TOP_FIELD_FIRST
Because from H264 there's more than dual TOP/BOTTOM schemes, this gets
more complicated when fields are within their own block.
Packetization seems incorrect then or we need to flag fields.
More information about the vlc-devel