1
mirror of https://github.com/mpv-player/mpv synced 2025-01-13 00:06:25 +01:00
Commit Graph

2443 Commits

Author SHA1 Message Date
Uoti Urpala
e28e4a1b15 Merge svn changes up to r30419 2010-01-25 15:59:53 +02:00
Uoti Urpala
4ebf007580 Merge svn changes up to r30375 2010-01-25 15:36:38 +02:00
Uoti Urpala
ff2df2ac54 Merge svn changes up to r30322 2010-01-25 15:17:50 +02:00
Uoti Urpala
69fe2522f8 Merge svn changes up to r30301 2010-01-25 15:07:30 +02:00
Uoti Urpala
47a04d40f3 Merge svn changes up to r30250 2010-01-25 14:34:56 +02:00
reimar
4e90199d2e Switch -vf halfpack to use only public API of libswscale.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30410 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-23 23:50:25 +00:00
reimar
cbcae4856c Make the scale filter prefer yuv conversions that do not need chroma scaling.
Also always try keeping input and output format the same first.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30409 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-23 19:00:09 +00:00
reimar
86f1430a59 Remove the query_format_cache, it is extra complexity that makes improvements
difficult while the speed advantage in normal use cases is not measurable.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30408 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-23 18:37:47 +00:00
reimar
f1714582b2 Simplify loop condition
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30407 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-23 18:28:47 +00:00
reimar
7725c6d73b Make sure that a qstride of 0 (intentional or not) does not completely break
the code (crash if malloc(0) != NULL, otherwise wrong qscales used for B-frames).


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30405 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-23 14:57:43 +00:00
reimar
c2ffe44a28 Remove any auto-inserted lavc filter.
Makes sure it will not be around if we e.g. try again with a different codec,
which can lead to -vo null being excessively slow.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30391 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-22 23:19:59 +00:00
Uoti Urpala
ffc3db2239 vd_ffmpeg: fix compilation with neither VDPAU nor XvMC enabled
The get_format() function was defined under
 #if CONFIG_XVMC || CONFIG_VDPAU
but recent commit ca217f4557 added an
unconditional reference to it, causing linking to fail with an
undefined reference if neither feature was enabled. Fix by removing
the #if, there's no reason reason why it would be needed.
2010-01-21 01:09:28 +02:00
Uoti Urpala
1ef8d887d4 vd_ffmpeg: FFmpeg-mt changed has_b_frames API, update 2010-01-20 20:32:00 +02:00
Uoti Urpala
d4159a7d88 vd_ffmpeg: move redundant info messages to MSGL_V level
Move two messages printed when using VDPAU/XvMC to MSGL_V level:
"[VD_FFMPEG] XVMC-accelerated MPEG-2.\n"
"[VD_FFMPEG] Trying pixfmt=%d.\n"

The first is redundant because this info is normally visible from the
decoder name, and it was also incorrectly printed in the VDPAU case
too. Add a different MSGL_V message for VDPAU.

Also make all these messages not translatable.
2010-01-20 17:21:39 +02:00
Uoti Urpala
ca217f4557 vd_ffmpeg: disable callbacks for threaded decoding
MPlayer's slice and direct rendering related callbacks are not safe to
call from other threads, so disable those features if more than one
decoding thread is specified. This should fix some issues when using
threaded decoding with formats other than h264 (in the h264 case the
callbacks were already disabled for other reasons).

This commit moves most of the code that sets special avctx parameters
for VDPAU and XvMC. Before that was done after avcodec_open() based on
the selected output image format; now it's done before avcodec_open()
based on the capabilities of the selected decoder. At least the code
selecting the thread count must be before avcodec_open(), and I think
there is no reason to try to keep the previous structure otherwise
either. The image format-based approach was implemented by Reimar
with the intended goal of eventually selecting between software and
VDPAU decoders under one FFmpeg decoder type. I consider that goal to
be questionable, and the approach certainly made the existing code
significantly messier for no functionality benefit.
2010-01-20 16:31:13 +02:00
reimar
1a5841fbbb Add a proper header for our strsep implementation so strsep will
not be used without a declaration, causing issues on 64 bit systems.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30355 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-17 15:08:31 +00:00
reimar
ed03545c3c Reuse the fmt-conversion code instead of duplicating the functionality.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30354 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-17 14:58:44 +00:00
reimar
89d8ae77a8 Add big- and little-endian variants of the 15 and 16 bit RGB/BGR formats.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30353 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-17 14:54:38 +00:00
Uoti Urpala
1f126fc60c Avoid misleading error "ASS: cannot add video filter"
When using libass with a VO that has direct EOSD support the vf_ass
video filter is unnecessary and is not added automatically, but the
code that adds the filter when it is needed produced misleading output
messages in this case. The following two messages were printed at
MSGL_ERR level, making it look like an error condition:
Couldn't open video filter 'ass'.
ASS: cannot add video filter

Add a version of vf_open_plugin() called vf_open_plugin_noerr() that
does not itself print an error message if opening a vf fails and that
returns the exact status code returned by the vf open() function. Make
vf_ass return a different status code depending on whether there was
an actual error or if it determined a filter would be redundant. Use
the _noerr function in the code adding the filter to avoid the first
message and check the status code to avoid the second.
2010-01-16 20:37:13 +02:00
reimar
3abd3dcf57 We only need to disable seeking back in ad_ffmpeg when we actually _use_
a parser, not when just needs_parsing is set.
Fixes playback of e.g. ADPCM in AVI like http://samples.mplayerhq.hu/avi/imaadpcm.avi


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30314 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-15 21:01:31 +00:00
reimar
df73622d23 100l, fix typo that caused ad_hwac3 to fail to compile.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30290 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-12 19:03:49 +00:00
reimar
071490a7a5 Attempt a simple hack to fix -ac hwdts
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30288 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-12 18:37:23 +00:00
reimar
11cd52cad4 More changes needed to make ad_hwac3 truly independent from liba52.
Patch by Benoît Amiaux [benoit amiaux gmail com]


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30286 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-11 21:06:00 +00:00
reimar
b27ec53011 Let the format filter do the AC3 endianness conversion instead of duplicating
the conversion code over and over.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30285 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-11 20:40:51 +00:00
reimar
33bc71f10d Add support for distinguishing between little- and big-endian SPDIF AC3
and converting between both.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30283 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-11 20:27:52 +00:00
reimar
92b91439e0 Make ad_hwac3 independent of liba52. Needs a minor amount of code duplication,
though that is already done that way for dts support in hwac3.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30280 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-11 19:43:19 +00:00
reimar
17da96da5b vf crop: do not generate 0-size slices, they are pointless and also confuse
libswscale to assume the wrong slice order.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30245 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-08 19:21:14 +00:00
Uoti Urpala
819b8f08a2 Merge svn changes up to r30236 2010-01-08 02:44:37 +02:00
Uoti Urpala
17eb7f2c4b Merge svn changes up to r30195 2010-01-08 02:06:42 +02:00
Uoti Urpala
b390b9b28f Merge svn changes up to r30185 2010-01-08 01:36:05 +02:00
Uoti Urpala
231b33a02f Merge svn changes up to r30165 2010-01-08 01:05:30 +02:00
zuxy
554231067d Avoid the error message "Unsupported PixelFormat -1" for ffh264 decoding
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30233 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-07 04:59:50 +00:00
reimar
ef395a2f08 Replace deprecated sws_scale_ordered usages by sws_scale (which does the same).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30192 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-03 17:12:12 +00:00
reimar
8e778e5019 Add missing avcodec_close to vf_screenshot.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30185 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-03 15:56:33 +00:00
reimar
0eb6b9aa95 One more fix for -vf scale with alpha.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30159 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-01 01:25:35 +00:00
reimar
c0cae7b327 Also pass alpha plane to swscale, avoids crashes when converting between
YUV with alpha and some other format supporting alpha.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30158 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-01 01:06:34 +00:00
reimar
8afc25d710 Add support for YUV format with alpha and fix the codecs.conf entry for vp6a
to use it.
Fixes playback of samples in http://samples.mplayerhq.hu/FLV/flash_with_alpha/


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30157 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-31 23:45:07 +00:00
reimar
c07dec1a4a Also pass the 4th plane for planar formats on to libavcodec.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30156 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-31 23:39:21 +00:00
reimar
0ff930da82 Try to put the list of output formats for vf_scale in a more sensible
order.
While the 16-bit yuv formats should not be preferred over the 8-bit ones,
it seems reasonable to probe them directly after the equivalent 8-bit formats.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30155 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-31 23:25:21 +00:00
reimar
a994808e31 Deduplicate the mp_image planes allocation code.
The code in vf.c and mp_image.c is almost the same, though the one in vf.c
is more up-to-date/has more bug fixes and thus is used as the basis
(which is why the diff is so big).


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30154 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-31 23:09:35 +00:00
reimar
a326622304 Add support for 16-bit per component YUV formats.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30152 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-31 22:53:25 +00:00
reimar
22c0b2ed57 Support 440P in scale filter.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30142 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-30 12:06:09 +00:00
reimar
cc46a64a26 Add support for 440p colorspace.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30140 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-30 12:03:17 +00:00
reimar
92f20f876f Add a helper function to get the chroma scale shift and use to simplify mpi setup.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30138 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-30 11:08:44 +00:00
Uoti Urpala
d46b86bc7c Merge svn changes up to r30136
Ignore another broken correct-pts change in 30134.
2009-12-30 00:56:10 +02:00
Uoti Urpala
57ce95b96a audio: Remove fixed decode_audio() return size limit (MAX_OUTBURST)
A couple of months ago MPlayer's ALSA driver started rounding the
amount of input data it was willing to accept in one call down to an
integer multiple of the value it set in ao_data.outburst. In some
configurations it was possible for this value to exceed the 64 KiB
limit on the amount MPlayer was willing to write in a single call to
the AO. As a result ao_alsa accepted 0 bytes in each play() call and
audio playback failed. Fix this by removing the fixed 64 KiB limit on
the amount of audio sent to AO at once; the limit was mostly a remnant
of older code anyway.
2009-12-29 15:51:59 +02:00
Uoti Urpala
d7d8babe61 cosmetics: Revert old dec_audio.c code uglification
Revert 3 old code uglification changes that were done with the excuse
of gcc-2.95 support. The last reverted change was a fix to a bug
introduced in the middle change.

Revert "10l, len may change after initialization time"

This reverts commit ae9db277c7.

Revert "fix declaration after statement, take 2"

This reverts commit 4bceedee93.

Revert "fix declaration after statement"

This reverts commit aef0374c1c.
2009-12-28 22:08:46 +02:00
reimar
ca2af2d0e7 Add support for parsing audio streams (though should be easy to extend to video)
via libavcodec.
Parsing can be done at the demuxer stage (currently disabled) or at the decoder
(ad_ffmpeg, enabled).
Should allow using the libavcodec AAC, DTS, ... decoders independent of container
format.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30130 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-27 15:28:01 +00:00
reimar
afc5a627d8 Support mp_image with allocated palette.
Fixes playback and a memory leak for FFmpeg codecs which use reget_buffer
with paletted data, e.g. cdgraphics.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30116 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-26 11:51:19 +00:00
reimar
bd06a94738 Remove only use if MP_IMGFLAG_RGB_PALETTE to allow giving the flag a slightly
different meaning.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30115 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-26 11:33:45 +00:00