Martin Storsjo [Tue, 20 Nov 2012 14:05:40 +0000 (16:05 +0200)]
Add a script for converting ads arm assembly to microsoft armasm format
The formats are basically the same, but a few minor details need
to be adjusted. Addiitonally, when building for the WinRT/Windows
Phone 8 platforms, one has to build for thumb, so convert instructions
accordingly.
Martin Storsjo [Sat, 18 May 2013 16:57:19 +0000 (19:57 +0300)]
msvs: Pass dependency project vcxproj files to the project generation script
This is required since the dependencies are specified within the
vcxproj files themselves, not in the solution file. This doesn't
do anything for the old vcproj files.
Martin Storsjo [Sat, 11 May 2013 23:15:45 +0000 (02:15 +0300)]
ads2gas: Allow converting code to thumb mode
Currently this only supports thumb2.
This involves rewriting certain instructions that can't be expressed
in thumb2 into equivalent instruction sequences. The regexps for
rewriting are currently written pretty narrowly, only covering the
exact cases currently encountered in the code base.
No IT instructions are added (since that would require more logic than
plain regexps), so using the thumb mode requires enabling
-mimplicit-it=always/thumb.
Martin Storsjo [Wed, 1 May 2013 20:05:54 +0000 (23:05 +0300)]
configure: arm: Check __ARM_PCS_VFP if the float ABI hasn't been defined
The support for detecting hardfp toolchains in af9dd50e is a
step in the right direction, but that particular switch case
isn't executed at all if the toolchain variable is set.
This fixes cross building from x86 ubuntu to armhf ubuntu,
in configurations such as
"CROSS=arm-linux-gnueabihf- ./configure --target=armv7-linux-gcc".
Johann [Wed, 24 Apr 2013 16:08:56 +0000 (09:08 -0700)]
Rename quantize_sse2_intrinsics.c
The only reason for the _intrinsics part of the file name was for the
interim period where only one of the functions was redone and the base
file name was the same.
Johann [Tue, 23 Apr 2013 17:10:10 +0000 (10:10 -0700)]
Resolve declaration and implementation.
Clean Windows build warnings:
warning C4028: formal parameter <N> different from declaration
This was fixed independently in master and experimental but the fixes
were in opposite directions. One added const to the declaration and the
other removed it from the implementation.
Also update the variable names. This doesn't modify the data so call it
ref, matching the functions in the vicinity, rather than dst.
Johann [Tue, 23 Apr 2013 16:55:03 +0000 (09:55 -0700)]
Improve sign consistency.
Fix warning on windows: signed/unsigned mismatch on lines 415, 454
Comparison was between size_t data_sz >= int index_sz on 415 and
unsigned int data_sz >= int index_sz on 454. Both might be changed to
size_t but that would be tracing and replacing all comparisons is
outside the scope of this change.
In the rest of these two functions ensure unsigned values are used
consistently.
Johann [Wed, 17 Apr 2013 17:52:50 +0000 (10:52 -0700)]
Fix Android ndk-build
Add the config directory to the rtcd generation script. libvpx is
configured in the jni directory but ndk-build is intended to be run from
the next directory up. Currently it needs to be run from the jni
directory but this is being looked in to.
Add a trailing slash to allow the variable to be empty.
Reduce offset generation to the files which are actually used.
Marco Paniconi [Fri, 12 Apr 2013 01:19:18 +0000 (18:19 -0700)]
Fix for multi-res-encoding:
Use local variable for setting the improved prediction mode.
cpi->sf.improved_mv_pred is set/fixed at the frame level
and should not be changed inside pick_inter_mode.
Uncommenting Track elements related to BlockAdditional and adding
the new AlphaMode element as specified in the matroska spec here:
http://matroska.org/technical/specs/index.html#AlphaMode
Paul Wilkins [Tue, 26 Mar 2013 14:40:24 +0000 (14:40 +0000)]
Adjust mv_ratio_accumulator threshold.
This threshold effectively limits the amount of motion
from one end of a GF/ARF group to the other.
This patch makes the threshold depend on image size.
Ronald S. Bultje [Mon, 25 Mar 2013 19:14:01 +0000 (12:14 -0700)]
Scatter-based scantables.
This gains about 0.2% on derf, 0.1% on hd and 0.4% on stdhd. I can put
this under an experimental flag if wanted, just trying to get my patch
queue in shape.
Deb Mukherjee [Tue, 12 Mar 2013 21:21:08 +0000 (14:21 -0700)]
Implicit weighted prediction experiment
Adds an experiment to use a weighted prediction of two INTER
predictors, where the weight is one of (1/4, 3/4), (3/8, 5/8),
(1/2, 1/2), (5/8, 3/8) or (3/4, 1/4), and is chosen implicitly
based on consistency of the predictors to the already
reconstructed pixels to the top and left of the current macroblock
or superblock.
Currently the weighting is not applied to SPLITMV modes, which
default to the usual (1/2, 1/2) weighting. However the code is in
place controlled by a macro. The same weighting is used for Y and
UV components, where the weight is derived from analyzing the Y
component only.
Ronald S. Bultje [Mon, 25 Mar 2013 19:28:24 +0000 (12:28 -0700)]
Redo banding for all transforms.
Now that the first AC coefficient in both directions use the same DC
as their context, there no longer is a purpose in letting both have
their own band. Merging these two bands allows us to split bands for
some of the very high-frequency AC bands.
In addition, I'm redoing the banding for the 1D-ADST col/row scans. I
don't think the old banding made any sense at all (it merged the last
coefficient of the first row/col in the same band as the first two of
the second row/col), which was clearly an oversight from the band being
applied in scan-order (rather than in their actual position). Now,
coefficients at the same position will be in the same band, regardless
what scan order is used. I think this makes most sense for the purpose
of banding, which is basically "predict energy for this coefficient
depending on the energy of context coefficients" (i.e. pt).
After full re-training, together with previous patch, derf gains about
1.2-1.3%, and hd/stdhd gain about 0.9-1.0%.
Ronald S. Bultje [Tue, 26 Mar 2013 23:46:09 +0000 (16:46 -0700)]
Use above/left (instead of previous in scan-order) as token context.
Pearson correlation for above or left is significantly higher than for
previous-in-scan-order (absolute values depend on position in scan, but
in general, we gain about 0.1-0.2 by using either above or left; using
both basically just makes this even better). For eob branch skipping,
we continue to use the previous token in scan order.
This helps about 0.9% on derf after re-training on a limited data set.
Full re-training and results on larger-resolution clips are pending.
Note that this commit breaks trellis, so we can probably get further
gains out of it by fixing trellis at some later point.