Commit Graph

20653 Commits

Author SHA1 Message Date
Hien Ho
0d4453c8fe Merge "test/lpf_test: fix int sanitizer warning" 2019-08-21 22:13:35 +00:00
Hien Ho
569503fbc9 vpx_dsp/x86/fwd_txfm_sse2: fix int sanitizer warnings
implicit conversion from type 'int' of value 32768 (32-bit, signed)
to type 'short' changed the value to -32768 (16-bit, signed)

BUG=webm:1615

Change-Id: I7cdba7f7e550f62fd3ac31574e49b1909b6ab054
2019-08-21 13:34:14 -07:00
elliottk
9b8acbfee4 Update documentation: CRF works with VPX_Q mode
Tested that if VPX_Q is set, this variable will still be used
to pull the CRF value.

Change-Id: I065a219a7acd18b50478d4d0d3dc7ba5e1c90901
2019-08-20 17:29:21 -07:00
Angie Chiang
7080fc4604 Merge "Add [full/sub]_pixel_motion_search" 2019-08-20 18:04:42 +00:00
Yue Chen
40ea310277 Merge "Add 6:1:1 weighted PSNR to opsnr.stt" 2019-08-20 17:38:25 +00:00
Angie Chiang
14c41cd0b3 Let do_motion_search process one ref at at time
Change-Id: Iee3f2d1fbeddeee27400edb6fe1519c39352901d
2019-08-19 18:15:24 -07:00
Angie Chiang
3e56934883 Add [full/sub]_pixel_motion_search
Change-Id: Idcd3c3178f583b8584e2b34ca2fbe96337feaadd
2019-08-16 15:40:35 -07:00
Angie Chiang
f9b9371476 Add MotionField and MotionFieldInfo
Also add related buffer alloc/free functions.

Change-Id: I77dde3dd991f6b21b5c2c1ffa72300ce7738fd50
2019-08-16 14:34:58 -07:00
Angie Chiang
b0c89c99ce Add temporary motion_compensated_prediction_new
Temporarily add motion_compensated_prediction_new() to
decouple non_greedy_mv's motion search from baseline.

We need to decouple non_greedy_mv's full pixel motion search and
sub pixel motion search

Change-Id: I1a0e4a170c19b5b718e9d19b62268b520105a0ef
2019-08-16 11:01:28 -07:00
Dan Zhu
ff90269431 Merge "estimate local variation of reference frame" 2019-08-16 17:52:34 +00:00
Dan Zhu
3572f39586 Merge "smooth motion field" 2019-08-16 17:52:10 +00:00
Dan Zhu
6e122b6f82 estimate local variation of reference frame
Change-Id: I4218057403ad4f565ee2dcb5403ecaae17af7e26
2019-08-16 09:37:13 -07:00
Dan Zhu
795c9188f2 smooth motion field
Change-Id: I1e8273fa65f7655e49f626863fe457efef23fb54
2019-08-15 16:49:11 -07:00
Angie Chiang
7c1f5208e9 Add test_non_greedy_mv.cc
Change-Id: I7862d39ae52ab016bf6c3ba3aa4b8b1d9760cf27
2019-08-15 16:01:10 -07:00
Yue Chen
dc3ded3679 Add 6:1:1 weighted PSNR to opsnr.stt
Change-Id: I6f519ff99bacbe6968d9271a224cc2cbc0958cd8
2019-08-14 14:35:36 -07:00
Hien Ho
0665e9b4ae vp8/encoder/bitstream: fix int sanitizer warnings
implicit conversion from type 'unsigned int' of value 256
(32-bit, unsigned) to type 'unsigned char' changed the value to
0 (8-bit, unsigned)

BUG=webm:1615

Change-Id: I2b630bf22cad28b5a7a8a37f6938e6ebe12bc64e
2019-08-13 23:38:24 +00:00
Hien Ho
a7059eca33 test/lpf_test: fix int sanitizer warning
runtime error: implicit conversion from type 'int' of value 65594 (32-bit, signed)
to type 'uint16_t' (aka 'unsigned short') changed the value to 58 (16-bit, unsigned)

BUG=webm:1615

Change-Id: I6046a4a4fc0a108c337153f2c59d5cef5c8dcbd6
2019-08-13 16:50:47 +00:00
Hien Ho
0af40df746 Merge "vp9_rdopt: fix integer sanitizer warnings" 2019-08-12 18:28:11 +00:00
Jerome Jiang
e46820c693 Merge "Fix vp9_quantize_fp(_32x32)_neon for HBD" 2019-08-06 04:07:16 +00:00
Jerome Jiang
e1f127c4b5 Fix vp9_quantize_fp(_32x32)_neon for HBD
In high bitdepth build, Neon code would outrange because of use of
int16x8_t and vmulq_s16.
C code always truncate outrange values.

Change-Id: I33a968b8d812e3c8477f3a61d84482758a3f8b21
2019-08-05 16:06:46 -07:00
Hien Ho
84d4199077 Merge "vp8/encoder/boolhuff: fix integer sanitizer warnings" 2019-08-02 20:34:03 +00:00
Jerome Jiang
e034854618 Merge "Fix saturation issue in vp9_quantize_fp_neon" 2019-08-02 17:04:44 +00:00
Hien Ho
c1d630d5c8 Merge "vp9_svc_layercontext.c: fix integer sanitizer warnings" 2019-08-02 15:41:17 +00:00
Hien Ho
9dbbbd1812 Merge "vpx_dsp/bitwriter.h: fix clang integer sanitizer warning" 2019-08-02 15:40:47 +00:00
Jerome Jiang
8894c766c6 Fix saturation issue in vp9_quantize_fp_neon
Change-Id: I7850a5c5aea3633e50e9a2efc8116b9e16383a8f
2019-08-01 14:57:28 -07:00
Angie Chiang
0971d3204d Reduce call num of exhaustive search
The encoding time difference between non_greedy_mv and baseline
is reduced from 51% to 13%

However, there is also a performance impact.

non_greedy_mv performance:
Before this CL
lowres 0.395% midres 0.716% hdres 0.533%
After this CL
lowres 0.242% midres 0.429% hdres 0.305%

Change-Id: I047d6509df504b264981c0b903c0cc955f45b273
2019-07-31 15:07:56 -07:00
Angie Chiang
119dad38e6 Merge "Cosmetic changes of vp9_nb_mvs_inconsistency" 2019-07-31 22:03:27 +00:00
Angie Chiang
4b0bfe8f7d Merge "Change the child classes methods names to align with parent's" 2019-07-31 19:55:29 +00:00
Hien Ho
12cbfbb807 vpx_dsp/bitwriter.h: fix clang integer sanitizer warning
implicit conversion from type 'unsigned int' of value 256 (32-bit, unsigned)
to type 'uint8_t' (aka 'unsigned char') changed the value to 0 (8-bit, unsigned)


BUG=webm:1615

Change-Id: Ia9ac3772021ae492368c650a73846e7d22c8fdfc
2019-07-31 16:05:36 +00:00
Hien Ho
1979d41540 vp9_svc_layercontext.c: fix integer sanitizer warnings
implicit conversion from type 'int' of value -1
(32-bit, signed) to type 'uint8_t' (aka 'unsigned char') changed the
value to 255 (8-bit, unsigned

BUG=webm:1615

Change-Id: If507e73aea4dccd3914b6470f8d15db3b67300ce
2019-07-30 18:34:11 +00:00
Hien Ho
95ce7c6452 vp9_rdopt: fix integer sanitizer warnings
implicit conversion from type 'int' of value -9 (32-bit, signed) to type
'uint8_t' (aka 'unsigned char') changed the value to 247 (8-bit, unsigned)

BUG=webm:1615

Change-Id: Ic2254ef4312f349ee38ec6e12a56b2cd5714b101
2019-07-30 17:41:42 +00:00
James Zern
0fc1b220a4 sad_test: align exp_sad[]
fixes a crash on win32 in SSE4_1/SAD*

BUG=webm:1637

Change-Id: I9838915dccf8ed435d1326bc43465edd89687c18
2019-07-27 10:40:11 -07:00
Angie Chiang
f8c416f7bb Cosmetic changes of vp9_nb_mvs_inconsistency
Change-Id: I41022a2dca996657b64ffb0ede4df3ab6a466ab6
2019-07-24 14:04:08 -07:00
Angie Chiang
59b7f2f36f Merge "Add vp9_non_greedy_mv.c/h" 2019-07-24 21:01:42 +00:00
Marco Paniconi
18d309c127 Merge "vp9-rtc: Add intra speed feature for speed >= 8" 2019-07-23 18:29:48 +00:00
Dan Zhu
e7548da489 Merge "Add Horn & Schunck Estimator" 2019-07-23 18:16:37 +00:00
Dan Zhu
5db8ff42db Merge "Add Exhaust Search (Neighbor Constrain) Estimator" 2019-07-23 18:16:24 +00:00
Dan Zhu
8c5896e8dd Merge "Add Ground Truth Estimator" 2019-07-23 18:16:11 +00:00
Dan Zhu
4c89f06b3c Change the child classes methods names to align with parent's
Add comments to explain the coordinate system

Change-Id: Ib87ae479e08b4e3c3e7d9a3d1b4ab30718b42cfd
2019-07-23 11:14:18 -07:00
Dan Zhu
05b0b204a7 Merge "Based Class of Motion Field Estimators" 2019-07-23 18:09:56 +00:00
Dan Zhu
c7093c18b0 Add Horn & Schunck Estimator
Add Matrix solver
Fix a little bug in MotionEST

Change-Id: I8513475646f4f02df31b245fa750483449de9407
2019-07-23 09:55:03 -07:00
Dan Zhu
d7a2451d48 Add Exhaust Search (Neighbor Constrain) Estimator
Change-Id: I1e306979a0d308285155c152837125fb2036091a
2019-07-23 09:55:03 -07:00
Dan Zhu
e4096639ff Add Ground Truth Estimator
Change-Id: Iec6c7e49a64610e33a77c7d5d772e6b063a0f1e0
2019-07-23 09:55:03 -07:00
Dan Zhu
3244f4738d Based Class of Motion Field Estimators
Change-Id: Id01ce15273c0cab0cd61d064099d200708360265
2019-07-23 09:49:59 -07:00
Marco Paniconi
c096a249c9 vp9-rtc: Add intra speed feature for speed >= 8
Add intra speed feature to force DC only under intra mode
testing when source sad for superblock is not high.
Feature is only enable at speed >=8. With this feature
enabled at speed 8 we now allow for H/V intra check as
well for speed 8.

This helps to redude artifacts for speed 8, by allowing H/V mode
to be checked for blocks when the superblock has high
source sad/content change.

Change-Id: I0495ce96b4cc844e8c625b5183eef180dbaaaa72
2019-07-23 09:43:39 -07:00
Wan-Teh Chang
ad8f8150c0 Merge "Remove unused fb_cb related fields from VP9_COMMON" 2019-07-19 15:45:55 +00:00
Angie Chiang
5362ce31ca Add vp9_non_greedy_mv.c/h
Move vp9_nb_mvs_inconsistency to vp9_non_greedy_mv.c
This is to facilitate following SIMD optimizations.

Change-Id: I8eb8f820368928e0c4fb287e557cddf0bd2c763e
2019-07-18 15:22:44 -07:00
Angie Chiang
6b5db3f9da Merge changes I3216c984,I70d40060
* changes:
  Make vp9_prepare_nb_full_mvs only return valid mvs
  Let vp9_nb_mvs_inconsistency call log2 just once
2019-07-18 22:12:12 +00:00
Wan-Teh Chang
546c273f1a Remove unused fb_cb related fields from VP9_COMMON
Remove the cb_priv, get_fb_cb, release_fb_cb, and int_frame_buffers
fields from the VP9_COMMON struct. They are not being used.

Change-Id: I235194aa8b315cd8ec9405bbba5feb3bee69f7e0
2019-07-18 14:37:32 -07:00
Angie Chiang
706f1f10e0 Make vp9_prepare_nb_full_mvs only return valid mvs
In this case, vp9_nb_mvs_inconsistency doesn't need to check
whether each neighbor mv is valid or not.

non_greedy_mv encoding time is reduced by 1.5%

Change-Id: I3216c98481e777d5e0b917ea20ee39b7ca9c9d23
2019-07-17 13:14:10 -07:00