- 28 Sep, 2017 3 commits
-
-
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
-
Thomas Daede authored
Although they are called "sync codes", nothing is synchronized using them. Change-Id: I2dbd67daf9f4822438323212bb96cac489c38c5d
-
Thomas Davies authored
CDFs are used for coding and costs, so there is no need to base the CDF on the obsolete tree and remap filter indices. No change to common test conditions BDR. Change-Id: I441dd21b127bc07ba33eef8ddcfd147eef21d0d4
-
- 27 Sep, 2017 2 commits
-
-
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
-
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 4 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
-
Thomas Davies authored
rem_bits-1 not rem_bits should be transmitted so that 2 cannot be coded in two ways. BUG=aomedia:811 Change-Id: Iaa0203214bbe6fc6775e05fe4b6e976d568f54b3
-
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 3 commits
-
-
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 3 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
-
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
-
- 18 Sep, 2017 1 commit
-
-
Thomas Davies authored
Change-Id: Ic29bac4cd00a009e4a5a607ecc5596fa53bb1c1f
-
- 16 Sep, 2017 1 commit
-
-
Hui Su authored
Improves keyframe coding by 0.1% on the screen_content testset. Change-Id: I5793a67eaae21010ef200038af99ebb9029fc770
-
- 15 Sep, 2017 2 commits
-
-
Yi Luo authored
Change-Id: I9b92caa9d65a3b062762c270c89018c8e08eba0f
-
Zoe Liu authored
Currently the use of the new multi-layer GF group of 16 is guarded by the macro USE_GF16_MULTI_LAYER, which is turned off. Hence this CL does not change any of the encoder behavior. Change-Id: I588cd34e19388337a2ecb0a0cb3f796a37647e24
-
- 13 Sep, 2017 2 commits
-
-
Sarah Parker authored
This allows gm parameters to be written when error resilient mode is enabled but avoids depending on stored parameters from the previous frame. BUG=aomedia:741 Change-Id: Iae455a346e0eebb18e2bcfadc8826c75aedfee99
-
Debargha Mukherjee authored
Turn off compound modes as long as one of the dimensions is less than 8. Imapct on AWCY (0.05% increase in BDRATE) https://arewecompressedyet.com/?job=debargha-nocdef-sub8c8nc-0907%402017-09-07T20%3A28%3A38.251Z&job=debargha-nocdef-0907%402017-09-07T14%3A42%3A17.170Z Change-Id: I4a70890c04149246a50e60990dede21cb8052fad
-
- 11 Sep, 2017 2 commits
-
-
Sarah Parker authored
This allows a mask for mrc-tx to be sent in the bitstream for inter or intra 32x32 transform blocks. The option to send the mask vs build it from the prediction signal is currently controlled with a macro. In the future, it is likely the macro will be removed and it will be possible for a block to select either method. The mask building functions are still placeholders and will be filled in in a followup. Change-Id: Ie27643ff172cc2b1a9b389fd503fe6bf7c9e21e3
-
Steinar Midtskogen authored
Since CDEF looks uses the luma direction for chroma, CDEF would have to change significantly to support formats like 4:2:2. The limited use of such formats does not justify the complexity to support this, so the simple solution is to mandate that the chroma planes aren't filtered if subsampling_x != subsampling_y. Most of the visual gain is in luma, anyway. This also means that the chroma strengths and chroma skip condition shall not be sent if subsampling_x != subsampling_y. BUG=aomedia:720 Change-Id: I35c184a6fe0908ae0fee1e74494b6904fa9a3c82
-
- 09 Sep, 2017 1 commit
-
-
Wei-Ting Lin authored
This patch allows ncobmc-adapt-weight to replace warped-causal, and also remove transmitting ncobmc_mode_prob in the frame header. Change-Id: I2713b3abbd28eef8b203637e432eca6a782e3b9a
-
- 08 Sep, 2017 1 commit
-
-
Hui Su authored
Do not refer to above MB when on SB boundary. This helps to reduce line buffer. Keyframe coding gain on the screen_content testset drops from 1.28% to 1.20%. Change-Id: I4b06fd137d6c9ea68d618035381f09d0746ba9e8
-
- 07 Sep, 2017 2 commits
-
-
David Barker authored
Save bits by not encoding global motion data when there's no previous frame to use as a reference. Use the same logic as for using the previous frame's motion vectors - ie, we don't read global motion information when the current frame is intra-only or when using error-resilient mode. This also fixes an undefined behaviour / segfault bug - see https://bugs.chromium.org/p/aomedia/issues/detail?id=731 for details BUG=aomedia:731 Change-Id: Icca90a1bccafd06de8a4056ca5353318fce416cb
-
Wei-Ting Lin authored
Change-Id: I0e9df3719e5f9a55e1386afe44851d1707e2e01b
-
- 06 Sep, 2017 3 commits
-
-
Sarah Parker authored
This requires making a temporary copy of the functions in binary_codes_writer/reader to take in the aom_write_bit_buffer type. Change-Id: Idb60b29cff69b45224535c6e6a4079a34a2c6871
-
Wei-Ting Lin authored
Change-Id: I3de1c933ee0fa90e9c0d52e6cbe4bc8bf5482a73
-
Wei-Ting Lin authored
Change-Id: I7393596d98f11aa53ba4b9e329386b5168b3e086
-
- 05 Sep, 2017 1 commit
-
-
Thomas Davies authored
Use adaptive CDFs for coding the palette mode. Change-Id: Iadbccfea4f4a38f3037814a609adf3f3ae2c835d
-
- 04 Sep, 2017 1 commit
-
-
Change-Id: If0b48a4ee1f7902d8c6154945ccef68a2b5aabb5
-
- 03 Sep, 2017 1 commit
-
-
Rupert Swarbrick authored
Rather than encoding the loop restoration coefficients at the start of the frame header, this patch moves them to occur just after certain top-level superblocks. You might hope that we could just encode coefficients on top-level superblocks where the top-left corner of the superblock was also the top-left corner of the loop restoration tile. Unfortunately, this can't work with the superres experiment, where the loop restoration tiles don't necessarily line up with the superblocks. Indeed, in general there can be multiple different loop restoration coefficients that apply in a given top-level superblock. This patch defines a function, av1_loop_restoration_corners_in_sb, which yields the rectangle [rrow0, rrow1) x [rcol0, rcol1) of loop restoration tiles whose top left corners lie in this top-level superblock. The total file size should be unchanged by this patch: the bits have just been moved from the frame header and spread out among the rest of the frame. Change-Id: Icf43b0560964a63dea0d2cd801313f04139188d7
-
- 02 Sep, 2017 1 commit
-
-
Zoe Liu authored
Change-Id: Ie67266538db41c6aa7d79a5c270c26c021583c48
-
- 01 Sep, 2017 2 commits
-
-
David Barker authored
Lots of small bug fixes, mainly around the transform size coding: * The loop filter was accidentally using the non-subsampled block size for the V plane, due to comparing a plane index (0, 1, or 2) against PLANE_TYPE_UV (== 1) * We allowed an initial update of the transform partition probabilities even on frames where we know they will never be used (because tx_mode != TX_MODE_SELECT). Further, these probabilities would not be reverted at the end of the frame, leading to the probability delta persisting across frames. Change this to behave more like the non-var-tx transform size coding, where probability deltas are only coded for frames with tx_mode == TX_MODE_SELECT, and the deltas only apply for one frame. * Fix decoder for the case where the video as a whole isn't lossless, and we have tx_mode == TX_MODE_SELECT, but the current segment *is* lossless. Note that the encoder already does the right thing in this case. * Don't allow the transform splitting to recurse "below" 4x4. This is really just a refactor, but means we can increase the maximum depth when subdividing rectangular transforms if we want to, whereas the previous code would have needed special cases for 4x8 and 8x4 transforms. * Finally, when we hit the maximum splitting depth, don't update the counts as if we had coded a 'no split' symbol. Change-Id: Iaebdacc9de81d2e93d3c49241e719bbc02e32682
-
Rupert Swarbrick authored
This is a baby-step towards encoding the coefficients at the start of superblocks at the top-left of loop restoration tiles. Note that this patch causes us to reset "wiener_info" and "sgrproj_info" at each tile boundary, which will cause a performance drop. This is necessary because, in order for tiles to be processed in parallel, we cannot delta-encode coefficients across tile boundaries if the coefficients are signalled within tiles. We could probably do better than the current patch by, say, delta-encoding against previous frames. This patch also fixes up the costing in pickrst.c to match Change-Id: I5b8b91d63aaf49627cde40219c31c0ac776dfd38
-
- 31 Aug, 2017 1 commit
-
-
Stanislav Vitvitskyy authored
Test results: akiyo -0.05% bowing -0.072% bridge -0.042% bus -0.156% coastguard -0.645% container -0.087% deadline 0.007% flower 0.02% football -0.009% foreman 0.03% hall 0.087% highway -0.041% husky -0.031% mad900 0.015% mobile -0.007% mother 0.012% news 0.039% pamphlet 0.061% paris -0.003% sign -0.148% silent 0.003% students -0.009% tempete -0.061% waterfall 0.666 Change-Id: I96c2fd3a6fbc5f8e5cf7f3b881ef89335e58d5ac
-