mpv/video
Niklas Haas 362015cd77
vo_opengl: abstract hook texture access behind macro
This macro takes care of rotation, swizzling, integer conversion and
normalization automatically. I found the performance impact to be
nonexistant for superxbr and debanding, although rotation *did* have an
impact due to the extra matrix multiplication. (So it gets skipped where
possible)

All of the internal hooks have been rewritten to use this new mechanism,
and the prescaler hooks have finally been separated from each other.
This also means the prescale FBO kludge is no longer required.

This fixes image corruption for image formats like 0bgr, and also fixes
prescaling under rotation. (As well as other user hooks that have
orientation-dependent access)

The "raw" attributes (tex, tex_pos, pixel_size) are still un-rotated, in
case something needs them, but ideally the hooks should be rewritten to
use the new API as much as possible. The hooked texture has been renamed
from just NAME to NAME_raw to make script authors notice the change (and
also deemphasize direct texture access).

This is also a step towards getting rid of the use_integer pass.
2016-05-15 20:42:08 +02:00
..
decode vaapi: avoid forward declaration of variable 2016-05-15 18:37:51 +02:00
filter video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
out vo_opengl: abstract hook texture access behind macro 2016-05-15 20:42:08 +02:00
csputils.c csputils: add DCI-P3 colorspace 2016-03-19 14:08:01 +01:00
csputils.h csputils: add DCI-P3 colorspace 2016-03-19 14:08:01 +01:00
dxva2.c mp_image: allow passing NULL to mp_image_new_custom_ref() 2016-04-25 11:28:49 +02:00
dxva2.h dxva2: stop using pointer obfuscator LPDIRECT3DSURFACE9 2016-03-30 09:01:34 -07:00
fmt-conversion.c build: merge d3d11va and dxva2 hwaccel checks 2016-05-11 15:40:31 +02:00
fmt-conversion.h Update license headers 2015-04-13 12:10:01 +02:00
gpu_memcpy.c video: refactor GPU memcpy usage 2015-09-25 19:18:16 +02:00
gpu_memcpy.h video: refactor GPU memcpy usage 2015-09-25 19:18:16 +02:00
hwdec.c video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
hwdec.h video: add --hwdec=auto-copy mode 2016-05-11 16:20:13 +02:00
image_writer.c image_writer: take care of prediction_method deprecation 2016-02-09 13:24:04 +01:00
image_writer.h screenshots: add option to prevent 16 bit output 2015-04-29 21:05:04 +02:00
img_format.c vo_opengl: refactor pass_read_video and texture binding 2016-03-05 13:08:38 +01:00
img_format.h video: add IMGFMT_P010 alias 2016-04-29 22:38:54 +02:00
img_fourcc.h
mp_image.c mp_image: allow passing NULL to mp_image_new_custom_ref() 2016-04-25 11:28:49 +02:00
mp_image.h mp_image: make mp_image_copy_fields_* private 2016-04-15 15:48:02 +02:00
mp_image_pool.c mp_image_pool: add mp_image_pool_add 2016-02-16 12:36:50 -08:00
mp_image_pool.h mp_image_pool: add mp_image_pool_add 2016-02-16 12:36:50 -08:00
sws_utils.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
sws_utils.h
vaapi.c video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
vaapi.h vaapi: determine surface format in decoder, not in renderer 2016-04-11 22:03:26 +02:00
vdpau.c video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
vdpau.h vdpau: force driver to report preemption early 2016-01-25 16:45:18 +01:00
vdpau_functions.inc vo_vdpau: directly get surface size from surface for screenshots 2015-06-05 22:34:16 +02:00
vdpau_mixer.c vo_opengl: vdpau: fix certain cases of preemption recovery failures 2016-05-03 13:56:11 +02:00
vdpau_mixer.h vo_opengl: vdpau: fix certain cases of preemption recovery failures 2016-05-03 13:56:11 +02:00