Introduce new codec module to decode dirac video via libschroedinger
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>
Showing
modules/codec/schroedinger.c
0 → 100644
Please register or sign in to comment