This ensures TGs can be decoded even if the whole
frame has not been received and the frame length
is not known.
Change-Id: If24837fcc3b5c46554751be792e91100de73e8d6
This is a manual adaptation of the following commit from aom/master:
ce12003d60a1c8d6c65ed07ba165c34062fcbcbd
The original commit message:
A tile group is a set of tiles in scan order.
Each tile group has a version of uncompressed and compressed headers,
identical apart from tile group parameters.
Encoding probability updates takes account of the number of
headers to control overheads.
The decoder supports arbitrary numbers of tile groups with
arbitrary number of tiles. The number of tiles in a TG is
signalled in the uncompressed header for that TG.
The encoder currently only supports a fixed number
of TGs (3, when error resilient mode is on) of equal size
(except possibly for the last one).
The average BDR performnce with 3 tile groups versus
anchor with error resilient mode and up to 16 tiles is:
NR YCbCr: 3.02% 3.04% 3.05%
PSNRHVS: 3.09%
SSIM: 3.06%
MSSSIM: 3.05%
CIEDE2000: 3.04%
Change-Id: I9b97c5ed733103b9160a3a5d4370de5322c00c0b
Previously, when ext-partition-types and either clpf or dering were
enabled, the signalling for clpf/dering would not be encoded or decoded,
as the code to do so was inside a #if !CONFIG_EXT_PARTITION_TYPES block.
This caused many tests (eg, AV1/EndToEndTestLarge.EndToEndPSNRTest/0)
to fail with encode/decode mismatches.
Change-Id: If1742deb1812877813b2c3e93a048430f9a504ba
It seems that when bit accounting was introduced in
https://chromium-review.googlesource.com/#/c/400658/
there was one place which was accidentally skipped, leading to build failures
with --enable-dering. This patch adds the missing information.
Change-Id: I59e1bd6f7e1d4fa58506ee7af307b845c78a7cbe
By default, when building with --enable-accounting the bit accounting
code will collect statistics for every frame while decoding.
Collecting statistics can slow down decode time and we would eventually
like to enable the CONFIG_ACCOUNTING flag by default.
This patch adds a runtime flag so that bit accounting statistics are
only collected when actually needed.
Change-Id: I25d9eaf26ea132d61ace95b952872158c9ac29e7
ISO C90 forbids mixed declarations and code and the function
aom_accounting_set_context() was being called before the MB_MODE_INFO
declaration.
Change-Id: I8619525b1b2fd37753891bd310d9d59c881b8807
Move computing the class0_fp_cdf and fp_cdf tables per coded mv
symbol to computing it only when the probabilities are updated.
Change-Id: Ib4957c8ab21e6189bcc3817a07b7681dfb343223
Move computing the class_cdf table per coded mv class symbol to
computing it only when the probabilities are updated.
Change-Id: I6c4a9075817e8ba2e251f0e82436995f08f2ec5c
Move computing the joint_cdf table per coded mv joint symbol to
computing it only when the probabilities are updated.
Change-Id: If5d195f70e6fad7b60f69606c8386ad5e69657d2
Move computing the inter_mode_cdf tables per coded inter mode symbol to
computing them only when the probabilities are updated.
Change-Id: I7a7b059ee75723cb6f278ed82a20cf34c27915d8
Move computing the uv_mode_cdf tables per coded intra mode symbol to
computing them only when the probabilities are updated.
Change-Id: I627b59d30726c913f5d7ba7753cb0446a12655bb
Move computing the y_mode_cdf tables per coded intra mode symbol to
computing them only when the probabilities are updated.
Change-Id: I8c43d09b8ef5febe2a3ec64bd51d28bd78ea73ed