Commit Graph

17542 Commits

Author SHA1 Message Date
Steinar Midtskogen
3dbd55a6c4 Added high bit-depth support in CLPF.
Change-Id: Ic5eadb323227a820ad876c32d4dc296e05db6ece
2016-10-10 11:27:04 -07:00
Steinar Midtskogen
9351b2f792 Fix a memleak in CLPF.
The memleak appeared in eb5794da1659f87597291d84c2fbdfd89280065d.

Change-Id: Ifdd6d64aafa0d0ce4dfaf1844f594d5f843bf2e0
2016-10-10 11:26:52 -07:00
Steinar Midtskogen
e8224c7ad5 Reduce memory footprint for CLPF decoding.
Instead of having CLPF write to an entire new frame and
copy the result back into the original frame, make the
filter able to work in-place by keeping a buffer of size
frame_width*filter_block_size and delay the write-back
by one filter_block_size row.

This reduces the cycles spent in the filter to ~75%.

Change-Id: I78ca74380c45492daa8935d08d766851edb5fbc1
2016-10-10 11:26:33 -07:00
Steinar Midtskogen
34dac00adc Make CLPF handle frame widths and heights not divisible by 8.
Change-Id: If5eb33b6b090f43ba64c82468576b89eddd872c3
2016-10-10 11:26:15 -07:00
Steinar Midtskogen
f4d41e6330 CLPF: Don't assume sb size=64 and w&h multiple of 8 + valgrind fix.
Change-Id: I518ad9c58973910eb0bdcb377f2d90138208c570
2016-10-10 11:21:23 -07:00
Steinar Midtskogen
2fd70ee124 Silence some harmless compiler warnings in CLPF.
Change-Id: I4a6d84007bc17b89cfd8d8f2440bf2968505bd6a
2016-10-10 11:20:43 -07:00
Steinar Midtskogen
be668e92c3 Added generic SIMD support for CLPF.
Change-Id: Ie03f9a5b0a4c708a586532198d755a1e7509f149
2016-10-10 11:19:37 -07:00
Yaowu Xu
607048d606 Merge "Added generic SIMD library supporting x86 SSE2+ and ARM NEON." into nextgenv2 2016-10-10 18:17:50 +00:00
Yaowu Xu
abe0484cee Merge "New CLPF: New kernel and RDO for strength and block size" into nextgenv2 2016-10-10 18:17:41 +00:00
Yi Luo
3a8217f21b Merge "Hybrid forward transforms 16x16 AVX2 optimization" into nextgenv2 2016-10-07 01:52:11 +00:00
Debargha Mukherjee
609453e7e4 Merge "Added sse2 inverse 8x16 and 16x8 transforms" into nextgenv2 2016-10-07 00:03:34 +00:00
Debargha Mukherjee
e4dc5f8dc9 Merge "A bug fix for var-tx" into nextgenv2 2016-10-07 00:02:31 +00:00
Yi Luo
e8e8cd8f1b Hybrid forward transforms 16x16 AVX2 optimization
- Unit tests are added for AVX2 SIMD.
- Encoder speed improvement:
  AV1 baseline and EXT_TX, three 1080p sequences at bitrate:
  800 Kbps, 2 Mbps, 6 Mbps, on i7-6700 CPU, average
  user level time reduction: 3.86%.

Change-Id: Ibbd7837ee3a831c6b1e4e471bf6c8d3fa3a19ff4
2016-10-06 15:33:15 -07:00
Alex Converse
24aa59cc51 Fix left shift of negative integer in hbd directional predictors
Change-Id: Id78139ae2dfa2d521bd50618b4a81cf24e09e391
2016-10-06 11:41:47 -07:00
Peter de Rivaz
1baecfeb03 Added sse2 inverse 8x16 and 16x8 transforms
Change-Id: I43628407b11e5c8e6af4df69f2acdc67ac827834
2016-10-06 11:23:14 -07:00
Debargha Mukherjee
29804479b5 Merge "Silence some warnings" into nextgenv2 2016-10-06 18:15:16 +00:00
Debargha Mukherjee
28d924b7b8 A bug fix for var-tx
Fixes a crash with supertx, ext-tx and rect-tx

Change-Id: I6b5f4cfd6e209558541a791be685b55156aa0138
2016-10-06 11:14:27 -07:00
Steinar Midtskogen
a5f8ea1109 Added generic SIMD library supporting x86 SSE2+ and ARM NEON.
Change-Id: I037f4c44f621a7e909b82ccb6a299d41bcbf8607
2016-10-06 16:37:08 +00:00
Steinar Midtskogen
d06588ab18 New CLPF: New kernel and RDO for strength and block size
This commit ports a CLPF change from aom/master by manually
cherry-picking:
7560123c066854aa40c4685625454aea03410b18

Change-Id: I61eb08862a101df74a6b65ece459833401e81117
2016-10-06 09:36:03 -07:00
Jingning Han
3b22d1a875 Merge "Make ref_mv_idx syntax context dependent on block distance only" into nextgenv2 2016-10-06 15:55:40 +00:00
Angie Chiang
9c2d401ca0 Merge "Simplify file dependencies of SIMD implementation of interpolation filters" into nextgenv2 2016-10-05 16:26:26 +00:00
Jingning Han
8205b78552 Make ref_mv_idx syntax context dependent on block distance only
This allows the hardware decoder to start decoding ref_mv_idx
syntax prior to the sorting stage and hide the latency of entropy
decoding. The compression performance change is about 0.01% level.

Change-Id: I86b34f31f6c99a36ae2780416175cc0bd90ff492
2016-10-05 09:09:00 -07:00
Debargha Mukherjee
1ae9f2cfab Silence some warnings
Change-Id: I8efb64eac3438484e7a77a8a1db198223fc52bfa
2016-10-04 14:30:16 -07:00
Debargha Mukherjee
cb603790b0 Fix a compiler warning in ext-inter experiment
Change-Id: If36417c1384646da57453344b208e7653a4d31e5
2016-10-04 13:22:21 -07:00
Debargha Mukherjee
1a16a987ee Fix an integer overflow issue in restoration
https://bugs.chromium.org/p/webm/issues/detail?id=1306

Change-Id: Icd11d373ff08954121c097728e4c7791791e223f
2016-10-04 11:50:00 -07:00
Alex Converse
438b1dcb72 Merge "ext_tx: fix a signed overflow" into nextgenv2 2016-10-04 17:24:06 +00:00
Yi Luo
2b47628903 Merge "Fix high bitdepth variance overflow on uint32_t" into nextgenv2 2016-10-04 17:11:07 +00:00
Angie Chiang
b9ba5c251b Simplify file dependencies of SIMD implementation of interpolation filters
This is a similar change to following aom CL
https://aomedia-review.googlesource.com/#/c/1961/

Move SIMD related functions from filter.c/h to following files
av1_convolve_ssse3.c
av1_highbd_convolve_filters_sse4.c

Change following c files to header files.
av1_highbd_convolve_filters_sse4.c
av1_convolve_filters_ssse3.c

Change-Id: I41a3cc6b0789e632451aeda82f5eb97a4d78e370
2016-10-03 18:43:23 -07:00
Yi Luo
a674ba93fe Fix high bitdepth variance overflow on uint32_t
BUG=webm:1305

Change-Id: I4c56631359e298b99e618c07bcbae9f793c5e2ac
2016-10-03 16:37:00 -07:00
Yi Luo
8e46b860c6 Fix filter type mismatch warning on Visual Studio
- Move filter look-up functions to corresponding optimization modules.

BUG=webm:1296

Change-Id: I87f399609052db2dbc7e5a590afb08b82e3fa89f
2016-10-03 16:24:25 -07:00
Alex Converse
aa77b5168f ext_tx: fix a signed overflow
Change-Id: I9a08bc5da1a84c3d4b8fe2d457bb80406c0bc028
2016-10-03 16:17:24 -07:00
Debargha Mukherjee
bf0431276d Merge "Further changes to new-quant tables" into nextgenv2 2016-10-03 21:10:30 +00:00
Yaowu Xu
0badd0201e Merge "decode_with_drops.sh : make sample test work for av1" into nextgenv2 2016-10-03 19:57:43 +00:00
Yaowu Xu
6f745a2795 Merge "decode_with_drop.sh: vp8->aom" into nextgenv2 2016-10-03 19:57:30 +00:00
Yaowu Xu
f54733ad25 Merge "decode_to_md5_test: fixes and runs quick encode and checks decode" into nextgenv2 2016-10-03 19:57:17 +00:00
Yaowu Xu
4707c75a5b Merge "decode_to_md5.sh: vp8->aom" into nextgenv2 2016-10-03 19:56:59 +00:00
Jim Bankoski
ddb90bb445 decode_with_drops.sh : make sample test work for av1
Change-Id: I4175070840a6561c1cec5f5a50b64e425f3e2926
2016-10-03 11:13:13 -07:00
Yaowu Xu
a7c2e5c3f5 decode_with_drop.sh: vp8->aom
Change-Id: I22dacbc2e4933a60ce7151204af9ee253990ca1f
2016-10-03 11:13:08 -07:00
Jim Bankoski
0d730f95f0 decode_to_md5_test: fixes and runs quick encode and checks decode
This test checks if there's any basic change to the bitstream or default
encoder by running an encode and checking that the md5 from the decode
doesn't change.

Any change to the default encoder or bitstream should be accompanied by
a change to the md5 in this file.

Change-Id: Ibdd5a1442296fd3e946823ec1f43e8ac4e66dd34
2016-10-03 11:12:13 -07:00
Yaowu Xu
8982e20889 decode_to_md5.sh: vp8->aom
Change-Id: I0dcb0643cf83ee99b63336df851cbca749c11b68
2016-10-03 11:11:54 -07:00
Jingning Han
42bc3a9ef3 Sync ref-mv experiment between aom and nextgenv2
Change-Id: I134d276234b3b8aa7df1ab647892b5d739647f4c
2016-10-03 09:02:20 -07:00
Debargha Mukherjee
3c42c09608 Further changes to new-quant tables
Refactor to streamline the number of profiles needed, in
preparation for the next steps.

NO change in performance.

Change-Id: I753b89299897857f3c250c316b4cdc4fedcb90e8
2016-10-01 17:59:28 -07:00
Jingning Han
1f470046aa Merge "Rename aom_write_nmv_probs as av1_write_nmv_probs" into nextgenv2 2016-10-01 01:06:09 +00:00
Yaowu Xu
d59fb48bc7 Add notes for an option
cherry-picked from aom/master:
2b407394907253be68bc497aa978b0adc298bbf8

Change-Id: Ia7b3bfd68e2c31b21f49a429fecc4d0b701b045f
2016-09-30 15:39:53 -07:00
Yaowu Xu
671f2bd3f5 Rename AOM_ENC/DEC_BORDER_IN_PIXELS
Cherry-picked from aom/master:
e2721a65cbfb5b560cd884d60eb17f53539df5f0

Change-Id: I4ade58be91e7bca0cc4f2bed98a43177d7f590a5
2016-09-30 15:17:16 -07:00
Jingning Han
71e4553c3b Clean up av1_adapt_mv_probs format
Change-Id: Ib5226d4fe3dcf916fe8954c7240966e3a32eed31
2016-09-30 17:58:21 +00:00
Jingning Han
5c60cdf23f Sync assign_mv format
Change-Id: I4fea280d72d7e428f2ab0820fd728997d5a903c9
2016-09-30 17:58:06 +00:00
Jingning Han
3b0a3f3ab3 Merge "Set spatial neighbor search resolution 16x16 for block size 64x64" into nextgenv2 2016-09-30 17:57:52 +00:00
Jingning Han
dcf1b40d91 Merge "Search collocated reference block in 16x16 unit" into nextgenv2 2016-09-30 17:45:09 +00:00
Jingning Han
fd0cf16d7f Rename aom_write_nmv_probs as av1_write_nmv_probs
Change-Id: Ia33ce4918d3d40eba331f81909f3f1f0f3ab7a58
2016-09-30 10:34:33 -07:00