Commit Graph

488 Commits

Author SHA1 Message Date
James Zern
aceba82c41 vp8/common: add extern "C" to headers
Change-Id: I13b434b1e6621e31962b08831c3587c039368c83
2014-01-23 16:21:24 -08:00
Deb Mukherjee
67fb3bf639 Change the vp8 END_USAGE typedef
Makes the END_USAGE typedef compatible with the vpxenc input

Change-Id: If784586fdb90a1e6f7badcb522ea9e93d4ddc030
2014-01-17 15:39:49 -08:00
Johann
dadf350551 Apply neon flags to intrinsic files
Filter out files ending in _neon.c and append .neon so the Android build
system knows to apply -mfpu=neon

Change-Id: Ib67277e5920bfcaeda7c4aa16cd1001b11d59305
2014-01-10 12:16:59 -08:00
James Yu
79395e16cf VP8 for ARMv8 by using NEON intrinsics 01
Add bilinearpredict_neon_intrinsics.c
- vp8_bilinear_predict4x4_neon
- vp8_bilinear_predict8x4_neon
- vp8_bilinear_predict8x8_neon
- vp8_bilinear_predict16x16_neon

Change-Id: I33dfa502881219841b442dda32b73220e51b716b
Signed-off-by: James Yu <james.yu@linaro.org>
2014-01-09 09:56:22 -08:00
Christian Duvivier
b52db6b7e8 ARM NEON version of denoiser.
Change-Id: I951abd4ad0078f78949f3cb79453ac334fb82a7e
2014-01-02 10:51:05 -08:00
James Zern
e903cacf5b vp8/common: normalize include guards
Change-Id: Ia8789a8f864e0edc0bf94f00f6430846f86911c3
2013-12-16 19:40:54 -08:00
James Zern
3d7cc9d2d1 vp8: remove 2 unused tables
Change-Id: Ib5ba4e0b438107741efa28251848306322fd7f89
2013-12-10 21:13:21 -08:00
Ehsan Akhgari
45bac0c496 Add include guards to setupintrarecon.h and vpx_once.h
Change-Id: Ife17fc6369ce32f36d5c7f8a2ef5a3b7724d81b9
2013-12-09 10:59:28 -08:00
Johann
47613d071c idct_blk_mmx.c: use vpx_memset instead of cast
Fix warning with -Wstrict-aliasing=1

Change-Id: Ic37013e6477cf213925830d0bd8e6f17364ff7cc
2013-10-29 13:51:56 -07:00
Johann
1fb7a735dc idct_blk.c: use vpx_memset instead of cast
Fix warning with -Wstrict-aliasing=1

Change-Id: Ibf4af991f2c82b8ccbdc20362da64be669564333
2013-10-29 13:50:15 -07:00
Matthew Heaney
6b78f11a03 Merge "Fix linker warnings for bilinear filters" 2013-10-01 14:42:38 -07:00
Matthew Heaney
dcab9896e8 Fix linker warnings for bilinear filters
The declaration of the bilinear filters specified an alignment clause
in the implementation file but not in the header.  This turned out
to be harmless, but it did cause linker warnings to be emitted when
building on Windows.

The (extern) declaration in the header was changed, to match the
declaration in the implementation.

Change-Id: I44be89b1572fe9a50fa47a42e4db9128c4897b04
2013-10-01 14:40:05 -07:00
Yaowu Xu
da0ce28fe3 fixed integer overflow warnings
Jenkins warns on left shift of negative numbers and non-aligned read
of int. This commit fixed the two issues.

Change-Id: I389a7fb6a572c643902e40a4c10fefef94500d2c
2013-09-26 09:20:15 -07:00
Yaowu Xu
fbb62c6d2b fix integer overflow in vp8
Change-Id: I62550a7a883115f3ce878710cf3bb039bea54390
2013-09-23 17:15:55 -07:00
Deb Mukherjee
e378a89bd6 Support a constant quality mode in VP9
Adds a new end-usage option for constant quality encoding in vpx. This
first version implemented for VP9, encodes all regular inter frames
using the quality specified in the --cq-level= option, while encoding
all key frames and golden/altref frames at a quality better than that.

The current performance on derfraw300 is +0.910% up from bitrate control,
but achieved without multiple recode loops per frame.

The decision for qp for each altref/golden/key frame will be improved
in subsequent patches based on better use of stats from the first pass.
Further, the qp for regular inter frames may also be varied around the
provided cq-level.

Change-Id: I6c4a2a68563679d60e0616ebcb11698578615fb3
2013-09-06 10:30:53 -07:00
James Zern
5f30a0c687 VP[89]_COMMON: remove golden/altref frame counts
these are only used in the encoder.
frames_since_golden / frames_till_alt_ref_frame -> VP[89]_COMP

Change-Id: Ie14a6f46987bced685ddb449b85dc261caba6dfe
2013-07-18 14:09:21 -07:00
James Zern
9581eb6e8a use consistent framerate naming
s/frame_rate/framerate/g

Change-Id: I6fc3e088e419c5f46e3a9390dd8a2cad2677a2fc
2013-07-16 14:12:47 -07:00
James Zern
c0562d08f6 Merge "VP[89]_COMMON: remove unused near_boffset" 2013-07-16 12:17:04 -07:00
James Zern
63e914bde4 Merge "VP9_COMMON: remove unused framerate/bitrate" 2013-07-16 12:16:37 -07:00
James Zern
04092764f7 VP9_COMMON: remove unused framerate/bitrate
+ VP8_COMMON: place them under CONFIG_POSTPROC_VISUALIZER

Change-Id: I2702d5a3e1134b9c5f7ddc14b4173955a400f2cf
2013-07-12 21:43:23 -07:00
James Zern
ce0324d8dd VP[89]_COMMON: remove unused near_boffset
Change-Id: If9b9ca703b997312df85241a0758d414cfdc5228
2013-07-12 19:41:27 -07:00
James Zern
4fc6c88e9c yv12config: remove YUV_TYPE
this was never fleshed out in the context of VP8, for which it was
added. for VP9 it has no meaning.

Change-Id: Iba2ecc026d9e947067b96690245d337e51e26eff
2013-07-12 15:25:48 -07:00
James Zern
f89335f7ca remove unused VP8 com/dec asm offsets
Change-Id: Ib3b26ee27f04b2dcbbd32b3127afb45e9f50cfcf
2013-07-09 14:33:49 -07:00
Martin Storsjo
fba3110b09 arm: Move the definition of bilinear_taps_coeff to within the section
Previously, the microsoft arm assembler errored out, saying that
bilinear_taps_coeff was an undefined symbol.

Change-Id: Ib938f0b454c41ccbd801e70a7c9acc0fa04e3c55
2013-05-22 01:50:59 +03:00
Martin Storsjo
b9ed185659 arm: Explicitly write both target registers for ldrd
The microsoft assembler can't handle the second register being
implicit.

Change-Id: Ia831953a78a25fd6b2082474f05fdb78d96cdf78
2013-05-22 01:50:58 +03:00
Scott LaVarnway
f71e5246f2 Merge "Removed shadow warnings : postproc.c decodframe.c threading.c" 2013-04-19 07:19:14 -07:00
Scott LaVarnway
3299f88800 Bug fix: Issue 532: VPX codec executes emms instruction without
checking CPU capabilities

Reported by Krzysztof Kaspruk.
https://code.google.com/p/webm/issues/detail?id=532

Change-Id: I9efa693b0c33694c871189841b8ac59c1fc554e2
2013-03-15 14:27:15 -07:00
Scott LaVarnway
720d4eaaba Bug fix: Issue 531: MMX code tries to read from SSE2 register
Reported by Krzysztof Kaspruk.
https://code.google.com/p/webm/issues/detail?id=531

Change-Id: Ib5d5878ad07707bd42c2ca833eb021004f537012
2013-03-15 09:27:09 -07:00
Scott LaVarnway
ae64e7b408 Removed shadow warnings : postproc.c decodframe.c threading.c
and denoising.c
Adding -Wshadow to CFLAGS generated a bunch of warnings.  This patch
removes these warnings.

Change-Id: I434a9f4bfac9ad4ab7d2a67a35ef21e6636280da
2013-03-14 14:45:23 -07:00
Scott LaVarnway
f77140b7b4 Merge "Removed shadow warnings : loopfilter*.c" 2013-03-14 10:55:58 -07:00
Scott LaVarnway
fc6a190af4 Removed shadow warnings : reconintra.c
Adding -Wshadow to CFLAGS generated a bunch of warnings.  This patch
removes these warnings.

Change-Id: I9d52c4a44351607d7d20d52e2a1bffe2a067891a
2013-03-14 08:28:34 -07:00
Scott LaVarnway
60bbd43995 Removed shadow warnings : loopfilter*.c
Adding -Wshadow to CFLAGS generated a bunch of warnings.  This commit
is based on work already done by jzern.

Change-Id: Iefc08a7ab601c4d1b507f039577433bfb1c6cc9d
2013-03-14 08:23:26 -07:00
James Zern
08348d9cab prefix vp8 asm_{com,dec,enc}_offsets files
make them symmetrical with the generated output and their vp9
counterparts

Change-Id: I72cc97c4d33d713dff620a6d7cc25955266216fc
2013-03-02 14:45:40 -08:00
Johann
403145032d Merge "Use intrinsics for sse2 regular quantize" 2013-03-01 17:20:26 -08:00
Johann
eca59cad0b Use intrinsics for sse2 regular quantize
Remove dependency of this function on asm_offsets. ssse3/sse4 next.

Change quant_shift calculation so it be done using SIMD. Pre-calculate
as much as possible to simplify EOB selection.

Take advantage of qcoeff being zero'd by tying the if statements
together.

Speed parity with previous implementation with gcc x86_64 linux

Change-Id: Ife97556a1eca3a74b09def1a3d04084974dff1fb
2013-02-28 18:06:15 -08:00
Jan Kratochvil
82ed3f9a41 Fix --as=nasm compatibility for new asm code.
s/movd/movq/

Change-Id: Id1a56de91551f8dc796f14f1056c565dfc1ba626
2013-02-27 09:55:38 -08:00
James Zern
cc894a184f Fix variance (signed integer) overflow
based on change made in experimental:
  9847344 Fix variance (signed integer) overflow

Change-Id: I36f4ba5700f6f4615057daf7e70868f68a86669f
2013-02-22 12:40:08 -08:00
KO Myung-Hun
0ef72720d0 Use dq instead of ddq with NASM
Change-Id: Iffb7cd44b449dc10fa5c24405be909d051b7abb5
2013-02-17 17:30:34 +09:00
Frank Galligan
f67d740b34 Add support for x64 and win64 yasm flags.
Some projects must define only win64 for Windows 64bit builds using
yasm.

Change-Id: I1d09590d66a7bfc8b4412e1cc8685978ac60b748
2013-01-31 16:25:37 -08:00
Scott LaVarnway
75f647fe8a WIP: Multiple decoder instances support
Started adding support for multiple internal decoder instances.  Also added
code to limit the vp8 config options available when using frame-based
multithreading.

Change-Id: I0f1ee7abcfcff59204f50162e28254b8dd6972eb
2013-01-30 10:27:26 -08:00
Jim Bankoski
e893af1283 Merge "Bug fix: error-concealment enabled changed postproc output" 2013-01-25 19:23:55 -08:00
Scott LaVarnway
0c2919c3d5 Bug fix: error-concealment enabled changed postproc output
When error concealment is enabled, it swaps the mi and prev_mi ptrs after
each frame is decoded.  The postproc uses the mi ptr for the mode info context.
Now the postproc will use the correct mode info context.

Change-Id: I537ae5450f319c624999b44525bb52bb30047b7b
2013-01-25 17:06:32 -08:00
Marco Paniconi
c582617b13 Merge "Bug fix: Handle input data ptr = NULL and size = 0 correctly" 2013-01-25 12:05:13 -08:00
Scott LaVarnway
d6a4a5d98f Bug fix: Handle input data ptr = NULL and size = 0 correctly
Issue 517:	Issues decoding VPX_CODEC_USE_INPUT_FRAGMENTS
http://code.google.com/p/webm/issues/detail?id=517

Change-Id: I030c4cf15b1e1b993433571b6ee77c959a368ff2
2013-01-22 10:52:29 -08:00
John Koleszar
879cb7d962 Merge vp9-preview changes into experimental branch
Incorportate vp9-preview changes by merging master branch into experimental.

Conflicts:
	test/test.mk
	vp9/common/vp9_filter.c
	vp9/common/vp9_idctllm.c
	vp9/common/vp9_invtrans.h
	vp9/common/vp9_mbpitch.c
	vp9/common/vp9_rtcd_defs.sh
	vp9/common/vp9_systemdependent.h
	vp9/common/vp9_type_aliases.h
	vp9/common/x86/vp9_asm_stubs.c
	vp9/common/x86/vp9_subpixel_mmx.asm
	vp9/decoder/vp9_decodframe.c
	vp9/decoder/vp9_dequantize.c
	vp9/decoder/vp9_dequantize.h
	vp9/decoder/vp9_onyxd_int.h
	vp9/encoder/vp9_bitstream.c
	vp9/encoder/vp9_encodeframe.c
	vp9/encoder/vp9_rdopt.c

Change-Id: I17f51c3666d1b59cf1a699f87607cbc5d30a87c5
2013-01-08 10:19:59 -08:00
Marco Paniconi
bdca030caf Use seg/ref/mode offsets in loop_filter_partial.
Use the proper seg/mode/ref filter offsets when selecting the
frame loop filter level for fast mode (pick_filter_level_fast).

Change-Id: I2473e2131c800ad19755cb6211ad735fecfe2ac0
2013-01-03 16:01:48 -08:00
John Koleszar
16810c10c1 Merge branch 'vp9-preview' of review:webm/libvpx
Merge the vp9-preview branch into master.

Change-Id: If700b9054676f24bed9deb59050af546c1ca5296
2012-12-27 09:37:19 -08:00
Johann
1009f76566 Use 'vpx_scale' consistently
Change-Id: I178352813d2b8702d081caf405de9dbad9af2cc3
2012-12-05 16:05:44 -08:00
Johann
4a9b95470c Update ARM for vpx_scale changes
Refactor asm_offsets for vpx_scale.

Change-Id: I2db0eeb28c8e757bd033c6614a1e5319a1a204a5
2012-12-05 08:59:17 -08:00
Johann
0d793ccfb6 Update ARM for vpx_scale changes
Refactor asm_offsets for vpx_scale.

Change-Id: I2db0eeb28c8e757bd033c6614a1e5319a1a204a5
2012-12-03 12:50:09 -08:00