Commit Graph

3692 Commits

Author SHA1 Message Date
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
James Zern
a07bed2b2b firstpass.c: correct casting around gf_group_bits
gf_group_bits is int64_t remove casts to int.

Change-Id: I3b4225905041fac9af9fdfcbcb6f1c357ea4b593
2013-02-28 15:45:29 -08:00
Johann
67978d1380 Merge "vp8 fast quantizer with intrinsics" 2013-02-28 11:32:03 -08:00
James Zern
3b79000122 Merge "vp8/encoder/mcomp.c: remove an unused variable" 2013-02-27 11:33:18 -08:00
John Koleszar
d711f1091d Merge "add vp8 variance test" 2013-02-27 11:22:46 -08:00
John Koleszar
09be534f13 Merge "give vp9 variance struct a unique name" 2013-02-27 11:22:36 -08:00
John Koleszar
1a1cacfdb0 Merge "rtcd: make include guard unique" 2013-02-27 11:22:26 -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
Johann
ef887974aa vp8 fast quantizer with intrinsics
Reduce dependency on offsets file by using intrinsics. Disassembly shows
improvements over previous assembly specifically in register management,
preloading, and {pro,epi}log. Speed change is within margin of error.

Change-Id: I8131b4b4d62bc092407fe847bfaa8f2c0e1384ff
2013-02-26 10:48:24 -08:00
James Zern
1711cf2dbb add vp8 variance test
Change-Id: I4e94ee2c4e2360d6a11a454c323f2899c1bb6f72
2013-02-22 16:25:14 -08:00
James Zern
e5fb6321a1 give vp9 variance struct a unique name
variance_vtable clashed with vp8/common/variance.h

Change-Id: I09c1de44d5519f1bd13f58c01144c0de4706de6f
2013-02-22 16:25:13 -08:00
James Zern
50771d41f2 rtcd: make include guard unique
prior numbers were removed resulting in the same include guard for
vp[89]_rtcd

Change-Id: If2741e5b0cbdda7390c20e865e9f05992caff93e
2013-02-22 16:05:00 -08:00
James Zern
ca64f6c14f vp8/encoder/mcomp.c: remove an unused variable
Change-Id: I980da3c70f7cee1b723ede0ed2ae527ac7cd6a51
2013-02-22 15:38:45 -08:00
James Zern
e4ef850823 Merge "Fix variance (signed integer) overflow" 2013-02-22 15:33:20 -08:00
James Zern
c21226b638 Merge "vp8: make gf_group_bits 64-bit" 2013-02-22 15:31:28 -08:00
James Zern
5e0724abad Merge "vp8_first_pass(): avoid floating point div by 0" 2013-02-22 15:30:14 -08:00
James Zern
4e00060d29 vp8: make gf_group_bits 64-bit
avoids signed integer overflow; matches kf_group_bits

Change-Id: I193145cdc4fa53e70fba0a1731a03eb1a574931d
2013-02-22 12:45:28 -08:00
James Zern
fba9772dd2 vp8_first_pass(): avoid floating point div by 0
Change-Id: Id1e6a12db6b0c1d3f64ead8fd8834aadc30fbed2
2013-02-22 12:41:59 -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
James Zern
6639b25782 Merge "Fixed the buffer overflow issue" 2013-02-22 12:36:32 -08:00
James Zern
27bce6c5dc Merge "sixtap_predict_test: fix sizes passed to memset" 2013-02-22 12:32:07 -08:00
Jingning Han
936aa281b5 Fixed the buffer overflow issue
The issue that potentially broke the encoding process was due to the fact
that the length of token link is calculated from the total number of tokens
coded, while it is possible, in high bit-rate setting, this length is
greater than the buffer length initially assigned to the cpi->tok.

This patch increases the initially allocated buffer length assigned to
cpi->tok from
(mb_rows * mb_cols * 24 * 16) to (mb_rows * mb_cols * (1 + 24 * 16)).

It resolves the buffer overflow problem.

Change-Id: I8661a8d39ea0a3c24303e3f71a170787a1d5b1df
2013-02-22 12:30:35 -08:00
James Zern
540997afba sixtap_predict_test: fix sizes passed to memset
src_/dst_/dst_c_ are heap allocated, use the allocation size rather than
sizeof(var)

Change-Id: I3335ad487dc9b154cdf212891d1d74c812eff060
2013-02-22 11:29:47 -08:00
John Koleszar
f356b740ff Merge "Remove 'local' variables in rtcd.sh" 2013-02-22 08:22:33 -08:00
KO Myung-Hun
a344456cb4 Append .exe to the executable on OS/2
Change-Id: I1c3b17450b08d2fdfacb7b94055da29d4d20f9c8
2013-02-22 12:38:07 +09:00
John Koleszar
43cec44bbf Remove 'local' variables in rtcd.sh
These aren't required to be supported by sh.

Change-Id: I54d641a2377531e0b320676d29d4ecdeee82288a
2013-02-21 11:11:13 -08:00
KO Myung-Hun
0ef72720d0 Use dq instead of ddq with NASM
Change-Id: Iffb7cd44b449dc10fa5c24405be909d051b7abb5
2013-02-17 17:30:34 +09:00
KO Myung-Hun
7f5e4fd7bd Use smartalign for long nops with NASM
'CPU amdnop' is supported by YASM only.

Change-Id: Ia3f7c2ba6d3bdf2889b62f5c6127fd515d7c7394
2013-02-03 21:51:05 +09:00
KO Myung-Hun
dd8d0134e0 Disable USE_POSIX_MAP on OS/2
Change-Id: Ib88ab619fa4e1593e85ca325555f2c4648ac9bc7
2013-02-03 21:50:58 +09:00
John Koleszar
226c57e4fa Merge "Add support for x64 and win64 yasm flags." 2013-01-31 17:05:33 -08: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
Marco Paniconi
ec6cf493ff Fix for divide by zero in vp8_adjust_key_frame.
Change-Id: I3bf9bdd95abfd287fbcb644f4fb85fb9204be95a
2013-01-31 10:53:06 -08:00
Jim Bankoski
14301116e2 Merge "WIP: Multiple decoder instances support" 2013-01-30 18:59:55 -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
Frank Galligan
0524f33108 libvpx: Fix warnings on windows.
Warnings found when tyring to build libvpx in Chromium.

Change-Id: I5824d9e2c06351e0cf46e9f5fa102cc8b04cf963
2013-01-29 13:57:09 -08:00
Scott LaVarnway
8b22a9d377 Merge "Use FRAGMENT_DATA struct in pbi" 2013-01-29 13:42:54 -08:00
Scott LaVarnway
2146c68dfd Use FRAGMENT_DATA struct in pbi
for fragment information.

Change-Id: Idc83625591a1e4ca6f551dcfb7fc0428f6f37351
2013-01-29 10:34:35 -08:00
Johann
cdc18067a4 obj_int_extract.bat is not a generated file
Trying to create Visual Studio project files would fail with:
make[1]: *** No rule to make target `obj_int_extract.bat', needed by
`.projects'.  Stop.

Change-Id: Ie55458427ddea199a3de9973eaf2a37f711f839e
2013-01-28 18:19:17 -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
Johann
1a0f52485a Delay SSE check until the compiler is configured.
Move SSE4 detection below compiler configuration. Otherwise ${CC} may
not be populated.

We are specifically interested in -msse4.1. Narrow detection code.

Change-Id: I0ffac49e91b3fdb2aceb6eb6b90dc1c10b159111
2013-01-25 16:43:09 -08:00
Mark Mentovai
e48776f29b 64-bit Mac Chromium support for libvpx.
For 64-bit Mac Chromium, use private_extern for HIDDEN_DATA, the same as
32-bit Mac Chromium.

Change-Id: Ica0fa9e48a47409facece691ae1e39327369083c
2013-01-25 18:02:52 -05:00
Johann
2f2dffe7e0 Merge "Include apple arm conversion script" 2013-01-25 12:46:25 -08:00
Johann
f8af71a934 Include apple arm conversion script
Fix building iOS targets from 'make dist' sources

Change-Id: I0bb9ba2a6d94e57c6cf439a79419af254e4a359c
2013-01-25 12:18:39 -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
James Zern
a495da1c3c Merge "make: support V=1 as short form of verbose=yes" 2013-01-23 14:47:30 -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
Jim Bankoski
b9f873fc15 Merge "libvpx: Fix some warnings." 2013-01-22 07:58:15 -08:00
Johann
b46d58ad6a Link pthread when it is available
Linking when we don't use it but it is available is probably harmless.

Gtest requires pthreads. Don't automatically enable unit tests if we
don't have it.

Change-Id: I5e6c3b609f840c7b6dbb36fc65809f0ef84685f8
2013-01-18 12:32:15 -08:00