Commit Graph

9834 Commits

Author SHA1 Message Date
Johann
3a695015ad Merge "arm: Use a correct neon vector type for 64 bit integers" 2014-05-07 06:34:25 -07:00
Johann
d9b5d83f56 Merge "arm: Add a no-op define of __builtin_prefetch for MSVC" 2014-05-07 06:02:22 -07:00
Johann
3899315f05 Merge "Fix building for arm with Visual Studio 2013" 2014-05-07 06:00:54 -07:00
Johann
a24e24386e Merge "Don't try to use getenv on windows phone/rt" 2014-05-07 06:00:04 -07:00
Martin Storsjo
d5d82a5e1a arm: Add a no-op define of __builtin_prefetch for MSVC
Both GCC and RVCT/ARMCC support __builtin_prefetch, but MSVC
doesn't.

Change-Id: I44e1eecead61bc88d8fdfd3fef03d76d4f5afe08
2014-05-07 10:43:24 +03:00
Martin Storsjo
82a83c4fe0 arm: Use a correct neon vector type for 64 bit integers
This fixes building with MSVC.

Change-Id: I763ba8855c8083d82c8b477d3a297e310e93a335
2014-05-07 10:22:40 +03:00
Johann
928ff03889 Revert "VP8 for ARMv8 by using NEON intrinsics 08"
This reverts commit a5d79f43b9

There is an issue with gcc 4.6 in the Android NDK:
loopfilter_neon.c: In function 'vp8_loop_filter_vertical_edge_y_neon':
loopfilter_neon.c:394:1: error: insn does not satisfy its constraints:

Change-Id: I2b8c6ee3fa595c152ac3a5c08dd79bd9770c7b52
2014-05-06 13:20:24 -07:00
Vignesh Venkatasubramanian
51a1cbfed1 Merge "third_party/libwebm: pull from upstream" 2014-05-06 11:15:57 -07:00
Alex Converse
75d05d5ed4 Merge "Add an MMX fwht4x4" 2014-05-06 11:12:27 -07:00
Alex Converse
d922c7f1b0 Merge "Add test for 4x4 WHT." 2014-05-06 11:12:23 -07:00
Jingning Han
d289deb04c Merge "SSSE3 implementation of full inverse 8x8 2D-DCT" 2014-05-06 09:17:22 -07:00
Minghai Shang
5504b3c2f1 Merge "[spatial svc] Fix one extra frame count during flush" 2014-05-05 23:22:09 -07:00
Minghai Shang
07ce926107 Merge "[spatial svc] Use VPX_DL_GOOD_QUALITY for vp9_spatial_scalable_encoder" 2014-05-05 23:22:03 -07:00
Minghai Shang
e9f46ebd38 Merge "[spatial svc] No need to code full width and height for non key frame" 2014-05-05 23:21:53 -07:00
Dmitry Kovalev
3af5eab2c1 Merge "Cleaning up vp9_full_range_search_c() function." 2014-05-05 22:01:02 -07:00
Dmitry Kovalev
e8bbb3d9db Making vp9_get_sse_sum_{8x8, 16x16} static.
Change-Id: Ifb7937c977308c682986f0ce9645a0807d2aa46a
2014-05-05 19:12:38 -07:00
Dmitry Kovalev
ec234eb5e1 Merge "Moving costs from MACROBLOCK to VP9_COMP." 2014-05-05 19:10:25 -07:00
Dmitry Kovalev
a4533957b0 Merge "Cleaning up vp9_variance.c" 2014-05-05 19:09:57 -07:00
Adrian Grange
6b4efa493a Merge changes Ibfa447fe,I771809ba
* changes:
  Fix generic-gnu target build
  Fix rounding in ARNR calculation
2014-05-05 15:41:10 -07:00
Alex Converse
89fbf3de50 Add an MMX fwht4x4
7% faster encoding a desktop lossless at RT speed 4.

Change-Id: I41627f5b737752616b6512bb91a36ec45995bf64
2014-05-05 15:10:48 -07:00
Alex Converse
9f9f87c7f6 Add test for 4x4 WHT.
Change-Id: I97ba3152f9b44d23a74c6144809142810d07e368
2014-05-05 15:10:44 -07:00
Vignesh Venkatasubramanian
c3378771b3 third_party/libwebm: pull from upstream
Pulling libwebm from upstream

Changes from upstream:
249629d make Mkv(Reader|Writer)(FILE*) explicit
7f3cda4 mkvparser: fix a bunch of windows warnings
5c06178 Merge "clang-format on mkvparser.[ch]pp"
4df111e clang-format on mkvparser.[ch]pp
7b24501 clang-format re-run.
c6767b9 Change AlignTrailingComments to false in .clang-format
9097a06 Merge "muxer: Reject file if TrackType is never specified"
eddf974 Merge "clang-format on mkvmuxertypes.hpp and webmids.hpp"
def325c muxer: Reject file if TrackType is never specified
41f869c Merge "clang-format on webvttparser.(cc|h)"
fd0be37 clang-format on webvttparser.(cc|h)
207d8a1 Merge "clang-format on mkvmuxerutil.[ch]pp"
02429eb Merge "clang-format on mkvwriter.[ch]pp"
0cf7b1b Merge "clang-format on mkvreader.[ch]pp"
2e80fed Merge "clang-format on sample.cpp"
3402e12 Merge "clang-format on sample_muxer.cpp"
1a685db Merge "clang-format on sample_muxer_metadata.(cc|h)"
6634c7f Merge "clang-format on vttreader.cc"
7566004 Merge "clang-format on vttdemux.cc"
9915b84 clang-format on mkvreader.[ch]pp
7437254 clang-format on mkvmuxertypes.hpp and webmids.hpp
0d5a98c clang-format on sample_muxer.cpp
e3485c9 clang-format on vttdemux.cc
46cc823 clang-format on dumpvtt.cc
5218bd2 clang-format on vttreader.cc
1a0130d clang-format on sample_muxer_metadata.(cc|h)
867f189 clang-format on sample.cpp
4c7bec5 clang-format on mkvwriter.[ch]pp
9ead078 clang-format on mkvmuxerutil.[ch]pp
fb6b6e6 clang-format on mkvmuxer.[ch]pp
ce77592 Update .clang-format to allow short functions in one line
0a24fe4 Merge "Add support for DateUTC and DefaultDuration in MKV Muxer."
11d5b66 Merge "Add .clang-format"
a1a3b14 Add .clang-format
0fcec38 Add support for DateUTC and DefaultDuration in MKV Muxer.

Change-Id: Ia0ed161ffc3d63c2eba8ed145707ffe543617976
2014-05-05 14:03:06 -07:00
Johann
34843e9784 Merge "VP8 for ARMv8 by using NEON intrinsics 16" 2014-05-05 13:09:43 -07:00
Johann
ad42b09f2f Merge "VP8 for ARMv8 by using NEON intrinsics 15" 2014-05-05 13:09:12 -07:00
Tom Finegan
f386d3960d Add test for postproc example.
Change-Id: I3446d2ebc23e6f1ed650dd5c82648041febe3c4d
2014-05-05 11:20:26 -07:00
Adrian Grange
93a8a1eb8c Fix generic-gnu target build
Added macro to conditionally compile some of the
post-processing functions only when CONFIG_POSTPROC
is defined.

This was causing the build for the generic-gnu target
to fail.

Change-Id: Ibfa447feceb7a0528135025f105be48f97e9965c
2014-05-05 11:00:43 -07:00
Adrian Grange
928b34e895 Fix rounding in ARNR calculation
The rounding of the ARNR filter output prior to
normalization by the filter strength was incorrect
when strength = 0.

In this case 1 << (strength - 1) would not create the
required rounding of 0, rather it would outrange. This
patch fixes this issue.

Change-Id: I771809ba34d6052b17d34c870ea11ff67b418dab
2014-05-05 11:00:43 -07:00
Jingning Han
52ae97b6aa SSSE3 implementation of full inverse 8x8 2D-DCT
This commit enables SSSE3 version full inverse 8x8 2D-DCT and
reconstruction. It makes the runtime of vp9_idct8x8_64_add down
from 256 cycles (SSE2) to 246 cycles.

Change-Id: I0600feac894d6a443a3c9d18daf34156d4e225c3
2014-05-05 10:49:27 -07:00
Johann
1b7291d52c Merge "VP8 for ARMv8 by using NEON intrinsics 14" 2014-05-05 07:08:08 -07:00
Johann
a7355f3bbb Merge changes Iaf7d6b0a,Iece0bf56
* changes:
  Use INLINE and include vpx_config.h instead of plain 'inline'
  Use vreinterpret instead of casting neon vector types
2014-05-05 05:36:54 -07:00
Scott LaVarnway
b259f52d4b Merge "Remove struct params from vp8_denoiser_filter" 2014-05-05 05:31:24 -07:00
Martin Storsjo
65f13afd7d Fix building for arm with Visual Studio 2013
The microsoft build tools explicitly disallow building for arm in
the "desktop" target configuration; one has to target "Windows
Store" apps (aka WinRT/Metro) or Windows Phone. In Visual Studio
2012, one could just pick the v110_wp80 toolset which made the
vcxproj files buildable. In Visual Studio 2013, picking the v120_wp81
toolset isn't enough - one has to configure the vcxproj files
as an "AppContainerApplication". This has the implication that
you can't just build a plain .exe (such as the examples) - an .exe
project would need to have an AppxManifest file. Therefore we can
only build the library itself.

If loaded into Visual Studio for Windows (the Windows Store/Phone
version of Visual Studio, not the Desktop one), the obj_int_extract
project is omitted since it's treated as incompatible. Building
from the command line with msbuild works fine though.

The armv7-win32-vs12 target was added as part of a638bdf4 even
though actual use of it hadn't been tested.

Change-Id: Iee8088252cf790317aeb6b417d29058225f1f629
2014-05-05 13:26:37 +03:00
Martin Storsjo
20babf6d9d Don't try to use getenv on windows phone/rt
The getenv function doesn't exist there. In Visual Studio 2012,
the function still existed in the link libraries even though
it was hidden in the headers, but in the 2013 version it has been
removed from the link libraries as well.

Change-Id: Iea6289a698fa1788e906f5aabb6fddda3675815b
2014-05-04 23:47:39 +03:00
Martin Storsjo
7afed9a1b6 Use INLINE and include vpx_config.h instead of plain 'inline'
This fixes compilation with MSVC.

Change-Id: Iaf7d6b0a0134968a6addf315fde6d852f298db8c
2014-05-04 22:42:13 +03:00
Martin Storsjo
dfb8fc917a Use vreinterpret instead of casting neon vector types
MSVC doesn't support casting neon vector types but requires using
vreinterpret.

Change-Id: Iece0bf5632567efd7f37f527abea38afeab4926d
2014-05-04 22:40:57 +03:00
James Yu
4ea9cf3e2d VP8 for ARMv8 by using NEON intrinsics 16
Add variance_neon.c
- vp8_variance16x16_neon
- vp8_variance16x8_neon
- vp8_variance8x16_neon
- vp8_variance8x8_neon

Change-Id: Idfb9c96134a1c6a696a98ce68b4f7ed593a00660
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03 19:07:40 -07:00
James Yu
727af7cebe VP8 for ARMv8 by using NEON intrinsics 15
Add idct_dequant_0_2x_neon.c
- idct_dequant_0_2x_neon

Change-Id: I8e129172ef1b2517cf72ff267788921f1a792586
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03 19:07:33 -07:00
James Yu
08e38f06db VP8 for ARMv8 by using NEON intrinsics 14
Add sixtappredict_neon.c
- vp8_sixtap_predict16x16_neon
- vp8_sixtap_predict8x8_neon
- vp8_sixtap_predict8x4_neon
- vp8_sixtap_predict4x4_neon

Change-Id: I3b02fce48ae2e6c6099041ba5ddd7b090f1463b9
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03 19:07:12 -07:00
James Yu
18e9caad47 VP8 for ARMv8 by using NEON intrinsics 13
Add shortidct4x4llm_neon.c
- vp8_short_idct4x4llm_neon

Change-Id: I5a734bbffca8dacf8633c2b0ff07b98aa2f438ba
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03 19:07:05 -07:00
Johann
140262d39f Merge "VP8 for ARMv8 by using NEON intrinsics 12" 2014-05-03 19:06:55 -07:00
Johann
0b12a40296 Merge "VP8 for ARMv8 by using NEON intrinsics 11" 2014-05-03 19:05:26 -07:00
Johann
8c7e798c9b Merge "VP8 for ARMv8 by using NEON intrinsics 10" 2014-05-03 19:04:57 -07:00
Johann
c1ba686064 Merge "VP8 for ARMv8 by using NEON intrinsics 09" 2014-05-03 19:04:18 -07:00
Johann
1b91fa8ac8 Merge "vp9 register checks only apply to vp9" 2014-05-03 19:03:39 -07:00
James Yu
feaf766bd0 VP8 for ARMv8 by using NEON intrinsics 12
Add sad_neon.c
- vp8_sad16x16_neon
- vp8_sad16x8_neon
- vp8_sad8x8_neon
- vp8_sad8x16_neon
- vp8_sad4x4_neon

Change-Id: I08eaae49ec03fb91b394354660a5df0367cea311
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03 04:54:39 -07:00
James Yu
4a8336fa9d VP8 for ARMv8 by using NEON intrinsics 11
Add mbloopfilter_neon.c
- vp8_mbloop_filter_horizontal_edge_y_neon
- vp8_mbloop_filter_horizontal_edge_uv_neon
- vp8_mbloop_filter_vertical_edge_y_neon
- vp8_mbloop_filter_vertical_edge_uv_neon

Change-Id: Ia9084e0892d4d49412d9cf2b165a0f719f2382d7
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03 04:54:33 -07:00
Johann
1d65b3be2a Merge "Remove asm_offsets dependency in quantize_b_ssse3" 2014-05-03 04:21:16 -07:00
James Yu
c500fc22c1 VP8 for ARMv8 by using NEON intrinsics 10
Add loopfiltersimpleverticaledge_neon.c
- vp8_loop_filter_bvs_neon
- vp8_loop_filter_mbvs_neon

Change-Id: I7cf0a161ad4ae37c881b94cc0122f895d3baae79
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03 04:11:00 -07:00
James Yu
55c95f2d2c VP8 for ARMv8 by using NEON intrinsics 09
Add loopfiltersimplehorizontaledge_neon.c
- vp8_loop_filter_bhs_neon
- vp8_loop_filter_mbhs_neon

Change-Id: I77f9721b20585da8bf3869a3850ff0ae4b4bfeea
Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03 04:10:45 -07:00
Johann
cf2262c44c Merge "VP8 for ARMv8 by using NEON intrinsics 08" 2014-05-03 04:10:18 -07:00