Johann
ce5b17f9ad
testing: ranges for random values
...
Add a method to acm_random.h to generate ranges of values
Add a way to call that method to buffer.h
Adjust dct_[partial_]test.cc to use it.
Change-Id: I8c23ae9d27612c28f050b0e44c41cb4ad2494086
2017-06-30 07:25:30 -07:00
Johann Koenig
89d3dc043e
Merge changes Id5beb35d,I2945fe54,Ib0f3cfd6,I78a2eba8
...
* changes:
partial fdct neon: add 32x32_1
partial fdct neon: add 16x16_1
partial fdct neon: add 4x4_1
partial fdct neon: move 8x8_1 and enable hbd tests
2017-06-30 01:00:07 +00:00
James Zern
67d7a6df2d
Merge changes from topic 'rm-dec-frame-parallel'
...
* changes:
rm vp9_frame_parallel_test.cc
test_vector_test: rm ref to VPX_CODEC_USE_FRAME_THREADING
2017-06-29 23:21:18 +00:00
James Zern
e5bdab98e9
rm vp9_frame_parallel_test.cc
...
VPX_CODEC_USE_FRAME_THREADING was made a no-op in:
01d23109a
vp9: make VPX_CODEC_USE_FRAME_THREADING a no-op
and the tests in this file have been disabled since:
6ab0870d4
disable VP9MultiThreadedFrameParallel tests
BUG=webm:1395
Change-Id: I2c7a250acb65cf9522cf8a7bb724bb92070e41c6
2017-06-29 15:15:56 -07:00
James Zern
508ef2a6e3
test_vector_test: rm ref to VPX_CODEC_USE_FRAME_THREADING
...
this was made a no-op in:
01d23109a
vp9: make VPX_CODEC_USE_FRAME_THREADING a no-op
and the test hitting this branch has been disabled since:
6ab0870d4
disable VP9MultiThreadedFrameParallel tests
rename the test to VP9MultiThreaded to exercise the tile-based threading
BUG=webm:1395
Change-Id: I35564a75eb5a7d7f7ccb923133b1b07295201f4c
2017-06-29 15:15:48 -07:00
James Zern
bd77931421
dct_partial_test,fwd_txfm: change << to *
...
left shift of a negative number is undefined in C; quiets a ubsan
warning
Change-Id: Ib1624ad5326ac8e0eead9348468ef7fe5d4df9a4
2017-06-29 14:42:03 -07:00
Jerome Jiang
74dc640565
vp9: Remove avg2x2 in skin detection and clean up.
...
Change-Id: I6510e36866138f8ac4cb82c207e58e0b9522e499
2017-06-29 03:06:23 +00:00
Johann
9fe510c12a
partial fdct neon: add 32x32_1
...
Always return an int32_t. Since it needs to be moved to a register for
shifting, this doesn't really penalize the smaller transforms.
The values could potentially be summed and shifted in place.
BUG=webm:1424
Change-Id: Id5beb35d79c7574ebd99285fc4182788cf2bb972
2017-06-28 15:37:44 -07:00
Johann
f310ddc470
partial fdct neon: add 16x16_1
...
For the 8x8_1, the highbd output fit nicely in the existing function. 12
bit input will overflow this implementation of 16x16_1.
BUG=webm:1424
Change-Id: I2945fe5478b18f996f1a5de80110fa30f3f4e7ec
2017-06-28 15:37:44 -07:00
Johann
4959dd3eb3
partial fdct neon: add 4x4_1
...
BUG=webm:1424
Change-Id: Ib0f3cfd6116fc1f5a99acb8bfd76e25b90177ffc
2017-06-28 15:37:44 -07:00
Johann
cf75ab6ccd
partial fdct neon: move 8x8_1 and enable hbd tests
...
The function was originally written with HBD in mind. Enable it and
configure the tests.
BUG=webm:1424
Change-Id: I78a2eba8d4d9d59db98a344ba0840d4a60ebe9a1
2017-06-28 15:37:43 -07:00
Johann Koenig
81e25512c3
Merge changes Ib454762d,I966650df,Ie126553e,I068f06c6,Icb72a94e
...
* changes:
sad neon: rewrite 64x64 and add 64x32
sad neon: rewrite 32x32, add 32x16 and 32x64
sad neon: rewrite 16x8, 16x16, add 16x32
sad neon: rewrite 8x8 and 8x16
sad neon: rewrite 4x4 and add 4x8
2017-06-28 22:37:00 +00:00
Johann Koenig
d91af5f905
Merge "buffer.h: Only allow Init() to be called once."
2017-06-28 22:36:05 +00:00
Johann Koenig
35f8515c3f
Merge "partial fdct test"
2017-06-28 22:34:53 +00:00
Johann
5ac88162b9
partial fdct test
...
Test the _1 variant of the fdct, which simply sums the block and applies
a modifying shift based on the block size.
BUG=webm:1424
Change-Id: Ic80d6008abba0c596b575fa0484d5b5855321468
2017-06-28 20:32:20 +00:00
Johann
ad011aaab8
sad neon: rewrite 64x64 and add 64x32
...
BUG=webm:1425
Change-Id: Ib454762d1c61b05a98324fe81ad58c9e09784717
2017-06-28 12:21:34 -07:00
Johann
77a648885c
sad neon: rewrite 32x32, add 32x16 and 32x64
...
BUG=webm:1425
Change-Id: I966650df7e3face93e1e771634d1cc5458a35f85
2017-06-28 12:20:27 -07:00
Johann
469643757f
sad neon: rewrite 16x8, 16x16, add 16x32
...
BUG=webm:1425
Change-Id: Ie126553e5fffcdfaf3d82a85b368ac10ce9ab082
2017-06-28 12:16:00 -07:00
Johann
e40e78be24
sad neon: rewrite 8x8 and 8x16
...
BUG=webm:1425
Change-Id: I068f06c67b841f09ea07c04ada0c2f1706102138
2017-06-28 12:15:57 -07:00
Johann
46d8660ce3
sad neon: rewrite 4x4 and add 4x8
...
The previous implementation loaded 8 values (discarding half)
BUG=webm:1425
Change-Id: Icb72a94e2557a4ee2db7091266ab58fd92f72158
2017-06-28 11:14:59 -07:00
Jerome Jiang
8582d33a0d
Merge "vp9: compute skinmap only once before encoding."
2017-06-28 18:01:46 +00:00
Johann
e0330c4810
buffer.h: Only allow Init() to be called once.
...
Change-Id: I041c8b6f314802833c5287a176dbfeec9461b08e
2017-06-28 10:59:39 -07:00
Marco
88d11f473c
vp9: Speed >= 8: Remove logic on reducing subpel.
...
Existing logic was only affecting resolutions above 720p.
Needs more testing for reducing subpel for speed >= 8.
No change on RTC metrics.
Change-Id: I2f4bf9f25891614aafa9a86aa5a5063a3ccfce4d
2017-06-27 20:27:02 -07:00
James Zern
515fed8f38
Merge "highbd_quantize_fp_32x32: normalize abs_qcoeff type"
2017-06-27 23:30:17 +00:00
Jerome Jiang
a220b931f5
vp9: compute skinmap only once before encoding.
...
This could save some cycles since skin detection is used in multiple
places in vp9.
1~2% speed up on ARM.
Change-Id: I86b731945f85215bbb0976021cd0f2040ff2687c
2017-06-27 16:16:02 -07:00
Linfeng Zhang
0bb31a46a4
Update vpx_idct8x8_12_add_ssse3()
...
Change-Id: I0f38801c391db87ddae168602a786a062cd34b1d
2017-06-26 14:57:41 -07:00
Linfeng Zhang
39972d999d
Merge "Update load_input_data() in x86"
2017-06-26 21:48:50 +00:00
Jerome Jiang
ddae8f7632
Merge "vp8: Clean up skinmap debugging codes."
2017-06-26 21:32:52 +00:00
Linfeng Zhang
a76b6b232c
Update load_input_data() in x86
...
Split to load_input_data4() and load_input_data8().
Use pack with signed saturation instruction for high bitdepth.
Change-Id: Icda3e0129a6fdb4a51d1cafbdc652ae3a65f4e06
2017-06-26 13:38:33 -07:00
James Zern
f749905d0a
roll libwebm snapshot
...
git log --no-merges --oneline 9732ae9..a97c484
9096786 mkvparser: fix float conversion warning
84e8257 disable -Wdeprecated-declarations in legacy code
a98f495 AddGenericFrame: fix memory leak on failure
da131dd AddCuePoint: fix memory leak on failure
b0cea9c Add(Audio|Video)Track: fix memory leak on failure
5261a67 webm_info: check vp9 ParseUncompressedHeader return
85f7e2e webm_info,PrintVP9Info: validate alt ref sizes
9b97ca1 vp9_header_parser_tests: check parser return
300d6d8 CuePoint::Find: check Track pointer
50c44bb webm_info,OutputCues: fix indexing of tracks
a0d27f0 mkvparser,Block::Parse: remove incorrect assert
784fc1b vttdemux,CloseFiles: check file pointer before closing
b4522c1 .gitattributes: force mkv/webm to be treated as binary
a118f3d Add test for projection parse failures.
d398479 Add test for primary chromaticity parse failures.
9bbec4c Fix permissions on test file.
2cef4d5 mkvparser:Parse: s/FLT_MIN/-FLT_MAX/
35a3c88 mkvmuxer: Turn off estimate_file_duration_ by default
5a41830 mkvparser: Avoid double free when Chromaticity parse fails.
67e3ffa mkvparser: Avoid casts of values too large for float in
Projection elements.
87bcddf vttdemux::ChapterAtomParser: check for NULL display string
a534a24 Update .gitignore
a0d67d0 mkvmuxer: Fix hard-coded data size in EbmlElementSize
c36112c mkvparser: #include sys/type.h
686664e Fix cmake generation warnings on Windows.
2b2c196 cmake: Fix required flag check.
166e40f Cmake refactor.
9fb774a Add missing include in webm2pes.cc.
4956b2d mkvmuxer: Force new clusters when audio queue gets too long.
54f1559 cmake: Cache results of CXX flag tests.
81c73fc mkvparser: Avoid alloc failures in SeekHead::Parse.
Change-Id: Ib81b1772ec81e7af3852dcfef2d312416f6db53d
2017-06-26 18:38:47 +00:00
Linfeng Zhang
ec4afbf74a
Merge "Add vpx_highbd_idct4x4_16_add_sse4_1()"
2017-06-24 01:15:14 +00:00
Urvang Joshi
30eeb4dc32
Merge "Enable greedy version of optimize_b() in VP9 by default."
2017-06-24 00:58:24 +00:00
Linfeng Zhang
6ff5de68dd
Merge "Cosmetics, 8x8 idct SSE2 optimization"
2017-06-24 00:51:08 +00:00
Urvang Joshi
4bb99ee27e
Enable greedy version of optimize_b() in VP9 by default.
...
Improvements were already mentioned in the previous patch:
https://chromium-review.googlesource.com/#/c/531675/
Change-Id: I4906ab1c61c25a815bdeb986016fad6dcb69eb71
2017-06-23 17:04:58 -07:00
James Zern
ee1fcb0e69
Merge "variance_test: move Subpel* from tuples to TestParams"
2017-06-23 22:48:40 +00:00
Marco Paniconi
8ad23a072a
Merge "vp9: Use scene detection for CBR mode."
2017-06-23 21:59:32 +00:00
Linfeng Zhang
8253a27904
Add vpx_highbd_idct4x4_16_add_sse4_1()
...
BUG=webm:1412
Change-Id: Ie33482409351a01be4e89466b0441834eb1e905a
2017-06-23 14:30:12 -07:00
Linfeng Zhang
b8a4b5dd8d
Cosmetics, 8x8 idct SSE2 optimization
...
Change-Id: Id21fa94fd323e36cd19a2d890bf4a0cafb7d964d
2017-06-23 14:30:12 -07:00
Jerome Jiang
b0c4d87ac7
vp8: Clean up skinmap debugging codes.
...
Use the computed skinmap.
Change-Id: I8aabb5922ef5190ec85b9e01807cb79b4803b925
2017-06-23 14:05:33 -07:00
James Zern
0d1c782306
Merge "datarate_test: rename thread -> Thread in test name"
2017-06-23 20:00:51 +00:00
James Zern
54bcd98314
variance_test: move Subpel* from tuples to TestParams
...
this normalizes these tests with the regular variance ones both in
implementation and test list output
Change-Id: I387aea81456f94b8223b8fb2a28cab94bc1aa9d5
2017-06-23 12:54:18 -07:00
Marco
18805eee6c
vp9: Use scene detection for CBR mode.
...
Use the scene detection for CBR mode, and use it to reset the
rate control if large source sad is detected and rate
correctioni fact/QP is at minimum state.
Avoids large frame sizes after big content change following
low content period.
Only affects CBR mode for 1 pass at speeds 5, 6, 7.
Change-Id: I56dd853478cd5849b32db776e9221e258998d874
2017-06-23 11:44:50 -07:00
Jerome Jiang
e187b27438
Merge "vp8: Compute skinmap only once before encoding."
2017-06-23 17:17:02 +00:00
James Zern
88a302e743
Merge changes from topic 'missing-proto'
...
* changes:
onyxd_int.h: add missing prototypes
onyxd.h: add vp8dx_references_buffer prototype
vp[89],vpx_dsp: add missing includes
vp8,encodeframe.h: correct prototypes
vp8: add temporal_filter.h
add picklpf.h
add ethreading.h
vp8,bitstream.h: add missing prototypes
vp8: remove vp8_fast_quantize_b_mmx
vp8,loopfilter_filters: make some functions static
vp9_ratectrl: make adjust_gf_boost_lag_one_pass_vbr static
vp9_encodeframe: make scale_part_thresh_sumdiff static
vp9_alt_ref_aq: correct vp9_alt_ref_aq_create proto
tiny_ssim: make some functions static
2017-06-23 05:44:24 +00:00
James Zern
a377f99088
onyxd_int.h: add missing prototypes
...
vp8cx_init_de_quantizer, vp8_mb_init_dequantizer
quiets -Wmissing-prototypes
Change-Id: Ib63d14caf0144eff31a75b7cdb667b7e1f9d83ae
2017-06-22 20:20:23 -07:00
Johann Koenig
794a5ad713
Merge "fdct32x32 neon implementation"
2017-06-23 01:58:00 +00:00
Jerome Jiang
b28fc490aa
vp8: Compute skinmap only once before encoding.
...
Get ready for other uses (i.e. cyclic refresh).
Then use it when needed.
Change-Id: Id0519a9921045e5fb7f3badb54e9f04e903f28f9
2017-06-22 17:12:15 -07:00
Marco Paniconi
4f917912b9
Merge "vp9: Add high source sad to content state."
2017-06-22 22:18:48 +00:00
Linfeng Zhang
c5f9de573f
Merge changes I783c5f4f,I365f8e53,I5dac0e98
...
* changes:
Clean vpx_idct16x16_256_add_sse2()
Update vpx_idct{8x8,16x16,32x32}_1_add_sse2()
Clean 32x32 full idct sse2 and ssse3 code
2017-06-22 21:42:23 +00:00
Paul Wilkins
92145006c3
Merge "Fix int overflow in rate control for high bit rates."
2017-06-22 16:30:40 +00:00