Files
wm4 d855be5ec1 vf_scale: replace ancient fallback image format selection
If video output and VO don't support the same format, a conversion
filter needs to be insert. Since a VO can support multiple formats, and
the filter chain also can deal with multiple formats, you basically have
to pick from a huge matrix of possible conversions.

The old MPlayer code had a quite naive algorithm: it first checked
whether any conversion from the list of preferred conversions matched,
and if not, it was falling back on checking a hardcoded list of output
formats (more or less sorted by quality). This had some unintended side-
effects, like not using obvious "replacement" formats, selecting the
wrong colorspace, selecting a bit depth that is too high or too low, and
more.

Use avcodec_find_best_pix_fmt_of_list() provided by FFmpeg instead. This
function was made for this purpose, and should select the "best" format.

Libav provides a similar function, but with a different name - there is
a function with the same name in FFmpeg, but it has different semantics
(I'm not sure if Libav or FFmpeg fucked up here).

This also removes handling of VFCAP_CSP_SUPPORTED vs.
VFCAP_CSP_SUPPORTED_BY_HW, which has no meaning anymore, except possibly
for filter chains with multiple scale filters.

Fixes #1494.
2015-01-25 17:00:21 +09:00
..
2014-04-19 17:10:20 +02:00
2014-04-19 17:10:20 +02:00
2014-07-30 23:29:00 +02:00
2014-04-13 18:03:01 +02:00
2014-09-25 21:32:55 +02:00
2014-04-13 18:03:01 +02:00
2014-10-08 12:44:47 +02:00
2014-04-13 18:03:01 +02:00
2014-11-21 09:59:58 +01:00
2014-11-11 19:26:43 +01:00