- 17 Nov, 2017 3 commits
-
-
Jingning Han authored
Allow the codec to time the average transform block coefficient processing for sw speed check. Change-Id: Ibdaf15ab5b7f1ea8264604cc00ef45e3ae3114c7
-
Linfeng Zhang authored
Change-Id: I6ce7aea19e3bdeef24d3fe66ac6eba7b8d585f9a
-
Tom Finegan authored
daala_fwd_txfm and daala_inv_txfm export no symbols when CONFIG_DAALA_TX is disabled. Don't build them. Change-Id: I0b991248e4151de51c41fc1006ba3065d1b8d36b
-
- 16 Nov, 2017 11 commits
-
-
Ola Hugosson authored
In e72a2091 one lps default probability was accidentally changed from 1 to 128 for non LV_MAP_MULTI mode. This commit reverts that change and make the change only for LV_MAP_MULTI mode. Also rather than changing to 128, the probability is changed to 10. Change-Id: Ia8950379c46c59d40ea388fcd0621bbd78c26ede
-
Sebastien Alaiwan authored
This experiment has been abandonned for AV1. Change-Id: I26d10463bdb592fa1fda022a0da19dd6c37159ca
-
Yaowu Xu authored
Change-Id: Ib82549c4fae8bca285062084ed7c9c43b84e1660
-
Hui Su authored
In read_intrabc_info() and assign_dv(). BUG=aomedia:1037 Change-Id: Ic430147a9a15024d942bde361be0c4a603f812e4
-
Yue Chen authored
The prediction can be done in 2x2 or 4x4 processing unit, within which there is no dependency and the computation can be fully parallelized. Also turn < 8x8 filter_intra on, and disable it in > 32x32 txbs. Change-Id: I4f8a3104019cbb35e88f342d97516f81b19152b0
-
David Barker authored
A while ago, I calculated some bounds on the intermediate values inside the self-guided filter. These bounds turned out to be not quite correct in one particular instance (when we have a large region of max-value pixels). This caused a variable to overflow a uint32_t when decoding 12-bit streams in the reference decoder, and would force 8/10-bit-only hardware to use wider buffers than intended in order to match the reference code. Fortunately, this can be fixed quite easily, with minimal changes to the filter output. See comments within the patch for the exact details. Also re-instate a Wikipedia link which seems to have gone missing but which provided useful context for the derivation of the bounds. Change-Id: I83d4a277a37eff048af9989cccf19202fafb17b5
-
David Barker authored
* Setup and restore the correct number of left/right boundary pixels at vertical tile edges, and save them in the correct buffers. Also fix the restore process in high-bitdepth mode. * When loop filtering across tiles is enabled, we were previously acting inconsistently at horizontal tile borders: The stripe just above the boundary would use CDEF pixels from the tile below for context, while the stripe just below would use deblocked pixels from the stripe above. The intended design appears to have been to use CDEF pixels on both sides (so we logically have a 64-pixel high stripe, it's just split into an 8-pixel and a 56-pixel high stripe in order to keep the coefficient sets aligned to tiles) Implement that behaviour by disabling the context setup process when at a horizontal tile border. * Pull some common calculations out of {setup,restore}_processing_stripe_boundary and into their common caller. This allows us to reduce the number of arguments going into each function and their internal complexity. * Add more design comments around stripe boundary setup, as there are quite a lot of constraints to be aware of Change-Id: Ic1586c149b7f764b9c1a711df3f11fb0f130b38a
-
Monty Montgomery authored
short-circuit av1_get_tx_scale to always return zero when CONFIG_DAALA_TX, and remove it from the actual Daala TX toplevel This has potential overflow consequences for any metrics computation based on pixels; as such, also force use of the high-bitdepth path in each of these case. subset-1: monty-rest-of-stack-baseline-s1@2017-11-13T00:39:03.881Z -> monty-rest-of-stack-noshift-s1@2017-11-13T14:37:42.541Z PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.0030 | -0.0523 | 0.2656 | -0.0239 | -0.0033 | -0.0029 | 0.0067 objective-1-fast --limit=4: monty-rest-of-stack-baseline-o1f4@2017-11-13T00:37:06.999Z -> monty-rest-of-stack-noshift-o1f4@2017-11-13T14:37:16.992Z PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.0264 | 0.2303 | 0.0822 | -0.0109 | -0.0395 | -0.0709 | 0.0538 Change-Id: I57da71861f105dc7a404fa75a75bde573855ef79
-
Zoe Liu authored
Change-Id: Ifd8275b9368139c8f1ab1e60ea09e177edd03bd1
-
Yunqing Wang authored
Modified the lightfield encoding example to accommodate HW implementation requirements. Fixed the encoding scheme, generated a bitstream of a list of references followed by the surrounding large scale tile coded frames. All large scale tile coded frames use the same uncompressed frame header and the same set of frame contexts. This example also wrote out the frame header and frame contexts while encoding a large scale tile frame and setting EXT_TILE_DEBUG to 1. Change-Id: I7cc19099195d0a20335d5c6bfb9f493f1bf3a7b2
-
Yunqing Wang authored
In large scale tile coding(namely, large_scale_tile = 1), forced all frames to generate a bit-exact uncompressed frame header. This patch modified parameters that could change from one frame to another. Change-Id: Ibe72519da0b8a4f5a4ef30a4303ad7d7e4992a65
-
- 15 Nov, 2017 15 commits
-
-
Jingning Han authored
This does not affect the coding performance or hw throughput. It prepares for sw decoder speed up. Change-Id: I5965ba2269e8d843f562b63ccaade7df3429f4f5
-
Cheng Chen authored
Update cdf only when it is allowed. Change-Id: I95ab08ff4220abdd277a7cd110b69c82364dddcb
-
Jim Bankoski authored
Fixes cmake dependency problem with ext_intra_mod, ext_intra, and intraedge. Change-Id: Id4349e6d35cafbb183a755be038653f060ffdb2f
-
Frederic Barbier authored
This experiment has been adopted, we can simplify the code by dropping the associated preprocessor conditionals. Change-Id: I6ac62c2825eabcba8f854cfa25c84638d9a73872
-
Debargha Mukherjee authored
These were previously turned off. Change-Id: I3ba0a18e47b4db1f6347fb592cff78f6bfb2b4fd
-
Urvang Joshi authored
All tests are now passing. Change-Id: Ifc1a0f3ff69f5730722a27eed092395595127e8e
-
Jim Bankoski authored
HighBitdepth should be turned on if TXMG is turned on. Change-Id: If5295d664dce17b7856b8cd675f84d915f25c33d
-
Jim Bankoski authored
COMPOUND_ROUND requires CONVOLVE_ROUND to work. This cl adds that dependency. Change-Id: I83922ca3143d8e7a4bbac279790574fb9ba575e6
-
Sebastien Alaiwan authored
Replace tabs with spaces. Change-Id: Idc72b32450255954fca37af68f873239c186202b
-
Jim Bankoski authored
LV_MAP and MRC_TX can't be turned on together, if LV_MAP is on this cl disables MRC_TX. Change-Id: I3a0e5df292948f309deb19f450dadc6c2a50b95a
-
Rupert Swarbrick authored
This matches the code in read_partition in decodeframe.c and almost gets rid of the last usage of the "partition_prob" tables which can now be deleted. Change-Id: Ibe0e947007d593d8e5f4ab10a38cd920856e566d
-
Sebastien Alaiwan authored
This experiment has been abandonned for AV1. Change-Id: I3501181d096873dec35ea58e4b55530fa76e683f
-
Debargha Mukherjee authored
Remove the previous experiment and now use the same name for a simpler experiment that only enables 4:1 transforms for 4:1 partitions when ext_partition_types is on, and that which was previously enabled with the USE_RECT_TX_EXT macro. Change-Id: Iccc35744bd292abf3c187da6f23b787692d50296
-
Yaowu Xu authored
This commit adds support of a separate qmatrix and iqmatrix for each of the U and V planes. Currently the separate matrices are intialized to the same ones, then the commit does not have any coding impact yet. Change-Id: I5c4045fe1879db262c6ec1567d8d7dfd9a98fbed
-
RogerZhou authored
Change-Id: Icd0a8c4a9cf47cb93e8329ed0bdc0f79787baaaf
-
- 14 Nov, 2017 11 commits
-
-
Debargha Mukherjee authored
Until a valgrind error coming from the sse4 code is fixed. This should resolve the valgrin below. BUG=aomedia:1021 Change-Id: Ic461edb1da017d703a098bf5f9491fa51d0debcc
-
Sebastien Alaiwan authored
Change-Id: Ic4e16f30827e2e2e2dd140aee94d309b049dd063
-
Soo-Chul Han authored
Change-Id: I56a67e75d9f366dff8d92c9185b879365de437a7
-
Zoe Liu authored
The numerator in the mv projection can be negative, e.g. cur_to_bwd or cur_to_alt2, since either bwdref or altref2 can be a forward predictive reference, whereas the denominator always stays positive. The rounding inside mv projection hence should use signed operation. Change-Id: I42a105835754a002dd31fcfa7c845e4c105ec54f
-
Rupert Swarbrick authored
This is still a rather inefficient black+white encoder, since it carefully computes some chroma data, but just doesn't write it. However, at least the bitstream is now monochrome. Change-Id: Ie8a89bf329e7b41441032fb0d9e9011385bc12ff
-
Hui Su authored
To faciliate using intrabc on interframes. Change-Id: Ibfe376190adf24d15198c5fb548e1050e191a3d6
-
Rupert Swarbrick authored
I think the result is a little easier to reason about (you now talk about a property of the block, rather than the behaviour that should be enforced). It also matches the code in read_partition in decodeframe.c Change-Id: I13ba06b1504fa153b8b6b60fa14b373483639718
-
Rupert Swarbrick authored
No change to the code, but these #if !CONFIG_NEW_MULTISYMBOL lines are all in the #else part of an #if CONFIG_NEW_MULTISYMBOL... Change-Id: Ibf11b1f0711113d9ee52927dcaf243d74e3f9d28
-
Rupert Swarbrick authored
The "src_height" computed in save_deblock_boundary_lines didn't match the one in save_tile_row_boundary_lines, which meant that the wrapper function assumed the deblock code was saving some lines and that code thought that save_cdef_boundary_lines would do it. This patch fixes up the logic to match, and also completely gets rid of the lines_to_save variable (after all, bad things would happen if lines_to_save was 1 because we'll still read both boundary lines later) The tile height gets rounded up to a multiple of 8 luma pixels in save_tile_row_boundary_lines to avoid nasty corner cases. This will only have any effect for rows at the bottom of the frame (where av1_get_tile_rect clips to the frame boundary). BUG=aomedia:1020 Change-Id: I55adb53fa8ba9c7f97fb2fd5b328a3f2f5065464
-
Ola Hugosson authored
The br_cdf and lps_cdf with a new 4-state symbol br_cdf. The br symbol indicates whether the level is k, k+1, k+2 or >k+2 In the latter case, a new br symbol is read. Up to 4 br symbols are read which will reach level 14 at most. Levels greater than 14 are golomb coded. The adapted symbol count is reduced further by this commit. E.g. for the I-frame of ducks_take_off at cq=12, the number of adapted symbols is reduced from 4.27M to 3.85M. About 10% reduction. Gains seems about neutral on a limitied subset. Change-Id: I294234dbd63fb0fa26aef297a371cba80bd67383
-
Ola Hugosson authored
This experiment modifies lv_map to make use of multi symbol. Replace the nz_map and coeff_base binary CDF with a new multi-symbol CDF of size 4. The new base_cdf indicates for each coeff if the level is 0, 1, 2 or >2. Two new special contexts are added to be used for the last coefficient (the EOB coeff). For the EOB coefficient we already know that it is non-zero. We use one context for DC EOB and one for AC EOB (this can potentially be refined more). The new symbol is read/written by special bitreader/bitwriter functions. Those functions reduce the probability precision from 15bit to 9bit before the invocation of the arithmetic coding engine. The adapted symbol count is significantly reduced by this experiment. E.g. for the I-frame of ducks_take_off at cq=12, the number of adapted symbols is reduced from 6.7M to 4.3M. Change-Id: Ifc3927d81ad044fb9b0733f1e54d713cb71a1572
-