[FFmpeg-devel] [PATCH 0/2] libavcodec/sanm: enhancements
Manuel Lauss
manuel.lauss at gmail.com
Fri Nov 8 10:55:02 EET 2024
This set of 2 patches adds support for SMUSH codec47 subcodec1 interpolation
table support, and fixes handling of the SMUSH XPAL (delta palette) chunk.
Patch 1 aims to reduce the blockyness of quarter-sized keyframes: the codec
stream provides data to construct a 256x256 table where the values of 2
adjacent pixels can be used as an index into this table to get a new pixel
value to place in between the 2 reference pixels. The current subcodec1
implementation just creates a 2x2 block of the source pixel.
Patch 2 fixes the intended fadeout of the scene in the LucasArts Outlaws
RAE.SAN (ending) file. Now the there is a proper fadeout and
fade-day-to-night transition instead of a sudden black screen.
See [1] and [2] for a before and after the patch video.
Tested with mpv on all the SAN videos of LucarArts Outlaws and
Curse of Monkey Island games (both use SMUSH codec47).
[1] http://mlau.at/sanm-before.webm (1,7MB, 40s)
[2] http://mlau.at/sanm-after.webm (3,2MB, 61s)
Manuel Lauss (2):
libavcodec/sanm: add codec47 interpolation table support
libavcodec/sanm: fix XPAL handling
libavcodec/sanm.c | 136 +++++++++++++++++++++++++++++++++-------------
1 file changed, 97 insertions(+), 39 deletions(-)
--
2.47.0
More information about the ffmpeg-devel
mailing list