- 15 Dec, 2017 1 commit
-
-
Jingning Han authored
Following the cb4x4 design, the logic related to sub8x8 handling can be simplifed. Change-Id: I1ed0c0327a4498614408320a583ad37607bde4af
-
- 14 Dec, 2017 3 commits
-
-
Urvang Joshi authored
Change-Id: I3e6b13dcb8e5b5cf6ff4ba8010fe65e43336d33f
-
Sarah Parker authored
This adds a third option to the optimize_coefficients speed feature, which turns off optimize_b in the search but uses it in the final encode. This option is not currently being used by default. Change-Id: Ic10c9fd8ef16bc453f5e232733cda34d0ddb7692
-
Luc Trudeau authored
The get_y_mode function, is superfluous, not used consistently, and requires a useless block_idx parameter than gets pass around a lot inside the codebase for no apparent reason. The block parameter is misleading, as it could cause people to think all these functions actually use this value. Change-Id: I7ae0a8d1282c009b9114c83771cce10f5c2ee397
-
- 13 Dec, 2017 2 commits
-
-
Luc Trudeau authored
Based on the HW Subgroup call of December 4th 2017, we limit luma partition to 32X32. Regression on Subset 1 PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 0.0881 | 1.3504 | 1.2936 | 0.0572 | 0.0182 | 0.0227 | 0.5204 https://two.arewecompressedyet.com/?job=CfL-PartU%402017-12-12T15%3A39%3A36.794Z&job=CfL-Max32x32%402017-12-12T16%3A10%3A09.989Z Change-Id: I7e3cfd68097c0bc24b1426348b5fd574c4f638a0
-
Luc Trudeau authored
To avoid a cascade of encodes when performing CfL RDO, we compute DC_PRED on the partition unit. To do so, we change the tx_size of CfL to match the size of the partition unit (i.e. CfL partitions only contain 1 transform block). This change requires disabling CfL when a chroma partition-unit-sized DC_PRED is unavailable (i.e. 4:1, 1:4 partitions and chroma partitions > 32X32). Results on Subset1 (compared to disabling 4:1 and 1:4 partU): PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.1243 | -1.9286 | -2.0140 | -0.1514 | -0.1512 | -0.1947 | -0.8066 https://two.arewecompressedyet.com/?job=master%402017-12-12T14%3A53%3A01.451Z&job=CfL-PartU%402017-12-12T15%3A39%3A36.794Z Change-Id: I2a4adde79c10089130775b8e0df5f9c198855cad
-
- 12 Dec, 2017 2 commits
-
-
Cheng Chen authored
Make lpf_sb compatible with loopfilter_level, when USE_GUESS_LEVEL = 1. Filter levels will be selected based on q index and applied for filtering on Y, U, V planes separately. Current model only allows to guess one filter level. Now Y_vert = Y_horz = U = V. In the future, we need to retrain the model and get filter levels for Y_vert, Y_horz, U and V separately. When USE_GUESS_LEVEL = 0, lpf_sb can't work with loopfilter_level yet. Change-Id: Icd774a147c07a4035cf8204a8754b2a99668bbfd
-
Rupert Swarbrick authored
The change in encodeframe.c has no effect (it's the same test), but the change in rdopt.c fixes a miscalculated rate for (say) 8x4 blocks which must signal whether to use TX_8X4 or TX_4X4. Change-Id: I1dd2556bb90e86e690dd1fabaad278813ba73ea6
-
- 11 Dec, 2017 5 commits
-
-
Angie Chiang authored
Now it supports inter blocks only Change-Id: I6307664452588e654853b4ff18b83cce0343268b
-
Urvang Joshi authored
Change-Id: I5fc45fa9fe6a354ae34001f48850eb68364a5a79
-
Sebastien Alaiwan authored
Change-Id: I1e71848e9d6bc592a6d4a12051d513eb07b4acd1
-
Debargha Mukherjee authored
Change-Id: I09b7e06ab678b4e3158525c299a8a3d4bce0bd37
-
Cheng Chen authored
(1) USE_GUESS_LEVEL = 0: each superblock search and apply best deblocking filter level. Filter level is transmitted each superblock. (2) USE_GUESS_LEVEL = 1: use q to guess a filter level for the whole frame. Only one filter level is transmitted. Change-Id: I585f6ca0621f5c88fc9d0d95c4fc671114b384c4
-
- 10 Dec, 2017 2 commits
-
-
Yushin Cho authored
Instead of applying different offsets for each of quadri-split, horizontal split, vertical split, store the start addresses of src and dst 8x8 blocks in each of YUV palnes then pass it to distortion compute function for dist-8x8, dist_8x8_yuv(). Also, don't save decoded pixels for 8x8 block in additinal buffer but directly access the xd->dst buffer. Thus removed the decoded-8x8[8x8] buffer in struct macroblock. However, this patch does NOT fix the case where dist-8x8's assert fails with CfL enabled. Fix part of issue (i.e. 4:4:4 chroma iput) in BUG=aomedia:1094 Change-Id: I6399d0eef3e17cacc9ec6467480a7959c85d419b
-
Debargha Mukherjee authored
This change was missing before. Change-Id: Ie8aecb8d51284b32a02d76f6f3de5f1c77a5f692
-
- 09 Dec, 2017 2 commits
-
-
Debargha Mukherjee authored
Also, splits the sub_tx_size_map array into inter and intra in order to enable the new 4:1 transforms for inter and intra separately. Includes refactoring such as removing the intra_tx_size_cat_lookup array since it is unnecessary, and consolidating the max_txsize_rect_lookup array for convenience. Change-Id: I112553bab612dafb973611c87f36a43e1ac4be85
-
Rostislav Pehlivanov authored
Adds spatial prediction to standard segmentation instead of a separate segmentation feature. When using temporal prediction skipped blocks are flagged as mispredicted. Change-Id: I0c32281286d3fbce66d339c9247bcc6516f37a63
-
- 08 Dec, 2017 3 commits
-
-
Cheng Chen authored
For each superblock, select the best deblocking filter level and apply filtering. The filter level is signaled to decoder using a delta based scheme. Change-Id: I53e32589cabac9e2a4e580808fdd39ac878fe8c6
-
Zoe Liu authored
Change-Id: I72ae23a60f79256b207753c429c3fecf4db6bd38
-
Debargha Mukherjee authored
Currently 4:1 transforms have max 2 split levels: 4:1 -> 1:1 -> 0.5:0.5. This refactor enables split levels: 4:1 -> 2:1 -> 1:1, by simply changing the tables in common_data.h. The actual switch will be made in a subsequent patch. Change-Id: I33f8d9ca5159ba3e7d02ced449ddf6f804a8f12a
-
- 07 Dec, 2017 5 commits
-
-
Luc Trudeau authored
Change-Id: I09cf970a9be3a7dfe7e134bec5d778cda77f2682
-
Hui Su authored
In addition to k-means, consider using the dominant colors directly. Improve keyframe by about 1% on the screen_content testset. Change-Id: I08a932c322cfe36fb8def778d14f96d71c1017db
-
Sebastien Alaiwan authored
This experiment has been abandonned for AV1. Change-Id: I3a6dfd2178aff2502d0ea7e9dd6d584b4db0eb1f
-
Zoe Liu authored
This experiment allows two choices for the frame-level reference mode flag: SINGLE_REFERENCE and REFERENCE_MODE_SELECT. It removes the choice of COMPOUND_REFERENCE, as it has been barely used. Change-Id: I8af18acd2fe3c0d4928f2b05f35aad0ebcb1556a
-
Debargha Mukherjee authored
BUG=aomedia:1065 Change-Id: I0951a276865a5d810eb04bbb5251ed5c1b417ca4
-
- 06 Dec, 2017 1 commit
-
-
Zoe Liu authored
This patch simplies the checking criteria for the two groups of compound modes. It also makes the encoder side cdf update inside the RD loop consistent with that in the bitstream. Experimental results on Google test sets (30 frames of lowres and midres) confirm this patch obtains identical coding performance. Change-Id: I170eea91f7d2be2170df544cfc2c692b09aa82d6
-
- 05 Dec, 2017 2 commits
-
-
Cheng Chen authored
Remove COMPOUND_AVERAGE from compound_type_cdfs since it is now grouped to compound_idx. However, COMPOUND_AVERAGE is still used elsewhere. Change-Id: Ie0d460aabf9252e80eb4130cfef9aaf0efc3969d
-
Cheng Chen authored
Divide compound inter prediction modes into two groups: Group A: jnt_comp, compound_average Group B: interintra, compound_segment, wedge Change-Id: I1142da2e3dfadf382d6b8183a87bde95119cf1b7
-
- 04 Dec, 2017 1 commit
-
-
Debargha Mukherjee authored
This patch fixes and enables rectangular intra transform sizes for 4:1 partitions (that were turned off before). 4:1 partitions can now use rectangular intra predictions with 2:1 rectangular transform sizes. BDRATE lowres (single keyframe): -0.612% Change-Id: I6f062f7c08aae8eeb0a55d31e792c8f7e3f302a2
-
- 02 Dec, 2017 2 commits
-
-
Yunqing Wang authored
Modified the warped motion mode context based on neighbor's motion modes and current block's mode. Change-Id: I77ca35fab37ec640bb38661ff1799f643d5aafdc
-
Zoe Liu authored
Add a block level usage flag for skip mode. If no block has chosen the skip mode, the frame level flag for skip mode will be set off. This patch also includes a small code cleanup, including the check on whether the best RD mode is aligned with skip mode, if yes, the best RD mode will be replaced by skip mode. This patch slightly improves the coding performance of ext-skip. Change-Id: If06092d5e32f15e63dcb5f35d32e68bc0f827c2b
-
- 30 Nov, 2017 2 commits
-
-
Luc Trudeau authored
cfl.h is no longer included in the onyxc_int.h. cfl.h is now included in each file that uses cfl functions. Change-Id: I80a2e57159217b0ee20b2562fc9711d929472b8c
-
Luc Trudeau authored
The CfL context is now stored inside MACROBLOCKD instead of MACROBLOCKD only storing a pointer to the CfL context. The intent is to avoid race conditions as MACROBLOCKD is stored inside ThreadData. This change also simplifies CfL Initialization. Change-Id: I991503716b21fc9aca60caddb2008b8bff397e6d
-
- 29 Nov, 2017 4 commits
-
-
Zoe Liu authored
Current encoding of single ref assigns bit 0 to LAST_FRAME and bit 1 to LAST2_frame, whereas the encoding of compound ref assigns bit 1 to LAST_FRAME and bit 0 to LAST_FRAME. This patch unifies the design and makes the binary symbol assignment for LAST/LAST2 consistent regardless of the single/compound ref scenarios. This patch incurs a small syntax change but should not have noticeable coding performance impact. Once BUG 973 is fully addressed, default cdfs for reference frame coding will be updated. BUG=aomedia:973 Change-Id: I1f3027965c0bb2d343bc8ad873f7c0015123f151
-
Peter de Rivaz authored
BUG=aomedia:78 Change-Id: Id85cf22302317d33b593345fd31090a6620f4101
-
Sebastien Alaiwan authored
This experiment has been abandonned for AV1. Change-Id: Ib9a8eea6b0ad5580dc81836be8fc5e898bb9bb45
-
Yushin Cho authored
Larger than 8 bit input seems to introduce different rounding methods in different distortion calculation functions, which causes assertion failed for dist-8x8's sanity check. BUG=aomedia:1027 Change-Id: I1f607f32d4017d8f9abbbe0b09d9dbb01a63fe9c
-
- 27 Nov, 2017 1 commit
-
-
Debargha Mukherjee authored
When the flag DISABLE_VARTX_FOR_CHROMA is on chroma is constrained to always use the largest transform size for the prediction unit size. This is meant to simnplify the logic for transform size selection for chroma with hopefully no loss. Results: lowres 30 frames, speed 1: -0.038% (a slight improvement). lowres 30 frames, speed 0: 0.000% (noise level difference). Change-Id: I14dd5b1983d908bd98e59b7d252e11f5755c97e6
-
- 24 Nov, 2017 1 commit
-
-
Rupert Swarbrick authored
The change can be temporarily reverted by setting ALLOW_128X32_BLOCKS to 1 (for easy "is this better?" testing: we'll get rid of the option once it's clear what we're doing). Since this means we have to modify the "num_partition_types" calculation in functions like read_partition, we move it into a helper function called partition_cdf_length(). Doing this makes the bodies of read_partition and write_partition somewhat simpler than they were. Change-Id: I3573f62f71dc3344aed2dcb3e423e034eb56a7c5
-
- 22 Nov, 2017 1 commit
-
-
Debargha Mukherjee authored
Change-Id: I9854d5ec193dadaa455c209b1482ead895982cb7
-