- 17 Nov, 2017 1 commit
-
-
Marco authored
For reference frames: enable scale partition for superblocks with low source sad or if bsize on lower-resoln is at least 32x32. Keep feature disabled for base temporal layer. Small regression in avgPNSR/SSIM metrics, ~0.5-1%. Speedup ~2-3% on mac for SVC (3 spatial/3 temporal layers) at speed 7. Change-Id: I5987eb7763845b680059128b538bb5188be0cca5
-
- 16 Nov, 2017 1 commit
-
-
Jerome Jiang authored
Enable partition copy on boundary and scale blocks along the boundary. Rename copy_partition_svc to scale_partition_svc. Do not copy if the block crosses the boundary. Change-Id: I37a04d48f11b15c4ea67facd7631193ec2f62150
-
- 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
-
- 13 Nov, 2017 1 commit
-
-
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
-
- 10 Nov, 2017 1 commit
-
-
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
-
- 09 Nov, 2017 1 commit
-
-
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
-
- 03 Nov, 2017 1 commit
-
-
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
-
- 01 Nov, 2017 1 commit
-
-
Jerome Jiang authored
Remove the memory deallocation on the early exits. Change-Id: I00b4a814ae6705105ecab89644d055ca3311d9f4
-
- 31 Oct, 2017 1 commit
-
-
Jerome Jiang authored
Move vt2 to heap. Reduce the stack usage from ~87K to ~44K. BUG=b/68362457 Change-Id: I8f5f93712934d59a8cc4564378172d409a736a2e
-
- 30 Oct, 2017 1 commit
-
-
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
-
- 12 Oct, 2017 1 commit
-
-
Jerome Jiang authored
Keyframe encoding is more than 2x faster. Disabled on Speed 8. Change-Id: I2157318b6ac8253fa5398322c72d98cd7fa9b2b6
-
- 06 Oct, 2017 1 commit
-
-
Marco authored
For 1 pass vbr: increase min_thresh slightly, and also add condition on golden/arf update for using full nonrd_pick_partition. Reduces possible false detection for scene cut detection. Neutral/small change in metrics or speed for speed 5. Change-Id: I388f4d9a56e3cc763e0148338c1bc0381e58ad76
-
- 04 Oct, 2017 1 commit
-
-
Marco authored
For 1 pass vbr speed >= 6: when REFERENCE_PARTITION is selected, avoid doing the full nonrd_pickmode based partition. No change in overall metrics or speed. Reduces encode times on scene cuts by 10-20%. Change-Id: I0310b1610cc1c83793a509e0a9059840e8f18308
-
- 03 Oct, 2017 1 commit
-
-
Marco authored
For speed 6 real-time mode: use adapt_partition on ARF frame instead of REFERENCE_PARTITION (which is slower). This requires enabling compute_source_sad_onepass for no-show_frames. Speedup of ~3-5% on some clips that heavily use ARF, small loss (~0.2%) in quality on ytlive set. Change-Id: Ib50acc97df06458244a6ac55d2bd882c30012536
-
- 28 Sep, 2017 1 commit
-
-
Marco authored
Add stats for past ARF usage, and use it to disable ARF usage based on some conditions. Overall improvement on ytlive set, reduces the regression on the problem clips for this feature. Only affects when sf->use_altref_onepass is enabled (currently off by default). Change-Id: I66267f227ea132dc86acb730e9882f85bead2cdb
-
- 19 Sep, 2017 1 commit
-
-
Marco authored
Only when USE_ALT_REF_ONE_PASS is enabled (off by default). Force fixed partition to 64x64 when is_src_alt_ref_frame is true, and don't force early exit for some modes in nonrd_pickmode for ARF noshow frames. Small gain ~0.2% on ytlive metrics for speed 6. Neutral speed difference. Change-Id: I27eb6622d0453c09a06ccdc3b16368762474d11d
-
- 25 Aug, 2017 1 commit
-
-
Marco authored
Enable adapt_partition for vbr mode for speed 6. This allows the usage of the pickmode-based partition (used in speed 5), but only selectively for superblocks with high source sad, otherwise the faster variance based partition scheme is used. For speed 6 on ytlive set: avgPSNR/SSIM metrics up by ~0.6%, several clips up by ~1.5%. Small/negligible decrease in speed. Change-Id: I12f3efef6b3e059391de330fdbe5a44c2587f1f8
-
- 24 Aug, 2017 1 commit
-
-
Marco authored
For speeds < 7, increase threshold that controls the split of 16x16->8x8 blocks, for resolutions 720p and higher. Minor change for speed 5 (since it uses reference partition scheme which only uses variance partition as first step). For speed 6: ~0.5% increase in avgPSNR/SSIM metrics on ytlvie set. No change in speed. Change-Id: I5126580973201538d8ca26a9256b93c4d11d685b
-
- 22 Aug, 2017 1 commit
-
-
Marco authored
This feature is used for the CBR RTC encoding mode at speed >= 6. This change will exclude it for VBR mode. For speed 6 live encoding (VBR): avgPSNR/SSIM metrics on ytlive set up by ~1% (few clips up by 2/3%). No change in speed. Change-Id: I1a0dd94c334f7df309ab5a48d477d7e25355b798
-
- 08 Aug, 2017 1 commit
-
-
Marco authored
When adapt_partition_source_sad is enabled (currently only at speed 6 for resoln <= 360p): use lower subsize (8x8 instead of 16x16) for nonrd_select_partition on 32X32 blocks. And force avoiding rectangular partition checks in nonrd_pick_partition for speed >= 6. Small increase ~0.5 in metrics for speed 6 on rtc_derf, no change in speed. Change-Id: Id751bc8f7573634571b2d6f5e29627cd5cebccae
-
- 31 Jul, 2017 2 commits
-
-
Marco authored
When the superblock partition is based on the nonrd-pickmode, we need to avoid the denoising. Current condition was based on the speed level. This change is to make the condition at the superblock level, as the switch in partitioning may be done at sb level based on source_sad (e.g., in speed 6). Change-Id: I12ece4f60b93ed34ee65ff2d6cdce1213c36de04
-
Jerome Jiang authored
This reverts commit c9266b85. Disable source_sad when resolution > 1080P. The test should pass now. BUG=webm:1452 Change-Id: I72dde88e66590ff9e41da5e5dd83f5550a83f082
-
- 29 Jul, 2017 3 commits
-
-
James Zern authored
This reverts commit 064fc570. This causes an assertion failure in vp9_mcomp.c when running gtest_filter=VP9/MotionVectorTestLarge.OverallTest/41: `mv->col >= -((1 << (11 + 1 + 2)) - 1) && mv->col < ((1 << (11 + 1 + 2)) - 1)' Change-Id: I449e777bf18b661cb3f1d82253610c55c51687f6
-
Jerome Jiang authored
Change-Id: I917d106f4c95ea44e413e23881f6303982e1a6a3
-
Marco authored
Move the source_sad feature to speed 6 (from speed 7), and add speed feature to switch from the variance-based partition to reference_partition (which uses nonrd-pickmode for bsize selection) if source_sad is high. Currently used only for speed 6 for resoln <= 360p. About 4-5% improvement on 360p in RTC set. Some speed slowdown, but still ~30% faster than speed 5. Change-Id: Ib0330ee5fe9fdd2608aed91359a2a339d967491c
-
- 22 Jul, 2017 1 commit
-
-
James Zern authored
For 8-bit the subtrahend is small enough to fit into uint32_t. For 10/12-bit apply: 63a37d16 Prevent negative variance previously: 47b9a091 Resolve -Wshorten-64-to-32 in highbd variance. c0241664 Resolve -Wshorten-64-to-32 in variance. Change-Id: I181c85f0b9a03da37c2e8b89482d48aa3dbc0aee
-
- 17 Jul, 2017 2 commits
-
-
Marco authored
When content_state_sb is set to LowVarHighSumdiff, don't reset it to VeryHighSad. Visually better on clips with strong lighting changes. Small/negligible change in RTC metrics and speed. Change-Id: I20c383e3c4cf8d1149de5f9260449c0b7cf7c6aa
-
Marco authored
When int_pro_motion_estimation is done for superblock in choose_partitioning, use it to avoid the full_pixel_search for NEWMV mode, if bsize is >= 32X32. For speed > 7. Small/neutral change on RTC metrics. ~1-2% speedup on arm on high motion clip. Change-Id: I3cfe6833ff4bf75d4afa83eaf058ad45729de85b
-
- 14 Jul, 2017 1 commit
-
-
Marco authored
Only affects speed 7. Improvement on high motion clips. Change-Id: Ibddb68fed9c63207df29ffd790f9205b1cecf687
-
- 11 Jul, 2017 1 commit
-
-
Jerome Jiang authored
Change-Id: Iebc9dd293d8b1449c0674c0295349297e9b90646
-
- 07 Jul, 2017 1 commit
-
-
James Zern authored
+ vpx_dsp/, test/ itxfm -> inv_txfm, ftxfm -> fwd_txfm Change-Id: I3aacdb65143576d64cfe5c9b14dd358c17c1fe7e
-
- 06 Jul, 2017 1 commit
-
-
Marco authored
In the content_state for a superblock is set to HighSad, use that to bias some decisions in variance partition and nonrd pickmde: use int_pro_motion for sad computation in choose_partitioning, and set large_block in pickmode based on the content_state_sb. Only affects speed >= 7. Immprovement for high motion content. Small gain (~1%) in RTC metrics. Speedup of ~5 for high motion clip on android (speed 8, 1 thread). Change-Id: I5774c4854f012b89c8e969f6129b60988c2ce11c
-
- 29 Jun, 2017 1 commit
-
-
James Zern authored
txfm is more commonly used as an abbreviation through the codebase Change-Id: I86fd90ef132468f9da270091c05daa1f5a49ece2
-
- 27 Jun, 2017 1 commit
-
-
Jerome Jiang authored
This could save some cycles since skin detection is used in multiple places in vp9. 1~2% speed up on ARM. Change-Id: I86b731945f85215bbb0976021cd0f2040ff2687c
-
- 22 Jun, 2017 3 commits
-
-
Marco authored
Use it to limit NEWMV early exit in nonrd pickmode Small change in RTC metrics, has some improvement for high motion clips. Change-Id: I1d89fd955e1b3486d5fb07f4472eeeecd553f67f
-
James Zern authored
quiets -Wmissing-prototypes Change-Id: I696223d75860edba13c6b6f38c1f8db353a6f812
-
Marco authored
Skin detection usage in choose_partitioning should be around the cpi->use_skin_detection. Change-Id: I6986179af9ce94c60c0974d66c311fc07cc04cfe
-
- 18 May, 2017 2 commits
-
-
Marco authored
When temporal layers are used, only allow for copy partition on the top temporal enhancement layer frames. Change-Id: I5472abdc0f9f6c8dafa75a7a84c615e08ae22af8
-
Marco authored
Only affects speed 8. Make changes to copy partition to fix a bug in setting microblock offset. Avg PSNR shows 0.02% gain on rtc_derf and 0.08% loss on rtc. Change-Id: I61c3e5914dde645331344388e7437e5638acd4f3
-
- 11 May, 2017 1 commit
-
-
Marco authored
Increase the partition and acskip thresholds for temporal enhancement layers. ~1-2% speedup, with negligible loss in quality. Change-Id: Id527398a05855298ad9ddac10ada972482415627
-