summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorigv <igv@mail.com>2017-03-19 16:13:51 +0200
committerwm4 <wm4@nowhere>2017-03-25 13:40:04 +0100
commit16e8ecb0313f9aa7ef17ec8cb2b19ce9937a6bf6 (patch)
tree0b838203d6e9db5aae31e19ec1db286eb3fe4209
parent6b8dadd7c18f682d51c695dbfa7b3f3ea2794969 (diff)
downloadmpv-16e8ecb0313f9aa7ef17ec8cb2b19ce9937a6bf6.tar.bz2
mpv-16e8ecb0313f9aa7ef17ec8cb2b19ce9937a6bf6.tar.xz
vo_opengl: replace uniform variable image_size with input_size
input_size can be the size of a cropped image Signed-off-by: wm4 <wm4@nowhere>
-rw-r--r--DOCS/interface-changes.rst2
-rw-r--r--DOCS/man/options.rst4
-rw-r--r--video/out/opengl/video.c7
3 files changed, 9 insertions, 4 deletions
diff --git a/DOCS/interface-changes.rst b/DOCS/interface-changes.rst
index 911f6f8717..7bb6237042 100644
--- a/DOCS/interface-changes.rst
+++ b/DOCS/interface-changes.rst
@@ -26,6 +26,8 @@ Interface changes
--vo-image-format options
- the "jpeg" choice in the option above now leads to a ".jpg" file extension
- --af=drc is gone (you can use e.g. lavfi/acompressor instead)
+ - remove image_size predefined uniform from OpenGL user shaders. Use
+ input_size instead
--- mpv 0.24.0 ---
- deprecate --hwdec-api and replace it with --opengl-hwdec-interop.
The new option accepts both --hwdec values, as well as named backends.
diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst
index bdcf708557..96044760a1 100644
--- a/DOCS/man/options.rst
+++ b/DOCS/man/options.rst
@@ -4199,8 +4199,8 @@ The following video options are currently all specific to ``--vo=opengl`` and
int frame
A simple count of frames rendered, increases by one per frame and never
resets (regardless of seeks).
- vec2 image_size
- The size in pixels of the input image.
+ vec2 input_size
+ The size in pixels of the input image (possibly cropped and prescaled).
vec2 target_size
The size in pixels of the visible part of the scaled (and possibly
cropped) image.
diff --git a/video/out/opengl/video.c b/video/out/opengl/video.c
index f6db1514f5..14b1150207 100644
--- a/video/out/opengl/video.c
+++ b/video/out/opengl/video.c
@@ -1224,8 +1224,11 @@ static void load_shader(struct gl_video *p, struct bstr body)
gl_sc_hadd_bstr(p->sc, body);
gl_sc_uniform_f(p->sc, "random", (double)av_lfg_get(&p->lfg) / UINT32_MAX);
gl_sc_uniform_f(p->sc, "frame", p->frames_uploaded);
- gl_sc_uniform_vec2(p->sc, "image_size", (GLfloat[]){p->image_params.w,
- p->image_params.h});
+ gl_sc_uniform_vec2(p->sc, "input_size",
+ (GLfloat[]){(p->src_rect.x1 - p->src_rect.x0) *
+ p->texture_offset.m[0][0],
+ (p->src_rect.y1 - p->src_rect.y0) *
+ p->texture_offset.m[1][1]});
gl_sc_uniform_vec2(p->sc, "target_size",
(GLfloat[]){p->dst_rect.x1 - p->dst_rect.x0,
p->dst_rect.y1 - p->dst_rect.y0});