summaryrefslogtreecommitdiffstats
path: root/video/out/opengl/video.c
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 /video/out/opengl/video.c
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>
Diffstat (limited to 'video/out/opengl/video.c')
-rw-r--r--video/out/opengl/video.c7
1 files changed, 5 insertions, 2 deletions
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});