On such flag, the bitstream before and after it are not related at all and
so are the timestamp. In order to not confuse the core, do not output
wrong timestamps.
timestamp will be interpolated at output of decoder instead.
Signed-off-by: David Flynn <davidf@rd.bbc.co.uk>
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
For SD, this should allow removal of black bars form the edge of frames.
i_aspect is set to the aspect ratio of the whole frame which may be
greater than that of the clean area. VLC should then calculate the SAR,
and eventually display a clean area sized picture that is of the correct
aspect ratio.
NB, we do actually know the SAR, but it isn't known if vlc cares at this
point.
Signed-off-by: David Flynn <davidf@rd.bbc.co.uk>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
The packetizer does a far more thorough job of handling the different
timestamp representations used by vlc
Signed-off-by: David Flynn <davidf@rd.bbc.co.uk>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Schroedinger now has an api that allows passing in arbitarily aligned
data units (ie, whole encapsuation units), use this rather than attempt
to chunk up the bitstream ourselves.
This new api also enables buffer tagging, where buffers may be tagged
with arbitary data that gets associated with the next picture to
commence at or after the start of the buffer. This removes the need
for the TLBs and associated accounting.
Signed-off-by: David Flynn <davidf@rd.bbc.co.uk>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
It is more reliable to interpolate pts at the output of the decoder
than to use dts.
This requires demuxers that only provide dts (such as avi) to provide
an initial value of pts so that the decoder may interpolate correctly.
Properly return pictures obtained from vout when they won't get
returned via the normal decodeBlock path.
- Fixes lockup when seeking.
- Maybe fixes win32 end of file fault.
Signed-off-by: David Flynn <davidf@woaf.net>
Signed-off-by: Derk-Jan Hartman <hartman@videolan.org>
Schroedinger is a fast decoder of the Dirac video codec. This plugin
is currently the most complete dirac decoder (compared with ffmpeg or
codec/dirac.c) and should ideally be used in preference
- Input data blocks are handed over to schro which eventually free's them
(avoids memcpy). Freed by SchroBufferFree()
- Share picture storage between schro and vlc -- avoids memcpy of picture
data after decoding. Freed by SchroFrameFree()
- Autodetection of libschroedinger in configure.ac
May be disabled with --disable-schroedinger
- Bumped decoding priority to 200, to beat libavcodec.c and dirac.c,
this module does a better job than either of them.
- Remove potential memory leak when allocating pictures
- Always use p_block rather than priv in SchroBufferFree
- Performs pts interpolation for streams that do not have one pts per picture
- Set progressive, top_field_first and nb_fields on picture_t's properly
- Fix copyright date in header
- Reorder picture_pts_t structure for efficiency
- Print 64 bit types correctly with "%"PRId64
- No need to p_buffer->i_buffer=0 before buffer_Release()
- Work around schroedinger's lack of handling multiple parseunits per block
- Work around corrupt data produced by demux/ts.c after discontinuity
- Correctly reset decoder at Dirac END_OF_SEQUENCE
- Split decoding loop into two parts:
- First, injecting [valid] parse units into the decoder
- Second, itterating the decoder
Signed-off-by: David Flynn <davidf@woaf.net>
Signed-off-by: Rémi Denis-Courmont <rdenis@simphalempin.com>