- 02 Oct, 2017 5 commits
-
-
Thomas Davies authored
Reduce the number of contexts from 10 to 6. BUG=aomedia:830 Change-Id: If0ec302816975293b7dbd164c867feb66fa76847
-
Angie Chiang authored
Change-Id: I03adc36f5e5f839d23c4f50a864d317d008e30a6
-
Urvang Joshi authored
This assert was wrong for tx sizes of 4x4 (and 2x2), and was causing some failures on AWCY like this one: https://arewecompressedyet.com/?job=debargha-adopted-0927%402017-09-28T00%3A03%3A48.310Z Change-Id: Ib75ba7ec6282c700cbe1742b9871a5489eb7e18c
-
Sebastien Alaiwan authored
This experiment has been adopted, we can simplify the code by dropping the associated preprocessor conditionals. Change-Id: Ic077963f72e8cc2ae9872b58c8a0241988384110
-
Pavel Frolov authored
BUG=aomedia:851 Change-Id: Ib188f4b640a58c47147cda977a589e527f765a54
-
- 30 Sep, 2017 1 commit
-
-
Rupert Swarbrick authored
This hides behind --enable-ext_partition_types_ab. When that flag is set, the mixed partitions change from +-+-+---+ +-+-+---+ | | | | | | | |---+ | to | | | | | | | | | | | +-+-+---+ +-+-+---+ (that's PARTITION_VERT_A; other partitions change similarly). Since 128x32 and 32x128 block support hasn't yet been merged, this patch also temporarily disables these partitions for 128x128 blocks. Change-Id: Ic479c0fc129f590b8ad56d72dc98ba79ae1bd1cf
-
- 29 Sep, 2017 6 commits
-
-
Jingning Han authored
Move functions related to frame index in natural order setup into a root experiment. Change-Id: Iebc71514b951dbb658cf0e1c3d42bb2b180d830f
-
Urvang Joshi authored
Coefficient prob model was removed earlier in https://aomedia-review.googlesource.com/c/aom/+/17062, so these were unused and updating them was a wasted effort. Change-Id: Ibd5fd975134de8eb3d363c500cb0f07c4658efd1
-
Rupert Swarbrick authored
Change-Id: Ieb28f40d85e4db4af33648c32c406dd2931ceb89
-
Thomas Davies authored
Change-Id: I52f204000f5fdaf1c6fff63949d72e858ceea462
-
Frederic Barbier authored
Remove code that is dead since 65c00ae1. Change-Id: Id74b96fbfbd70ebb293650601a36b9ea3b495055
-
Debargha Mukherjee authored
Allows saving bits when reference buffer is not to be used in cases where error resilience is unimportant. Change-Id: I2ef002a7cce96a158e1e58c2b00f0a6846049fff
-
- 28 Sep, 2017 6 commits
-
-
Cheng Chen authored
Experiment LOOPFILTER_LVL has 4 deblocking filter levels for: y plane horizontal, y plane vertical, u plane, and v plane. The patch supports segment updates for each of the four filter levels. Change-Id: I494e8d9ab67e37c5f6234b8d9db8e3e3abf70d52
-
Rupert Swarbrick authored
With ext-partition and tx64x64 enabled, the encoder could choose TX_64X64 to encode the transform for a subsampled plane of a BLOCK_128X128 block. This broke an assumption in the nested loop in write_tokens_b and also caused bug 827 (with a rather cryptic failure). This patch changes get_vartx_max_txsize to ensure that the encoder and decoder don't think they can use TX_64X64 in this situation. It also adds a couple of assertions to the loop mentioned above so that if something comes unstuck it'll be much more obvious what went wrong. BUG=aomedia:827 Change-Id: Ie093f2f20f6242949d68e950c8f95b100867ee17
-
Ryan authored
1. seg->temporal_update flag is only read when seg->update_map flag is set to 1 in the bit stream. in case update_map flag is different from frame to frame, the temporal_update flag will not be reset to 0 when update_map flag changed from 1 to 0. i.e, the previous temporal_update flag will be used in the later process. in the read_inter_segment_id function, temporal_update flag is used to read the segment id. it will cause bit stream parsing error. Change-Id: I663975bc84bbed7409d4f5dd1c1005480b2fbcf8
-
Thomas Daede authored
Although they are called "sync codes", nothing is synchronized using them. Change-Id: I2dbd67daf9f4822438323212bb96cac489c38c5d
-
Ola Hugosson authored
This experiment offset the filter tile grid 8 pixels upwards. Deblocked pixels (rather than CDEFed pixels) are used for the 2 lines above and below the filter processing unit. The 8 pixel offset is the offset produced by deblock/cdef. This way the loop_restoration does not need additional line buffers in a single pass hardware implementation. Change-Id: I89e0831dc28413a5d3e02d7a426ce2885ab629d7
-
Rupert Swarbrick authored
This is just a code cleanup, moving the calculation of cm->tile_rows and cm->tile_cols into get_tile_size, which is already calculating cm->tile_width and cm->tile_height. The patch also gets rid of a spurious AOMMIN and replaces it with an assertion. Change-Id: I46666c4a197ac26d4b3746d9ea6575dc4af0d570
-
- 27 Sep, 2017 6 commits
-
-
Pavel Frolov authored
This fixes global motion read/write mismatch. Minimal test case would be 3 encoded frames with: 1) frame0: KEY frame 2) frame1: INTER frame with refresh_frame_flags not 0x00 and not 0xFF, say 0x01 (refresh first slot) 3) frame2: INTER frame with all reference indices equal to 3 (i.e. no reference to frame1) When decoding frame2 decoder will use cm->prev_frame=frame1 for gm params decoding, then switch to cm->prev_frame=frame0 for the rest of the frame. This makes frame2 dependent on frame1 which is not used as reference. And also it is different from what encoder does. BUG=aomedia:750 Change-Id: I42ba19c03d909286af12ba3149910693a12249e8
-
David Barker authored
When deciding whether the top-right or bottom-left blocks are available, we currently always act as if we're using 128x128 superblocks. This means that, when using 64x64 superblocks, we sometimes conclude that blocks are available when they haven't been decoded yet! This typically happens at, for example, mi_row=15, mi_col=16 (for bottom left), where we're at a 64x64 boundary but not a 128x128 boundary. This patch fixes the issue by checking based on the signalled superblock size. Note: Most of this patch is just threading 'cm' through the intra prediction process, so that we have access to cm->sb_size in has_top_right() and has_bottom_left() Change-Id: I126964c510aafffc870e7cd8b3e64a46abb14b3a
-
Dominic Symes authored
This patch is designed to complete the CONFIG_MAX_TILE experiment. It adds the following features: - Explicit tiles of same width can be signalled with command line --tile_width - Explicit tiles of same hieght can be signalled with command line --tile_height - max_tile now works with the depenedent horizontal tiles experiment - additional checking added to ensure maximum number of rows/columns <= 64 - one fix to the tile group code for when the number of tiles is not a power of two Change-Id: I749a68fdb3dcdd8d1ced2b3558f3817e4b832c06
-
Pavel Frolov authored
This fixes decoder's capability to start decoding bitstream from non-KEY intra_only frame. BUG=aomedia:816 Change-Id: Iecd5add418590119f59a51acd7208eb08cb17042
-
Sebastien Alaiwan authored
Change-Id: Id6f588876b1adf68abd8c17d7eef2223d552e457
-
Cheng Chen authored
Set filter step = 2, such that 3 bit can represent [-14, +14] filter level difference. Tune threshold for reusing filter level between previous and current superblock. Change-Id: I6f26377591f3e93f7c068e4aa4279ae9bc2c9522
-
- 26 Sep, 2017 5 commits
-
-
Yushin Cho authored
PVQ has been broken again since the experiment flag for palette is removed in commit c6300aa1. As a fix, if PVQ is enabled then disable both of --tune-content=screen and automatic detection of screen and use of palette coding tool. Change-Id: Iea6bb042b4402163805c44dabfb3f4c05dfd4e23
-
Luc Trudeau authored
Like for intra block in intra frames, an extra call to txfm_rd_in_plane is added to the RDO of intra blocks in inter frames. This extra call is performed using the best parameters found during RDO and the reconstructed luma pixel are stored. Results on objective-1-fast (compared to CfL on Intra frames only) PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.2497 | -3.5526 | -3.5048 | -0.2456 | -0.2392 | -0.2508 | -1.4811 https://arewecompressedyet.com/?job=cfl-no-inter%402017-09-13&job=cfl-inter%402017-09-13T14%3A13%3A13.918Z Change-Id: I70ea2c01859b6c55d7c3eb9680d492c0bfc2aad4
-
Cheng Chen authored
For each superblock, its filtering range is shifted up and left by 8 pixels (half of the maximum loop filter length), such that estimation of deblocking filtering will not cross two superblocks. Change-Id: I82244b7c26ab8b2ac553037b3bb1fe1d82bf5704
-
Cheng Chen authored
Signal one bit to indicate whether current superblock reuses filter level of previous superblock. Try filtering and compute sse using previous filter level and search the best possible filter level. If their diff is less than predefined threshold, current superblock reuses previous level. Otherwise, signal the best filter level. Change-Id: Ibf125860883b774ef2464b62bb8b799b48258c64
-
Debargha Mukherjee authored
The compressed header is now used only when the refresh type is set as forward, i.e. in error resilience and frame parallel modes. As long as backward updates are used the header is disabled thereby saving bits. Change-Id: Iee9f66ffbd30ef3552ea41b75e4b51537cd9ff97
-
- 23 Sep, 2017 4 commits
-
-
Debargha Mukherjee authored
Removes setup in compressed header so that the compressed header can be skipped. Change-Id: I8d7ed63944a4f75704222f4ad7d0159db1cec0d1
-
Debargha Mukherjee authored
Change-Id: I3d6a440b13473b0d1e8b18c6629c7e8e3fb446ae
-
Debargha Mukherjee authored
This patch moves the sb_size to the keyframe header from all frame headers as discussed in the AOM Codec WG meeting. Change-Id: Ia0190e57b36b98e51ab61ad4ff14f24f9c294877
-
Cheng Chen authored
For the first superblock, signal a filter level (6 bit). For other superblocks, signal the delta (3 bit) and sign (1 bit). To guarantee the delta can be represented by 3 bits, the search range of current superblock filter level is capped as curr_lvl = prev_lvl +- ((1 << 3) - 1) Change-Id: Ibbe2941aa96ec1220ed2adb7edf3d29cb032f0ec
-
- 22 Sep, 2017 2 commits
-
-
Hui Su authored
It's not being used anymore, replaced by the CDF model. The counters are moved under the entropy-stats experiment, so that they can be used to tune the default CDF values. Change-Id: I50cb170c4c8699cf7317fd77853b3fedf2342d3e
-
Hui Su authored
Use common structure for inter and intra tx type information when possible. Change-Id: I1fd3bc86033871ffbcc2b496a31dca00b7d64b31
-
- 20 Sep, 2017 4 commits
-
-
Cheng Chen authored
Search and pick filter level for each superblock after the entire frame has been encoded. And then apply loop filtering using selected filter levels. Now it can't work with LOOPFILTER_LEVEL. Y, U, V planes share the same filter level. Per superblock, filter levels are signaled via bitstream. Future work: move selecting filter level into each superblock rather than wait for the whole frame encoded. Change-Id: I46cb994ec4866abb0456146f7c3cae8813c1d52e
-
Soo-Chul Han authored
Change-Id: I78bb38e3d61d74442278bd5ed1c4f695b7c8e24a
-
David Barker authored
Currently, when new-multisymbol and ext-comp-refs are both enabled, the comp_ref_type_prob and uni_comp_ref_prob arrays are forward updated in the compressed header, but their values are never used. We can save a tiny bit of space by not signalling the forward updates at all; as a side benefit, we can wrap the whole of read_frame_reference_mode_probs() in a #if !CONFIG_NEW_MULTISYMBOL block. Note: It seems the encoder already does this; I think the reason it doesn't cause mismatches is because we effectively pad the compressed header out to a full byte, and av1_diff_update_prob() reads a bit with a very high probability of being 0. Change-Id: Ia1fca05ee498609c98c7ea1f89578f6783357d7f
-
Dominic Symes authored
This adds the tool CONFIG_MAX_TILE Uniform tiles are implemented using power of two number of rows or columns. Maximum number of rows or columns is 64 Explicit tiles will follow in a later commit once the command line API is updated for this Change-Id: Ia8d22e7f4aa779448211496c644937afdf037228
-
- 19 Sep, 2017 1 commit
-
-
RogerZhou authored
Change-Id: Ic3c93a5d2e427ce1ed578389196a265245063821
-