- 31 Jan, 2017 3 commits
-
-
Sarah Parker authored
Change-Id: I2a490e144099d7692296992528192c1f11d2c06f
-
Thomas Davies authored
Preparation for merging EOB into multi-symbol encoding. The more_data flag for the first position is moved out of the loop, and for remaining positions is moved in with the previous coefficient. This way it can always be associated with the previous non-zero coefficient. Change-Id: Idfb38058f4c415127b4d9a9beeb8ea2d3a2ec1a2
-
Thomas Davies authored
Zero, one, and two or more coded as one symbol (head). Remaining tokens coded as a tail symbol. The pareto CDF distribution is adjusted to cover tokens from two onwards. Change-Id: I98b33fab6b9f52690f6ad618ac55e725a97be056
-
- 30 Jan, 2017 2 commits
-
-
Urvang Joshi authored
- Added comments for some tables and #defines for clarity. - Renamed some variables to ensure we use "color_index" instead of "color" for palette color index related variables. Change-Id: Ica95a26e0f171a41a3259c8e6b3b891b8cd10151
-
Urvang Joshi authored
This reduces the complexity in a number of ways: - We need just 3 neighbors instead of 4. - Possible contexts reduce from 16 to 5. - On hardware side, getting the contexts for a whole block will be more parallelizable. At the same time, compression performance improves very slightly: - Screen-content set (videos) (Google): BDRate improved by 0.32 - screenshots set (images) (AWCY): PSNR improved by 0.62: https://arewecompressedyet.com/?job=palette_withTR2%402017-01-27T21%3A30%3A28.890Z&job=palette_noTR2%402017-01-27T21%3A41%3A34.312Z Change-Id: Ie84ca32f05d55ad481a51c2d3abc579468597189
-
- 27 Jan, 2017 3 commits
-
-
Jonathan Matthews authored
Introduced in I745ca032f313c5041aacc98c03ae4bfc33d840de. Stride should be plane_block_width and width should be cols, sanity check: cols <= plane_block_width. Change-Id: Ic5128e94a909e498010c92fef2013da8df6d6d85
-
Debargha Mukherjee authored
Fixes and turns on the test. BUG=aomedia:312 Change-Id: I6c7d1970e743ec2b025a798070761d22624e796a
-
Debargha Mukherjee authored
BUG=aomedia:314 Change-Id: I66af7f69ca0b97b9d840918a6b9ec34708a7f4e5
-
- 26 Jan, 2017 2 commits
-
-
Urvang Joshi authored
If part of a block falls outside right and/or bottom image boundary, then only store tokens for the part of it within the boundary. Also, consider only the part of the block within the boundary when calculating the number of colors in the image, deciding the base colors for palette, RD calculation etc. The part of color map corresponding to pixels outside the image boundary is padded with color indices copied from same row/column. This behavior is similar to how pixels outside the boundary are padded. For screen_content set, this is improves compression performance by 0.038 overall. One clip, in particular, has a significant gain of 0.8. Change-Id: I745ca032f313c5041aacc98c03ae4bfc33d840de
-
ltrudeau authored
Creates the PVQ_SKIP_TYPE enum to encapsulate the different types of skipping that can be signaled by PVQ (i.e. skip: AC, DC or both). There is no impact on the bitstream. However, the decoder will now emit an internal error if the decoded skip flag is out of range. The block_skip variable is also renamed to ac_dc_coded as it stores the same information. Change-Id: Ib2aadaf99dc1736ea392ae5ed8948c3cdc12da9b
-
- 25 Jan, 2017 1 commit
-
-
hui su authored
Minor performance changes 0.03% better on lowres 0.01% better on midres Change-Id: I7a7168f3a2a4d17a03353841a416eff6edf1e241
-
- 24 Jan, 2017 2 commits
-
-
David Barker authored
Now that https://aomedia-review.googlesource.com/#/c/6729/ has been merged, build_intra_predictors_for_interintra() is now redundant, so replace it by a direct call to av1_predict_intra_block() and remove the old function. Reset rect_interintra back to 1. To do this, we need to make the intra predictor take a BLOCK_SIZE instead of a TX_SIZE. This is because we need to be able to predict 32x64 and 64x32 blocks, but there is no TX_32X64 or TX_64X32. No effect on output or performance. Change-Id: I8c185a211c97a85012cc54ec293c785a693608ed
-
Jingning Han authored
Resolve the broken coding pipeline in ext-inter experiment when cb4x4 mode is enabled. Turn off rectangular inter-intra mode. This needs some more work to hook up. Given that it gives fairly limited coding performance gains, disable it for the moment. BUG=aomedia:309 Change-Id: I9b406df6183f75697bfd4eed5125a6e9436d84b0
-
- 23 Jan, 2017 4 commits
-
-
Fangwen Fu authored
Change-Id: Ieb2922c3df4ef4f8514b8a6df6f9a8fc45ef3cf4
-
Emil Keyder authored
This follows the naming for the other frame types, and allows libaom to be compiled against other libraries that also #define NONE. Change-Id: Ic2e2814587bbc5ea67385a9af775396d29b7dde0
-
Yushin Cho authored
This commit adds a new experiment, Daala's distortion function, which is designed to better approximate perceptual distortion in 8x8 pixel blocks. This experiment is expected to work best with PVQ. It measures the variance of overlapped 4x4 regions in the 8x8 area, then uses these variances to scale the MSE of weighted frequency domain distortion of 8x8 block. Since AV1 calculates distortion in blocks as small as 4x4, it is not possible to directly replace the existing distortion functions of AV1, such as dist_block() and block_rd_txf(). Hence, there has been substantial changes in order to apply Daala's 8x8 distortion function. The daala distortion function is applied after all 4x4 tx blocks in a 8x8 block are encoded (during RDO), as in below two cases: 1) intra/inter sub8x8 predictions and 2) 4x4 transform with prediction size >= 8. To enable this experiment, add '--enable-daala-dist' with configure. TODO: Significant tuning of parameters is required since the function has originally came from Daala thus most parameters would not work correctly outside Daala. The fact that chroma distortion is added to the distortion of AV1's RDO is also critical since Daala's distortion function is applied to luma only and chroma continues to use MSE. Change-Id: If35fdd3aec7efe401f351ba1c99891ad57a3d957
-
Jingning Han authored
This commit resolves an enc/dec mismatch issue when both filter-intra and cb4x4 modes are enabled. BUG=aomedia:253 Change-Id: I4026d93c00a819f2ce69aedba9d34a774319acbf
-
- 21 Jan, 2017 2 commits
-
-
Jingning Han authored
This commit enables the adaptive scan order system support rectangular trnasform block sizes. It resolves the coding failure when rect-tx or var-tx are enabled. BUG=aomedia:143 Change-Id: Ic565284e811e3f7e0ebf2e08fb3748257ce8a049
-
Jingning Han authored
This commit makes ext-tx and rect-tx experiments supported in the cb4x4 mode. It resolves an enc/dec mismatch issue when all the transform experiments are enabled. The coding gains are ext-tx + rect-tx cb4x4 vartx total lowres 4.0% 2.3% 0.5% 6.9% The encoding speed is about the same when cb4x4 and vartx are further enabled. BUG=aomedia:139 Change-Id: I3fdabc6d5de23ceb78ac0751a9bf7332ebc0a3ac
-
- 20 Jan, 2017 7 commits
-
-
Thomas Davies authored
Change-Id: I7bbd3c62341ede45628641766b8683b77f3a7efb
-
Thomas Davies authored
Change-Id: I522dfe77cbe0ea4833d11e25386586d7312c463f
-
Thomas Davies authored
Change-Id: Idd7926f0539a0bd039828e5882392fbfb024e531
-
Thomas Davies authored
Change-Id: I4b53dab674390496d8fe7299970c5fb327b5a7be
-
Thomas Davies authored
Change-Id: I61433d0c0bbab9b7cf74a405cbedd60965318888
-
Thomas Davies authored
Change-Id: Id01c785ad48134075c4f6643233413564f0b8fbc
-
Thomas Davies authored
Change-Id: I71c9bedfae2304c201fe6621a20c03f4e26a85cf
-
- 19 Jan, 2017 5 commits
-
-
Alex Converse authored
Change-Id: I3d64ec4bbc72143b30a094ece7a6c711d6b479cd
-
David Barker authored
* Change Wiener filter storage to match the format expected by the convolve functions Change-Id: I4d1fb08a13cfc31e69e12c1cb4b2e510c6d8ae30
-
Thomas Davies authored
This will support adapting in each tile. (https://bugs.chromium.org/p/aomedia/issues/detail?id=71) Change-Id: I3eced47715749a48f78c4ccf151c4d0b58f36c0d
-
Jingning Han authored
Fix the bit-stream decoding failure introduced lately in cb4x4 and var-tx mode. Change-Id: Id671b5ec98b32d65e4fb45812ee8d1b7037fd6ec
-
Yue Chen authored
When segment feature is on, frame level cm->tx_mode can be set to ONLY_4X4 only if all segments are lossless. Otherwise will cause bugs when xd->lossless[i] is 0 and xd->lossless[0] is 1. Also fix the condition of coding tx_type, which should be on when the qindex of current segment is > 0. BUG=aomedia:106 BUG=aomedia:104 Change-Id: Ic076083bb78b3b99a6f7d17ec82ee402c64bcc52
-
- 18 Jan, 2017 3 commits
-
-
Yue Chen authored
At the final round of encoding of each superblock, will go through each prediction block to check if ncobmc mode is better than non- overlapped prediction. Note that causal obmc mode is dumped here. PSNR gain (MOTION_VAR + NCOBMC): -2.845% lowres Change-Id: Ibe504f7f1882446a08ba426e1e9824bca73bf655
-
Urvang Joshi authored
These are under EXT_TX + RECT_TX experiment combo. Results ======= Derf Set: -------- All Intra frames: 1.8% avg improvement (and 1.78% BD-rate improvement) Video: 0.230% avg improvement (and 0.262% BD-rate improvement) Objective-1-fast set -------------------- Video: 0.52 PSNR improvement Change-Id: I1893465929858e38419f327752dc61c19b96b997
-
Alex Converse authored
At the edges of the picture only a subset of partitions are legal. Add new contexts for these borders so they don't distort the probabilities of the interior of the image where all partitions are legal. Only include one context for each block size of each border direction because so few blocks fall into these contexts to begin with. objective-1-fast: PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.0294 | -0.0911 | -0.2382 | -0.0481 | -0.0441 | -0.0450 | -0.0454 derf144: -0.135 lowres: -0.124 midres: -0.076 hdres: -0.078 Change-Id: I909b98eebb7e49273cde90154c8408febe334158
-
- 13 Jan, 2017 3 commits
-
-
Jingning Han authored
Change-Id: If38fa7e7816a556602c937f0526f5842cc216bf3
-
Yue Chen authored
In order to use mvs from a future block in obmc, we first send mbmi info for the entire superblock, and then call another recursion to handle the coeffs and recon. Note: this change is currently not compatible with SUPERTX, later I will move detoken and recon for supertx to a proper place Change-Id: I19ab77fa137f53a370e68ea777f70d0306e3e303
-
Thomas Davies authored
Also fix warning. Change-Id: Ia515360af9c3269901eb0d002d326b7af43a00e7
-
- 12 Jan, 2017 3 commits
-
-
Yue Chen authored
In order to reduce the code complexity for handling parameter coding and recon separately for each 64x64 in non-causal obmc experiment, we break them down to two steps calling separate functions, one for params, the other dealing with coefficients and recon(decoder side). Note: actually the non-causal prediction can use the original syntax, but right now in the decoder coeff detoken and recon are heavily nested. Change-Id: I72d9c42ab8f38b57850d6b0481551893f1702822
-
Nathan E. Egge authored
Replace all instances of Daala's OD_ACCOUNTING with those specified by CONFIG_ACCOUNTING. Change-Id: Ibb59fc5df0ce4b0528b15296bf2f14029c414bc0
-
Nathan E. Egge authored
The generic coder now uses the AOM entropy coder API and no longer needs to include the entenc.h and entdec.h headers. Change-Id: I213acb5b6bd8a3fe60dc096b83d76ae72315e9de
-