[vlc-devel] Interlaced Top Bottom and block flags

Francois Cartegnie fcvlcdev at free.fr
Fri Jun 10 23:07:36 CEST 2016


Hi,

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.

Francois





More information about the vlc-devel mailing list