Linfeng Zhang
a80bdfd081
Change sinpi_{1,2,3,4}_9 from tran_high_t to int16_t
...
Add "typedef int16_t tran_coef_t;"
BUG=webm:1450
Change-Id: I67866f104898d1dda8989e1abdaf6983fe324154
2017-09-18 09:26:03 -07:00
Linfeng Zhang
9d278465b5
Merge "cosmetics: vp9_rtcd_defs.pl"
2017-09-18 16:23:33 +00:00
Shiyou Yin
2aacfa1acd
Merge "vp8: [loongson] optimize dequantize with mmi"
2017-09-15 23:53:40 +00:00
Paul Wilkins
65f1c90652
Merge "Fix bug in intra mode rd penalty."
2017-09-15 15:43:29 +00:00
Kaustubh Raste
08fda52e18
Merge "mips msa clean-up msa macros"
2017-09-15 01:27:02 +00:00
James Zern
90ed0d2f73
Merge "vp9_scale_test: add C config"
2017-09-15 00:27:58 +00:00
James Zern
c12b39626f
Merge "Revert "Specialize 4 to 3 scaling in vp9_scale_and_extend_frame_c()""
2017-09-15 00:27:41 +00:00
Hui Su
293734b755
Merge "VP9 level targeting: add a new AUTO mode"
2017-09-14 21:02:38 +00:00
James Zern
c24d911847
vp9_scale_test: add C config
...
Change-Id: I9dfe8255d1c096d246bf9719729f57dbae779ffc
2017-09-14 13:08:04 -07:00
James Zern
baf658ec4c
Revert "Specialize 4 to 3 scaling in vp9_scale_and_extend_frame_c()"
...
This reverts commit afee58f2c4159172f5340f2c7d3e8041cfa0eb91.
This causes ~8x slowdown in 4:3 in the C-code
Change-Id: I60a7ead12dc4ec1548b1b12cfe4b0be42ef04e0e
2017-09-14 13:07:21 -07:00
Hui Su
c3a6943c16
VP9 level targeting: add a new AUTO mode
...
In the new AUTO mode, restrict the minimum alt-ref interval and max column
tiles adaptively based on picture size, while not applying any rate control
constraints.
This mode aims to produce encodings that fit into levels corresponding to
the source picture size, with minimum compression quality lost. However, the
bitstream is not guaranteed to be level compatible, e.g., the average bitrate
may exceed level limit.
BUG=b/64451920
Change-Id: I02080b169cbbef4ab2e08c0df4697ce894aad83c
2017-09-14 16:20:29 +00:00
Shiyou Yin
b81de66171
vp8: [loongson] optimize dequantize with mmi
...
1. vp8_dequantize_b_mmi
2. vp8_dequant_idct_add_mmi
Change-Id: I505f8afb7a444173392b325906e6a4f420f00709
2017-09-14 20:56:06 +08:00
Shiyou Yin
5b558592f5
vp8: [loongson] optimize idctllm with mmi
...
1. vp8_short_idct4x4llm_mmi
2. vp8_short_inv_walsh4x4_mmi
3. vp8_dc_only_idct_add_mmi
Change-Id: I616923681e79d78607a4988608fc39df77b093f4
2017-09-14 16:51:11 +08:00
Kaustubh Raste
4ca8f8f5e2
mips msa clean-up msa macros
...
Removed inline for GP load-store in case of (__mips_isa_rev >= 6)
Created one define LD_V for vector load and ST_V for vector store
Change-Id: Ifec3570fa18346e39791b0dd622892e5c18bd448
2017-09-14 12:29:19 +05:30
Linfeng Zhang
535dee0fb6
cosmetics: vp9_rtcd_defs.pl
...
Change-Id: I1bf57824e07fa4f8b3b5574984117f2bd7a1c086
2017-09-13 12:13:55 -07:00
Linfeng Zhang
0726dd97d3
Merge "Specialize 4 to 3 scaling in vp9_scale_and_extend_frame_c()"
2017-09-13 17:21:45 +00:00
Johann Koenig
ed3a80cb5e
Merge "Revert "Revert "quantize avx: copy 32x32 implementation"""
2017-09-13 14:44:53 +00:00
Kaustubh Raste
83e59914e5
Merge "Optimize mips msa vp9 average mc functions"
2017-09-13 06:02:49 +00:00
Shiyou Yin
fa01426ade
Merge "vp8: [loongson] optimize loopfilter with mmi"
2017-09-13 01:05:46 +00:00
Johann
eb4238ac70
Revert "Revert "quantize avx: copy 32x32 implementation""
...
This reverts commit 8c42237bb200253931c49e2c530838f3a877dd65.
Because ssse3 code is used for the reference, the qcoeff and dqcoeff
reference buffers must be aligned.
Original change's description:
> quantize avx: copy 32x32 implementation
>
> Ensure avx and ssse3 stay in sync by testing them against each other.
>
> Change-Id: I699f3b48785c83260825402d7826231f475f697c
Change-Id: Ieeef11b9406964194028b0d81d84bcb63296ae06
2017-09-12 14:25:38 -07:00
Linfeng Zhang
afee58f2c4
Specialize 4 to 3 scaling in vp9_scale_and_extend_frame_c()
...
Scale 3x3 block instead of 16x16 block in each loop.
Benefits:
1. Reduced number of different phase_scaler from 16 to 3. Optimization code
will be smaller and faster.
2. The 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: Ibb9242a629ddb03e1ff93b859bece738255e698c
2017-09-12 12:05:16 -07:00
Kaustubh Raste
30f1ff94e0
Optimize mips msa vp9 average mc functions
...
Load the specific destination loads instead of vector load
Change-Id: I65ca13ae8f608fad07121fef848e2a18f54171fe
2017-09-12 16:12:11 +05:30
Scott LaVarnway
c39cd9235e
Merge "vpxdsp: [x86] add highbd_d207_predictor functions"
2017-09-11 22:32:23 +00:00
Linfeng Zhang
a9bbe53dbb
Add 4 to 1 scaling NEON optimization
...
BUG=webm:1419
Change-Id: If82a93935d2453e61b7647aae70983db1740bec7
2017-09-11 10:17:28 -07:00
Scott LaVarnway
d6c9bbc2b6
vpxdsp: [x86] add highbd_d207_predictor functions
...
C vs SSE2 speed gains:
_4x4 : ~2.31x
C vs SSSE3 speed gains:
_8x8 : ~4.73x
_16x16 : ~10.88x
_32x32 : ~4.80x
BUG=webm:1411
Change-Id: I0bac29db261079181ddabc6814bd62c463109caf
2017-09-11 07:36:24 -07:00
Shiyou Yin
761f2f5cb4
vp8: [loongson] optimize loopfilter with mmi
...
1. vp8_loop_filter_horizontal_edge_mmi
2. vp8_loop_filter_vertical_edge_mmi
3. vp8_mbloop_filter_horizontal_edge_mmi
4. vp8_mbloop_filter_vertical_edge_mmi
5. vp8_loop_filter_simple_horizontal_edge_mmi
6. vp8_loop_filter_simple_vertical_edge_mmi
Change-Id: Ie34bbff3a16cff64e39a50798afd2b7dac9bcdc3
2017-09-11 11:08:09 +08:00
James Zern
fb40b5d7a7
intrapred: sync highbd_d63_predictor w/d63_
...
8/16/32: ~6%/~18%/~33% faster
previously:
7012ba639 vp9_reconintra: simplify d63_predictor
BUG=webm:1411
Change-Id: Ie775f3a4f7fd74df44754e65686d826a51c2cdc2
2017-09-08 19:28:01 -07:00
James Zern
9dfa76f948
vpx_mem: make vpx_memset16 inline
...
Change-Id: Ibb2cab930c95836e6d6e66300c33e7d08e4474d4
2017-09-08 19:11:46 -07:00
James Zern
5c95fd921e
intrapred: sync highbd_d45_predictor w/d45_
...
8/16/32:: ~19%/~54%/~75.5% faster
previously:
acc481eaa vp9_reconintra: simplify d45_predictor
BUG=webm:1411
Change-Id: Ie8340b0c5070ae640f124733f025e4e749b660d8
2017-09-08 19:09:07 -07:00
James Zern
9a2dd7e67e
Merge changes I9ec438aa,I99c954ff
...
* changes:
Update convolve functions' assertions
Add 2 to 1 scaling NEON optimization
2017-09-08 19:23:40 +00:00
paulwilkins
0657f4732c
Fix bug in intra mode rd penalty.
...
The intra mode rd penalty was implemented as a rate penalty.
Code was added to scale the penalty according to block size but
this was not done correctly for the SB level or sub 8x8.
The code did a weird double scaling in regard to bit depth that
has been removed. Given that it is a rate penalty the bit depth
should not matter.
This bug fix improves average metrics on our standard test
sets by about 0.1%
Change-Id: I7cf81b66aad0cda389fe234f47beba01c7493b1e
2017-09-08 15:10:53 +01:00
James Zern
d7caee2170
vpx_scale_test.h: remove #if from inside macro
...
fixes visual studio error
Change-Id: I86206f17ca951b15e247c1b92561847d8c21ec7a
2017-09-08 00:06:25 -07:00
Shiyou Yin
43cbdc216d
Merge "vp8: [loongson] optimize sixtap predict with mmi"
2017-09-08 00:59:31 +00:00
Shiyou Yin
2c7b7424c5
Merge "vpxdsp: [loongson] optimize sad functions with mmi"
2017-09-08 00:55:14 +00:00
Linfeng Zhang
ef41c6286d
Update convolve functions' assertions
...
So that 4 to 1 frame scaling can call them.
Change-Id: I9ec438aa63b923ba164ad3c59d7ecfa12789eab5
2017-09-07 12:33:58 -07:00
Linfeng Zhang
71b38a144e
Add 2 to 1 scaling NEON optimization
...
BUG=webm:1419
Change-Id: I99c954ffa50a62ccff2c4ab54162916141826d9b
2017-09-07 12:33:50 -07:00
Linfeng Zhang
3ec20445b2
Refactor convolve8 NEON functions
...
Change-Id: I4ac576875c91fee7cb150d298fae4a2c156d374c
2017-09-06 15:55:17 -07:00
Linfeng Zhang
d5d2cbcc75
Add ScaleFrameTest
...
Move class VpxScaleBase to new file test/vpx_scale_test.h.
Add new file test/vp9_scale_test.cc with ScaleFrameTest.
BUG=webm:1419
Change-Id: Iec2098eafcef99b94047de525e5da47bcab519c1
2017-09-06 15:54:58 -07:00
Linfeng Zhang
7219f31904
Merge "Remove get_filter_base() and get_filter_offset() in convolve"
2017-09-06 22:39:15 +00:00
Scott LaVarnway
0e95039bd9
Merge "vpxdsp: [x86] add highbd_dc_128_predictor functions"
2017-09-06 21:53:32 +00:00
Peter Boström
6822fb2f09
Remove support for stdatomic.h.
...
This header doesn't build on g++ v6 as it's a C and not C++ header
(_Atomic is not a keyword in C++11). Since the C and C++ invocations
cannot be guaranteed to point to the same underlying atomic_int
implementation, remove support for them and use compiler intrinsics
instead.
BUG=webm:1461
Change-Id: Ie1cd6759c258042efc87f51f036b9aa53e4ea9d5
2017-09-06 11:59:50 -04:00
Linfeng Zhang
d331e7a1c0
Remove get_filter_base() and get_filter_offset() in convolve
...
so that the convolve functions are independent of table alignment.
Change-Id: Ieab132a30d72c6e75bbe9473544fbe2cf51541ee
2017-09-05 15:22:36 -07:00
Scott LaVarnway
bc4bcca3fd
vpxdsp: [x86] add highbd_dc_128_predictor functions
...
C vs SSE2 speed gains:
_4x4 : ~7.64x
_8x8 : ~16.60x
_16x16 : ~8.15x
_32x32 : ~5.05x
BUG=webm:1411
Change-Id: If165d419711cfda901bd428a05ca1560a009e62e
2017-09-05 07:57:42 -07:00
Shiyou Yin
0095213790
vp8: [loongson] optimize sixtap predict with mmi
...
1. vp8_sixtap_predict16x16_mmi
2. vp8_sixtap_predict8x8_mmi
3. vp8_sixtap_predict8x4_mmi
4. vp8_sixtap_predict4x4_mmi
Change-Id: I186669d1a1d998a0f3ba3a548e25eee8b52c251b
2017-09-02 19:08:20 +00:00
Shiyou Yin
f4150163a2
vpxdsp: [loongson] optimize sad functions with mmi
...
1. vpx_sadWxH_c
2. vpx_sadWxH_avg_c
3. vpx_sadWxHx3_c
4. vpx_sadWxHx8_c
5. vpx_sadWxHx4d_c
Change-Id: Ie13161e3d73a052ea6ea7bac9cfadf55598fea7a
2017-09-02 15:11:32 +00:00
James Zern
d49a1a5329
test,Android.mk: export gtest include path
...
fixes test file builds
Change-Id: Iaa725ad95d56cf77d9fef8994981a80102e9a966
2017-09-01 19:44:12 -07:00
clang-format
7587a97551
apply clang-format
...
Change-Id: If4c3e8a396d0fcb304f407b44e28cac3219f038c
2017-09-01 01:24:03 -07:00
James Zern
053bd263eb
.clang-format: update to 4.0.1
...
based on Google style with the following differences:
3a4
> # Generated with clang-format 4.0.1
13c14
< AllowShortCaseLabelsOnASingleLine: false
---
> AllowShortCaseLabelsOnASingleLine: true
23c24
< BraceWrapping:
---
> BraceWrapping:
43c44
< ConstructorInitializerAllOnOneLineOrOnePerLine: true
---
> ConstructorInitializerAllOnOneLineOrOnePerLine: false
46,47c47,48
< Cpp11BracedListStyle: true
< DerivePointerAlignment: true
---
> Cpp11BracedListStyle: false
> DerivePointerAlignment: false
51c52
< IncludeCategories:
---
> IncludeCategories:
78c79
< PointerAlignment: Left
---
> PointerAlignment: Right
80c81
< SortIncludes: true
---
> SortIncludes: false
Change-Id: Ibc0ef87a516b8eae88d426dfdd7624be57e7b87c
2017-09-01 01:24:03 -07:00
Peter Boström
be2ba48cac
Merge "Prevent data race from low-pass filter."
2017-09-01 05:37:51 +00:00
James Zern
334e9abb0b
Merge "inv_txfm_vsx: fix loads in high-bitdepth"
2017-09-01 03:09:49 +00:00