- 12 Jul, 2017 1 commit
-
-
Zoe Liu authored
(1) Work with var-refs to remove redundant bits in ref frame coding; (2) Add a new uni-directional compound reference pair: (LAST_FRAME, LAST3_FRAME); (3) Redesign the contexts for encoding uni-directional reference frame pairs; (4) Use aom_entropy_optimizer to collect stats for all the default probability setups related to the coding of reference frames. Compared against the baseline (default enabled tools excluding ext-tx and global-motion for encoder speed concern) with one-sided-compound, the coding gain of ext-comp-refs + var-refs - one-sided-compound is: lowres: avg_psnr -0.385%; ovr_psnr -0.378% ssim -0.344% midres: avg_psnr -0.466%; ovr_psnr -0.447% ssim -0.513% AWCY - High Latency: PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.2758 | -0.1526 | -0.0965 | -0.2581 | -0.2492 | -0.2534 | -0.2118 AWCY - Low Latency: PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -1.0467 | -1.4500 | -0.9732 | -0.9928 | -1.0407 | -1.0180 | -1.0049 Compared against the baseline (default enabled tools excluding ext-tx and global-motion for encoder speed concern) without one-sided-compound, the coding gain of ext-comp-refs + var-refs - one-sided-compound is: lowres: avg_psnr -0.875%; ovr_psnr -0.877% ssim -0.895% midres: avg_psnr -0.824%; ovr_psnr -0.802% ssim -0.843% Change-Id: I8de774c9a74c20632ea93ccb0c17779fa94431cb
-
- 08 Jul, 2017 1 commit
-
-
Debargha Mukherjee authored
This is intended to be a no-op when scaling is not enabled, but is expected to result in more accurate prediction when references need to be scaled. However note all xs, yx, subpel_x and subpel_y values are now at higher than 1/16th precision. Change-Id: I4b22573ea290a31fc58ead980bb0d5e5a9e89243
-
- 06 Jul, 2017 1 commit
-
-
hui su authored
Prioritize modes that are more likely to be picked. Impact on compression is neutral. Keyframe encoding speed increases by about 5%. Change-Id: I57f7481a42b833203e4cfb84806fe755ec37d615
-
- 28 Jun, 2017 1 commit
-
-
Wei-Ting Lin authored
Change-Id: Id5c3df752528a3ea74e655b3d18a5d6f258a2238
-
- 27 Jun, 2017 1 commit
-
-
Wei-Ting Lin authored
Define the syntax and entropy coding templates for NCOBMC_ADAPT_WEIGHT. The actual values of the default probabilities and the index tree structure need to be fine tuned. In this experiment all mv's in a superblock are sent first as in the ncobmc case. Change-Id: I68d50d3d27346c2847ea449a1168c6a99fbb4d3d
-
- 21 Jun, 2017 1 commit
-
-
Timothy B. Terriberry authored
cb4x4 itself should not require these sizes. This simplifies compatibility with other experiments, since we can first make them work with cb4x4 (which is now on by default), and then worry about chroma_sub8x8 and chroma_2x2 (which is not) in separate steps. Encoder and decoder output should remain unchanged. Change-Id: Iff2a5494cab3b7d96f881e8bd9cd4bf18c817cfa
-
- 19 Jun, 2017 1 commit
-
-
Zoe Liu authored
The tool of ext-comp-refs adds the uni-directional compound reference prediction. In details, 3 pairs of uni-direcitonal compound references are added for the comp ref prediction: (LAST_FRAME, LAST2_FRAME), (LAST_FRAME, GOLDEN_FRAME), and (BWDREF_FRAME, ALTREF_FRAME). This new tool of ext-comp-refs will eventually overwrite one-side-compound and have the two coding tools to merge to one. It achieves -0.35 ~ -0.55% coding gains in BDRate, compared against AV1 baseline with the default experiments on, but without one-sided-compound. It achieves -0.2% ~ -0.3% coding gains when one-sided-compound is on. It achieves larger gains on higher resolution. Change-Id: Icbdb16e97b96aaebaf2213f5f72d5331e2e358eb
-
- 16 Jun, 2017 1 commit
-
-
Fergus Simpson authored
RESIZE_SCALE_DENOMINATOR and SUPERRES_SCALE_DENOMINATOR were two constants with the same value that did essentially the same thing. This patch merges the two into SCALE_DENOMINATOR for simplicity's sake. Change-Id: I252a9b7f89f10d77bdb0c3cf2d67d31d337afa4b
-
- 15 Jun, 2017 2 commits
-
-
Debargha Mukherjee authored
Unifies the command line arguments for resize and superes. Removes resize arguments that are currently unused. Change-Id: I1362dffceb8257cee539f92679d1e8d79df08e66
-
Fergus Simpson authored
Adds "superres-mode" and "superres-numerator" arguments to configure superres scaling. There are only two modes right now: SUPERRES_FIXED and SUPERRES_DYNAMIC. 0 sets the fixed mode and 1 sets the dynamic mode. For the fixed mode superres will scale to the provided numerator where possible. The cumulative scale change over resizing and superres is limited to 1/2, so it may have to back off. For the dynamic mode, the provided numerator will be used as the initial numerator. Asides from that it's just random for now. Change-Id: Ibae01c77abba2599fbf51096459d09ddca458d4f
-
- 13 Jun, 2017 2 commits
-
-
Thomas Davies authored
Only apply quantisation matrices when the transform is 2D. Change-Id: Iae9ac910c11199f7944a80d10d334db3b711059d
-
Zoe Liu authored
Now the single ref comp mode should work with WEDGE and COMPOUND_SEGMENT. For motion_var, the OBMC_CAUSAL mode uses the 2nd predictor if the neighboring block is single ref comp mode predicted. This patch removes the mode of SR_NEAREST_NEWMV and leaves four single ref comp modes in total: SR_NEAREST_NEARMV SR_NEAR_NEWMV SR_ZERO_NEWMV SR_NEW_NEWMV Change-Id: If6140455771f0f1a3b947766eccf82f23cc6b67a
-
- 05 Jun, 2017 1 commit
-
-
Urvang Joshi authored
Earlier, the condition was negating all non-directional modes to check if a mode is directional. This was error-prone, e.g. when a new non-directional mode is added. By checking for directional modes directly, we avoid such errors. Change-Id: Ia4a62e278cd73078c53ed5096db646eff77f054e
-
- 01 Jun, 2017 1 commit
-
-
Timothy B. Terriberry authored
cb4x4 itself should not require these sizes. This simplifies compatibility with other experiments, since we can first make them work with cb4x4 (which is now on by default), and then worry about chroma_2x2 (which is not) in separate steps. Encoder and decoder output should remain unchanged. Change-Id: I4e9fcdae49f238b5099a3c74a398fe993c2545f8
-
- 24 May, 2017 1 commit
-
-
David Michael Barr authored
Separate the codes into a table of distinct values and an index into that table. Pull the SSE calculation of the RDO loop and avoid repeating for the same alpha values. Change-Id: I8c4bd7eab6f8000e6aca9687d9190abc3e270c37 Signed-off-by:
David Michael Barr <b@rr-dav.id.au>
-
- 21 May, 2017 2 commits
-
-
Timothy B. Terriberry authored
Currently the "transform units" used to measure transform sizes in some parts of the code are based on the smallest defined transform size. cb4x4 currently defines a 2x2 transform size, even when chroma_2x2 is not enabled, which means that the scale of the transform units was always double that of MODEINFO units. Several areas of the code were hard-coding this assumption instead of converting from one to the other using appropriate constants. Change-Id: Ibc55671aa5bc3ad272cb8a036f9c4f9621df85ab
-
Timothy B. Terriberry authored
Create named constants for the minimum TX_SIZE used in the luma plane, as well as the minimum allowed TX_SIZE for which we have to explicitly code a selection (i.e., one larger than the minimum luma TX_SIZE). Then, use these constants consistently with tx_size_to_depth() to index the tx_size counts in FRAME_COUNTS, and also consistently use TX_SIZE named constants to index the tx_size_implied counts. Failing to index these counts correctly can, e.g., cause tx_mode to be chosen incorrectly. Change-Id: I706a62a33e2282e67c97a68bade87fb8023ec13b
-
- 19 May, 2017 1 commit
-
-
Yue Chen authored
It gives 0.1% gain on lowres and midres Change-Id: I555a492a68571c525713840d73aa5614fe80a87d
-
- 18 May, 2017 2 commits
-
-
Yue Chen authored
Improved the performance a little bit compared to using the full set Change-Id: I28a96459fa77d7e1d5c101d162faa2effd525341
-
Debargha Mukherjee authored
Change-Id: I640cf08ac583ff5092a18e81cd0e33f05609db6b
-
- 11 May, 2017 1 commit
-
-
Yue Chen authored
Use CONFIG_INTERINTRA to properly separate interintra from the basic ext_inter experiment. When macro REDUCE_INTERINTRA_MODES is 1, only 4 ii modes are enabled so as to reduce the complexity overhead. (Right now the flag is off) Change-Id: Iec6f36a1000f181adbb822ad66c7d5b2625e9cc7
-
- 09 May, 2017 1 commit
-
-
Urvang Joshi authored
This has been taken care of already. Change-Id: I0198fdbcd48fc355013de79644513279c8acb0de
-
- 08 May, 2017 1 commit
-
-
Urvang Joshi authored
This experiment extends ALT_INTRA by adding two new modes: smooth horizontal and smooth vertical. Improvement on *intra frames* in BDRate (PSNR): =============================================== AWCY (high latency): -0.46% (Also, -1.0% or more on PSNR Cb,Cr and APSNR Cb,Cr). AWCY (low latency): -0.43% (Also, -0.88% to -0.94% on PSNR Cb,Cr and APSNR Cb,Cr). Google sets: lowres: -0.454 midres: -0.484 hdres: -0.525 Improvement on *video overall* in BDRate (PSNR): ================================================ AWCY (high latency): -0.15% Google sets: lowres: -0.085 midres: -0.079 Change-Id: I9f4e7c1b8ded1fe244c72838f336103ccc715d50
-
- 05 May, 2017 4 commits
-
-
Yue Chen authored
Change-Id: Id490c57df5dca13c59a62b0a542779784842944c
-
hui su authored
The angle estimation in ext-intra didn't account for alt-intra. Also use c99 variable declaration style. BUG=aomedia:444 Change-Id: I001b0278eb8cf560975c873a423de024c10d08b4
-
Luc Trudeau authored
Writes and reads alpha to and from the bitstream. A special case is needed on the encoder side to handle prediction block skips. Since whether or not a prediction block is skipped during CfL, a rollback is required if the block was skipped and the alpha index was not zero. The advantage of this is that no signaling is required when the prediction block is skipped as it is assumed tha the alpha index is zero. A encode facade is added to the intra prediction facade as CfL requires special encoder side operations. Change-Id: Ic3b11d0fdbd51389d862112eb09d8785127a6b06
-
Sebastien Alaiwan authored
Change-Id: I96e386678f6227f3ca735c9be2725cb9795b3296
-
- 03 May, 2017 1 commit
-
-
Fergus Simpson authored
The frame superresolution experiment currently makes no use of the features of the loop restoration experiment. While this is planned for the future, there is no reason to continue having frame superresolution depend on loop restoration for now. Frame superresolution was made dependent by having every preproccesor if containing its config flag also depend on the loop restoration config flag. Those if's are modified to only check the frame superresolution flag by this patch. Change-Id: Ieef47de29125af8d080739ffeac5c55a1fa99e23
-
- 27 Apr, 2017 2 commits
-
-
Zoe Liu authored
The hookup with the encoder-decoder pipeline will be in the following CLs. This is under the experiment of compound-singleref, with ext- inter enabled. Change-Id: I6523a1a6525539eb7c6aa6c5e11724a694e8bf6c
-
Luc Trudeau authored
To avoid confusion, inspection now returns INTRA_INVALID for as the uv_mode when the block type is inter. Change-Id: I48c64586078bb1ef1ca256a9f3c5c2bfb4a2abc3
-
- 26 Apr, 2017 3 commits
-
-
Luc Trudeau authored
Change-Id: I8caa3e0ca51b733b3af87d24ee511f6bb52222d1
-
Debargha Mukherjee authored
Change-Id: I9b6f99768c60e743d2fadfaabc532e7c15dc40f3
-
James Zern authored
This reverts commit 5ca25dfc. It breaks high-bitdepth builds with: --enable-aom-highbitdepth --enable-experimental --enable-dual-filter --enable-entropy --enable-ext-inter --enable-ext-intra --enable-ext-partition-types --enable-ext-refs --enable-ext-tx --enable-filter-intra --enable-loop-restoration or more simply: --enable-aom-highbitdepth --enable-experimental --enable-ext-inter BUG=aomedia:463 Change-Id: If814131e634e4411569859f7426efafe158b83fd
-
- 25 Apr, 2017 1 commit
-
-
Fangwen Fu authored
This is the second patch. * Add delta loop filter level at super block level. * Add symbol coding for delta lf syntax * Allow delta lf to work with segments Change-Id: I393a021a875d03c6e113127cbb3543fc077308e4
-
- 24 Apr, 2017 1 commit
-
-
Debargha Mukherjee authored
Change-Id: I359d100548ed337d643a421591243565b08945ed
-
- 20 Apr, 2017 1 commit
-
-
Yunqing Wang authored
Added 2 tile encoding modes: TILE_NORMAL mode supports the large-scale tile coding up to 1024 x 1024 tiles; TILE_VR mode supports the large-scale tile coding and also the decoding of a single tile. TILE_NORMAL mode allows the non-vr content to be encoded in multiple tiles without using the coding tool that are designed for vr applications. Change-Id: Id804806a1bbcb916b7f5dc7e2c5509d88f3defcb
-
- 11 Apr, 2017 1 commit
-
-
Zoe Liu authored
Change-Id: I246da885154303d139f5d97c53ebfc55d6dc82ca
-
- 28 Mar, 2017 1 commit
-
-
Fergus Simpson authored
A bit and a three bit literal have been added to the uncompressed frame header for use by the frame superres experiment. The bit is true if scaling is to be used, and is immediately followed by a three bit literal that encodes the scale to use. If the first bit is false, scaling is disabled and the scale factor numerator is set to the denominator (ie. 1:1 scaling). No literal follows if scaling is disabled. The denominator has been defined as a constant 16. The literal is biased by a defined constant of 8 - allowing fractions from 1/2 to 15/16 scaling in steps of 1/16 when scaling is used. Experimentation will be needed to discover which of these are useful. The bit and literal are immediately after the optional render_width and render_height, so that the superres parameters can be written and read just after the regular width and height, without interfering with the render_size parameters. This patch also adds an arbitrary write to make the scale 1:1, so as to not trigger any scaling until it's ready. Accompanying encode and decode helper functions are added. Change-Id: I8caa6247c73f5c7f84ef1fde1e80eb9b20bde0e3
-
- 23 Mar, 2017 1 commit
-
-
Fergus Simpson authored
Adds the superres scale numerator, width, and height to the AV1_COMMON struct for later use in encoding and decoding. This value will also be added to the uncompressed frame header. A #define statement is also added to represent the denominator - 16. Change-Id: I4acec39ef3c67fa9f7118dac28daec3a2d734ed5
-
- 17 Mar, 2017 1 commit
-
-
Steinar Midtskogen authored
* Dering and clpf were merged into a single pass. * 32x32 and 128x128 filter block sizes for clpf were removed. * RDO for dering and clpf merged and improved: - "0" no longer required to be in the strength selection - Dering strength can now be 0, 1 or 2 bits per block LL HL PSNR: -0.04 -0.01 PSNR HVS: -0.27 -0.18 SSIM: -0.15 +0.01 CIEDE 2000: -0.11 -0.03 APSNR: -0.03 -0.00 MS SSIM: -0.18 -0.11 Change-Id: I9f002a16ad218eab6007f90f1f176232443495f0
-