Граф коммитов

9 Коммитов

Автор SHA1 Сообщение Дата
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