| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The eptr, end_window, and nend_bits fields of struct od_ec_dec are
initialized to fixed values and are never changed:
* dec->eptr is initialized to buf + storage, which is equal to dec->end.
* dec->end_window and dec->nend_bits are initialized to 0.
Removing these fields simplifies od_ec_dec_tell.
Document that od_ec_dec_refill does not change the return value of
od_ec_dec_tell.
Change-Id: Icc5320a69a831cf51dcbb4a0d35fc6f276fb43aa
|
|
|
|
|
|
|
|
|
|
| |
This experiment has been fully adopted and is now an integral part
of the draft AV1 bitstream definition.
objdump -d libaom.a gives identical output before and after this
patch.
Change-Id: I6f936f4b10de23a9471e0ccadf9cf178fb62be69
|
|
|
|
|
|
|
|
|
| |
This only changes the internal coding engine. We convert CDFs into
iCDFs at the "bool" reader <-> daala_ec boundary.
Decoder output should not change.
Change-Id: I483dfe3e5588d2038c3c7ec4cd5ba62d6699b920
|
|
|
|
|
|
|
|
|
|
|
| |
This removes one subtraction from the CDF search loop (reducing the
dependency chain for reading from the CDF) at the cost of one
increment and decrement during renormalization (easily absorbed by
the reorder buffer).
There should be no change in decoded output.
Change-Id: Ia7905bb8ca7c5d4ab73f23ccc61bcd3432349aa2
|
|
|
|
|
|
|
| |
Encoder output should not change, and all streams should remain
decodable without decoder changes.
Change-Id: Id1f1b0f2f02c3b46f150a93c451bf48abd0782ca
|
|
|
|
| |
Change-Id: I2f4a5c836905b089b91b211368bf3a0dea682b75
|
|
|
|
| |
Change-Id: Ief9581c8060132f20ca81f4c1be15e2772b6c9eb
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PVQ replaces the scalar quantizer and coefficient coding with a new
design originally developed in Daala. It currently depends on the
Daala entropy coder although it could be adapted to work with another
entropy coder if needed:
./configure --enable-experimental --enable-daala_ec --enable-pvq
The version of PVQ in this commit is adapted from the following
revision of Daala:
https://github.com/xiph/daala/commit/fb51c1ade6a31b668a0157d89de8f0a4493162a8
More information about PVQ:
- https://people.xiph.org/~jm/daala/pvq_demo/
- https://jmvalin.ca/papers/spie_pvq.pdf
The following files are copied as-is from Daala with minimal
adaptations, therefore we disable clang-format on those files
to make it easier to synchronize the AV1 and Daala codebases in the future:
av1/common/generic_code.c
av1/common/generic_code.h
av1/common/laplace_tables.c
av1/common/partition.c
av1/common/partition.h
av1/common/pvq.c
av1/common/pvq.h
av1/common/state.c
av1/common/state.h
av1/common/zigzag.h
av1/common/zigzag16.c
av1/common/zigzag32.c
av1/common/zigzag4.c
av1/common/zigzag64.c
av1/common/zigzag8.c
av1/decoder/decint.h
av1/decoder/generic_decoder.c
av1/decoder/laplace_decoder.c
av1/decoder/pvq_decoder.c
av1/decoder/pvq_decoder.h
av1/encoder/daala_compat_enc.c
av1/encoder/encint.h
av1/encoder/generic_encoder.c
av1/encoder/laplace_encoder.c
av1/encoder/pvq_encoder.c
av1/encoder/pvq_encoder.h
Known issues:
- Lossless mode is not supported, '--lossless=1' will give the same result as
'--end-usage=q --cq-level=1'.
- High bit depth is not supported by PVQ.
Change-Id: I1ae0d6517b87f4c1ccea944b2e12dc906979f25e
|
|
|
|
| |
Change-Id: Ie90dd06c387119ccd9c920a328c942477df00bb7
|
|
|
|
|
|
|
|
|
|
| |
Cherry-pick Daala 211c2a41: Clean up EC tell() and tell_frac() functions.
Add a const qualifier to the od_ec_enc and od_ec_dec parameters of
the od_ec_enc_tell(), od_ec_enc_tell_frac(), od_ec_dec_tell(), and
od_ec_dec_tell_frac() functions.
Add an OD_WARN_UNUSED_RESULT to od_ec_enc_tell_frac().
Change-Id: Ia50e2fd75e98d8a03d993449d658b695cf56e6fb
|
|
|
|
|
|
| |
Fix the clang-format warnings on the existing codes.
Change-Id: I8e9e781b6f68f41a7fbd0a2116f6b35290d73dc8
|
|
Change-Id: I2849a50163268d58cc5d80aacfec1fd02299ca43
|