aboutsummaryrefslogtreecommitdiffhomepage
path: root/video/filter
Commit message (Collapse)AuthorAge
...
* vaapi: replace image pool implementation with mp_image_poolGravatar wm42014-03-17
| | | | | | | | | | | | Although I at first thought it would be better to have a separate implementation for hwaccels because the difference to software images are too large, it turns out you can actually save some code with it. Note that the old implementation had a small memory management bug. This got painted over in commit 269c1e1, but is hereby solved properly. Also note that I couldn't test vf_vavpp.c (due to lack of hardware), and I hope I didn't accidentally break it.
* vf_delogo: remove internal implementationGravatar wm42014-03-16
| | | | See previous commit.
* vf_hqdn3d: remove internal implementationGravatar wm42014-03-16
| | | | See previous commit.
* vf_yadif: remove internal implementationGravatar wm42014-03-16
| | | | See previous commit.
* vf_unsharp: remove internal implementationGravatar wm42014-03-16
| | | | See previous commit.
* vf_gradfun: remove internal implementationGravatar wm42014-03-16
| | | | | | | This follows the (only slowly progressing) plan to replace all internal video filters with libavfilter. All what's left in vf_gradfun.c is the weird wrapper around vf_lavfi.c.
* build: simplify libavfilter configure checksGravatar wm42014-03-16
| | | | | This is all not needed anymore. In particular, remove all configure switches except --enable-libavfilter.
* Remove some more unneeded version checksGravatar wm42014-03-16
| | | | | All of these check against things that happened before the latest supported FFmpeg/Libav release.
* video: add rounding to aspect ratio calculationsGravatar wm42014-02-19
| | | | | Small errors are unavoidable, but truncation can cause anamorphic video to be off by 1 or 2 pixels.
* msg: remove global stateGravatar wm42013-12-21
|
* msg: rename mp_msg_log -> mp_msgGravatar wm42013-12-21
| | | | Same for companion functions.
* m_option: add mp_log context to sub-module print_help callbackGravatar wm42013-12-21
|
* m_option, m_config: mp_msg conversionsGravatar wm42013-12-21
| | | | | | | | Always pass around mp_log contexts in the option parser code. This of course affects all users of this API as well. In stream.c, pass a mp_null_log, because we can't do it properly yet. This will be fixed later.
* vaapi: mp_msg conversionsGravatar wm42013-12-21
| | | | | | This ended up a little bit messy. In order to get a mp_log everywhere, mostly make use of the fact that va_surface already references global state anyway.
* sws_utils: mp_msg conversionsGravatar wm42013-12-21
| | | | | | 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.
* video/filter: mp_msg conversionsGravatar wm42013-12-21
|
* vf_lavfi: don't access AVFilterPad directlyGravatar wm42013-12-18
| | | | Direct access is deprecated.
* Split mpvcore/ into common/, misc/, bstr/Gravatar wm42013-12-17
|
* Move options/config related files from mpvcore/ to options/Gravatar wm42013-12-17
| | | | | | | | | Since m_option.h and options.h are extremely often included, a lot of files have to be changed. Moving path.c/h to options/ is a bit questionable, but since this is mainly about access to config files (which are also handled in options/), it's probably ok.
* Replace mp_tmsg, mp_dbg -> mp_msg, remove mp_gtext(), remove set_osd_tmsgGravatar wm42013-12-16
| | | | | | | | | The tmsg stuff was for the internal gettext() based translation system, which nobody ever attempted to use and thus was removed. mp_gtext() and set_osd_tmsg() were also for this. mp_dbg was once enabled in debug mode only, but since we have log level for enabling debug messages, it seems utterly useless.
* vf_dsize: fix bug caused by typoGravatar wm42013-12-14
|
* video: move VO reinit from filter chain to playerGravatar wm42013-12-10
| | | | | | | | | This gets rid of the vf_vo pseudo-filter. It ends the idea of MPlayer's architecture that the VO is just a (terminating) video filter. It didn't really work for us with respect to video timing (the "end" of the video chain isn't really made for video timing, and making it do so would be awkward), and now we're removing it entirely. We will be able to fix some things, such as properly draining video on reconfiguration.
* video: move handling of brightness and deinterlacing controlGravatar wm42013-12-10
| | | | | Handling of brightness/gamma/saturation/etc. and deinterlacing is moved from vf_vo.c to dec_video.c.
* vf_vo: remove VO reset on filter uninitGravatar wm42013-12-10
| | | | | | I don't think this has any reason to exist. It's likely that this used to be required by the old direct rendering infrastructure. (See git blame output.)
* vf: redo conversion filter insertion/format negotiationGravatar wm42013-12-07
| | | | | | | | | | | | | | | | | Remove the inconsistent, duplicated, and insufficient scale filter insertion code, and do it in one place instead. This also compensates for the earlier removal of vf_match_csp() (which was in fact duplicated code). The algorithm to determine where to insert a filter etc. is probably the same, though it also comes with some changes that should make debugging easier when trying to figure out why a chain is failing to configure. Add an "in" pseudo filter, which makes insertion of conversion filters easier. Also change the vf->reconfig signature. At a later point, I'll probably change format negotiation such that the generic filter code will choose the output format, so having separate in and out params will be useful.
* video/filter: make vf->control non-recursiveGravatar wm42013-12-07
| | | | | | Reason: I never liked it being recursive. Generally, this seems to cause more problems than trouble, and is less flexible for access outside of the chain.
* vf: remove flags from filter format statusGravatar wm42013-12-07
| | | | | | | | I don't think we need these flags anymore. Simplify the code and get rid of the vf_format struct. There still is the vf_format.configured field, but this can be replaced by checking for a valid image format.
* video: create a separate context for video filter chainGravatar wm42013-12-07
| | | | | | This adds vf_chain, which unlike vf_instance refers to the filter chain as a whole. This makes the filter API less awkward, and will allow handling format negotiation better.
* video/filter: remove vf_match_csp()Gravatar wm42013-12-07
| | | | | | | | | This function improves automatic filter insertion, but this really should be done by the generic filter code. Remove vf_match_csp() and all code using it as preparation for that. This commit temporarily makes handling of filter insertion worse for now, but it will be fixed with the following commits.
* vf: remove unused functionGravatar wm42013-12-07
|
* vf: print error when creating filter failsGravatar wm42013-12-07
| | | | Before that we relied on the filters printing their own error messages.
* vf: declare config() as legacyGravatar wm42013-12-05
|
* video/filter: remove unneeded config callbacksGravatar wm42013-12-05
| | | | | | | | They didn't do anything. vf_screenshot.c actually did release the previous image, but that's not really required. At worst you could take a screenshot and get an old frame when there's no new frame yet.
* video: remove --flipGravatar wm42013-12-05
| | | | | | | | | | | | | | | | The --flip option flipped the image upside-down, by trying to use VO support, or if not available, by inserting a video filter. I'm not sure why it existed. Maybe it was important in ancient times when VfW based decoders output an image this way (but even then, flipping an image is a free operation by negating the stride). One nice thing about this is that it provided a possible path for implementing video orientation, which is a feature we should probably support eventually. The important part is that it would be for free for VOs that support it, and would work even with hardware decoding. But for now get rid of it. It's useless, trivial, stands in the way, and supporting video orientation would require solving other problems first.
* vf: move norm_qscale() to the only filter which uses itGravatar wm42013-12-05
|
* vf_sub, vf_dlopen: default struct is not neededGravatar wm42013-12-05
|
* vf: cleanup removed filter entryGravatar wm42013-12-05
|
* video/filter: fix some bogus free() callsGravatar wm42013-12-05
| | | | The generic filter code frees these; recent regression.
* options: remove legacy hacks for sub-option handlingGravatar wm42013-12-04
|
* vf_noise: reduce binary sizeGravatar wm42013-12-04
| | | | Same issues as in previous commit.
* vf_eq: revert unintended binary size increaseGravatar wm42013-12-04
| | | | | | The vf_eq context contains a very large lookup table, and the method of setting default values caused the vf_eq context to be included in the compiled code.
* video/filter: remove legacy option handling hacksGravatar wm42013-12-04
| | | | | | | | | All filters now either use the generic option parser, or don't have options. This finally finishes a transition started in 2003 (see git commit 33b62af94760186c). Why are MPlayer devs so monumentally lazy? Sorry, but this takes the cake. You had 10 years.
* vf_vo: don't abuse option strings to set VOGravatar wm42013-12-04
| | | | Whoever thought this was a good idea should be punched.
* vf_rotate: use option parserGravatar wm42013-12-04
|
* vf_pp: use option parserGravatar wm42013-12-04
|
* vf_ilpack: use option parserGravatar wm42013-12-04
|
* vf_eq: use option parserGravatar wm42013-12-04
|
* vf_dsize: use option parserGravatar wm42013-12-04
| | | | | | | Mostly backwards compatible, we don't change much because we just want to get rid of the legacy option string handling. You can't pass an aspect as first argument anymore.
* vf_divtc: use option parserGravatar wm42013-12-04
|
* video/filter: remove vf_down3drightGravatar wm42013-12-04
| | | | | | | | Apparently you can get this with: stereo3d=ab[2]{l,r}:sbs[2]{l,r} So it seems the filter is redundant and can be removed. Also see FFmpeg commit 2f11aa141a01.