- 11 Sep, 2017 8 commits
-
-
Jingning Han authored
Change-Id: Ie52d52bc25e3fdfdea877349215431d8edc064a3
-
Jingning Han authored
Fix the index order of br_idx. Change-Id: I55acda816d1ec33c25ca4c31b09976f5e6f9c562
-
Soo-Chul Han authored
Change-Id: Icd04302886a4d12890d04f9f15563169a91e3a0d
-
Zoe Liu authored
Change-Id: I52a7ae7404f15f29a0a0b892884cf0edea619507
-
Zoe Liu authored
Propose the coding structure for GF Group of 16 to use the following multi-layer design: 1st Layer: Frame 0 and Frame 16 (ALTREF) 2nd Layer: Frame 8 (ALTREF2) 3rd Layer: Frame 4 and 12 (ALTREF2) 4th Layer: Frame 2, 6, 10, and 14 (BWDREF) 5th Layer: Frame 1, 3, 5, 7, 9, 11, 13, and 15 This CL implements the reference frame update for a GF group of 16 using a look-up table, which is different from the current implementation. The motivation behind is to try out various GF group coding structures simply through manipulating the look-up table, instead of making changes on swapping the reference indexes and associated flags throughout the codebase. Change-Id: I823edae1c26263e0e0642a580685a25e81caa0a9
-
Debargha Mukherjee authored
Changes the macros SGRPROJ_BORDER_VERT and SGRPROJ_BORDER_VERT to 1 to use a single line border vertically - which will be equivalent to a 2-line buffer. Change-Id: I788d9dca53d3d492058914215acf61e9d3d3880d
-
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
-
David Barker authored
When cdef-singlepass is enabled, it is possible to signal the CDEF parameters in such a way that we end up with unsigned integer overflow in constrain(). Fix this by i) using signed instead of unsigned values, and ii) clamping the result to avoid going on to shift by a negative amount. Change-Id: Ib677b2d644e44000c54959f7280e646bf02054da
-
- 10 Sep, 2017 5 commits
-
-
Jingning Han authored
Replace the truncated geometric distribution model with the grouped leaves structure for more efficient probability modeling. Each group has its own Geometric distribution This give us 0.2% gain on lowres Change-Id: If5c73dd429bd5183a8aa81042f8f56937b1d8a6a
-
Angie Chiang authored
We got 0.07% gain on lowres Change-Id: I0aef14d16025d9933ec3d3b71086f3f55c81df66
-
Debargha Mukherjee authored
Inlcudes miscellaneous cleanups, test fixes, and code reorganization for loop-restoration components. Change-Id: I5b2e6419234d945e6f4344b22636119b50df4054
-
Debargha Mukherjee authored
This patch forces the vertical filtering for the top and bottom rows of a processing unit for the Wiener filter to not use border more than what is set in the WIENER_BORDER_VERT macro. This macro is currently set at 0 to eliminate line buffer completely, but it could be increased to 1 or 2 to use limited line buffers if the coding efficiency is affected too much with a 0 line-buffer. Also, for the sgr filter we added the option of using overlapping windows horizonttally and vertically to improve coding efficiency. The vertical border used is set by the SGRPROJ_BORDER_VERT macro, while the horizontal border can be set by the SGRPROJ_BORDER_HORZ macro set at 2, the max needed. Currently we do not recommend changing SGRPROJ_BORDER_HORZ below 2. The overall line buffer requirement for LR is twice the max of WIENER_BORDER_VERT and SGRPROJ_BORDER_VERT. Currently both are set as 0, eliminating line buffers completely. Also this patch extends borders consistently before CDEF / LR. Change-Id: Ie58a98c784a0db547627b9cfcf55f018c30e8e79
-
Luc Trudeau authored
Change-Id: I70a4dd8095276eb53050eacca2ee33ba39e7cc74
-
- 09 Sep, 2017 5 commits
-
-
Hui Su authored
Change-Id: Ie3912cb012676ccd26d2c0601e21fbb54943b1a0
-
This addresses visual studio warnings. Change-Id: Ia57739d8954a81ba5369f05aaf96cdb3144fd0a1
-
Sarah Parker authored
This was causing visual stuido warnings when attempting to write to seg_iqmatrix and seg_qmatrix using memcpy. Change-Id: Idf12464c8c90c83af9c2b3ea399d739f7df3b5f9
-
Sarah Parker authored
This addresses a visual studio warning for conversion from 'int64_t' to 'uint16_t' Change-Id: I0a8c67938c1b50d4eb33aa43cf368a21c60f49a8
-
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 10 commits
-
-
Cheng Chen authored
Change-Id: Id3453fcf61fced97810d68cc7ca285bf8bca7881
-
Tom Finegan authored
Change-Id: I949558a3fc716e717e3d0839a6a1ae4684ca7125
-
Hui Su authored
Intrabc is counted as inter mode, but it doesn't support var-tx yet. This patch skips tx partition info update for intrabc blocks. It resolves a decoder crash issue. Change-Id: I97e413e4a837ba6510e110347f5aa6e5fd14dcc5
-
Yaowu Xu authored
BUG=aomedia:685 Change-Id: I592016faeb4645cf43c599e0e2e11127e2a17c4e
-
Yaowu Xu authored
Change-Id: Ia84ea2f4e855671f5a29058cc7a6b5ba9e6bfef9
-
Change-Id: If4801b24e8711ab1e78a86b6dbb504be59042200
-
The CMake compiler test functions are built atop CMake's try_compile() function. try_compile() ignores configuration specific link flags in favor of the generic linker flag variable (CMAKE_EXE_LINKER_FLAGS is used instead of CMAKE_EXE_LINKER_FLAGS_<CONFIG>). This patch applies the flags cached in AOM_EXE_LINKER_FLAGS to CMAKE_EXE_LINKER_FLAGS during C and C++ compiler tests. Change-Id: I831244d114a8195527bcb865537494a98cabc170
-
When building without SSE4 support some compilers complain about an unused variable. Typically gcc's with a major version of 4. Guard the declaration of the offending var within a HAVE_SSE4_1 block to avoid the problem. Change-Id: I4e4deb46014c97f3157f3b6c2376e1b034a51b62
-
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
-
Hui Su authored
Encoder may do multiple rounds of transform RD search on the same residue signals. Save the RD search results so that encoder can fetch the results and terminate early if the residue signals have been seen before. The hash functions are ported from the hash_me experiment. Test results show the encoder speed is increased by 10% on average (ranging from 0 to 30%) with all default experiments on. Change-Id: I47dd63549f67cb43d3d700f6a76ce0992b1ccd0d
-
- 07 Sep, 2017 11 commits
-
-
Cheng Chen authored
A lot of local functions have av1_ prefix due to legacy reasons. Make them static and remove their prefix. Change-Id: I069a3a1af583d5d307cdc56819901d1f9e004d07
-
Debargha Mukherjee authored
Use macro SCALE_SUBPEL_BITS rather than hard-coded 4 for old warping code that is used for non-affine global models. Change-Id: I10ee7b29101cd79e77a4d29e69d67497fda4e967
-
Tom Finegan authored
Newer gcc's output logical-op warnings when and'ing together a duplicate condition. In this case it's because a constant was set to an enum value that was also checked locally. Change-Id: Iada9571d3e59ec9b75aa446fd6690587092af161
-
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
-
Yaowu Xu authored
Change-Id: I43e92e3f3799857e928543434d049b4155b64d7d
-
Yi Luo authored
Baseline + parallel_deblocking: - Passed unit tests *SSE2/Loop8Test6*, *AVX2/Loop8Test6*. - 1080p, 25 frames, profile=0, encoding/decoding, output match. - Decoder frame rate increases from 54.15 to 65.84. Change-Id: I55938c94961066594f4b9080192c7268c19d9bf9
-
Wei-Ting Lin authored
Change-Id: I0e9df3719e5f9a55e1386afe44851d1707e2e01b
-
Rupert Swarbrick authored
The callsites to decode_block and decode_partition in the body of decode_partition are rather noisy with code that is enabled or disabled by config flags, so it's hard to see what is fundamentally a simple recursion. This patch moves all that cruft into a pair of locally defined preprocessor macros (DEC_BLOCK and DEC_PARTITION) to simplify things. There's no diff in disassembled code when compiling before and after the patch. Change-Id: Ie08db263a9874e2c566c758e8f3a51d131b1b80b
-
Debargha Mukherjee authored
This patch forces the vertical filtering for the top and bottom rows of a processing unit for the Wiener filter to be 5-tap. The 5-taps are derived from the primary 7-tap fitler by forcing the taps at the end to be zero, and absorbing their weights into the other taps to maintain normalization. This will effectively reduce the line buffer size for luma Wiener filter to 4 (from 6). Change-Id: I5e21b58369777eabf553a8987387d112f98a5598
-
David Barker authored
As of patch https://aomedia-review.googlesource.com/c/20220 , it is no longer always the case that tile_rows == (1 << log2_tile_rows) and tile_cols == (1 << log2_tile_cols). This exposed an inconsistency in the tile-group decoding: When reading the first tile group in a frame, we read (log2_tile_rows + log2_tile_cols) bits each for the tile group start and length, but when reading later tile groups we read get_msb(tile_rows * tile_cols) bits. But now there are edge cases where those values differ! Since the encoder always uses (log2_tile_rows + log2_tile_cols) bits, this leads to mis-parsing the bitstream. Fix this by moving the decode logic to one function, which always reads (log2_tile_rows + log2_tile_cols) bits. As a bonus, this gives us one place to check other invariants, eg. that tile groups can't run off the end of the frame. Change-Id: I83b24314526b6055300b70b0f1cdce038e6b23dc
-
Yaowu Xu authored
Change-Id: Id606669875ef1dcb163ff7dec619dae6110d9047
-
- 06 Sep, 2017 1 commit
-
-
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
-