Laurent Aimar [Mon, 30 Jun 2008 23:05:19 +0000 (23:05 +0000)]
Fixed chain for chroma+resize.
This allows resizing non overlay output without swscale support.
(I have disabled chroma chain building until someone tests it.)
Laurent Aimar [Mon, 30 Jun 2008 17:59:34 +0000 (17:59 +0000)]
Clean up vout error path.
Correctly free spu and filter chain.
Do not free 2x vout pictures.
(At least, vlc -V x11 does not segfault any more on resize, it
just does not work)
Add --sout-asf-bitrate-override setting to ASF muxer
This patch adds setting to override calculated bit rate outputted
into ASF stream. This is needed in the cases where ASF muxer
receives stream in TS (for example) and can't correctly determine
what output bit rate should be.
Windows Media Player actually uses ASF bitrate setting to calculate
how much to cache and if the output bit rate is wrong it tries to
cache too much or too little.
To test the behaviour before this patch try to stream WMV in TS
container to another VLC that remuxes it into ASF. Open the remuxed
stream into WMP and you'll see how it tries to cache 1%, 2%, 3%
and so on...
Signed-off-by: Antoine Cellerier <dionoea@videolan.org>
Laurent Aimar [Sun, 29 Jun 2008 19:08:20 +0000 (19:08 +0000)]
Added reget_buffer implementation for correct PTS for codec using it.
This allows playing of MS Video 1 file but it is not yet correct because
of the way VLC handles RGB (it won't work on big endian, and the colors
seem broken).
Jonathan Rosser [Fri, 27 Jun 2008 16:17:16 +0000 (17:17 +0100)]
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>
...so we don't try to vout_Control() it after it's been destroyed.
We cannot yield the video output for real either, as it would prevent
it from being destroyed once it is not needed anymore.
Rov Juvano [Sun, 22 Jun 2008 16:09:27 +0000 (12:09 -0400)]
Use the Scaletempo audio filter
Scaletempo maintains the audio pitch when playback rate != 1.0 (i.e.
no chipmunk effect). This fixes the pitch scaling caused by using the
resampler to handle playback rate.
Rov Juvano [Sun, 22 Jun 2008 16:09:27 +0000 (12:09 -0400)]
Add Scaletempo audio filter
Scaletempo maintains the audio pitch when playback rate != 1.0 (i.e.
no chipmunk effect). This fixes the pitch scaling caused by using the
resampler to handle playback rate.
Ported from GStreamer. Inspired by SoundTouch library by Olli Parviainen.