1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-03 05:22:23 +00:00
mpv/video/filter
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
..
pullup.c
pullup.h
vf_crop.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_delogo.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_divtc.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_dlopen.c mp_image: change how palette is handled 2013-01-13 20:04:11 +01:00
vf_dlopen.h
vf_down3dright.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_dsize.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_eq.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_expand.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_flip.c video: remove things related to old DR code 2013-01-13 20:04:10 +01:00
vf_format.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_gradfun.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_hqdn3d.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_ilpack.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_mirror.c mp_image: change how palette is handled 2013-01-13 20:04:11 +01:00
vf_noformat.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_noise.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_phase.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_pp.c video: remove things related to old DR code 2013-01-13 20:04:10 +01:00
vf_pullup.c video: remove things related to old DR code 2013-01-13 20:04:10 +01:00
vf_rotate.c mp_image: change how palette is handled 2013-01-13 20:04:11 +01:00
vf_scale.c mp_image: change how palette is handled 2013-01-13 20:04:11 +01:00
vf_screenshot.c vf_screenshot: simplify 2013-01-13 20:04:10 +01:00
vf_softpulldown.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_stereo3d.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_sub.c mp_image: change how palette is handled 2013-01-13 20:04:11 +01:00
vf_swapuv.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_unsharp.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf_vo.c video: remove things related to old DR code 2013-01-13 20:04:10 +01:00
vf_yadif.c video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
vf.c mp_image: change how palette is handled 2013-01-13 20:04:11 +01:00
vf.h vf_screenshot: simplify 2013-01-13 20:04:10 +01:00