Re: [FFmpeg-devel] New iteration for the color quantization in palette{gen, use}

2023-01-03 Thread Clément Bœsch
On Wed, Dec 28, 2022 at 12:17:42AM +0100, Clément Bœsch wrote:
[...]

Patchset applied

-- 
Clément B.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-devel] New iteration for the color quantization in palette{gen, use}

2022-12-27 Thread Clément Bœsch
Here is a new version of the palette filters patchset. A lot changed
since last iteration. Here are a few highlights:

- The previous version had a terrible typo in the transfer function,
  this is now fixed
- There is now a warning when the frames are not using sRGB transfer
  function (I'm assuming there is no way to automatically insert a
  convert during filter negotiation yet?)
- All the code is now using integer arithmetic so it should be fully
  deterministic WRT tests. For more info, see
  http://blog.pkh.me/p/38-porting-oklab-colorspace-to-integer-arithmetic.html
- The license of the palette utils is now LGPL to align with FFmpeg; the
  OkLab code from Björn Ottosson as well as mine in integers are
  distributed under public domain and MIT so this should be compatible
- The scoring algorithms in the palette generation (heuristics for
  selecting the box and axis) changed after doing an extensive study for
  which you can find the results here:
  https://github.com/ubitux/research/tree/main/color-quantization#results
- Output is more deterministic/stable due to a change in the color
  sorting
- Overall performance is improved quite significantly from previous
  patchset but overall it's still slower than master (with a rough test
  1.06x slower for palettegen and 1.11x slower for paletteuse, your
  mileage may vary), which is expected given the new model. I think
  that's an acceptable trade-off.
- The patchset includes a lot of cleanups and drop of code, leading to
  an overall net negative: 12 files changed, 856 insertions(+), 878
  deletions(-)

Like before, I generated a bunch of outputs at key points in the
history which you can consult here: http://big.pkh.me/pal/ (will be
removed after patchset is merged)

Also, the branch is accessible on github/ubitux/FFmpeg branch
lavfi-palette for convenience.

And happy xmas (a bit late) for those who celebrate it


___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".