1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-03 05:22:23 +00:00
mpv/video/out
wm4 aa6ba6372c mp_image: change how palette is handled
According to DOCS/OUTDATED-tech/colorspaces.txt, the following formats
are supposed to be palettized:

    IMGFMT_BGR8
    IMGFMT_RGB8,
    IMGFMT_BGR4_CHAR
    IMGFMT_RGB4_CHAR
    IMGFMT_BGR4
    IMGFMT_RGB4

Of these, only BGR8 and RGB8 are actually treated as palettized in some
way. ffmpeg has only one palettized format (AV_PIX_FMT_PAL8), and
IMGFMT_BGR8 was inconsistently mapped to packed non-palettized RGB
formats too (AV_PIX_FMT_BGR8). Moreover, vf_scale.c contained messy
hacks to generate a palette when AV_PIX_FMT_BGR8 is output. (libswscale
does not support AV_PIX_FMT_PAL8 output in the first place.)

Get rid of all of this, and introduce IMGFMT_PAL8, which directly maps
to AV_PIX_FMT_PAL8. Remove the palette creation code from vf_scale.c.
IMGFMT_BGR8 maps to AV_PIX_FMT_RGB8 (don't ask me why it's swapped),
without any palette use. Enabling it in vo_x11 or using it as vf_scale
input seems to give correct results.
2013-01-13 20:04:11 +01:00
..
aspect.c
aspect.h
bitmap_packer.c
bitmap_packer.h
cocoa_common.h
cocoa_common.m cocoa_common: add support for --no-border 2012-12-31 14:20:49 +01:00
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 vo_opengl_old: reject 9-15 bit formats if textures have less than 16 bit 2012-12-28 14:23:29 +01:00
gl_common.h vo_opengl_old: reject 9-15 bit formats if textures have less than 16 bit 2012-12-28 14:23:29 +01:00
gl_header_fixes.h clang: fix all warnings except deprecations 2012-11-13 22:19:18 +01:00
gl_osd.c
gl_osd.h
osx_common.h
osx_common.m osx_common: Avoid deprecated Gestalt calls 2012-12-02 10:42:46 +01:00
pnm_loader.c
pnm_loader.h
vo_caca.c vo_caca: accept any stride for output image 2013-01-13 17:39:32 +01:00
vo_corevideo.h
vo_corevideo.m vo_corevideo: use stride 2013-01-13 17:39:32 +01:00
vo_direct3d.c mp_image: require using mp_image_set_size() for setting w/h 2013-01-13 17:39:32 +01:00
vo_image.c video/out: replace VFCAP_TIMER with vo->untimed, fix vo_image and vo_lavc 2013-01-13 20:04:10 +01:00
vo_lavc.c mp_image: change how palette is handled 2013-01-13 20:04:11 +01:00
vo_null.c video: remove slice based filtering and video output 2013-01-13 17:39:31 +01:00
vo_opengl_old.c video: remove things related to old DR code 2013-01-13 20:04:10 +01:00
vo_opengl_shaders.glsl vo_opengl: use more precise gamma for BT.709 with color management 2012-12-28 13:43:24 +01:00
vo_opengl.c video: remove things related to old DR code 2013-01-13 20:04:10 +01:00
vo_sdl.c video: remove things related to old DR code 2013-01-13 20:04:10 +01:00
vo_vdpau.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vo_x11.c mp_image: change how palette is handled 2013-01-13 20:04:11 +01:00
vo_xv.c video: remove things related to old DR code 2013-01-13 20:04:10 +01:00
vo.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vo.h video/out: replace VFCAP_TIMER with vo->untimed, fix vo_image and vo_lavc 2013-01-13 20:04:10 +01:00
w32_common.c core: make WAKEUP_PERIOD overridable by the vo 2012-12-19 12:58:52 +01:00
w32_common.h win32: remove pointless get/release DC wrappers 2012-11-12 20:10:42 +01:00
x11_common.c options: remove --display 2012-11-16 21:21:15 +01:00
x11_common.h options: remove --display 2012-11-16 21:21:15 +01:00