- 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 1 commit
-
-
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 5 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
-
Sebastien Alaiwan authored
Also, remove warning prevention guard. Change-Id: I7154f103669e0140068fa6bd7184a8ec34fc7ddf
-
Sebastien Alaiwan authored
Change-Id: I8f0f7b7ad996e331c1f1e499e0c6177de9024845
-
Sebastien Alaiwan authored
Also, make some locals 'const'. Change-Id: I030c493b8bb7a1827df16a9feda38dd9dd1e424c
-
- 12 Dec, 2017 2 commits
-
-
Hui Su authored
Make sure the ref dv is a valid dv. Improves compression by about 0.3% on screen_content keyframes. Change-Id: I3a20c1a04b0ebcad610276f21b410dcfc8ba4c4d
-
Frederic Barbier authored
Change-Id: I030205931c78dc572c68661004bafbadd32e4d71
-
- 10 Dec, 2017 1 commit
-
-
Zoe Liu authored
This patch updates also the default cdfs for skip mode. It also remove the unneeded checking on whether the best obtained RD mode aligned with the skip mode. For 30 frames, on both AWCY and Google lowres/midres test sets, with the following config, the coding gain ranges from ~-0.15% to -0.23%: --disable-ext-partition --disable-ext-partition-types --disable-txmg --enable-jnt-comp --enable-mfmv Change-Id: I39aeeb9e7b27ca679c1b3f9c0eea67b5e1f694e2
-
- 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 2 commits
-
-
Sebastien Alaiwan authored
Also, reduce scope of one local. Change-Id: I41cb53528d4b7bc88eb343d8c943ed241230af82
-
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 1 commit
-
-
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
-
- 06 Dec, 2017 2 commits
-
-
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
-
Zoe Liu authored
Change-Id: I17a82393f1b7230119f499e2f9ed8d0b8fe5ba25
-
- 05 Dec, 2017 6 commits
-
-
Luc Trudeau authored
Moving CfL to using partition unit DC_PRED requires 4:1 and 1:4 DC_PRED, which are not currently implemented. A simple solution is to disable CfL for 4:1 and 1:4 partitions. CfL is also disabled for luma intra partitions < 4x4. This is inherent to luma intra prediction partition sizes. We add an assert to enforce this. Resulting in the following regression for Subset1 PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.0093 | 0.1803 | 0.1519 | -0.0180 | 0.0256 | 0.0226 | 0.0352 https://two.arewecompressedyet.com/?job=CfL%402017-11-30T19%3A05%3A05.639Z&job=CfL-Disable-4to1%402017-11-30T19%3A04%3A00.761Z Change-Id: Ie2c8b4d9cb6b6f33a103b540209e1a2fb6df74a7
-
Cheng Chen authored
Extend context model for comp_group_idx. Save sending comp_group_idx when masked_compound is not allowed. Change-Id: Ia7ae53958c9e1c8fe07be4b14a425d9b8648082d
-
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
-
Jingning Han authored
Re-design the dynamic motion vector index coding system to remove the context parsing dependency on the reconstructed motion vectors. Change-Id: I01dd6eda239a0bed32d8dc98f0f10f18249a76d4
-
Sebastien Alaiwan authored
Change-Id: I3923c7e8a41c33dfdb6c3b6f584abe8ab636ed5a
-
- 04 Dec, 2017 2 commits
-
-
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
-
Angie Chiang authored
This will make txk_sel support maximum bsize to 128x128 Change-Id: I33941966cb1ae4406ac68a2124c859c833a084d8
-
- 02 Dec, 2017 1 commit
-
-
Yunqing Wang authored
Modified the warped motion mode context based on neighbor's motion modes and current block's mode. Change-Id: I77ca35fab37ec640bb38661ff1799f643d5aafdc
-
- 01 Dec, 2017 2 commits
-
-
Sebastien Alaiwan authored
Change-Id: I244a7285e7a21fbb4dbe8ad9f6ff7c966a0bd601
-
Steinar Midtskogen authored
Previously CDEF was implicitly disabled for a filter block if all its sub-blocks were skip, and no bits for that block was signalled. That required the CDEF signal to be transmitted at the end of the block, and it was not possible to begin the filtering of the block before that. This patch moves the signalling to just after the first zero skip bit within a 64x64, 128x64, 64x128 or 128x128 block. If sub-blocks are skip, then no CDEF bits will be signalled, as before. Also, the skip condition flag has been removed so it's always known at the skip flag whether a coding block is to be filtered or not. Change-Id: I3adfa3d2d01e288b7db876198aa9985ee9f53917
-
- 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 1 commit
-
-
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
-
- 23 Nov, 2017 1 commit
-
-
Hui Su authored
BUG=b/69488541 Change-Id: I2113bba4589f61a09d0dd07c64a522f4d0ae304b (cherry picked from commit cccda0db727c2282375b174104294b40911d1447)
-
- 21 Nov, 2017 1 commit
-
-
Debargha Mukherjee authored
The fixes in rdopt.c improves the coding performance of 4:1 transforms significantly. Change-Id: I0e8db93e3f6d9bf0b2de01f2ce83c305d78d2262
-
- 18 Nov, 2017 1 commit
-
-
Zoe Liu authored
A new block mode, referred to as skip_mode is added. If a block is coded as skip_mode, it will be inter-coded, with its references and motion vectors derived from its neighboring blocks with zero-residue. Otherwise, the block can be coded in the current intra or inter mode. The computational load on skip_mode evaluation at the encoder should be kept minimum. No transform size / type evaluations are needed. Change-Id: I5aef0159c7d5ecd64258510835903375d6c536d6
-
- 17 Nov, 2017 3 commits
-
-
Zoe Liu authored
Change-Id: Idc72cff4ab9ba1691a7f5c72366a61be9569d370
-
Yunqing Wang authored
If a block's motion_mode is WARPED_CAUSAL and its mode is NEARESTMV, search its immediate above and left neighbors to get the set of neighbor blocks using WARPED_CAUSAL motion mode, pick the one with largest block size, and use that neighbor's warped motion parameters directly for the current block. If none of the neighbors uses WARPED_CAUSAL motion mode, we estimate the current block's warped motion parameters. Before this patch, for every block, we estimate its warped motion parameters. With this patch, we reduce the number of blocks doing parameter estimation. Here are results by testing on clips with camera motions. WARPED_CAUSAL blocks blocks reusing parameters station2_240p(30f): 3857 1678 netflix_arieal(30f): 692 223 No noticable changes in coding gain. Borg test result showed a PSNR change of +0.006% on cam_lowres set, and -0.014% on lowres set. Change-Id: If12387ad0ca8a1996ea4c3f1bedcb269ebf78c6c
-
Hui Su authored
Change-Id: Ifa2cdc2d2230dfa11396ee3e547653180f96b795
-
- 16 Nov, 2017 1 commit
-
-
Hui Su authored
In read_intrabc_info() and assign_dv(). BUG=aomedia:1037 Change-Id: Ic430147a9a15024d942bde361be0c4a603f812e4
-
- 15 Nov, 2017 2 commits
-
-
Frederic Barbier authored
This experiment has been adopted, we can simplify the code by dropping the associated preprocessor conditionals. Change-Id: I6ac62c2825eabcba8f854cfa25c84638d9a73872
-
Sebastien Alaiwan authored
This experiment has been abandonned for AV1. Change-Id: I3501181d096873dec35ea58e4b55530fa76e683f
-