- 13 Jun, 2017 1 commit
-
-
Yushin Cho authored
Daala-dist replaces the luma distortion of sub8x8 partitions with its own distortion thus requires to split the luma distortion only. Doing so, there has been a bug that INT_MAX64 value comes when the sub8x8 parition is skipped. This happened because the existing code does not initialize the rd_stats_y or tmp_rd_stats_y, i.e. rd_stat struct for luma only in several places. Change-Id: If229b53bb7a6cff0b8751138a32b1dcf02665624
-
- 12 Jun, 2017 12 commits
-
-
Fergus Simpson authored
Commit 12311 had a misplaced assert set that was causing superres debug runs to fail. The asserts just needed to be moved to where they were relevant to fix the issue. Change-Id: Ic370686c7156fcaf9380d8d8fd9d35b892d77e46
-
Yue Chen authored
A new experiment SBL_SYMBOL, meaning superblock-level symbols, will be explored. It allows some symbols being coded at superblock level (64x64) by checking whether a symbol(e.g. motion_mode, tx depth, and interpolation filter) is identical across macroblocks in a superblock. Change-Id: I38408325c9b7a4b94c11c400a5060036ce36405e
-
Sarah Parker authored
Responding to some left over cosmetic comments from 2b5cdb1cf87c933331a16cc0221455d0a8c255e1 Change-Id: I42e126593526cedd6675adf35b9c1df78e1ddf54
-
Yushin Cho authored
Change-Id: I8379e4055e9c2737f1ad310095d7a318e6e74b2f
-
Yushin Cho authored
Change-Id: I68bb6ea8e26efe44bbbfb0f1a956620578578d55
-
Fergus Simpson authored
This patch implements the post-encode and post-decode upscaling for the frame superresolution experiment to work. Upscaling happens after cdef and before loop restoration. For now, this patch forces on random-superres. The patch also cleans up some broken rate control hooks from VP9 days, to be brought back later when the resize and superres tools are stable. Change-Id: If0a8f69224dfaa0f4ae7703bd429ea2af953c7a6
-
Yue Chen authored
Refactoring: split prediction+extension for each plane, so we can handle luma/chroma supertx pred in different ways. Compatibility fix: fix conflicts with cb4x4 and chroma_sub8x8, now for chroma sub8x8 supertx, only the top-left(basic cb4x4) or the the bottom-right(cb4x4 + chroma_sub8x8) predictor will be used without any blending within a 8x8 unit. Change-Id: I6cf7b12768a82d3c7e01811ada02de84af9bd8ac
-
David Barker authored
The values 'offset_r' and 'offset_c', representing a random offset into a large pre-generated block, were calculated the wrong way around. This could cause problems when testing rectangular convolutions. Change-Id: Ide830f275c83492abe83b61216da0fbce669fb7e
-
Zoe Liu authored
Change-Id: Id55bb8421edc0ccdf87db46f7b9b36b0a93a4efa
-
Zoe Liu authored
Check the availability of the reference frames at the frame level at both encoder and decoder, and if a reference frame is not available for a specific video frame, remove the signaling of such reference frame info at the block level. This patch adds the consideration of the bit saving inside the RD optimization loop. Change-Id: I4c22f1b843b21c7d2b47e118c99c3ad615a3d4e4
-
Steinar Midtskogen authored
High delay cpu-used=4 PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 0.0579 | 0.1380 | -0.1975 | 0.0361 | 0.0226 | 0.0072 | 0.0470 Low delay cpu-used=4 PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.1016 | -0.0695 | 0.1013 | -0.1324 | -0.0903 | -0.1260 | -0.1710 Change-Id: I5a66a1ffc2d1fb2a203065b7fbb2fd2bd2b281ad
-
Jingning Han authored
Scale the rounding factor according to the scaling factor applied to the quantization step size. This resolves a compression performance regression in 32x32 and above transform size. BUG=aomedia:599 Change-Id: Id3fc9a46c4a8843ff5d77ccaa59ee3112b12d7f4
-
- 11 Jun, 2017 3 commits
-
-
Jingning Han authored
This avoids the rounding errors due to the right shift of the negative numbers that cause the reconstruction coefficient has higher distortion than the source coefficient. BUG=aomedia:599 Change-Id: I11ed86bf1d41164dda4398545334a7b4e8e10513
-
Debargha Mukherjee authored
Change-Id: Iab2f7ca3c66f8f62b66100e61ff0f6e7376670ae
-
Jingning Han authored
The highbd_clip_pixel_add() function is generalized to be used in the regular 8 bit path. Move its defintions outside the highbd experimental flag. This resolves the comiler warning in unit tests when high bit-depth is turned off. Change-Id: I90a744adb2381c9bf8476aa2a2bd0c87d9afdf57
-
- 10 Jun, 2017 1 commit
-
-
Timothy B. Terriberry authored
This was hard-coding the assumption that the block size for the smallest TX size was also the smallest block size. This is no longer true since fe67ed6a landed. As a result, for TX blocks that overlapped the frame edge, it was only measuring distortion on the upper-left 2x2 part of each 4x4 sub-block, causing the encoder to prefer larger transforms which cause such overlap and avoid transforms which do not, causing a regression. This patch uses the appropriate conversion table, which fixes the regression. BUG=aomedia:593 Change-Id: Id253cf0f3a5252378e3f340b8350120639ff5c88
-
- 09 Jun, 2017 9 commits
-
-
Yue Chen authored
BUG=aomedia:597 Change-Id: I6ff109fac8351a98a672259532520e062c1e6497
-
The Windows calling convention pushes any __m128i type arguments after the 3rd (4th on x86-64) onto the stack. But on x86, stack-allocated arguments are not guaranteed to be aligned to a multiple of their natural alignment, leading to compile errors. We fix this by making the functions which take >3 __m128i arguments instead take pointers. Since the functions are marked INLINE, the extra memory operations should optimize out. BUG=aomedia:587 Change-Id: I0cb2831fd12aded6f2821c037365386e6183ba5c
-
David Barker authored
Includes a test case based on the warp filter tests Change-Id: I9abea53a088f68bb8a928ebd7cb96b3266a63c13
-
Jonathan Matthews authored
Bug introduced in change: I34cdeaed2461ed7942364147cef10d7d21e3779c BUG=aomedia:591 Change-Id: I49b9edd2bf5a482b5afea5d83d56e04a0086f797
-
David Barker authored
* Reduce bit widths of intermediate values where possible * Change ROUND_POWER_OF_TWO_SIGNED to ROUND_POWER_OF_TWO in av1(_highbd)_convolve_2d * Apply offsetting and bounds checking, to match the intended hardware implementation * Separate the implementations of av1(_highbd)_convolve_2d into compound-round and non-compound-round cases. This is because there are now a significant number of differences between the functions. Overall, this is expected to affect the bitstream and encoder output when convolve-round alone is enabled, but *not* when compound-round is enabled. Change-Id: I8c21e0645fd11f64c59552885f87f4a5dd40ccf7
-
David Barker authored
The 'ref' member of ConvolveParams currently serves two purposes: * To indicate which component of a compound we're currently predicting, eg. for fetching interpolation filters with dual-filter enabled. * To determine whether we should average into the destination buffer. But there are two cases where we want to separate these out: * In joint_motion_search, we want to try combining a fixed second prediction with various first predictions. * When searching masked interinter compounds, we want to predict each component separately then try different combinations. In these cases, we set 'ref' to 0 and use temporary variables to make sure we use the correct interpolation filters. But this is quite fragile. This patch separates out the two uses into separate members. This allows us to remove some temporary variables, but more importantly gives easy fixes to two bugs in build_inter_predictors_single_buf (used by rdopt): * We previously set ref=0 but didn't fix up the interpolation filters * For ZERO_ZEROMV modes, the second component would accidentally average into the (uninitialized!) second prediction buffer BUG=aomedia:577 BUG=aomedia:584 BUG=aomedia:595 Change-Id: Ibc31d1ac701a029ea5efaa1197dd402bc4b7af1e
-
Urvang Joshi authored
This has been found to be better than the original version in both ways: (1) Better compression: lowres -0.229, midres -0.147 (2) Faster too in my quick test over 5 different clips with 30 frames: 2.7% to 10.5% faster. Change-Id: I4d46e0915d6e4b8e7bfc03d0c8b88cbe3351ca20
-
Thomas Davies authored
2x2 transforms are now hidden behind the CHROMA_2X2 macro, not the CB4X4 macro. Change-Id: I5d73c679fba486ccda98fa8dbb804a3902df6c8d
-
Tom Finegan authored
Minor updates in test/tools_common.sh to enable use of test/examples.sh with CMake make builds while continuing to support configure builds. BUG=aomedia:76,aomedia:589 Change-Id: I841aef3b61a0c9baa8ad7356fc5b51ffb0902907
-
- 08 Jun, 2017 11 commits
-
-
Visual Studio doesn't support it. Change-Id: Ie7bd21e6d9a8a30b7b89e9fca6b82dd2aa406a89
-
Alex Converse authored
BD-RATE PSNR twitch-1 1st KF: -0.1334 BD-RATE PSNR wikipedia 1st KF: -8.8791 Change-Id: I882af1d317ebdd3017c23fb884fc624282a2a55f
-
Sebastien Alaiwan authored
This option is obsolete and confusing now that the LBD coding path can be disabled at build time (--disable-lowbitdepth). Removing it makes the encoder/decoder behaviours symmetric, and prevents the "--test-16bit-internal --test-decode=fatal" mismatch. BUG=aomedia:528 Change-Id: Ia2d9857629b789b11d37fc75433b2cecc27d6642
-
Angie Chiang authored
This will fix Assertion in get_txb_ctx() for invalid sign value After fixing this bug, we have around 0.2% gain on lowres. With cb4x4 on only, lv_map provides 1.538% gain on lowres. With cb4x4 + chroma_sub8x8, lv_map provides 1.468% gain on lowres. Change-Id: I06f996ec5af0d5e79e377a3dc8c012862fc4b9c7
-
Yushin Cho authored
For a tx size RD search with partition size >= 8x8 and tx size < 8x8, daala-dist function is applied to the whole partition after all tx blocks are encoded instead of each 8x8 sub block of the partition. Change-Id: I27d9e2960aa641f550096e32ebcdf8dfb4de79a6
-
Sebastien Alaiwan authored
Change-Id: Id926529b11f859aebed43fdcfcdedba9ce26b1a7
-
Frederic Barbier authored
Cleanup related wrappers and unit-tests. Change-Id: I2d37a8c80de63dbeaef584e3d5fa842c0b2ee6db
-
Sebastien Alaiwan authored
This reverts commit bf3813a1. Reason for revert: feature not ready. Incompatible with lossless under some circumstances, causes the following assertion failure: Assertion `(!is_compound) == (cm->reference_mode == SINGLE_REFERENCE)' failed BUG=aomedia:575 Change-Id: I63a2b38ce3b7cb50108ac559cca0768b4579c9ae
-
Nathan E. Egge authored
Change-Id: If00a0bdf239b2c9e355cffd2e472708acb189f16
-
Sarah Parker authored
This unifies the codepath for high-bitdepth transforms and deletes all calls to the old deprecated versions. This required reworking the way 1d configurations are combined in order to support rectangular transforms. There is one remaining codepath that calls the deprecated 4x4 hbd transform from encoder/encodemb.c. I need to take a closer look at what is happening there and will leave that for a followup since this change has already gotten so large. lowres 10 bit: -0.035% lowres 12 bit: 0.021% BUG=aomedia:524 Change-Id: I34cdeaed2461ed7942364147cef10d7d21e3779c
-
Angie Chiang authored
Change-Id: I0512000554ef74d397332e5ed135fe20e2c4a37e
-
- 07 Jun, 2017 3 commits
-
-
Yi Luo authored
- Add unit test for av1_block_error. - Fix av1_dist_block logic for calling av1_block_error. Change-Id: Id8a47ee113417360a29fc2334d9ca72b5793e2d7
-
Sebastien Alaiwan authored
Change-Id: I2e83419aecf6464fa76f091015597207a12bd478
-
Alex Converse authored
Saves some bits here and there, no effect on reconstruction. -0.13 BD-RATE PSNR on wikipedia_420 Change-Id: Idfa137fe61b828fd99eaecda84afa2eaaf893d71
-