- 15 Nov, 2017 1 commit
-
-
Marco authored
Fix/cleaup the conditioning for usage of the reuse-lowres partition feature. Replace the non-reference condition with the top temporal layer, and put this condition in the speed feature. This prevents doing update_partition_svc() on every VGA frame, instead it will now only do update for VGA in the top temporal layer frames. Also this makes it easier to test/enable this feature for lower layer temporal frames. Change-Id: Ia897afbc6fe5c84c5693e310bcaa6a87ce017be5
-
- 14 Nov, 2017 2 commits
-
-
Scott LaVarnway authored
Change-Id: Ic10ba580fd5da7d6ff7fa0f33db72fb0c1a97801
-
James Bankoski authored
-
- 13 Nov, 2017 7 commits
-
-
Jerome Jiang authored
-
Jerome Jiang authored
VPX_ENCODER_ABI_VERSION was bumped up in 93e83f. Change-Id: Id5707f9f9db56fa96549bc8f54e1cfa04e7fa4cd
-
Jim Bankoski authored
Change-Id: I92e4dba2d1682a0d77ad9a214ec4312b1cf4d42e
-
paulwilkins authored
For new VP9 only content type adjust the rate distortion and ARF filter based on the relative spatial variance of the source and reconstruction. In regards to the RD loop the method favors modes where the reconstruction variance is similar to the source variance. However it is currently only applied to regions where the source variance is quite low. For very low variance blocks it applies a further bias against intra coding and large prediction block sizes (the later in particular limit the usefulness of the loop filter). The final part of this change is to lower the strength of the ARF filter for blocks where the source has very low spatial variance, to encourage some low amplitude texture or noise to pass through the filter. This change improves the retention of film grain and fine noise / texture in spatially flat regions, but as expected causes a significant drop in PSNR on many clips. This is to be expected because similar but misaligned noise or texture will give a lower PSNR than a flat noise free reconstruction. However, it is worth noting that most clips show a strong gain in FAST SSIM. The features are enabled on the vpxenc command line by setting --tune-content=film. VPX_ENCODER_ABI_VERSION bumped for this change and cvbr. Change-Id: I26a4e4edfa3dc5cacead82fa701fe7a9118ccd0a
-
paulwilkins authored
Removed three parameters that are no longer needed in calls to calc_arf_boost() and associated minor changes. No impact on encode results. Change-Id: Ieaf31d0d2e1990b99cf69647170145a1bbfbb9fb
-
Paul Wilkins authored
-
Paul Wilkins authored
-
- 10 Nov, 2017 5 commits
-
-
Scott LaVarnway authored
SSE2 instrinsic vs AVX2 intrinsic speed gains: blocksize 16: ~1.33 blocksize 64: ~1.51 blocksize 256: ~3.03 blocksize 1024: ~3.71 Change-Id: I79b28cba82d21f9dd765e79881aa16d24fd0cb58
-
Scott LaVarnway authored
-
Marco Paniconi authored
-
Marco authored
For choose_partitioning (speed >= 6): avoid computation of minmax variance for non-reference frames in SVC. Existing condition only avoided this for speed >= 8. Combine that existing logic with non-reference condition. Small speedup (~0.5-1%) for 3 layer SVC, neutral change on avgPSNR/SSIM metrics. Change-Id: I3e9f3a1af0647b15e475cf170d9402908d672ee5
-
James Zern authored
-
- 09 Nov, 2017 8 commits
-
-
Jerome Jiang authored
-
Jerome Jiang authored
For SVC with 3 spatial layers: Add feature to copy/upscale partition from middle spatial layer to the upper/highest resolution, when superblock sad is not high. Enabled for speed >= 7 and only for non-reference frames. Speedup ~3-4%, small loss in avgPNSR/SSIM of ~1%. Change-Id: I7f0a2716c0fde28bade0f86159d11b7e31d6ab8d
-
Scott LaVarnway authored
Change-Id: I7364a157de39eb7137b599808474b8d46d19d376
-
Johann Koenig authored
-
Scott LaVarnway authored
SSE2 asm vs AVX2 intrinsics speed gains: blocksize 16: ~1.00 blocksize 64: ~1.17 blocksize 256: ~1.67 blocksize 1024: ~1.81 Change-Id: I2a86db239cf57e3ff617890ccb2d236aba83ad5e
-
paulwilkins authored
For a chosen interval "i" the existing arf boost calculation examined frames +/- (i-1) frames from the current location in the second pass. This change checks to make sure that the forward search does not extend beyond the next key frame in the event that the distance to the next key frame is < (i - 1). Small metrics gains on all our test sets but these are localized to a few clips (e.g. midres set psnr-hvs sintel -2.59% but overall average was only -0.185%) Change-Id: I26fc9ce582b6d58fa1113a238395e12ad3123cf6
-
Jerome Jiang authored
-
Jerome Jiang authored
The new test will run a SVC bitstream which has non ref frames. It checks the number of buffer acquired and released to make sure all external frame buffers are released. Add a new test bitstream: vp90-2-22-svc_1280x720_1.webm which has 400 frames in total, and 1 spatial layer and 2 temporal layers. There is one non ref frame every other frame. Disabled for now. Will be enabled with the fix. BUG=b/68819248 Change-Id: I0515336fd9809a9e1fceba90e4dce53dabaf53a5
-
- 08 Nov, 2017 2 commits
-
-
Johann Koenig authored
-
paulwilkins authored
Added command line control of Corpus VBR. The new corpus vbr mode is a variant of standard VBR (end-usage=0) where the complexity distribution mid point is passed in rather than calculated for a specific clip or chunk. The new variant is enabled by setting a new command line parameter --corpus-complexity to a zero value. Omitting this parameter or setting it to 0 will cause the codec to use standard vbr mode. The correct value for a given corpus needs to be derived experimentally using a training set such that the average rate for the corpus is close to the target value. For example our using our low res test set with upper and lower vbr limits of 50%-150% and a corpus complexity value of 650 gives a similar average data rate across the set to using standard vbr. However, with the corpus mode easier clips will be allocated fewer bits and harder clips more bits rather than having the same rate target for all. Change-Id: I03f0fc8c6fb0ee32dc03720fea6a3f1949118589
-
- 06 Nov, 2017 1 commit
-
-
Marco authored
For nonrd_pickmode: if early_term is set there should be no need to include UV in rdcost (when color_sensitivity is set). Neutral change on RTC and RTC_derf metrics, for speed >= 5. No change for ytlive metrics. Very small speed gain (~0.5%) on some clips with strong color content. Change-Id: Ifc00928ecd935fc71e94935ceef0ae7481249f07
-
- 03 Nov, 2017 3 commits
-
-
Kyle Siefring authored
The added AVX-512 support requires the subset of AVX-512 added in Skylake-X. Change-Id: I39666b00d10bf96d06c709823663eb09b89265b7
-
Marco authored
Allow for compound prediction mode in nonrd_pickmode for ZEROMV. For real-time encoding, 1 pass with non-zero lag-in-frames. Added speed feature to control the feature. Enabled for speed >=6 for now, under VBR mode. avgPSNR/SSIM metrics positive on ytlive set, for speed 6: some clips up by ~3-5%, some clips neutral gain, average gain across clips is ~1%. Small/negligible decrease in speed. Change-Id: I7a60c7596e69b9a928410c5ee2f9141eecd8613d
-
Johann authored
Even though frame_size is calculated in uint64_t, it winds up in an int size value. This was exposed with the msan test because the memset is called with (int)frame_size, leading to a segfault. Change-Id: I7fd930360dca274adb8f3e43e5e6785204808861
-
- 01 Nov, 2017 2 commits
-
-
Jerome Jiang authored
-
Jerome Jiang authored
Remove the memory deallocation on the early exits. Change-Id: I00b4a814ae6705105ecab89644d055ca3311d9f4
-
- 31 Oct, 2017 2 commits
-
-
Jerome Jiang authored
-
Jerome Jiang authored
Move vt2 to heap. Reduce the stack usage from ~87K to ~44K. BUG=b/68362457 Change-Id: I8f5f93712934d59a8cc4564378172d409a736a2e
-
- 30 Oct, 2017 2 commits
-
-
Jerome Jiang authored
-
Jerome Jiang authored
Change type of sum_square_error from int64_t to uint32_t. Change type of sum_error from int64_t to int32_t. This reduces the stack usage from ~131K to ~87K. BUG=b/68362457 Change-Id: I147d7c7b226bceb4f0817bb86848e1fa9d9ac149
-
- 27 Oct, 2017 1 commit
-
-
James Zern authored
swap '{' and c-style comments removing a few redundant ones along the way; covers most leftovers from the clang-tidy run against an x86_64-linux config. Change-Id: I67a45596f80a12389faca49c5be440875092a7df
-
- 26 Oct, 2017 1 commit
-
-
Scott LaVarnway authored
Eliminates the following instruction for the x86 (64 bit) intrinsic code: movslq %esi,%rax Change-Id: I8f5ebd40726f998708a668b0f52ea7a0576befae
-
- 24 Oct, 2017 2 commits
-
-
Kyle Siefring authored
-
Kyle Siefring authored
Changed the intrinsics to perform summation similiar to the way the assembly does. The new code diverges from the assembly by preferring unsaturated additions. Results for haswell SSSE3 Horiz/Vert Size Speedup Horiz x4 ~32% Horiz x8 ~6% Vert x8 ~4% AVX2 Horiz/Vert Size Speedup Horiz x16 ~16% Vert x16 ~14% BUG=webm:1471 Change-Id: I7ad98ea688c904b1ba324adf8eb977873c8b8668
-
- 23 Oct, 2017 1 commit
-
-
Scott LaVarnway authored
-