summaryrefslogtreecommitdiffstats
path: root/wscript_build.py
diff options
context:
space:
mode:
authorNiklas Haas <git@nand.wakku.to>2016-04-16 18:14:32 +0200
committerNiklas Haas <git@nand.wakku.to>2016-05-15 20:42:02 +0200
commit070edd73000ca273289d1538c5513509b1b034b7 (patch)
tree32ff8157c7312a5ae238d19e1abdddcd8b3c9e58 /wscript_build.py
parent3d4889e91e7ae519e7fc44911974a52d1770e249 (diff)
downloadmpv-070edd73000ca273289d1538c5513509b1b034b7.tar.bz2
mpv-070edd73000ca273289d1538c5513509b1b034b7.tar.xz
vo_opengl: add hooks and rework pass_read_video
The hook mechanism allows arbitrary processing stages to get dispatched whenever certain named textures have been "finalized" by the code. This is mostly meant to serve as a change that opens up the internal processing in pass_read_video to user scripts, but as a side benefit all of the code dealing with offsets and plane alignment and other such confusing things has been rewritten. This hook mechanism is powerful enough to cover the needs of both debanding and prescaling (and more), so as a result they can be removed from pass_read_video entirely and implemented through hooks. Some avenues for optimization: - The prescale hook is currently somewhat distributed code-wise. It might be cleaner to split it into superxbr and NNEDI3 hooks which can each be self-contained. - It might be possible to move a large part of the hook code out to an external file (including the hook definitions for debanding and prescaling), which would be very much desired. - Currently, some stages (chroma merging, integer conversion) will *always* run even if unnecessary. I'm planning another series of refactors (deferred img_tex) to allow dropping unnecessary shader stages like these, but that's probably some ways away. In the meantime it would be doable to re-add some of the logic to skip these stages if we know we don't need them. - More hook locations could be added (?)
Diffstat (limited to 'wscript_build.py')
0 files changed, 0 insertions, 0 deletions