- 03 Feb, 2017 3 commits
-
-
hui su authored
Change-Id: I378b677cf579441ba0a9014a8a77a1cf3f8b5689
-
Thomas Davies authored
Preparation for merging EOB_TOKEN. The block_zero value corresponds to the first EOB_TOKEN: other EOB_TOKEN values will be merged with non-zero values. Change-Id: I94036783ee240fa916a79c544ecd716a9c24fa59
-
Ryan Lei authored
This commit renames deblocking_across_tiles to loopfilter_across_tiles, to get ready for dering and clpf integration. Change-Id: Id25b051da9b1e5cb92f35a9619662597462d9537
-
- 01 Feb, 2017 1 commit
-
-
David Barker authored
This fixes the following mismatch bugs: * At the bitstream level, the decoder would not read the delta_qindex information for supertx blocks, but the encoder always sent it, leading to the encoder and decoder becoming misaligned. The delta_qindex information is still required for supertx blocks, so change the decoder to read it. * In addition, the quantizer was not properly adjusted for supertx blocks at the decoder. We copy the quantizer setup code from non-supertx blocks. Since this does not change the encoder, it should not have any quality impact. Change-Id: I9a0f79c3aa66f2a5a353821e2a6f3b526636e7b4
-
- 31 Jan, 2017 2 commits
-
-
Alex Converse authored
Change-Id: Ibd4bbceca8218eb94ed0af3c980f8e829a1896de
-
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
-
- 27 Jan, 2017 1 commit
-
-
Debargha Mukherjee authored
Fixes and turns on the test. BUG=aomedia:312 Change-Id: I6c7d1970e743ec2b025a798070761d22624e796a
-
- 26 Jan, 2017 1 commit
-
-
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 1 commit
-
-
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
-
- 23 Jan, 2017 2 commits
-
-
Fangwen Fu authored
Change-Id: Ieb2922c3df4ef4f8514b8a6df6f9a8fc45ef3cf4
-
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
-
- 21 Jan, 2017 1 commit
-
-
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
-
- 20 Jan, 2017 2 commits
-
-
Thomas Davies authored
Change-Id: I4b53dab674390496d8fe7299970c5fb327b5a7be
-
Thomas Davies authored
Change-Id: Id01c785ad48134075c4f6643233413564f0b8fbc
-
- 19 Jan, 2017 4 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
-
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 1 commit
-
-
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
-
- 12 Jan, 2017 1 commit
-
-
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
-
- 11 Jan, 2017 1 commit
-
-
Alex Converse authored
Change-Id: I4a0f0a775362e6e43cd28ed29bf83c912cdc7df5
-
- 10 Jan, 2017 1 commit
-
-
Nathan E. Egge authored
Change the od_decode_cdf_adapt() function to take an aom_reader struct instead of an od_ec_dec struct. Rename od_decode_cdf_adapt() to aom_decode_cdf_adapt(). Change-Id: I0713d2f56acfea3f67f1b4087c0feee77c2e25cb
-
- 09 Jan, 2017 2 commits
-
-
Debargha Mukherjee authored
Slight improvement in midres and hdres sets of 0.02% and 0.0.9% respectively. This is also a better design anyways. Change-Id: I15b60b8836070a2132641e5b1d8e9f68df426c08
-
Debargha Mukherjee authored
Change-Id: I56e741551f74624a84250d7565520db9c5127d1b
-
- 06 Jan, 2017 2 commits
-
-
Jingning Han authored
Replace hard coded 4x4 transform block step size assumption with scalable table access. Change-Id: Ib1cc555c2641e5634acdd91ca33217f00aeb0b89
-
Debargha Mukherjee authored
Enables Wiener based loop restoration only for the UV frames. The selfguided and domaintranform filters do not work very well for UV components, hence they are disabled. For each UV frame a single set of wiener parameters are sent. They are applied tile-wise, but all tiles use the same parameters. BDRATE (Global PSNR) results: ----------------------------- lowres: -1.266% (up from -0.666%, good improvement) midres: -1.815% (up from -1.792%, tiny improvement) Tiling on UV components will be explored subsequently. Change-Id: Ib5be93121c4e88e05edf3c36c46488df3cfcd1e2
-
- 05 Jan, 2017 3 commits
-
-
Nathan E. Egge authored
Change the generic_decode() function to take an aom_reader struct instead of an od_ec_dec struct. Change-Id: Ifa19ab1dbdd9fa1af19e6740839708b27ab4a44b
-
Nathan E. Egge authored
Use the generic AOM entropy decoder in the daala_dec_ctx struct. This is done in preparation for migrating other entropy coder calls to use the more generic entropy coding API. Change-Id: I473a278174195401bcf35730fb5db7eb368b097a
-
Nathan E. Egge authored
Change-Id: Ic0eba16329d7b63dd7d18e9cd28b89be4b5f2710
-
- 04 Jan, 2017 3 commits
-
-
Angie Chiang authored
This CL aims at simplify transform code. Change-Id: Ibaf1dd8607e37d44a0f77788a72e344583f81fa0
-
Angie Chiang authored
Change-Id: I6ce654b582f2a9d45a40bf22ba597b47d418a0be
-
Ryan Lei authored
This commit adds a new experiment to allow disabling of loop filtering on tile boundaries. It is implemented by adding a syntax field "loopfilter_across_tiles_enabled" into the uncompressed frame header. If it is set to 0, decoder and encoder will disables loop filtering for block edges that are also tile boundaries. Change-Id: Ib80bfd82d49c74f1ba46ae18ceedb30704ac8aa5
-
- 03 Jan, 2017 1 commit
-
-
Debargha Mukherjee authored
If --enable-entropy-stats is on, the aggregate counts for each frame are written out to a file named counts.stt. Change-Id: I0c73ab872183a9dbd6d767a8c6f0642c5c117253
-
- 28 Dec, 2016 3 commits
-
-
Jingning Han authored
This commit allows the sub8x8 blocks to compose and filter their chroma components for supertx in cb4x4 mode. The coding gains of supertx and cb4x4 are largely additive: supertx cb4x4 cb4x4 + supertx lowres -1.0% -2.7% -3.64% midres -0.8% -1.3% -2.10% Change-Id: Ie7d09f6fceb36ce375e56773728f05dd628786fe
-
Jingning Han authored
This makes the cb4x4 mode support supertx experiment. It resolves the enc/dec mismatch issue when both experiments are turned on. Change-Id: If3f70fb26862b4ea95d73f7030f86a399051e21e
-
Jingning Han authored
Use table access to replace integer to enum conversion. Change-Id: Idb3e7e2e3267bccf322cffbe4bfaa969e9018296
-