It simplify the flac decoder code.
It fixes the build of the packetizer when flac is disabled.
It makes the flac packetizer behaviour independant of the flac decoder presence.
* modules/codec/cc.h (cc_Extract): Merge repeated field (3) with first
field (1). Use the TOP_FIRST_FIELD in the determination of field.
* modules/codec/libmpeg2.c (DecodeBlock): Pass whether "top field first"
* modules/packetizer/mpegvideo.c (ParseMPEGBlock): Likewise.
Signed-off-by: Laurent Aimar <fenrir@videolan.org>
Note: cc_pts/dts are still set to 0, I can't tell if this value is the
starting timestamp, or if it means the timestamps are not valid.
Better understanding on how pf_get_cc and packetizers are called in
src/input would clarify (fenrir?)
- repacketizing and reconstructing timestamps for a Dirac ES
suitable for remultiplexing and decoding.
- sanitizing an input stream that has non-signalled discontinuities
- handling the basket case AVI fake-pts-is-dts method too:
For a non well formed input (only has pts or dts), this is
implemented by simulating the ReOrder Buffer model to resolve
timestamps.
Updated 20090507 with:
- use VLC_TS_INVALID rather than private block flags
- removed useless i_sync_flags
- add support for next_parse_offset == 0
- eliminate dirac_FindEOS
- use block_t's p_priv to avoid dirac_FindPictureNumber
- remove b_picture_number, add parsecode helpers
- when stream jumps backwards, generate correct EOS DU
- dont use block_FindMaskedFlags
- remove openloop fastsync
- guarantee synchro sees EOS, remove duplicate EOS DUs
- dont blindly believe that a data unit is > 1MB
- fix compilation warning
- fix issue with unsyncable p_extra
- rearange file
- add sanitization of prev_parse_offset
- do duplicate EOS detection at the right place
- move all operations on outqueue to Packetize
- fix stupid offbyone on location of prev_parse_offset
- sanity check output of sync at input to encapsualator
- refactor dirac_BuildEncapsulationUnit
- keep hold of precious timestamps
- unfortunately block_t has no p_priv
Signed-off-by: David Flynn <davidf@rd.bbc.co.uk>
Signed-off-by: Laurent Aimar <fenrir@videolan.org>