748 Commits

Author SHA1 Message Date
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
abe0484cee Merge "New CLPF: New kernel and RDO for strength and block size" into nextgenv2 2016-10-10 18:17:41 +00:00
David Barker
4d03d6fc6f Add sse2 forward / inverse 4x8 and 8x4 transforms
Change-Id: I89ed93fb20cf975c2b463cff58879521ceaa4163
2016-10-10 09:02:45 -07: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
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
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
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
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
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
Jingning Han
75e513f126 Set spatial neighbor search resolution 16x16 for block size 64x64
When the block has width/height above or equal to 64, use 16x16
block search step for reference motion vector search in the non-
immediate rows and columns.

Change-Id: If11ce97a9328b879f30ef87115086aa0cd985a2f
2016-09-30 10:00:10 -07:00
Jingning Han
883c63ca57 Search collocated reference block in 16x16 unit
Use 16x16 block resolution for collocated reference motion vector
search.

Change-Id: I1091b5b178e255eb6cc0b994de360994f7661b79
2016-09-30 09:04:21 -07:00
Alex Converse
770911d48c Merge changes I319cb856,Ib009b6b6 into nextgenv2
* changes:
  Remove multi-entropy coder hacks from the treewriter
  Rename rans_dec_lut to rans_lut
2016-09-29 21:54:28 +00:00
Jingning Han
d54e5a04c4 Merge "more ref_mv changes from aom/master" into nextgenv2 2016-09-29 21:46:56 +00:00
Yue Chen
7dc7703bcb Merge "Fix unit test failure for RECT_TX + VAR_TX" into nextgenv2 2016-09-29 21:41:10 +00:00
Yaowu Xu
4306b6e599 more ref_mv changes from aom/master
Change-Id: I9152f898dfacdf3877ed719f193bb1e0dbee0a1a
2016-09-29 12:41:55 -07:00
Yue Chen
235133a22e Fix compiler error for GLOBAL_MOTION+WARPED_MOTION
Fix the logical OR computation in .mk file. Otherwise, when both
experiments are on, the output of $(filter... will be two 'yes',
which will cause missing library issue.

Change-Id: I53c44e925dc9ea77c7467217c20e4f1bc7e20fc3
2016-09-29 12:12:47 -07:00
Yue Chen
8e87224604 Merge "Move warping model estimation functions to COMMON folder" into nextgenv2 2016-09-29 18:24:32 +00:00
Alex Converse
57aa0f656d Merge changes Ideda50a6,Id2bced5f,If423eeb3 into nextgenv2
* changes:
  Port ANS from aom/master 25aaf40
  Refactor bitreader and bitwriter wrapper.
  Migrate aom/master ANS test from d311d02.
2016-09-29 16:43:12 +00:00
Yue Chen
49587a77f1 Fix unit test failure for RECT_TX + VAR_TX
Disable rect_tx because we only support 4x4 Walsh-Hadamard transform
in lossless mode.

Fixes failure in ./test_libaom --gtest_filter=*Large*ScreencastQ0/1
Configuration: --enable-experimental --enable-var-tx --enable-rect-tx
 --enable-ref-mv --enable-ext_intra --enable-ext_tx --enable-debug
 --disable-optimizations

Change-Id: Ib6b3494c7dcf7182f1cab9b138388d054851a23d
2016-09-29 09:20:52 -07:00
Debargha Mukherjee
485af9e580 Merge "Change non-uniform-quant parameters" into nextgenv2 2016-09-29 16:04:58 +00:00
Jingning Han
4d7d2254bc Merge "mvref_common.c: port refactoring from aom/master" into nextgenv2 2016-09-29 15:45:20 +00:00
Jingning Han
3f485e9528 Merge "Remove an intermediate variable" into nextgenv2 2016-09-29 15:45:10 +00:00