[FFmpeg-trac] #979(swscale:open): Abnormal colorspace conversion of BGR -> YUV comparing the RGB variant
FFmpeg
trac at avcodec.org
Thu Dec 19 13:37:27 EET 2024
#979: Abnormal colorspace conversion of BGR -> YUV comparing the RGB variant
------------------------------------+-----------------------------------
Reporter: natt | Owner: (none)
Type: defect | Status: open
Priority: normal | Component: swscale
Version: git-master | Resolution:
Keywords: scale | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
------------------------------------+-----------------------------------
Comment (by Niklas Haas):
Just for an explanation of what's going on; when converting directly from
bgr24 to yuv420p, swscale is using the unscaled special converter which
rounds incorrectly (bias -0.5) and also does not dither. This is
unfortunately also enshrined in multiple asm routines, so fixing it is not
as simple as adding the appropriate dithering.
The reason accurate_rnd fixes it is because the unscaled converter in
question is guarded behind this flag.
I am putting this particular routine on the shortlist of special case
paths to be removed in the upcoming cleanup series, and would rather
reintroduce a proper rounding reimplementation (if anything).
--
Ticket URL: <https://trac.ffmpeg.org/ticket/979#comment:25>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list