mirror of
https://github.com/mpv-player/mpv
synced 2024-12-24 07:42:17 +00:00
3b4682183c
To get guaranteed alignment for the chroma planes with typical YV12 playback, we have to double the alignment on the image width, as the chroma planes have half the image width. Clear the image with black instead of green to hide scaling artifacts on the right border of the screen. (It might be possible to create the image layout ourselves by not calling XvShmCreateImage(), and filling in our own image width and exact strides, but that's probably too risky: the Xv client library sends an X protocol request to query the real image dimension and strides. It is unknown to me whether X servers or drivers would generally accept an image with mismatching parameters, even if the image is conceptually valid.) Allocate the image with av_malloc() in the non-SHM case. I suspect the non-SHM case doesn't matter much, though. |
||
---|---|---|
.. | ||
aspect.c | ||
aspect.h | ||
bitmap_packer.c | ||
bitmap_packer.h | ||
cocoa_common.h | ||
cocoa_common.m | ||
d3d_shader_yuv_2ch.h | ||
d3d_shader_yuv.h | ||
d3d_shader_yuv.hlsl | ||
filter_kernels.c | ||
filter_kernels.h | ||
geometry.c | ||
geometry.h | ||
gl_common.c | ||
gl_common.h | ||
gl_header_fixes.h | ||
gl_osd.c | ||
gl_osd.h | ||
osx_common.h | ||
osx_common.m | ||
pnm_loader.c | ||
pnm_loader.h | ||
vo_caca.c | ||
vo_corevideo.h | ||
vo_corevideo.m | ||
vo_direct3d.c | ||
vo_image.c | ||
vo_lavc.c | ||
vo_null.c | ||
vo_opengl_old.c | ||
vo_opengl_shaders.glsl | ||
vo_opengl.c | ||
vo_vdpau.c | ||
vo_x11.c | ||
vo_xv.c | ||
vo.c | ||
vo.h | ||
w32_common.c | ||
w32_common.h | ||
x11_common.c | ||
x11_common.h |