diff options
-rw-r--r-- | test/test-data.sha1 | 6 | ||||
-rw-r--r-- | test/test.mk | 6 | ||||
-rw-r--r-- | test/test_vectors.cc | 21 | ||||
-rw-r--r-- | test/test_vectors.h | 4 | ||||
-rw-r--r-- | vp9/common/x86/vp9_subpixel_8t_intrin_avx2.c | 21 | ||||
-rw-r--r-- | vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c | 30 | ||||
-rw-r--r-- | vp9/encoder/x86/vp9_subpel_variance_impl_intrin_avx2.c | 53 |
7 files changed, 81 insertions, 60 deletions
diff --git a/test/test-data.sha1 b/test/test-data.sha1 index a28773133..cbbb4d8c7 100644 --- a/test/test-data.sha1 +++ b/test/test-data.sha1 @@ -576,3 +576,9 @@ d48c5db1b0f8e60521a7c749696b8067886033a3 vp90-2-09-aq2.webm 54638c38009198c38c8f3b25c182b709b6c1fd2e vp90-2-09-lf_deltas.webm.md5 510d95f3beb3b51c572611fdaeeece12277dac30 vp90-2-10-show-existing-frame.webm 14d631096f4bfa2d71f7f739aec1448fb3c33bad vp90-2-10-show-existing-frame.webm.md5 +b4318e75f73a6a08992c7326de2fb589c2a794c7 vp90-2-11-size-351x287.webm +b3c48382cf7d0454e83a02497c229d27720f9e20 vp90-2-11-size-351x287.webm.md5 +8e0096475ea2535bac71d3e2fc09e0c451c444df vp90-2-11-size-351x288.webm +19e003804ec1dfc5464813b32339a15d5ba7b42f vp90-2-11-size-351x288.webm.md5 +40cd1d6a188d7a88b21ebac1e573d3f270ab261e vp90-2-11-size-352x287.webm +68f515abe3858fc1eded46c8e6b2f727d43b5331 vp90-2-11-size-352x287.webm.md5 diff --git a/test/test.mk b/test/test.mk index b598d6b32..4968c20a9 100644 --- a/test/test.mk +++ b/test/test.mk @@ -679,6 +679,12 @@ LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp91-2-04-yv444.webm LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp91-2-04-yv444.webm.md5 LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp90-2-10-show-existing-frame.webm LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp90-2-10-show-existing-frame.webm.md5 +LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp90-2-11-size-351x287.webm +LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp90-2-11-size-351x287.webm.md5 +LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp90-2-11-size-351x288.webm +LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp90-2-11-size-351x288.webm.md5 +LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp90-2-11-size-352x287.webm +LIBVPX_TEST_DATA-$(CONFIG_VP9_DECODER) += vp90-2-11-size-352x287.webm.md5 ifeq ($(CONFIG_DECODE_PERF_TESTS),yes) # BBB VP9 streams diff --git a/test/test_vectors.cc b/test/test_vectors.cc index 3227f5253..91124de20 100644 --- a/test/test_vectors.cc +++ b/test/test_vectors.cc @@ -150,17 +150,16 @@ const char *kVP9TestVectors[kNumVp9TestVectors] = { "vp90-2-03-size-226x202.webm", "vp90-2-03-size-226x208.webm", "vp90-2-03-size-226x210.webm", "vp90-2-03-size-226x224.webm", "vp90-2-03-size-226x226.webm", "vp90-2-03-deltaq.webm", - "vp90-2-05-resize.ivf", "vp90-2-06-bilinear.webm", - "vp90-2-07-frame_parallel.webm", - "vp90-2-08-tile_1x2_frame_parallel.webm", "vp90-2-08-tile_1x2.webm", - "vp90-2-08-tile_1x4_frame_parallel.webm", "vp90-2-08-tile_1x4.webm", - "vp90-2-08-tile_1x8_frame_parallel.webm", "vp90-2-08-tile_1x8.webm", - "vp90-2-08-tile-4x4.webm", "vp90-2-08-tile-4x1.webm", - "vp90-2-09-subpixel-00.ivf", - "vp90-2-02-size-lf-1920x1080.webm", - "vp90-2-09-aq2.webm", - "vp90-2-09-lf_deltas.webm", - "vp90-2-10-show-existing-frame.webm", + "vp90-2-05-resize.ivf", "vp90-2-06-bilinear.webm", + "vp90-2-07-frame_parallel.webm", "vp90-2-08-tile_1x2_frame_parallel.webm", + "vp90-2-08-tile_1x2.webm", "vp90-2-08-tile_1x4_frame_parallel.webm", + "vp90-2-08-tile_1x4.webm", "vp90-2-08-tile_1x8_frame_parallel.webm", + "vp90-2-08-tile_1x8.webm", "vp90-2-08-tile-4x4.webm", + "vp90-2-08-tile-4x1.webm", "vp90-2-09-subpixel-00.ivf", + "vp90-2-02-size-lf-1920x1080.webm", "vp90-2-09-aq2.webm", + "vp90-2-09-lf_deltas.webm", "vp90-2-10-show-existing-frame.webm", + "vp90-2-11-size-351x287.webm", "vp90-2-11-size-351x288.webm", + "vp90-2-11-size-352x287.webm", #if CONFIG_NON420 "vp91-2-04-yv444.webm" #endif diff --git a/test/test_vectors.h b/test/test_vectors.h index eb592de64..e05c5d0d3 100644 --- a/test/test_vectors.h +++ b/test/test_vectors.h @@ -22,9 +22,9 @@ extern const char *kVP8TestVectors[kNumVp8TestVectors]; #if CONFIG_VP9_DECODER #if CONFIG_NON420 -const int kNumVp9TestVectors = 217; +const int kNumVp9TestVectors = 220; #else -const int kNumVp9TestVectors = 216; +const int kNumVp9TestVectors = 219; #endif extern const char *kVP9TestVectors[kNumVp9TestVectors]; diff --git a/vp9/common/x86/vp9_subpixel_8t_intrin_avx2.c b/vp9/common/x86/vp9_subpixel_8t_intrin_avx2.c index 0ffb1bce3..efa960c66 100644 --- a/vp9/common/x86/vp9_subpixel_8t_intrin_avx2.c +++ b/vp9/common/x86/vp9_subpixel_8t_intrin_avx2.c @@ -12,22 +12,25 @@ #include "vpx_ports/mem.h" // filters for 16_h8 and 16_v8 -DECLARE_ALIGNED(32, const unsigned char, filt1_global_avx2[32])= { +DECLARE_ALIGNED(32, static const uint8_t, filt1_global_avx2[32]) = { 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, - 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8}; + 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8 +}; -DECLARE_ALIGNED(32, const unsigned char, filt2_global_avx2[32])= { +DECLARE_ALIGNED(32, static const uint8_t, filt2_global_avx2[32]) = { 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, - 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10}; + 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10 +}; -DECLARE_ALIGNED(32, const unsigned char, filt3_global_avx2[32])= { +DECLARE_ALIGNED(32, static const uint8_t, filt3_global_avx2[32]) = { 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, - 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12}; + 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12 +}; -DECLARE_ALIGNED(32, const unsigned char, filt4_global_avx2[32])= { +DECLARE_ALIGNED(32, static const uint8_t, filt4_global_avx2[32]) = { 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, - 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14}; - + 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14 +}; void vp9_filter_block1d16_h8_avx2(unsigned char *src_ptr, unsigned int src_pixels_per_line, diff --git a/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c b/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c index dbea1419a..cf28d8d2b 100644 --- a/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c +++ b/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c @@ -13,24 +13,30 @@ #include "vpx_ports/emmintrin_compat.h" // filters only for the 4_h8 convolution -DECLARE_ALIGNED(16, const unsigned char, filt1_4_h8[16])= { - 0, 1, 1, 2, 2, 3, 3, 4, 2, 3, 3, 4, 4, 5, 5, 6}; +DECLARE_ALIGNED(16, static const uint8_t, filt1_4_h8[16]) = { + 0, 1, 1, 2, 2, 3, 3, 4, 2, 3, 3, 4, 4, 5, 5, 6 +}; -DECLARE_ALIGNED(16, const unsigned char, filt2_4_h8[16])= { - 4, 5, 5, 6, 6, 7, 7, 8, 6, 7, 7, 8, 8, 9, 9, 10}; +DECLARE_ALIGNED(16, static const uint8_t, filt2_4_h8[16]) = { + 4, 5, 5, 6, 6, 7, 7, 8, 6, 7, 7, 8, 8, 9, 9, 10 +}; // filters for 8_h8 and 16_h8 -DECLARE_ALIGNED(16, const unsigned char, filt1_global[16])= { - 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8}; +DECLARE_ALIGNED(16, static const uint8_t, filt1_global[16]) = { + 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8 +}; -DECLARE_ALIGNED(16, const unsigned char, filt2_global[16])= { - 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10}; +DECLARE_ALIGNED(16, static const uint8_t, filt2_global[16]) = { + 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10 +}; -DECLARE_ALIGNED(16, const unsigned char, filt3_global[16])= { - 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12}; +DECLARE_ALIGNED(16, static const uint8_t, filt3_global[16]) = { + 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12 +}; -DECLARE_ALIGNED(16, const unsigned char, filt4_global[16])= { - 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14}; +DECLARE_ALIGNED(16, static const uint8_t, filt4_global[16]) = { + 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14 +}; void vp9_filter_block1d4_h8_intrin_ssse3(unsigned char *src_ptr, unsigned int src_pixels_per_line, diff --git a/vp9/encoder/x86/vp9_subpel_variance_impl_intrin_avx2.c b/vp9/encoder/x86/vp9_subpel_variance_impl_intrin_avx2.c index a8f98e94b..b8bfa8900 100644 --- a/vp9/encoder/x86/vp9_subpel_variance_impl_intrin_avx2.c +++ b/vp9/encoder/x86/vp9_subpel_variance_impl_intrin_avx2.c @@ -12,7 +12,7 @@ #include "vpx_ports/mem.h" #include "vp9/encoder/vp9_variance.h" -DECLARE_ALIGNED(32, const unsigned char, vp9_bilinear_filters_avx2[512])= { +DECLARE_ALIGNED(32, static const uint8_t, bilinear_filters_avx2[512]) = { 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, @@ -44,7 +44,8 @@ DECLARE_ALIGNED(32, const unsigned char, vp9_bilinear_filters_avx2[512])= { 2, 14, 2, 14, 2, 14, 2, 14, 2, 14, 2, 14, 2, 14, 2, 14, 2, 14, 2, 14, 2, 14, 2, 14, 2, 14, 2, 14, 2, 14, 2, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, - 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15}; + 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15 +}; unsigned int vp9_sub_pixel_variance32xh_avx2(const uint8_t *src, int src_stride, @@ -137,12 +138,12 @@ unsigned int vp9_sub_pixel_variance32xh_avx2(const uint8_t *src, int64_t y_offset64; y_offset64 = y_offset; y_offset64 <<= 5; - filter = _mm256_load_si256((__m256i const *) - (vp9_bilinear_filters_avx2 + y_offset64)); + filter = _mm256_load_si256( + (__m256i const *)(bilinear_filters_avx2 + y_offset64)); #else y_offset <<= 5; - filter = _mm256_load_si256((__m256i const *) - (vp9_bilinear_filters_avx2 + y_offset)); + filter = _mm256_load_si256( + (__m256i const *)(bilinear_filters_avx2 + y_offset)); #endif pw8 = _mm256_set1_epi16(8); for (i = 0; i < height ; i++) { @@ -283,12 +284,12 @@ unsigned int vp9_sub_pixel_variance32xh_avx2(const uint8_t *src, int64_t y_offset64; y_offset64 = y_offset; y_offset64 <<= 5; - filter = _mm256_load_si256((__m256i const *) - (vp9_bilinear_filters_avx2+y_offset64)); + filter = _mm256_load_si256( + (__m256i const *)(bilinear_filters_avx2 + y_offset64)); #else y_offset <<= 5; - filter = _mm256_load_si256((__m256i const *) - (vp9_bilinear_filters_avx2 + y_offset)); + filter = _mm256_load_si256( + (__m256i const *)(bilinear_filters_avx2 + y_offset)); #endif pw8 = _mm256_set1_epi16(8); // load source and another source starting from the next @@ -354,12 +355,12 @@ unsigned int vp9_sub_pixel_variance32xh_avx2(const uint8_t *src, int64_t x_offset64; x_offset64 = x_offset; x_offset64 <<= 5; - filter = _mm256_load_si256((__m256i const *) - (vp9_bilinear_filters_avx2+x_offset64)); + filter = _mm256_load_si256( + (__m256i const *)(bilinear_filters_avx2 + x_offset64)); #else x_offset <<= 5; - filter = _mm256_load_si256((__m256i const *) - (vp9_bilinear_filters_avx2 + x_offset)); + filter = _mm256_load_si256( + (__m256i const *)(bilinear_filters_avx2 + x_offset)); #endif pw8 = _mm256_set1_epi16(8); for (i = 0; i < height ; i++) { @@ -413,12 +414,12 @@ unsigned int vp9_sub_pixel_variance32xh_avx2(const uint8_t *src, int64_t x_offset64; x_offset64 = x_offset; x_offset64 <<= 5; - filter = _mm256_load_si256((__m256i const *) - (vp9_bilinear_filters_avx2+x_offset64)); + filter = _mm256_load_si256( + (__m256i const *)(bilinear_filters_avx2 + x_offset64)); #else x_offset <<= 5; - filter = _mm256_load_si256((__m256i const *) - (vp9_bilinear_filters_avx2 + x_offset)); + filter = _mm256_load_si256( + (__m256i const *)(bilinear_filters_avx2 + x_offset)); #endif pw8 = _mm256_set1_epi16(8); // load source and another source starting from the next @@ -508,17 +509,17 @@ unsigned int vp9_sub_pixel_variance32xh_avx2(const uint8_t *src, x_offset64 <<= 5; y_offset64 = y_offset; y_offset64 <<= 5; - xfilter = _mm256_load_si256((__m256i const *) - (vp9_bilinear_filters_avx2+x_offset64)); - yfilter = _mm256_load_si256((__m256i const *) - (vp9_bilinear_filters_avx2+y_offset64)); + xfilter = _mm256_load_si256( + (__m256i const *)(bilinear_filters_avx2 + x_offset64)); + yfilter = _mm256_load_si256( + (__m256i const *)(bilinear_filters_avx2 + y_offset64)); #else x_offset <<= 5; - xfilter = _mm256_load_si256((__m256i const *) - (vp9_bilinear_filters_avx2 + x_offset)); + xfilter = _mm256_load_si256( + (__m256i const *)(bilinear_filters_avx2 + x_offset)); y_offset <<= 5; - yfilter = _mm256_load_si256((__m256i const *) - (vp9_bilinear_filters_avx2 + y_offset)); + yfilter = _mm256_load_si256( + (__m256i const *)(bilinear_filters_avx2 + y_offset)); #endif pw8 = _mm256_set1_epi16(8); // load source and another source starting from the next |