On 06/03/2025 01:15, Michael Niedermayer wrote:
Hi everyone

Current FFv1 code with my patchset supports 16bit floats. The implementation
is quite simple. Which is good

I have tried improving compression, the gains are incremental, but its not
large overall. For example 44% space gain on the remapping table is just
0.1% overall.

I have few float samples. Its mainly one high quality slideshow of unrelated
16bit float images. These excercise a wide range fo things including negative
color values.
I think I have only one single (non slideshow) video of float 16 samples,

It turns out the most efficient way to store floats that i found, is to remap
them to integers. Not to store tham as sign, exponent, mantisse, i tried that
for many hours.

Storing them using a remapping, has a very nice side effect though, and that is
it will be easy to add 32bit and 64bit float support (once there is some
sample data)
Because a image of 64bit floats, after its split into slices of up to 256x256
can always be mapped into 16bit integers within each slice.

*how*? Unlike ints, you cannot simply shift and extract bits from floats and treat them as floats.

What about the mapping itself, it uses a rather simple rle coder. ive spend
most of the day today tuning that and failing to really beat that.
Using context from the previous image didnt work with the slideshow material
i have nor that one video i have. I tried using sign and exponent as context,
tried previous run, relations of runs, low bits and many more, but no or
insignificant improvments of yesterdays implementation was achieved.

I did mention this once before, but you should look into the Daala/Opus way of storing rawbits into a separate chunk at the end of the bitstream. It avoids polluting the range context with equiprobable bits.

Attachment: OpenPGP_0xA2FEA5F03F034464.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
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".

Reply via email to