summaryrefslogtreecommitdiffstats
path: root/video/sws_utils.h
Commit message (Collapse)AuthorAgeFilesLines
* vf_scale: libswscale is being stupidwm42015-03-011-0/+1
| | | | | | | | | | | | This time (there are a lot of times), libswscale randomly ignores brightness/saturation/contrast settings. Looking at MPlayer code, it appears the return value of sws_setColorspaceDetails() signals if changing these settings is supported at all. (Nevermind that supporting this feature has almost 0 value, and obviously eats maintenance time.)
* video: work around libswscale for PNG pixel formatswm42015-02-061-0/+2
| | | | | | | | The intention is that we can test vo_opengl with high bit depth PNGs better. This throws libswscale completely out of the loop, which before was needed in order to convert from big endian to little endian. Also apply a minimal cleanup to fmt-conversion.c (unrelated).
* image_writer: check for conversion errorswm42015-01-151-4/+4
| | | | | This can happen when e.g. a VO returns a screenshot in an unsupported format.
* csputils: get rid of mp_csp_detailswm42015-01-061-1/+0
| | | | It used to be central, but now it's just unneeded.
* options: remove global variables for swscale options; rename themwm42014-06-111-1/+2
| | | | | | Additionally to removing the global variables, this makes the options more uniform. --ssf-... becomes --sws-..., and --sws becomes --sws- scaler. For --sws-scaler, use choices instead of magic integer values.
* sws_utils: mp_msg conversionswm42013-12-211-0/+2
| | | | | | This requires the caller to provide a mp_log in order to see error messages. Unfortunately we don't do this in most places, but I guess we have to live with it.
* Fix some more -Wshadow warningswm42013-11-011-1/+1
| | | | | | These aren't printed with newer gcc or clang versions for some reason. All of them seem to be about local variables shadowing global functions.
* vf_scale: factor out libswscale equalizer controlwm42013-09-301-0/+4
| | | | Will be used by vo_x11.
* img_convert: add function to scale RGBA OSD imageswm42013-08-121-0/+1
|
* vf_scale: actually respect param and param2 suboptionswm42013-07-221-0/+1
| | | | This was forgotten in commit b81f5e2.
* sws_utils: make hq swscale flags available with mp_sws_hq_flagswm42013-07-181-0/+2
| | | | No need to duplicate this on the call-site.
* sws_utils: don't recursively include libswscale headerwm42013-07-181-1/+0
| | | | Add libswscale includes where they are actually needed instead.
* sws_utils: remove some old codewm42013-07-181-6/+0
|
* sws_utils: refactor swscale wrapper codewm42013-07-181-0/+30
| | | | | | | | | | This splits the monolithic mp_image_swscale() function into a bunch of functions and a context struct. This means it's possible to set arbitrary parameters (e.g. even obscure ones without getting in the way), and you don't have to create the context on every call. This code is preparation for removing duplicated libswscale API usage from other parts of the code.
* sub: reimplement -spugauss as --sub-gausswm42012-11-251-0/+3
| | | | | | | | | | | | | | | | Apparently the -spugauss option was popular. The code originally implementing this is gone (scaler stuff in spudec.c). Reimplement it using libswscale to scale and blur image subtitles if the --sub-gauss option is set. The code does some rather lazy padding to allow the blur to spread pixels past the original image bounding box. (This problem exists with normal bilinear scaling too, but is barely noticable.) Technically, this doesn't just blur subtitles, but anything RGBA (or indexed) that enters the OSD rendering path. But only image subtitles produce these OSD formats currently, so no explicit check is done to prevent blurring in other cases.
* sws_utils: remove unused helperwm42012-11-241-5/+0
| | | | | | | | sws_getContextFromCmdLine_hq() was used by the screenshot code, which now uses mp_image_swscale(). Also move the mp_sws_set_colorspace() declaration from sws_utils.h to vf_scale.c.
* Rename directories, move files (step 1 of 2) (does not compile)wm42012-11-121-0/+33
Tis drops the silly lib prefixes, and attempts to organize the tree in a more logical way. Make the top-level directory less cluttered as well. Renames the following directories: libaf -> audio/filter libao2 -> audio/out libvo -> video/out libmpdemux -> demux Split libmpcodecs: vf* -> video/filter vd*, dec_video.* -> video/decode mp_image*, img_format*, ... -> video/ ad*, dec_audio.* -> audio/decode libaf/format.* is moved to audio/ - this is similar to how mp_image.* is located in video/. Move most top-level .c/.h files to core. (talloc.c/.h is left on top- level, because it's external.) Park some of the more annoying files in compat/. Some of these are relicts from the time mplayer used ffmpeg internals. sub/ is not split, because it's too much of a mess (subtitle code is mixed with OSD display and rendering). Maybe the organization of core is not ideal: it mixes playback core (like mplayer.c) and utility helpers (like bstr.c/h). Should the need arise, the playback core will be moved somewhere else, while core contains all helper and common code.