Age | Commit message (Collapse) | Author |
|
Change-Id: I1cd5ad3df61463ca7d946857a548d7611d65c593
|
|
|
|
Address calculations moved from encodemb_arm.c file to neon
optimized assembly function to save cycles in function calls.
- vp8_subtract_b_neon_func replaced with vp8_subtract_b_neon
that contains all needed address calculations
- unnecessary file encodemb_arm.c removed
- consistent with ARMv6 optimized version
Change-Id: I6cbc1a2670b56c2077f59995fcf8f70786b4990b
|
|
Change-Id: Ie59ab2f2e93464df0f484bd73d2394d05640536d
|
|
|
|
After picking filter level, post the loopfilter semaphore
just when multiple threads are in use.
Change-Id: If7bfb64601d906adef703f454dafc25e978b93c6
|
|
Change-Id: Ie86a006320f3cea6a068a6b235267e19c3a19c4e
|
|
|
|
|
|
Fixed a bug in SSSE3 sub-pixel filter functions.
Change-Id: I2e2126652970eb78307ffcefcace1efd5966fb0a
|
|
http://code.google.com/p/webm/issues/detail?id=309
Change-Id: I6fce9e2f74bc09a9f258df7f91ab599812324e8c
|
|
Adds following ARMv6 optimized functions to encoder:
- vp8_subtract_b_armv6
- vp8_subtract_mby_armv6
- vp8_subtract_mbuv_armv6
Gives 1-5% speed-up depending on input sequence and encoding
parameters. Functions have one stall cycle inside the loop body
on Cortex pipeline.
Change-Id: I19cca5408b9861b96f378e818eefeb3855238639
|
|
Change-Id: Iae24496ca5ceb4446211c1e27351434c16b09dd1
|
|
now that we need asm_enc_offsets.c for x86 and arm and it is
harmless to build it for other targets, add it unconditionally
Change-Id: I320c5220afd94fee2b98bda9ff4e5e34c67062f3
|
|
Half pixel interpolations optimized in variance calculations. Separate
function calls to vp8_filter_block2d_bil_x_pass_armv6 are avoided.On
average, performance improvement is 6-7% for VGA@30fps sequences.
Change-Id: Idb5f118a9d51548e824719d2cfe5be0fa6996628
|
|
Change-Id: Ibffdedc3bd2e1ec349e79ba038b065c98db77d06
|
|
|
|
remove helper function and avoid shadowing all the arguments to the
stack on 64bit systems
when running with --good --cpu-used=0:
~2% on linux x86 and x86_64
~2% on win32 x86 msys and visual studio
more on darwin10 x86_64
significantly more on
x86_64-win64-vs9
Change-Id: Ib7be12edf511fbf2922f191afd5b33b19a0c4ae6
|
|
Change-Id: I2e36f806ae5551c5015243de697aac3e9e29334d
|
|
|
|
Conflicts:
vp8/encoder/ratectrl.c
vp8/encoder/rdopt.c
Change-Id: I4cc58acb432662d2c47aceda1680e52982adbc06
|
|
|
|
This declaration did not match the prototype_sad() prototype, but was
unused in this translation unit, so it is removed instead. Fixes
issue 290.
Change-Id: I168854f88a85f73ca9aaf61d1e5dc0f43fc3fdb3
|
|
|
|
Optimized fdct4x4 (8x4) for ARMv6 instruction set.
- No interlocks in Cortex-A8 pipeline
- One interlock cycle in ARM11 pipeline
- About 2.16 times faster than current C-code compiled with -O3
Change-Id: I60484ecd144365da45bb68a960d30196b59952b8
|
|
Thread synchronization was not correct when frame width was 1 MB.
Number of allocated encoding threads is limited by the sync_range.
There is no point having more because each thread lags sync_range MBs
behind the thread processing the row above.
http://code.google.com/p/webm/issues/detail?id=302
Change-Id: Icaf67a883beecc5ebf2f11e9be47b6997fdf6f26
|
|
Change-Id: If77de7e96a971edd8666ea0b1bd5eac6b09c6912
|
|
A large number of functions were defined with external linkage, even
though they were only used from within one file. This patch changes
their linkage to static and removes the vp8_ prefix from their names,
which should make it more obvious to the reader that the function is
contained within the current translation unit. Functions that were
not referenced were removed.
These symbols were identified by:
$ nm -A libvpx.a | sort -k3 | uniq -c -f2 | grep ' [A-Z] ' \
| sort | grep '^ *1 '
Change-Id: I59609f58ab65312012c047036ae1e0634f795779
|
|
The mmap allocation code in vp8_dx_iface.c was inconsistent.
The static array vp8_mem_req_segs defines two descriptors,
but only the first is real. The second is a sentinel and
isn't actually allocated, so vpx_codec_alg_priv is declared
with mmaps[NELEMENTS(vp8_mem_req_segs)-1]. Some functions
use this reduced upper bound when iterating though the mmap
array, but these two functions did not.
Instead, this commit calls NELEMENTS(...->mmaps) to directly
query the bounds of the dereferenced array.
This fixes an array-bounds warning from gcc 4.6 on
vp8_xma_set_mmap.
Change-Id: I918e2721b401d134c1a9764c978912bdb3188be1
|
|
Change-Id: I48642c380353043bed96026f56de5908fcee270a
|
|
|
|
Change-Id: I3f6c1e297fc0d33dc239bb4dd41d5afbcd91de19
|
|
Fixes implicit declaration warning for 'mach_task_self'. This change
is an update to Change I9991dedd1ccfddc092eca86705ecbc3b764b799d,
which fixed this issue for the decoder but not the encoder.
Change-Id: I9df033e81f9520c4f975b7a7cf6c643d12e87c96
|
|
Change-Id: If09b27454f82265fd5e3b25c85c1eea70c6c637f
|
|
Change-Id: I08edaffc62514907fa5e90e1689269e467c857f5
|
|
Change-Id: Ice13978071e98a88cf8ae5c069c6423d74425dea
|
|
|
|
|
|
Conflicts:
vp8/encoder/onyx_if.c
Change-Id: I230b63cef209cd1ac98357729a91ec07597756bd
|
|
Change-Id: I77e9f2f521a71089228f96e2db72524189364ffb
|
|
|
|
The vp8_build_intra_predictors_mby and vp8_build_intra_predictors_mby_s
functions had global function pointers rather than using the RTCD
framework. This can show up as a potential data race with tools such as
helgrind. See https://bugzilla.mozilla.org/show_bug.cgi?id=640935
for an example.
Change-Id: I29c407f828ac2bddfc039f852f138de5de888534
|
|
|
|
|
|
Fix compiling on 32 bit x86.
Change-Id: I6210573e1d9287ac49acbe3d7e5181e309316107
|
|
Clean up vp8_init_config() a bit and remove null pointer case,
as this code can't be called any more and is not an adequate
trap anyway, as a null pointer would cause exceptions before
hitting the test.
Change-Id: I937c00167cc039b3aa3f645f29c319d58ae8d3ee
|
|
|
|
Issue 291 highlighted the fact that CQ mode was not working
as expected in 1 pass mode,
This commit fixes that specific problem but in so doing I also
uncovered an overflow issue in the VBR code for 1 pass and
some data values not being correctly initialized.
For some clips (particularly short clips), the resulting
improvement is dramatic.
Change-Id: Ieefd6c6e4776eb8f1b0550dbfdfb72f86b33c960
|
|
|
|
|