[FFmpeg-devel] [PATCH] avcodec/dvdsubdec: fix incorrect yellow appearance of dvd subtitles
Scott Theisen
scott.the.elm at gmail.com
Fri Feb 4 00:16:52 EET 2022
On 2/3/22 17:10, Soft Works wrote:
>
>> -----Original Message-----
>> From: ffmpegagent <ffmpegagent at gmail.com>
>> Sent: Tuesday, January 4, 2022 3:19 AM
>> To: ffmpeg-devel at ffmpeg.org
>> Cc: softworkz <softworkz at hotmail.com>; softworkz
>> <softworkz at hotmail.com>
>> Subject: [PATCH] avcodec/dvdsubdec: fix incorrect yellow appearance of
>> dvd subtitles
>>
>> From: softworkz <softworkz at hotmail.com>
>>
>> The guess_palette() implementation is questionable in itself
>> as its results don't match those from other DVD subtitle decoders.
>>
>> This commit starts cleanup by fixing an obvious bug which has made
>> certain DVD subs appear yellow instead of white or grey for more than
>> 10 years..
>>
>> Signed-off-by: softworkz <softworkz at hotmail.com>
>> ---
>> avcodec/dvdsubdec: fix incorrect yellow appearance of dvd
>> subtitles
>>
>> Fixes an age-old bug in decoding DVD subtitles.
>>
>> Ever wondered why certain DVD subtitles are shown in yellow color
>> when
>> ffmpeg is involved...
>>
>> Published-As: https://github.com/ffstaging/FFmpeg/releases/tag/pr-
>> ffstaging-16%2Fsoftworkz%2Fpatch_dvdsubdec_fix-v1
>> Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg pr-
>> ffstaging-16/softworkz/patch_dvdsubdec_fix-v1
>> Pull-Request: https://github.com/ffstaging/FFmpeg/pull/16
>>
>> libavcodec/dvdsubdec.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c
>> index 52259f0730..a3fdb535a5 100644
>> --- a/libavcodec/dvdsubdec.c
>> +++ b/libavcodec/dvdsubdec.c
>> @@ -400,7 +400,7 @@ static int decode_dvd_subtitles(DVDSubContext
>> *ctx, AVSubtitle *sub_header,
>> } else {
>> sub_header->rects[0]->nb_colors = 4;
>> guess_palette(ctx, (uint32_t*)sub_header-
>>> rects[0]->data[1],
>> - 0xffff00);
>> + 0xffffff);
>> }
>> sub_header->rects[0]->x = x1;
>> sub_header->rects[0]->y = y1;
>>
>> base-commit: 573b6b8a607398c5f34108efda9c29d41c5727ff
>> --
>> ffmpeg-codebot
> Ping. (no maintainer seems to be registered for this)
MythTV has used this fix since 2010-06-04. See
https://github.com/ulmus-scott/FFmpeg/commit/e2b1a6ee63c0cccc1ac9c82d24e2e6cfffeb2bfc
libavcodec/dvdsubdec.c: default to white instead of yellow
from Improved display of DVD subtitles in containers other than the
original.
https://github.com/MythTV/mythtv/commit/2510a0821ea4453eb9b34dd96e68ff0441459d0b
references: https://code.mythtv.org/trac/ticket/8222
For whatever strange reason, ffmpeg has always used yellow:
https://github.com/FFmpeg/FFmpeg/commit/240c1657dcd45adc0e63ef947b920919071ec1f7
More information about the ffmpeg-devel
mailing list