Alex Converse
8c687d2feb
ans: Cleanup rans writing routines
...
* Replace struct rans_sym parameter with values. It only had two entries.
* Document functions.
* Use longer variable names.
TODO: Refactor the unit tests.
Change-Id: Idad65117dab565786697015ef07070e1c308d963
2017-02-13 21:01:51 +00:00
Alex Converse
3920406821
ans: Use a subnormal initial state
...
This saves the cost of encoding one symbol per partition. Currently in
practice this is usually the last DCT token sign so it saves one bit.
Most of the time these gains aren't realized but occasionally it makes
the final state one byte smaller or saves one renormalization.
Change-Id: Ibe5dc5d3471f51f932164b32e3bf28fb7b914805
2017-02-13 21:01:51 +00:00
Alex Converse
c54692b5ac
ans: Switch from uABS to rABS
...
This is in preparation for expanding the state range.
No discernible compression impact
ans_multioff@2017-01-25T20:58:18.756Z -> ans_multioff_rabs@2017-01-26T01:05:12.801Z
PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000
-0.0001 | -0.0001 | -0.0001 | -0.0001 | -0.0001 | -0.0001 | -0.0001
https://arewecompressedyet.com/?job=ans_multioff%402017-01-25T20%3A58%3A18.756Z&job=ans_multioff_rabs%402017-01-26T01%3A05%3A12.801Z
Change-Id: Ie1817991190f1de6d9c31e0c97f77efbd5869d35
2017-02-04 02:40:26 +00:00
Alex Converse
eb780e7167
Add a control to set the ANS window size
...
Change-Id: I3d64ec4bbc72143b30a094ece7a6c711d6b479cd
2017-01-19 17:22:44 +00:00
Alex Converse
2cdf0d85a2
Specify ANS window size at initialization
...
Change-Id: Ia1757d580dd230d9e743b1f8c3e87df164008684
2016-12-17 03:56:10 +00:00
Alex Converse
b0be6411db
ans: Use a fixed N-symbol window
...
Accept a small compression loss is in exchange for a fixed sized encoder
side buffering requirement.
subset1:
rans_base@2016-12-02T22:55:56.809Z -> rans_nsym@2016-12-02T22:58:19.859Z
PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000
0.0304 | 0.0303 | 0.0305 | 0.0317 | 0.0312 | 0.0309 | 0.0301
Change-Id: I09dd143e4f1638b97dc9bba7023efa837a7d48c7
2016-12-12 21:28:43 +00:00
Alex Converse
1ecdf2bf33
ans: Move buf_ans_flush to the .c file
...
It is called relatively rarely and doesn't need to be inlined.
Change-Id: I4ee7f95548f008f2ee29da807aaca54b9a25aecd
2016-12-03 02:35:06 +00:00
Alex Converse
7fe2ae8e88
Port ANS from aom/master 25aaf40
...
Reconciles the following commits from aom/master to nextgenv2:
- 25aaf40bbc
- 87073de569
Change-Id: Ideda50a6ec75485cb4fa7437c69f4e58d6a2ca73
2016-09-28 12:07:00 -07:00
Alex Converse
1ac1ae73dc
Move ANS to aom_dsp.
...
That's where it lives in aom/master.
Change-Id: I38f405827d9c2d0b06ef5f3bfd7cadc35d5991ef
2016-09-19 09:51:27 -07:00