- 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
-
- 04 Jan, 2017 2 commits
-
-
Jingning Han authored
This commit enables the cb4x4 mode to support ext-tx experiment. The coding performance gains are: ext-tx cb4x4 ext-tx + cb4x4 lowres 2.7% 2.6% 4.9% midres 2.1% 1.2% 3.0% Change-Id: I6c566b6073527262abcdbb1a0c6bcb8729988f3b
-
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
-
- 21 Dec, 2016 1 commit
-
-
Debargha Mukherjee authored
Also fixes a bug with rectangular transforms Change-Id: Id459c18d8fdc767678452e0b20c4168a412f4de7
-
- 14 Dec, 2016 1 commit
-
-
Jingning Han authored
Replace hard coded numbers with mi_size table access. Change-Id: Ia5b8802de9f0128edf2c71542c703f317c7f61da
-
- 12 Dec, 2016 1 commit
-
-
Debargha Mukherjee authored
The main objective is to reduce computational complexity. The domain transform filter has an effect of edge preserving smoothing at a lower computational cost than the bilateral filter, and can be readily paralelized. A little drop in coding efficiency about 0.06% for lowres, 0.16% for midres. Change-Id: Id949406b7e5afe9b64588d130065c63a76e4f3f9
-
- 10 Dec, 2016 1 commit
-
-
Sarah Parker authored
Change-Id: Id80f76ea2598daa93e693c5efe29b782abe33957
-
- 06 Dec, 2016 2 commits
-
-
Jingning Han authored
Scale the counting scheme to operate in the unit of 2x2 transform block size and 4x4 coding block size. Change-Id: I7c4155c3b29df109278187d5ce0aa78d85a6245e
-
Debargha Mukherjee authored
This filter is meant to replace the bilateral filter, but is currently added in addition to the bilateral filter for testing. Change-Id: Ia529701e69833d47c11b3367d5bf804eb8498079
-
- 02 Dec, 2016 2 commits
-
-
Urvang Joshi authored
Correctly use FILTER_INTRA_MODE enums instead of PREDICTION_MODE enums. Change-Id: I3d89c0c5a926b9f8603b8492e7c8c9b32b41d4cc
-
Urvang Joshi authored
Updates to enums and mappings as needed. Change-Id: Ie3a71031c74a5d4caa5308f0e210ed23c2361e95
-
- 01 Dec, 2016 1 commit
-
-
Jingning Han authored
Add 2x2 block size syntax to the codec system. It prepares for the 4x4 coding block unit for 420 format. This change retains the same coding statistics. Change-Id: If8e9a31bd6b4b75bc994539dc4dd8021d455ba57
-
- 30 Nov, 2016 1 commit
-
-
Jingning Han authored
Change-Id: Idc44fa29c70c9bb63c9b04cfba679fd05d34fdff
-
- 28 Nov, 2016 1 commit
-
-
Urvang Joshi authored
This is added as part of ALT_INTRA experiment. This uses interpolation between top row and estimated bottom row; as well as left column and estimated right column to generate the predicted block.The interpolation is done using a predefined weight array. Based on experiments, the currently chosen weight array was created to represent a quadratic curve, but can be tuned further if needed. Improvement from baseline on Derf set: ALL Keyframes: 1.279% Improvement from existing ALT_INTRA: ALL Keyframes: 1.146% Change-Id: I12637fa1b91bd836f1c59b27d6caee2004acbdd4
-
- 18 Nov, 2016 2 commits
-
-
Debargha Mukherjee authored
Includes: Various table updates and fixes to support 64x64 transforms. Entropymode updates to support tx_size expansion to 64x64. tx_mode changes to support an ALLOW_64sXx64 transform mode. Change-Id: Ib9098cfe27d0c015fe3be6ae13e7d09576771b9e
-
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
-
-
Sarah Parker authored
This is currently just a refactor and creates no change in performance. It allows new compound types to be added easily in the future to facilitate experiments with segmentation masks. Change-Id: If48fed216d482454fabb45a304b4220ada0dbdee
-
- 10 Nov, 2016 1 commit
-
-
Debargha Mukherjee authored
BDRATE: lowres: -1.01% (up from -0.7%) midres: -1.90% (up from -1.5%) hdres: -2.11% (up from ~1.7%) Change-Id: I1fe04ec9ef90ccc4cc990e09cd45eea82c752e0c
-
- 03 Nov, 2016 1 commit
-
-
Debargha Mukherjee authored
For higher level fwd and inv transform functions. Change-Id: I91518250a0be7d94aada7519f6c9e7ed024574fb
-
- 02 Nov, 2016 1 commit
-
-
Jingning Han authored
Remove redundant experimental flag. This does not change the coding statistics. Change-Id: I35b3cb04025c5c2d2744312e5efc00d0473c990d
-
- 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
-
- 26 Oct, 2016 1 commit
-
-
Jingning Han authored
Make the codec support 2x2 tranform block unit for chroma components. Change-Id: Ic454535bd5620abe88a2e99789160cc4664ee518
-
- 25 Oct, 2016 1 commit
-
-
Jingning Han authored
Introduce the transform block partition depth macro definition. Change-Id: I218dc77a77c8e967da4d270d4ec0d7691b712a5f
-
- 24 Oct, 2016 1 commit
-
-
Jingning Han authored
Change-Id: I85532cf88f91f0f0cb4d9cb4b2dbda8a181297bf
-
- 20 Oct, 2016 1 commit
-
-
hui su authored
Prepare for the av1/nextgenv2 merge. Coding gain (%): lowres midres ext-intra 0.69 0.97 filter-intra 0.67 0.83 both 1.05 1.48 Change-Id: Ia24d6fafb3e484c4f92192e0b7eee5e39f4f4ee6
-
- 19 Oct, 2016 1 commit
-
-
Thomas Davies authored
Example performance: 1.8% bit rate savings using the AQ test mode aq-mode=4 : ./aomenc --codec=av1 --ivf --tile-columns=1 --tile-rows=1 \ --kf-max-dist=1000 --kf-min-dist=1000 --cpu-used=0 \ --passes=1 --threads=1 --lag-in-frames=0 \ --end-usage=q --limit=600 --cq-level=42 \ --aq-mode=4 --error-resilient=1 out.bits FourPeople_1280x720_60.y4m Change-Id: Iba01cf2732a57f3c27481ac2a3c8fc37bb9e5533
-
- 14 Oct, 2016 3 commits
-
-
Urvang Joshi authored
This flag was already added to aomedia/master, so bringing it back to webm/nextgenv2, as part of an effort to get the two codebases in sync. Change-Id: I2b933a6a160e4210d1411a9e7978149eb8553205
-
- 13 Oct, 2016 2 commits
-
-
Steinar Midtskogen authored
These signals were in the uncompressed frame header (as a temporary hack), which caused two problems: * We don't want that header to be duplicated in the slice header * It was necessary to signal the number of bits to transmit up front However, the filter size can be 128x128 which is greater than the SB size, and a decoder wouldn't be able to know whether to read a bit or not until the final SB of that 128x128 block has been decoded (depending on whether the 128x128 is all skip or not). Therefore the signalling was changed for 128x128 blocks so that every top left SB of a 128x128 filter block contains a signal regardless of whether the block is all skip or not. Also, all the MB's of 128x128 block are filtered even if they are skip MB's. This gives the signal a purpose even when the 128x128 block is all skip, and it also gives a slight coding gain as it leaves a way to filter skip blocks, which was previously forbidden. Low latency: PSNR YCbCr: -0.19% -0.14% -0.06% PSNRHVS: -0.15% SSIM: -0.13% MSSSIM: -0.15% CIEDE2000: -0.19% High latency: PSNR YCbCr: -0.03% -0.01% -0.09% PSNRHVS: 0.04% SSIM: 0.00% MSSSIM: 0.02% CIEDE2000: -0.02% Change-Id: I69ba7144d07d388b4f0968f6a53558f480979171
-
Yue Chen authored
To get ready for pulling AV1 to nextgenv2 Replace the experimental flag by MOTION_VAR. Rename major variables. Change-Id: If6cf4f37b9319c46d8f90df551cc7295d66ca205
-
- 04 Oct, 2016 1 commit
-
-
Steinar Midtskogen authored
These signals were in the uncompressed frame header (as a temporary hack), which caused two problems: * We don't want that header to be duplicated in the slice header * It was necessary to signal the number of bits to transmit up front However, the filter size can be 128x128 which is greater than the SB size, and a decoder wouldn't be able to know whether to read a bit or not until the final SB of that 128x128 block has been decoded (depending on whether the 128x128 is all skip or not). Therefore the signalling was changed for 128x128 blocks so that every top left SB of a 128x128 filter block contains a signal regardless of whether the block is all skip or not. Also, all the MB's of 128x128 block are filtered even if they are skip MB's. This gives the signal a purpose even when the 128x128 block is all skip, and it also gives a slight coding gain as it leaves a way to filter skip blocks, which was previously forbidden. Low latency: PSNR YCbCr: -0.19% -0.14% -0.06% PSNRHVS: -0.15% SSIM: -0.13% MSSSIM: -0.15% CIEDE2000: -0.19% High latency: PSNR YCbCr: -0.03% -0.01% -0.09% PSNRHVS: 0.04% SSIM: 0.00% MSSSIM: 0.02% CIEDE2000: -0.02% Change-Id: I69ba7144d07d388b4f0968f6a53558f480979171
-
- 22 Sep, 2016 1 commit
-
-
Urvang Joshi authored
enums for BLOCK_SIZE, TX_SIZE and PREDICTION_MODE. Note: These were converted to #defines earlier to save on memory: https://chromium-review.googlesource.com/#/c/269854/ But we, instead, use attribute 'packed' (see here: https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html#Common-Type-Attributes) to ensure that these enums use the smallest possible integer type, and so use smallest memory when used in structs/arrays etc. Change-Id: If1fc136686b28847109c9f3a06f8728165e7e475
-
- 19 Sep, 2016 1 commit
-
-
Jingning Han authored
Make the codec support 2x2 tranform block unit for chroma components. Change-Id: If428abeb55fd772bdd74da0d0449b436f60eb0e3
-
- 17 Sep, 2016 1 commit
-
-
Debargha Mukherjee authored
Includes a major refactoring/enhancement to support tile-adaptive switchable restoration. The framework can be readily extended to add more restoration schemes in the future. Also includes various cleanups and fixes. Specifically the framework allows restoration to be conducted on tiles such that each tile can be either left unrestored, or use bilateral or wiener filtering. There is a modest improvemnt in coding efficiency (0.1 - 0.2%). Further enhancements will be added subsequently to improve coding efficiency and complexity. Change-Id: I5ebedb04785ce1ef6f324abe209e925c2d6cbe8a
-
- 15 Sep, 2016 1 commit
-
-
Thomas Davies authored
Example performance: 1.8% bit rate savings using the AQ test mode aq-mode=4 : ./aomenc --codec=av1 --ivf --tile-columns=1 --tile-rows=1 \ --kf-max-dist=1000 --kf-min-dist=1000 --cpu-used=0 \ --passes=1 --threads=1 --lag-in-frames=0 \ --end-usage=q --limit=600 --cq-level=42 \ --aq-mode=4 --error-resilient=1 out.bits FourPeople_1280x720_60.y4m Change-Id: Iba01cf2732a57f3c27481ac2a3c8fc37bb9e5533
-
- 05 Sep, 2016 1 commit
-
-
Debargha Mukherjee authored
Uses an array to map block sizes, y tx sizes, and subsampling factors to various transform sizes for UV. Results improve by 0.1-0.2% Change-Id: Icb58fd96bc7c01a72cbf1332fe2be4d55a0feedc
-
- 02 Sep, 2016 1 commit
-
-
Yaowu Xu authored
Change-Id: I2b2b70e756b7eb9611b7b33b7d5f19b3b30e0a50
-
- 01 Sep, 2016 1 commit
-
-
Yaowu Xu authored
Cherry-Picked the following commits: 0defd8f2 Changed "WebM" to "AOMedia" & "webm" to "aomedia" 54e66767 Replace "VPx" by "AVx" 5082a369 Change "Vpx" to "Avx" 7df44f17 Replace "Vp9" w/ "Av1" 967f722f Remove kVp9CodecId 828f30ce Change "Vp8" to "AOM" 030b5ffc AUTHORS regenerated 2524caee Add ref-mv experimental flag 016762be Change copyright notice to AOMedia form 81e55269 Replace vp9 w/ av1 9b94565b Add missing files fa8ca9f2 Change "vp9" to "av1" ec838b76 Convert "vp8" to "aom" 80edfa01 Change "VP9" to "AV1" d1a11fb9 Change "vp8" to "aom" 7b582513 Point to WebM test data dd1a5c8d Replace "VP8" with "AOM" ff00fc0f Change "VPX" to "AOM" 01dee0bb Change "vp10" to "av1" in source code cebe6f0c Convert "vpx" to "aom" 17b05679 rename vp10*.mk to av1_*.mk fe5f8a8a rename files vp10_* to av1_* Change-Id: I6fc3d18eb11fc171e46140c836ad5339cf6c9419
-