summaryrefslogtreecommitdiffstats
path: root/video/vaapi.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-09-23 14:13:32 +0200
committerwm4 <wm4@nowhere>2015-09-23 14:20:50 +0200
commit2ed9370bd69806685ae18897831dac6ab90f5ea5 (patch)
tree7407e302ee38c56a0dd324564fa12673b9dbd4be /video/vaapi.h
parente0c005cb75d259a237b80046cecb903228b981ab (diff)
downloadmpv-2ed9370bd69806685ae18897831dac6ab90f5ea5.tar.bz2
mpv-2ed9370bd69806685ae18897831dac6ab90f5ea5.tar.xz
vf_vavpp: allocate output surfaces with the same size as input
This can happen if the hw decoder allocates padded surfaces (e.g. mod16), but the VPP output surface was allocated with the exact size. Apparently VPP requires matching input and output sizes, or it will add artifacts. In this case, it added mirrored pixels to the bottom few pixels. Note that the previous commit should have fixed this. But it didn't work, while this commit does. Fixes #2320.
Diffstat (limited to 'video/vaapi.h')
-rw-r--r--video/vaapi.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/video/vaapi.h b/video/vaapi.h
index 7ed61669f5..c9692f61e1 100644
--- a/video/vaapi.h
+++ b/video/vaapi.h
@@ -69,6 +69,8 @@ VAImageFormat * va_image_format_from_imgfmt(struct mp_vaapi_ctx *ctx, i
bool va_image_map(struct mp_vaapi_ctx *ctx, VAImage *image, struct mp_image *mpi);
bool va_image_unmap(struct mp_vaapi_ctx *ctx, VAImage *image);
+void va_surface_get_uncropped_size(struct mp_image *mpi, int *out_w, int *out_h);
+
void va_pool_set_allocator(struct mp_image_pool *pool, struct mp_vaapi_ctx *ctx,
int rt_format);