- 22 Feb, 2017 1 commit
-
-
Sarah Parker authored
Here we create a default set for the ext-tx experiment which includes: Intra: {DCT, ADST} X {DCT, ADST} + IDTX (identity in both directions) Inter: DCT_DCT + IDTX This set is used if indicated in the uncompressed header. Change-Id: Ic907ada12b4e0c98cabb7c9650ab99942d0c0859
-
- 18 Feb, 2017 2 commits
-
-
Jingning Han authored
Use the top-left 4x4 luma block's coding information for chroma component encoding at size 4x4. Change-Id: I4bcfbc2bf8b71f7fc30094553503468460a56f9b
-
Jean-Marc Valin authored
The result is identical to enabling both deringing and CLPF Change-Id: I71db5ba9e21fcaf11ad87e94841eaf80be58c0a8
-
- 13 Feb, 2017 1 commit
-
-
Tom Finegan authored
Change-Id: I1bf9002c159563d0e5238b26d1515ef305d416dc
-
- 04 Feb, 2017 1 commit
-
-
Fangwen Fu authored
Change-Id: I1050b69045407381d4626b65a0bf6f35957a66f4
-
- 03 Feb, 2017 1 commit
-
-
Ryan Lei authored
This commit renames deblocking_across_tiles to loopfilter_across_tiles, to get ready for dering and clpf integration. Change-Id: Id25b051da9b1e5cb92f35a9619662597462d9537
-
- 23 Jan, 2017 1 commit
-
-
Fangwen Fu authored
Change-Id: Ieb2922c3df4ef4f8514b8a6df6f9a8fc45ef3cf4
-
- 20 Jan, 2017 2 commits
-
-
Thomas Davies authored
Change-Id: Id01c785ad48134075c4f6643233413564f0b8fbc
-
Jingning Han authored
This commit fixes an enc/dec mismatch issue in ext-partition-type in the cb4x4 mode. BUG=aomedia:137 Change-Id: I19f538a967a6059a40b1668eed076bc315b46149
-
- 19 Jan, 2017 1 commit
-
-
Alex Converse authored
Change-Id: I3d64ec4bbc72143b30a094ece7a6c711d6b479cd
-
- 18 Jan, 2017 1 commit
-
-
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
-
- 12 Jan, 2017 1 commit
-
-
Jingning Han authored
Make the transform block partition context model support the rectangular transform block size partition. The coding gains from cb4x4 and var-tx are: cb4x4 + var-tx lowres 4.3% midres 2.6% Change-Id: I6cc1413fbf6d7707ca7fd24300623a3f0118be7c
-
- 06 Jan, 2017 2 commits
-
-
Jingning Han authored
This commit reworks the transform block partition context update to support cb4x4 mode in the recursive transform block partition. It resolves the remaining enc/dec mismatch issue when both cb4x4 and var-tx are turned on. Change-Id: I850d121204fe4c68e81488f1d2848c570d9d08b9
-
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 1 commit
-
-
Nathan E. Egge authored
Change-Id: Ic0eba16329d7b63dd7d18e9cd28b89be4b5f2710
-
- 04 Jan, 2017 1 commit
-
-
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
-
- 09 Dec, 2016 1 commit
-
-
Jingning Han authored
Change the table content to support 4x4 mode_info unit. Refactor partition_plane_context() to reflect the fact that the minimum partition block size is 8x8. Change-Id: Id26fcfba8d74efdb9ae316c9d066cd65358dd7e6
-
- 07 Dec, 2016 4 commits
-
-
Jingning Han authored
Make the block size and mode_info size scalable to mode_info unit size. Change-Id: I38c49bad118e0565a104cb6edfc3e3266519f9ee
-
Jingning Han authored
Change-Id: Ib7807125e533c32dad04b02bc54838dd1e90e8af
-
Jingning Han authored
Separate the use cases of number of 8x8 blocks from those of mode_info array. This allows the mode_info array processing to be scaled to 4x4 resolution. Change-Id: Iab78f2540355ce7658d9ea21e902a86f71148d8f
-
Jingning Han authored
Scale up the mb_mode_info resolution from 8x8 to 4x4 unit. Change-Id: I60ee20f5fc353a3c16ced14b55422fc5e4ea1e06
-
- 18 Nov, 2016 2 commits
-
-
Debargha Mukherjee authored
Introduced in I2c0bc4ba540886dd196e87a78b205407ad3e866b Change-Id: I9ff49e7d37c5a1fea8dc8b5659a53697f76320df
-
Debargha Mukherjee authored
Adds 64x64 default scan orders Adds 64x64 coefficient entropy models (just copy the 32x32 ones) Entropy context updates for 64x64 transform Various misc. changes to support 64x64 transforms Change-Id: I2c0bc4ba540886dd196e87a78b205407ad3e866b
-
- 11 Nov, 2016 1 commit
-
-
David Barker authored
After https://aomedia-review.googlesource.com/#/c/5589/ , the Global_Motion_Params and GLOBAL_MOTION_TYPE types are redundant, and can be removed in favour of WarpedMotionParams and TransformationType respectively. Change-Id: I33f3796e5c469e595fd012ccdb65a672dd1bb86c
-
- 10 Nov, 2016 1 commit
-
-
Jingning Han authored
Reset the transform block size context to the actual block size if the skip flag is turned on. Change-Id: I821afac2dcd4c3a17389e9954b7b2575f87d07d7
-
- 09 Nov, 2016 1 commit
-
-
Arild Fuldseth (arilfuld) authored
Change-Id: Iaaf9244678cde74cf3e216f3b8c9d293f206f27e
-
- 08 Nov, 2016 1 commit
-
-
Jingning Han authored
Replace max_tx_size with min_tx_size for transform type decision. Change-Id: I64e39923a67903d52b381bd93eaac33b3400a201
-
- 07 Nov, 2016 1 commit
-
-
Yushin Cho authored
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
-
- 04 Nov, 2016 1 commit
-
-
Yushin Cho authored
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
-
- 01 Nov, 2016 2 commits
-
-
Jingning Han authored
Count the transform block partition context in the unit of pixels. Change-Id: Ibb66f053526ed347ad0274b78db7ac35cc086b0e
-
Jingning Han authored
This commit allows the partition context model to account for the maximum transform block size of the coding block. Change-Id: I22b91e85fff70faa974afd362ce327d3f2eda81d
-
- 31 Oct, 2016 2 commits
-
-
Jingning Han authored
Change-Id: I7d2414a8766141d5109b599271179bc505c772d3
-
Jingning Han authored
Factor common codes that show up in multiple places. Change-Id: I0a72213a151f74bdad926d59f86f0a28d00968fc
-
- 29 Oct, 2016 1 commit
-
-
Thomas authored
This experiment performs symbol-by-symbol statistics adaptation for non-binary symbols. It requires DAALA_EC or RANS and ANS to be enabled. The adaptation is currently based on a simple recursive filter and is taken from Daala. It has an adaptation rate dependent on alphabet size, taken from Daala. It applies wherever non-binary symbols are encoded using Cumulative Probability Functions rather than trees. Where symbols are adapted, forward updates in the compressed header are removed. In the case of RANS coefficient token values are adapted, with the exception of the zero token which remains a binary symbol. In the case of DAALA_EC other values such as inter and intra modes are adapted as CDFs are provided in those cases. The experiment is configured with: ./configure --enable-experimental --enable-daala-ec --enable-ec-adapt or ./configure --enable-experimental --enable-ans --enable-rans \ --enable-ec-adapt EC_ADAPT is not currently compatible with tiles. BDR results on Objective-1-fast give a small loss: PSNR YCbCr: 0.51% 0.49% 0.48% PSNRHVS: 0.50% SSIM: 0.50% MSSSIM: 0.51% CIEDE2000: 0.50% Change-Id: I3888718e42616f3fd87144de7f125228446ac984
-
- 28 Oct, 2016 1 commit
-
-
Thomas Davies authored
This is a manual adaptation of the following commit from aom/master: ce12003d 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
-
- 26 Oct, 2016 1 commit
-
-
Jingning Han authored
Make the codec support 2x2 tranform block unit for chroma components. Change-Id: Ic454535bd5620abe88a2e99789160cc4664ee518
-
- 24 Oct, 2016 1 commit
-
-
Jingning Han authored
Simplify the input arguments. Make direct use of the block size in the unit of pixels. Change-Id: Ifec9d90b4b4fa9605f93b4f93b8242f76f898b5f
-
- 21 Oct, 2016 3 commits
-
-
Jingning Han authored
This prepares for the next refactoring to support 2x2 transform block sizes. Change-Id: Ia06bc487da34e853ef9323cd13e3d482e819db43
-
Nathan E. Egge authored
Move computing the kf_y_mode_cdf tables per coded intra mode symbol to computing them only when the probabilities are updated. Change-Id: I5999447050c2f7d5dbccde80bee05ecd1c5440ab
-
Jingning Han authored
Remove the separate implementations of set_contexts() in encoder and decoder. Change-Id: I9f6e9b075532faae0f74f885d9443589254258a7
-