- 08 Sep, 2017 8 commits
-
-
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
-
Tom Finegan authored
Change-Id: If4801b24e8711ab1e78a86b6dbb504be59042200
-
Tom Finegan authored
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
-
Tom Finegan authored
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 20 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
Fix the bug forcing encoder/decoder to transmit/decoder all mbmi info for a superblock first. Change-Id: I623217655b043fc90adbcc13e4cf2a4a845084ab
-
Tom Finegan authored
Change-Id: If60c97131bed58ce7c6d3875f9a088df27b9bae4
-
Zoe Liu authored
In the old code, the function of allocate_gf_group_bits() in firstpass.c handles both GF group structure design as well as the corresponding bit allocation for each coded frame. This CL separates the two functionalities. It has been verified that no coding performance has been incurred by this CL. Change-Id: I544b4fcdc8cb37ec810373f1f820dbd2e400c39b
-
Yue Chen authored
Update cdf after each superblock being finalized, and re-compute symbol costs. Affected symbols include prediction parameters and tx type. BDRate: -0.119% lowres, -0.092% midres Change-Id: I724900ac04f725910ed7055a18c2f6a139469b52
-
Jingning Han authored
Merge the tile context models at the end of frame coding. Change-Id: I0a71c49c448cfbd71fb0bd15ca7b1f6097c56529
-
Jingning Han authored
BUG=aomedia:719 Change-Id: Id47c2c68cb61e142ce62fee5e97f7c474b3dc273
-
Wei-Ting Lin authored
Change-Id: Iff1a7e35c439f0baa7240eef75fcb5da46d06a4c
-
Wei-Ting Lin authored
Change-Id: I3de1c933ee0fa90e9c0d52e6cbe4bc8bf5482a73
-
Wei-Ting Lin authored
Change-Id: I7393596d98f11aa53ba4b9e329386b5168b3e086
-
Tom Finegan authored
Add AOM_EXTRA_<TYPE>_FLAGS variables. Currently AS, C, CXX, and LINKER are the available type values. These variables are added to argument strings for each type as the last step in generation to ensure that user flags have precedence over flags added by the AOM build itself. Change-Id: I8e01682ee6c7dad2253e01c446a5ced7d06596c7
-
Tom Finegan authored
BUG=aomedia:659,aomedia:695,aomedia:705,aomedia:706 Change-Id: Iba60166370362599f3f4ef7959a6304bf079857d
-
Yaowu Xu authored
Change-Id: I1b921e79484e78a272c4f62e30cb85631a65ac25
-
David Barker authored
When using chroma subsampling, the warp filter currently behaves strangely when projecting chroma pixels, especially when the subsamplings are not equal along the x and y axes. For example, when subsampling_x = 1 and subsampling_y = 0, we calculate the destination coordinates (dx, dy) from the source coordinates (sx, sy) as: dx = project(2*sx+0.5, 2*sy+0.5)/2 - 0.5 dy = project(sx, sy) where project() applies the affine warp model. This patch changes to a simpler and more consistent model, where we: * Project the chroma sample into luma coordinates, taking the chroma sample to be co-located with the top-left luma sample in its (2x2, or 2x1, or 1x2) subsampling block (this is done for simplicity; we don't expect the exact position to make much difference to the output quality) * Apply the transformation in luma coordinates * Project the resulting luma sample back into chroma coordinates Change to software speed is in the noise, but this approach should be simpler in hardware, and should slightly improve quality for 4:2:2 and 4:4:0 videos. Change-Id: Idd455fdd3897594ca7d4edff5b85b78961d1638d
-
Rupert Swarbrick authored
The previous code converted a frame_w (say) of 1 to zero for a plane where subsampling was enabled, causing a division by zero in av1_get_rest_ntiles. This doesn't match the spec, which says subsampling rounds up. The patch adds the rounding, and also adds an assertion to av1_get_rest_ntiles to help diagnose any other broken callsites. Change-Id: Ia6c249fa935c3a16d122ba6e7b450fe99f412fde
-
Debargha Mukherjee authored
Changes loop-restoration to use processing unit size that is 64x64 for luma; for chroma the processing unit is coupled to 64x64 support region for luma. Thus for chroma the processing unit size is 32x32 for 4:2:0, 32x64 for 4:2:2 and 64x64 for 4:4:4, etc. While the Wiener filter output should not change with this patch, the sgr filter will change since the boundary pixel handling in sgr is internal within the filter. Change-Id: I65a9e2df88927a19445420ce400acb1fcf7afa93
-
Cheng Chen authored
This is a legacy function but not used outside of the file. Make it static. Change-Id: I1d32c26aaf243202a7fa72056f5e74cf25bbb62a
-
Zoe Liu authored
Change-Id: If44394e363cc443e46c31d91c8e03a85d91b1a92
-
Yushin Cho authored
One of the changed files has been mistakenly missed for the commit 55104335 https://aomedia-review.googlesource.com/#/c/aom/+/18261/ Change-Id: Ie47f882a25e650bb4d74d5675f2306adc9e654a7
-
Yushin Cho authored
Change-Id: I3f3df7acc79f770e42fe65b52f383ee8dfe2702a
-
- 05 Sep, 2017 1 commit
-
-
Timothy B. Terriberry authored
Automatic rebasing didn't pick up that an extra instance of the EC_SMALLMUL flag was added in commit 8711cf5f. However, that commit also broke CONFIG_ANS, since the CDF probabilities are not inverted in that case. This patch fixes both issues. Change-Id: I85b3eb8a4be5b7a392f2f872fc4a90f3fdbf2727
-