avfilter/palette: add lowbias32 hashing

This commit is contained in:
Clément Bœsch 2022-12-27 17:38:10 +01:00
parent 051926868c
commit 3cafbdc083
2 changed files with 15 additions and 0 deletions

View File

@ -207,3 +207,13 @@ uint32_t ff_oklab_int_to_srgb_u8(struct Lab c)
return r<<16 | g<<8 | b;
}
uint32_t ff_lowbias32(uint32_t x)
{
x ^= x >> 16;
x *= 0x7feb352d;
x ^= x >> 15;
x *= 0x846ca68b;
x ^= x >> 16;
return x;
}

View File

@ -55,4 +55,9 @@ struct Lab ff_srgb_u8_to_oklab_int(uint32_t srgb);
*/
uint32_t ff_oklab_int_to_srgb_u8(struct Lab c);
/*
* lowbias32 hashing from https://nullprogram.com/blog/2018/07/31/
*/
uint32_t ff_lowbias32(uint32_t x);
#endif /* AVFILTER_PALETTE_H */