]>
granicus.if.org Git - libvpx/log
Linfeng Zhang [Tue, 17 Oct 2017 16:03:29 +0000 (16:03 +0000)]
Merge changes I17fff122,Ic149e3cb
* changes:
Add 4 to 3 scaling SSSE3 optimization
Test extreme inputs in frame scale functions
Linfeng Zhang [Tue, 17 Oct 2017 16:03:07 +0000 (16:03 +0000)]
Merge "Generalize CheckScalingFiltering in ConvolveTest"
Linfeng Zhang [Wed, 11 Oct 2017 18:59:04 +0000 (11:59 -0700)]
Add 4 to 3 scaling SSSE3 optimization
Note this change will trigger the different C version on SSSE3 and
generate different scaled output.
Its speed is 2x compared with the version calling vpx_scaled_2d_ssse3().
Change-Id: I17fff122cd0a5ac8aa451d84daa606582da8e194
Marco [Fri, 13 Oct 2017 22:31:02 +0000 (15:31 -0700)]
Adjust threshold in gf_boost for 1 pass vbr
Small inncrease the sad_thresh1, avoids some false
detection of possible scene changes within lag.
Small improvement in few clips on ytlive, otherwise neutral change.
Change-Id: Ia79b53bb657bbce65a7aac7d20666b6373d5af8b
Paul Wilkins [Fri, 13 Oct 2017 15:59:58 +0000 (15:59 +0000)]
Merge "Further Corpus VBR change."
Paul Wilkins [Fri, 13 Oct 2017 15:59:45 +0000 (15:59 +0000)]
Merge "Corpus Wide VBR test implementation."
Shiyou Yin [Fri, 13 Oct 2017 00:37:57 +0000 (00:37 +0000)]
Merge "vp8: [loongson] optimize dct with mmi"
Marco Paniconi [Thu, 12 Oct 2017 19:36:33 +0000 (19:36 +0000)]
Merge "Adjust to scene detection for 1 pass vbr."
Marco [Tue, 10 Oct 2017 22:30:32 +0000 (15:30 -0700)]
Adjust to scene detection for 1 pass vbr.
Expose the threshold for setting key frame on cut,
and increase it for speed 5.
Also small adjustment to min_thresh.
No change in overall metrics or fps.
Small quality improvement and lower encode time on scene cuts.
Change-Id: I36e06ff3b26b6c29aede39c23fce454525fc9026
Jerome Jiang [Thu, 12 Oct 2017 17:29:27 +0000 (17:29 +0000)]
Merge "vp9: use nonrd pick_intra for small blocks on keyframes."
Kyle Siefring [Thu, 12 Oct 2017 16:12:38 +0000 (16:12 +0000)]
Merge changes I38783d97,If5160c0c
* changes:
Extend 16 wide AVX2 convolve8 code to support averaging.
Add AVX2 version of vpx_convolve8_avg.
Jerome Jiang [Thu, 12 Oct 2017 00:13:39 +0000 (17:13 -0700)]
vp9: use nonrd pick_intra for small blocks on keyframes.
Keyframe encoding is more than 2x faster.
Disabled on Speed 8.
Change-Id: I2157318b6ac8253fa5398322c72d98cd7fa9b2b6
Shiyou Yin [Wed, 13 Sep 2017 06:03:11 +0000 (14:03 +0800)]
vp8: [loongson] optimize dct with mmi
1. vp8_short_fdct4x4_mmi
2. vp8_short_fdct8x4_mmi
3. vp8_short_walsh4x4_mmi
Change-Id: I89a7df25cfd09fae309fac257ad8b6a3dc1c8acb
Shiyou Yin [Thu, 12 Oct 2017 00:33:17 +0000 (00:33 +0000)]
Merge "vp8: [loongson] optimize quantize with mmi"
Marco [Wed, 11 Oct 2017 18:06:34 +0000 (11:06 -0700)]
Adjust threshold in datarate tests for 1 pass VBR
Small increase in threshold for the 1 pass VBR datarate tests.
Needed due to commit:
<
017257a Adjustment to scene detection and key frame>
Change-Id: I28b3bd7db2192a8cc2bccc3cb0e3b8dbb910ca16
Linfeng Zhang [Wed, 11 Oct 2017 18:35:19 +0000 (11:35 -0700)]
Test extreme inputs in frame scale functions
Change-Id: Ic149e3cb59be2ee0f98a3fcfd83226ad5ea30c99
Shiyou Yin [Mon, 11 Sep 2017 10:07:25 +0000 (18:07 +0800)]
vp8: [loongson] optimize quantize with mmi
1. vp8_fast_quantize_b_mmi
2. vp8_regular_quantize_b_mmi
Change-Id: Ic6e21593075f92c1004acd67184602d2aa5d5646
Linfeng Zhang [Wed, 4 Oct 2017 16:55:56 +0000 (09:55 -0700)]
Add 4 to 1 scaling x86 optimization
Change-Id: I51c190f0a88685867df36912522e67bdae58a673
Jerome Jiang [Tue, 10 Oct 2017 23:02:05 +0000 (23:02 +0000)]
Merge "Fix alignment in vpx_image without external allocation."
Jerome Jiang [Tue, 10 Oct 2017 02:33:03 +0000 (19:33 -0700)]
Fix alignment in vpx_image without external allocation.
This restores behaviors prior to
<
40c8fde Fix image width alignment. Enable ImageSizeSetting test.>.
BUG=b/
64710201
Change-Id: I559557afe80d5ff5ea6ac24021561715068e7786
Linfeng Zhang [Tue, 10 Oct 2017 19:13:55 +0000 (12:13 -0700)]
Generalize CheckScalingFiltering in ConvolveTest
Let it test extreme inputs and all filter types.
In the future ConvolveTest should test regular 8-bit functions in
high bitdepth mode.
Change-Id: I1042564d1d390589ca203070fe332c6da3315d75
Marco [Tue, 10 Oct 2017 00:53:21 +0000 (17:53 -0700)]
Adjustment to scene detection and key frame.
For 1 pass vbr: use higher threshold on avg_sad
and force key frame under scene cut detection if
above the threshold. Allow it for speed >= 6 for now,
since it does not use the full nonrd_pickmode partition
(as in speed 5).
Improves quality somewhat on scene cut frames.
Neutral on overall metrics and fps for speed 6 on
ytlive set.
Change-Id: I12626f7627419ca14f9d0d249df86c7104438162
Linfeng Zhang [Tue, 10 Oct 2017 17:29:50 +0000 (17:29 +0000)]
Merge changes I9d4c1af5,I882da3a0
* changes:
Rename some inline functions in NEON scaling
Generalize 2:1 vp9_scale_and_extend_frame_ssse3()
paulwilkins [Thu, 17 Aug 2017 13:13:29 +0000 (14:13 +0100)]
Further Corpus VBR change.
Change to the bit allocation within a GF/ARF group.
Normal VBR and CQ mode allocate bits to a GF/ARF group based of the mean
complexity score of the frames in that group but then share bits evenly between
the "normal" frames in that group regardless of the individual frame complexity
scores (with the exception of the middle and last frames).
This patch alters the behavior for the experimental "Corpus VBR" mode such that
the allocation is always based on the individual complexity scores.
Change-Id: I5045a143eadeb452302886cc5ccffd0906b75708
paulwilkins [Fri, 19 May 2017 14:08:15 +0000 (15:08 +0100)]
Corpus Wide VBR test implementation.
This patch makes further changes to support an experimental
corpus wide VBR mode that uses a corpus complexity
number as the midpoint of the distribution used to allocate bits
within a clip, rather than some average error score derived from the
clip itself.
At the moment the midpoint number is hard wired for testing and
the mode is enabled or disabled through a #ifdef. Ultimately this
would need to be controlled by command line parameters.
Change-Id: I9383b76ac9fc646eb35a5d2c5b7d8bc645bfa873
Kyle Siefring [Sun, 8 Oct 2017 03:25:03 +0000 (23:25 -0400)]
Extend 16 wide AVX2 convolve8 code to support averaging.
Also adds vpx_convolve8_avg_horiz_avx2.
Change-Id: I38783d972ac26bec77610e9e15a0a058ed498cbf
Linfeng Zhang [Wed, 4 Oct 2017 20:04:40 +0000 (13:04 -0700)]
Rename some inline functions in NEON scaling
Change-Id: I9d4c1af53d57f72fc716bacbe3b0965719c045ac
Linfeng Zhang [Mon, 9 Oct 2017 16:20:00 +0000 (16:20 +0000)]
Merge "Update vp9_scale_and_extend_frame_ssse3()"
Kyle Siefring [Sat, 7 Oct 2017 20:02:02 +0000 (16:02 -0400)]
Add AVX2 version of vpx_convolve8_avg.
vpx_convolve8_avg works by first running a normal horizontal filter then a
vertical filter averages at the end.
The added vpx_convolve8_avg_avx2 calls pre-existing AVX2 code for the
horizontal step.
vpx_convolve8_avg_vert_avx2 is also added, but only uses ssse3 code.
Change-Id: If5160c0c8e778e10de61ee9bf42ee4be5975c983
James Zern [Sat, 7 Oct 2017 19:08:26 +0000 (19:08 +0000)]
Merge "ppc: Add vpx_idct32x32_1024_add_vsx"
Marco Paniconi [Fri, 6 Oct 2017 22:41:34 +0000 (22:41 +0000)]
Merge "Revert "Speed >=5 real-time: add TM intra mode for high_source_sad.""
Marco Paniconi [Fri, 6 Oct 2017 22:14:56 +0000 (22:14 +0000)]
Revert "Speed >=5 real-time: add TM intra mode for high_source_sad."
This reverts commit
9311ef18b4b4eff0da3adf9d702a34f489a270ff .
Reason for revert:
Notice small regression in some clips.
Will revisit in another change.
Original change's description:
> Speed >=5 real-time: add TM intra mode for high_source_sad.
>
> Small/neutral change in metrics or speed for ytlive.
> Some improvement in quality on frames with big content change.
>
> Change-Id: Ib3b0703a5f28ea6710e90324436e27598ab7384d
TBR=marpan@google.com,builds@webmproject.org,jianj@google.com
Change-Id: I9d8ec5195bb05ddf329d325699355185affb9b13
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Marco [Fri, 6 Oct 2017 17:53:40 +0000 (10:53 -0700)]
Adjust threshold in scene detection
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
Marco Paniconi [Fri, 6 Oct 2017 06:29:46 +0000 (06:29 +0000)]
Merge "Speed >=5 real-time: add TM intra mode for high_source_sad."
Marco [Thu, 5 Oct 2017 19:58:51 +0000 (12:58 -0700)]
Speed >=5 real-time: add TM intra mode for high_source_sad.
Small/neutral change in metrics or speed for ytlive.
Some improvement in quality on frames with big content change.
Change-Id: Ib3b0703a5f28ea6710e90324436e27598ab7384d
James Zern [Fri, 6 Oct 2017 05:30:16 +0000 (05:30 +0000)]
Merge "vpx_codec.h: namespace local defines"
James Zern [Thu, 5 Oct 2017 22:09:33 +0000 (15:09 -0700)]
vpx_codec.h: namespace local defines
add VPX_ to UNUSED/*DEPRECATED to avoid conflicts with other headers.
Change-Id: Ie16bdac3575bc1af57a05d37e65b994370585377
James Zern [Thu, 5 Oct 2017 22:02:51 +0000 (15:02 -0700)]
vp9_ethread_test: abort early/add more detailed output
in the case compare_fp_stats fails report the 2 values and their index
Change-Id: I927a832b7a1e24c392961093b7caee1134223def
Marco Paniconi [Thu, 5 Oct 2017 03:28:06 +0000 (03:28 +0000)]
Merge "Adjust threshold for adapt_partition for speed 6."
Marco [Thu, 5 Oct 2017 01:01:37 +0000 (18:01 -0700)]
Adjust threshold for adapt_partition for speed 6.
Lower SAD threshold to select non_rd pickmode partition
at superblock level more often.
Small gain in metrics, small/negligible decrease in speed.
Change-Id: I0f728236b91a604e4ca7e02039adc54d5985c4dc
Marco Paniconi [Wed, 4 Oct 2017 23:36:27 +0000 (23:36 +0000)]
Merge "Avoid nonrd_pick_partition for speed >= 6."
Marco [Wed, 4 Oct 2017 22:27:45 +0000 (15:27 -0700)]
Avoid nonrd_pick_partition for speed >= 6.
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
Marco Paniconi [Wed, 4 Oct 2017 19:38:49 +0000 (19:38 +0000)]
Merge "Modify early exit for alt_ref in nonrd_pickmode."
Linfeng Zhang [Tue, 3 Oct 2017 23:09:19 +0000 (16:09 -0700)]
Generalize 2:1 vp9_scale_and_extend_frame_ssse3()
Change-Id: I882da3a04884d5fabd4cd591c28682cbb2d76aa5
Linfeng Zhang [Tue, 3 Oct 2017 16:59:11 +0000 (09:59 -0700)]
Update vp9_scale_and_extend_frame_ssse3()
Change-Id: I22622faebfcc36f7a4d1f37e3800ae8ab87c8cd4
Marco [Wed, 4 Oct 2017 18:41:52 +0000 (11:41 -0700)]
Modify early exit for alt_ref in nonrd_pickmode.
For 1 pass vbr mode:
On no-show_frame/ARF: instead of skipping alt_ref_frame
completely in mode testing, allow for checking (0, 0) on alt_ref.
Small gain in metrics, ~0.18%, no change in speed.
Change-Id: I32a3c24faca64ab70dd5091071a0dc301db7dd1e
Linfeng Zhang [Wed, 4 Oct 2017 16:15:14 +0000 (16:15 +0000)]
Merge changes Id6a8c549,Ib1e0650b,Ic369dd86
* changes:
Refactor x86/vpx_subpixel_8t_intrin_ssse3.c
Add vpx_dsp/x86/mem_sse2.h
Add transpose_8bit_{4x4,8x8}() x86 optimization
Jerome Jiang [Wed, 4 Oct 2017 14:48:03 +0000 (14:48 +0000)]
Merge "Fix image width alignment. Enable ImageSizeSetting test."
Marco [Wed, 4 Oct 2017 00:14:24 +0000 (17:14 -0700)]
Enable arf usage for speed >= 6, 1 pass vbr.
For speed 6 on ytlive set:
On average, speed slowdown ~5%, quality gain ~2%.
Change-Id: Ia18237cc1d52c54d7e2cb3c71f571cf37ef61b44
Marco [Fri, 29 Sep 2017 18:34:00 +0000 (11:34 -0700)]
vp9: 1 pass vbr: Limit qpdelta on high_source_sad.
For 1 pass vbr: when significant content/scene change is detected
(high_source_sad = 1) reduce/turnoff the additional qdelta on the
active_worst_quality. This helps somewhat to reduce the occurrence
of large frame sizes and large encode times.
Allow it only when use_altef_onepass is enabled.
Neutral/no change on metrics.
Change-Id: I1dd97dd2ab892d65f707b841b27a5de300b714ea
James Zern [Tue, 3 Oct 2017 21:47:49 +0000 (21:47 +0000)]
Merge "vpx: fix nasm build errors"
Scott LaVarnway [Sat, 30 Sep 2017 12:51:24 +0000 (05:51 -0700)]
vpx: fix nasm build errors
BUG=webm:1462,766721
Change-Id: Icfa536a8e38623636b96c396e3c94889bfde7a98
Linfeng Zhang [Mon, 2 Oct 2017 21:29:06 +0000 (14:29 -0700)]
Refactor x86/vpx_subpixel_8t_intrin_ssse3.c
Change-Id: Id6a8c549709a3c516ed5d7b719b05117c5ef8bac
Linfeng Zhang [Mon, 2 Oct 2017 20:46:15 +0000 (13:46 -0700)]
Add vpx_dsp/x86/mem_sse2.h
Add some load and store sse2 inline functions.
Change-Id: Ib1e0650b5a3d8e2b3736ab7c7642d6e384354222
Marco [Tue, 3 Oct 2017 17:55:55 +0000 (10:55 -0700)]
Use adapt_partition for ARF in 1 pass.
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
Linfeng Zhang [Mon, 2 Oct 2017 20:01:56 +0000 (13:01 -0700)]
Add transpose_8bit_{4x4,8x8}() x86 optimization
Change-Id: Ic369dd86b3b81686f68fbc13ad34ab8ea8846878
Marco Paniconi [Tue, 3 Oct 2017 03:01:14 +0000 (03:01 +0000)]
Merge "ARF in 1 pass vbr: modify skip ref_frame in nonrd_pickmode."
Marco [Mon, 2 Oct 2017 21:00:18 +0000 (14:00 -0700)]
ARF in 1 pass vbr: modify skip ref_frame in nonrd_pickmode.
Speedup of ~2-3% on 1080p clips speed 6.
Neutral/negligible loss in metrics on ytlive.
Change-Id: I7ac47a4d8b58c566920bae29a94a0e8d59c36dee
Linfeng Zhang [Tue, 12 Sep 2017 18:49:58 +0000 (11:49 -0700)]
Add 4 to 3 scaling NEON optimization
Speed comparing with the one calling vpx_scaled_2d_neon()
~1.7 x in general
~2.8x for BILINEAR filter
BUG=webm:1419
Change-Id: I8f0a54c2013e61ea086033010f97c19ecf47c7c6
Linfeng Zhang [Wed, 20 Sep 2017 17:58:39 +0000 (10:58 -0700)]
Specialize 4 to 3 frame scaling in C
Scale 3x3 block instead of 16x16 block in each loop. Disabled by
default.
Benefits:
1. Reduced number of different phase_scaler from 16 to 3.
Optimization code will be smaller and faster.
2. Maximum phase_scaler drifting will be reduced from 5/16 to 1/24.
(The drifting is 1/(3*16) in each step.)
BUG=webm:1419
Change-Id: I59a1f7496d89a1b090498c935d30cfcf1d0c282b
Scott LaVarnway [Mon, 2 Oct 2017 15:00:19 +0000 (15:00 +0000)]
Merge "vpxdsp: [x86] add highbd_d135_predictor functions"
Alexandra Hájková [Mon, 31 Jul 2017 19:07:22 +0000 (19:07 +0000)]
ppc: Add vpx_idct32x32_1024_add_vsx
Change-Id: I55cd0a1569ccc47a53d0ecf751aac259d510e10d
Marco [Fri, 29 Sep 2017 21:54:56 +0000 (14:54 -0700)]
Fix partition selection in speed features for arf overlay frame.
For real-time mode. Move the switch to fixed partition
for is_src_frame_alt_ref so all speeds may use it
if use_altref_onepass is set.
Improves metrics by ~2% for ytlive set at speed 4
(where use_altref_onepass is currently used).
Change-Id: I033240386598c9dbd0364da89ccbcca64bc663ee
Marco [Fri, 29 Sep 2017 17:53:59 +0000 (10:53 -0700)]
Enable use_altref_onepass for speed 4 real-time mode.
Used for VBR mode with lag-in-frames > 0.
On ytlive set at speed 4: ~3% average gain.
Change-Id: I45dad1700bf8be9d8f177815dc062774f6f2f0de
Scott LaVarnway [Fri, 29 Sep 2017 13:34:16 +0000 (06:34 -0700)]
vpxdsp: [x86] add highbd_d135_predictor functions
C vs SSE2 speed gains:
_4x4 : ~1.81x
C vs SSSE3 speed gains:
_8x8 : ~1.96x
_16x16 : ~1.88x
_32x32 : ~2.02x
BUG=webm:1411
Change-Id: Iefaf8b39afbbfe34c1ad1d21e3a003b20f1f61e0
Scott LaVarnway [Wed, 20 Sep 2017 12:21:23 +0000 (05:21 -0700)]
vpxdsp: [x86] add highbd_d117_predictor functions
C vs SSE2 speed gains:
_4x4 : ~2.04x
C vs SSSE3 speed gains:
_8x8 : ~2.82x
_16x16 : ~5.93x
_32x32 : ~2.79x
BUG=webm:1411
Change-Id: I31d949695991c067dac89d91e0bed3e666c94993
Jerome Jiang [Wed, 27 Sep 2017 18:08:37 +0000 (11:08 -0700)]
Fix image width alignment. Enable ImageSizeSetting test.
BUG=b/
64710201
Change-Id: I5465f6c6481d3c9a5e00fcab024cf4ae562b6b01
Marco [Thu, 28 Sep 2017 17:47:34 +0000 (10:47 -0700)]
Set rc->high_source_sad = 0 before scene detection.
Only has effect when sf->use_altref_onepass is enabled,
as in that case scene detection is skipped for non-show frame
and so high_source_sad does not get reset to 0.
No change in metrics or speed.
Change-Id: I421f066d239341449c18826089e1810b9fc5967f
Marco Paniconi [Thu, 28 Sep 2017 16:52:28 +0000 (16:52 +0000)]
Merge "vp9: Modification to adapt the ARF usage for 1 pass vbr"
Marco [Thu, 21 Sep 2017 17:59:33 +0000 (10:59 -0700)]
vp9: Modification to adapt the ARF usage for 1 pass vbr
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
Marco [Wed, 27 Sep 2017 21:49:58 +0000 (14:49 -0700)]
Add use_svc condition to the scene detection in 1 pass.
Scene detection is not currently used in SVC 1 pass code.
Speedup of ~0.4%.
Change-Id: I0ab769300919de710cd2da1402014fa3f22a1f86
Marco Paniconi [Wed, 27 Sep 2017 20:42:48 +0000 (20:42 +0000)]
Merge "Revert "Remove the speed condition on scene detection in 1 pass code.""
Scott LaVarnway [Wed, 27 Sep 2017 20:40:21 +0000 (20:40 +0000)]
Merge "vpxdsp: [x86] add highbd_d153_predictor functions"
Marco Paniconi [Wed, 27 Sep 2017 19:42:48 +0000 (19:42 +0000)]
Revert "Remove the speed condition on scene detection in 1 pass code."
This reverts commit
535b7b915ae5574db2f95632243cc5bee865f02e .
This is actually used in CBR to reset the rate control if high source sad is detected.
Original change's description:
> Remove the speed condition on scene detection in 1 pass code.
>
> Scene detection is used for VBR mode and for screen_content mode.
>
> It was also enabled for CBR mode via the speed condition,
> but currently the analysis in the scene detection is not used
> in CRB mode (similar computations are done locally at superblock level
> when the source_sad feature is enabled).
>
> For 1 pass code.
> No change in behavior. Small speed gain, ~0.5%.
>
> Change-Id: I59991d7ef2af320bea7af4b907596e057affa42f
TBR=marpan@google.com,builds@webmproject.org,jianj@google.com
Change-Id: Ib4e6b02047f75632503e7b0fc870af97fa9291c3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
James Zern [Wed, 27 Sep 2017 19:39:11 +0000 (19:39 +0000)]
Merge "fix signed integer overflow of idct"
James Zern [Wed, 27 Sep 2017 18:37:20 +0000 (18:37 +0000)]
Merge "vp9_dx_iface: Stop using iter parameter incorrectly"
Linfeng Zhang [Tue, 26 Sep 2017 19:33:40 +0000 (12:33 -0700)]
fix signed integer overflow of idct
Exposed by fuzz test in high bitdepth.
The bug is introduced in commit
64653fa .
BUG=webm:1466
Change-Id: Idd77d5c6a60efb9241471611ce1aba0646cb6ff5
Scott LaVarnway [Wed, 27 Sep 2017 17:06:14 +0000 (10:06 -0700)]
vpxdsp: [x86] add highbd_d153_predictor functions
C vs SSE2 speed gains:
_4x4 : ~1.95x
C vs SSSE3 speed gains:
_8x8 : ~3.30x
_16x16 : ~5.67x
_32x32 : ~3.87x
BUG=webm:1411
Change-Id: Ib483989b25614aa89b635e8c087d0879a5d71904
Marco [Wed, 27 Sep 2017 17:11:24 +0000 (10:11 -0700)]
Remove the speed condition on scene detection in 1 pass code.
Scene detection is used for VBR mode and for screen_content mode.
It was also enabled for CBR mode via the speed condition,
but currently the analysis in the scene detection is not used
in CRB mode (similar computations are done locally at superblock level
when the source_sad feature is enabled).
For 1 pass code.
No change in behavior. Small speed gain, ~0.5%.
Change-Id: I59991d7ef2af320bea7af4b907596e057affa42f
Vignesh Venkatasubramanian [Mon, 25 Sep 2017 23:56:04 +0000 (16:56 -0700)]
vp9_dx_iface: Stop using iter parameter incorrectly
'iter' parameter is being checked for NULL in every call to
decoder_get_frame which is quite pointless because it is always
going to be NULL unless the application changed it. The code works
as described only because vp9_get_raw_frame returns -1 on all
subsequent calls after the first.
Change-Id: Ic736b9e8fe36fc1430fc11d6a9b292be02497248
Linfeng Zhang [Wed, 27 Sep 2017 16:12:48 +0000 (16:12 +0000)]
Merge "Add vpx_scaled_2d_neon()"
Jerome Jiang [Wed, 27 Sep 2017 01:26:59 +0000 (01:26 +0000)]
Merge "Add unit test to expose vp8 bug when width is set odd."
Shiyou Yin [Wed, 27 Sep 2017 00:49:28 +0000 (00:49 +0000)]
Merge "vp8: [loongson] optimize copymen with mmi"
Jerome Jiang [Thu, 21 Sep 2017 17:52:20 +0000 (10:52 -0700)]
Add unit test to expose vp8 bug when width is set odd.
BUG=b/
64710201
Change-Id: Ia518af5494a42e80949cf1165244fbed59606cf7
Marco [Tue, 26 Sep 2017 22:47:14 +0000 (15:47 -0700)]
Remove the speed condition in setting compute_source_sad.
The speed condition is not needed, feature can used for any
speed in 1 pass code.
Change-Id: I878ef3f63a075302eda48c0343fa243c80aab9ba
Marco [Tue, 26 Sep 2017 17:18:43 +0000 (10:18 -0700)]
Replace flag USE_ALTREF_FOR_ONE_PASS with speed feature.
To be used for 1 pass VBR.
Off by default in speed features.
Change-Id: I5d6110d6d191990db526fe68ec9715379a4d1754
Marco Paniconi [Tue, 26 Sep 2017 16:28:30 +0000 (16:28 +0000)]
Merge "SVC: Add setting for max_intra_rate_pct in sample encoder."
Linfeng Zhang [Tue, 19 Sep 2017 23:55:35 +0000 (16:55 -0700)]
Add vpx_scaled_2d_neon()
BUG=webm:1419
Change-Id: I39c8033734562efc0ac0e28e7f06fa05130f9b96
Linfeng Zhang [Tue, 26 Sep 2017 16:10:46 +0000 (16:10 +0000)]
Merge changes Ib9105462,Idfac00ed,If8d8a0e2
* changes:
cosmetics: NEON scaling code
Refactor convolve NEON code
Refactor convolve code
Shiyou Yin [Wed, 6 Sep 2017 09:57:16 +0000 (17:57 +0800)]
vp8: [loongson] optimize copymen with mmi
1. vp8_copy_mem16x16_mmi
2. vp8_copy_mem8x8_mmi
3. vp8_copy_mem8x4_mmi
Change-Id: I3de29a11fa7402df0e48bbb944440b1e66498a65
Marco [Mon, 25 Sep 2017 20:36:25 +0000 (13:36 -0700)]
SVC: Add setting for max_intra_rate_pct in sample encoder.
Set it as default to 900.
Change-Id: Id2d990925dccff1f6762411c66ea95973440c92f
Scott LaVarnway [Mon, 25 Sep 2017 11:34:14 +0000 (11:34 +0000)]
Merge "vpxdsp: [x86] add highbd_d45_predictor functions"
Scott LaVarnway [Wed, 30 Aug 2017 16:27:44 +0000 (09:27 -0700)]
vpxdsp: [x86] add highbd_d45_predictor functions
C vs SSSE3 speed gains:
_4x4 : ~2.45x
_8x8 : ~10.61x
_16x16 : ~11.34x
_32x32 : ~6.36x
BUG=webm:1411
Change-Id: Ic91389a4f1a8ad093f498afe53765b897fb9be09
James Zern [Fri, 22 Sep 2017 07:35:55 +0000 (07:35 +0000)]
Merge changes If59743aa,Ib046fe28,Ia2345752
* changes:
Remove the unnecessary cast of (int16_t)cospi_{1...31}_64
Remove the unnecessary upcasts of (int)cospi_{1...31}_64
Change cospi_{1...31}_64 from tran_high_t to tran_coef_t
Andrew Lewis [Thu, 21 Sep 2017 08:50:53 +0000 (08:50 +0000)]
Merge "Comma-separate VP9 encoder tmp.stt output"
Marco Paniconi [Thu, 21 Sep 2017 01:33:12 +0000 (01:33 +0000)]
Merge "vp9: Modify pickmode early exit for ARF in 1pass."
Marco [Wed, 20 Sep 2017 21:55:31 +0000 (14:55 -0700)]
vp9: Modify pickmode early exit for ARF in 1pass.
Add the condition frames_since_golden > 0 to the
early exit check for ARF usage in nonrd_pickmode.
This improves quality of first frame following ARF, where
frame_since_golden = 0.
Small/neutral gain in metrics for speed 6, neutral change in speed.
Only affects when USE_ALTREF_FOR_ONE_PASS is enabled.
Change-Id: I82e73e6ff6fc849e5ca5448563cb8a0515fe0cdc
Linfeng Zhang [Mon, 18 Sep 2017 16:33:31 +0000 (09:33 -0700)]
Remove the unnecessary cast of (int16_t)cospi_{1...31}_64
BUG=webm:1450
Change-Id: If59743aafe99226e0ec67ab5d20678ce25f53ab8
Linfeng Zhang [Wed, 13 Sep 2017 20:05:47 +0000 (13:05 -0700)]
Remove the unnecessary upcasts of (int)cospi_{1...31}_64
BUG=webm:1450
Change-Id: Ib046fe28caec5b9ebdc9d0152df7c54ff4266858
Linfeng Zhang [Wed, 13 Sep 2017 00:13:17 +0000 (17:13 -0700)]
Change cospi_{1...31}_64 from tran_high_t to tran_coef_t
The unnecessary upcast to (int) will be cleaned later.
BUG=webm:1450
Change-Id: Ia234575206d5a74540526924b06ed3939322d063