- 14 Jun, 2017 5 commits
-
-
Jingning Han authored
Map the rectangular transform block size into the bigger square transform block size as the context for level map probability model. Change-Id: I20cf2b16daec16172855a78a201b670ff0547bf5
-
Cheng Chen authored
Fix a bug that causes unnecessary filtering on inner 4x4 block boundaries inside a 8x8 transform block. BUG=aomedia:594 Change-Id: I0b39fdb4fd9a1c1892c8eac547f5d83823fd05c8
-
Luc Trudeau authored
plane_bsize is now computed properly. This also includes support for the special case of blocks < 4X4 Results on subset1 (compared to 8e689e4b with CfL) PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.0218 | -0.2328 | -0.2555 | -0.0230 | -0.0379 | -0.0723 | -0.1205 Change-Id: I6ec87d818d8df6a40ecf3bb1b86954e59c952930
-
Thomas Davies authored
Remove deprecated tree coding for the global motion type. Encoding with literals costs at most 0.8 bit per frame or tile group for the identity type, and saves bits for other types. AWCY (objective-1-fast): PSNR +0.02%, PSNR-HVS/MSSSIM +0.03%. Change-Id: I421a39fd8f830b2e40d105ea3c3688099a2b6d15
-
Ryan Lei authored
this change added the support for var_tx in the parallel deblocking experiment. the mainc change is the way to get actual transform size for every MI from internal tx size table of the mbmi structure. Change-Id: I225f3a95b1def15d6389d572927156720e487e11
-
- 13 Jun, 2017 12 commits
-
-
Yi Luo authored
- Function level improves 36% against sse2. - Encoder speeds up 2.6% at user level on i7-6700. Change-Id: I9e43ce60b1e0de8f532249e5c035851463d75dbb
-
Yushin Cho authored
In function av1_xform_quant(). For subset1, high delay mode: PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.0565 | -0.0975 | 0.0317 | -0.0937 | -0.0930 | -0.1261 | -0.0994 Change-Id: I638c2a4c2ad359709069c1587b677a813fb589c2
-
Lester Lu authored
Change-Id: Iba98b07d2f19fd98be07d0c2c80c855661df778d
-
Fergus Simpson authored
There were several places where loop_restoration used the encoded width and height while superres was active. This patch changes it to use the upscaled width and height, since loop_restoration is supposed to occur after superres has done its upscaling. Change-Id: I2b9bbb06b5370618758bf81d8eb63f2eef26af80
-
David Barker authored
This affects two places: * Fixes a compile error with frame-superres when highbitdepth is disabled. * Avoids including some supertx-related code when supertx is disabled BUG=aomedia:602 Change-Id: Idfc478fd88ade91d48c93cfd8abdd2bea86de898
-
David Barker authored
Change-Id: I4ac551f52f9a5f589d58b643a9849ec17e3c11e8
-
Sebastien Alaiwan authored
Change-Id: I58644fe61a1893d96958722d6044486f924ef2e9
-
Tom Finegan authored
And mark README as deprecated. Change-Id: I9b353f70de9261a1877e520928df30b42226c02f
-
Yushin Cho authored
Fix the bug that height of a partition is used as a stride mistakenly. This fixes the regression caused by sub8x8 tx size rd search for a partition >= 8x8. Change-Id: I6114814dcec70fd5198f681c0a861bc9849286fd
-
Thomas Davies authored
Only apply quantisation matrices when the transform is 2D. Change-Id: Iae9ac910c11199f7944a80d10d334db3b711059d
-
Zoe Liu authored
Now the single ref comp mode should work with WEDGE and COMPOUND_SEGMENT. For motion_var, the OBMC_CAUSAL mode uses the 2nd predictor if the neighboring block is single ref comp mode predicted. This patch removes the mode of SR_NEAREST_NEWMV and leaves four single ref comp modes in total: SR_NEAREST_NEARMV SR_NEAR_NEWMV SR_ZERO_NEWMV SR_NEW_NEWMV Change-Id: If6140455771f0f1a3b947766eccf82f23cc6b67a
-
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 7 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
-