platform/upstream/libvpx.git
12 years agoChange to prevent encoding of effect-less 2nd order coefficients
Yaowu Xu [Tue, 25 Oct 2011 17:25:02 +0000 (10:25 -0700)]
Change to prevent encoding of effect-less 2nd order coefficients

similar logic to http://gerrit.chromium.org/gerrit/#change,10359

Change-Id: Ia12acd2f2b3b92ef2a601da43c2497034ef62174

12 years agoadded a last stage rounding for 8x8 inverse dct
Yaowu Xu [Fri, 14 Oct 2011 16:58:35 +0000 (09:58 -0700)]
added a last stage rounding for 8x8 inverse dct

Prior to the added rounding, tests on randomly generated data showed
that forward-inverse transform round trip errors are about 3.02/block
for input range [-10,10] and 2.68/block for input range [-256, 255].
The added rounding reduced the errors to 0.031/block for input range
[-10,10] and 0.037/block for input range [-256, 255].

Maximum round trip error on for any pixel position is 1.

The average errors are calculated based on 100,000 blocks of randomly
with the specified ranges.

Paul mentioned in discussion that the change was not clear on why we
need change the rounding, so Patch 2 intends to make the rationale
obvious in code, it merged the two separate shifts into one, and the
two separate rounding factors into one. Patch 1 and 2 have same
numerical test results.

Change-Id: Ic5e2f5463de17253084d8b2398c4a210194b20de

12 years agofixed the wrong rounding in inverse haar transform
Yaowu Xu [Wed, 12 Oct 2011 17:49:49 +0000 (10:49 -0700)]
fixed the wrong rounding in inverse haar transform

Given the current forward haar transform:
 f0 = I0 + I1 + I2 + I3
 f1 = I0 + I1 - I2 - I3
 f2 = I0 - I1 + I2 - I3
 f3 = I0 - I1 - I2 + I3
the output of the inverse haar prior rounding:
 i0 = f0 + f1 + f2 + f3 = I0 * 4;
 i1 = f0 + f1 - f2 - f3 = I1 * 4;
 i2 = f0 - f1 + f2 - f3 = I2 * 4;
 i3 = f0 - f1 - f2 + f3 = I3 * 4;
As all the numbers are 4 multiples, simply >>2 always produces prefect
results in term of forward-inverse transform round trip error.

Change-Id: Id6658b00ea819ee61cfeef8c5985d4cd3e77f44e

12 years agofixed a decoder bug
Yaowu Xu [Sat, 8 Oct 2011 22:48:53 +0000 (15:48 -0700)]
fixed a decoder bug

When 8x8 transform is enabled, the decoder does an extra reconstruct
on MBs that are coded using 8x8. This commit fixed the logic around
the decoding of mb encoded with 8x8 transform.

Change-Id: I6926557c9ef00eecb375f62946f7e140c660bf6f

12 years agoSegment coding of mode and reference frame.
Paul Wilkins [Fri, 30 Sep 2011 15:45:16 +0000 (16:45 +0100)]
Segment coding of mode and reference frame.

Proof of concept test code that encodes mode and reference
frame data at the segment level.

Decode-able bit stream but some issues not yet resolved.
As it this helps a little on a couple of clips but hurts on most as
the basis for segmentation is unsound.

To build and test, configure with
--enable-experimental --enable-segfeatures

Change-Id: I22a60774f69273523fb152db8c31f4b10b07c7f4

12 years agoExperimental: segfeature added.
Paul Wilkins [Fri, 30 Sep 2011 15:08:37 +0000 (16:08 +0100)]
Experimental: segfeature added.

New setting added to configure script

12 years agoMerge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Thu, 22 Sep 2011 04:05:08 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream-experimental' into HEAD

12 years agoMerge remote branch 'internal/upstream' into HEAD
John Koleszar [Wed, 21 Sep 2011 04:05:04 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream' into HEAD

12 years agoMerge remote branch 'origin/master' into experimental
John Koleszar [Wed, 21 Sep 2011 04:05:04 +0000 (00:05 -0400)]
Merge remote branch 'origin/master' into experimental

Change-Id: I4e515276d197e1dfb1f3e75edfa9823d08c9b366

12 years agoMerge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Wed, 21 Sep 2011 04:05:04 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream-experimental' into HEAD

12 years agoReduce grep match when generating offset files.
Fritz Koenig [Tue, 20 Sep 2011 22:36:44 +0000 (15:36 -0700)]
Reduce grep match when generating offset files.

Search for the word EQU so that extraneous
symbols are not matched.

Change-Id: Ice6c9ca886211e2ca8a2f5174bdd4103db5c4989

12 years agoMove neon only arm functions under arm/neon.
Fritz Koenig [Tue, 20 Sep 2011 17:51:06 +0000 (10:51 -0700)]
Move neon only arm functions under arm/neon.

These files don't contain generic arm code, so should
only be compiled by neon.

Change-Id: Ie712823aa04d4235e7cfe7a3b725e73ee4c3e564

12 years agoMerge "NEON FDCT updated to match current C code"
Johann [Tue, 20 Sep 2011 16:51:05 +0000 (09:51 -0700)]
Merge "NEON FDCT updated to match current C code"

12 years agoMerge "NEON walsh transform updated to match C"
Johann [Tue, 20 Sep 2011 16:50:42 +0000 (09:50 -0700)]
Merge "NEON walsh transform updated to match C"

12 years agoMerge "Updated ARMv6 forward transforms to match C"
Johann [Tue, 20 Sep 2011 16:50:36 +0000 (09:50 -0700)]
Merge "Updated ARMv6 forward transforms to match C"

12 years agoMerge "Fixed armv5te multiplications"
Johann [Tue, 20 Sep 2011 16:50:19 +0000 (09:50 -0700)]
Merge "Fixed armv5te multiplications"

12 years agoNEON FDCT updated to match current C code
Tero Rintaluoma [Mon, 19 Sep 2011 07:10:49 +0000 (10:10 +0300)]
NEON FDCT updated to match current C code

- Removed fast_fdct4x4_neon and fast_fdct8x4_neon
- Uses now short_fdct4x4 and short_fdct8x4
- Gives ~1-2% speed-up on Cortex-A8/A9

Change-Id: Ib62f2cb2080ae719f8fa1d518a3a5e71278a41ec

12 years agoFixed armv5te multiplications
Tero Rintaluoma [Mon, 19 Sep 2011 07:59:52 +0000 (10:59 +0300)]
Fixed armv5te multiplications

Rd and Rm registers should be different in 'mul'. This register
combination results in unpredictable behaviour. GCC will give
a warning and RVCT an error in this case.

Restriction applies only to armv5 targets and not for armv6 and above.

Change-Id: I378d17c51e1f16a6820814fbed43e115aaabb03e

12 years agoMerge remote branch 'origin/master' into experimental
John Koleszar [Tue, 20 Sep 2011 04:05:04 +0000 (00:05 -0400)]
Merge remote branch 'origin/master' into experimental

Change-Id: I717768a6b248bd4ae3a96f711287758ba78a384a

12 years agoMerge remote branch 'internal/upstream' into HEAD
John Koleszar [Tue, 20 Sep 2011 04:05:04 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream' into HEAD

12 years agoFix necessary for input partitions iface to match the RTP profile
Stefan Holmer [Tue, 6 Sep 2011 12:34:36 +0000 (14:34 +0200)]
Fix necessary for input partitions iface to match the RTP profile

These changes fixes a glitch between the RTP profile and the input
partitions interface. Since there's no way for the user to know the
actual number of partitions, the decoder have to read the
multi_token_paritition bits also when input partitions mode is
enabled.

Included are also a couple of fixes for issues with independent
partitions and uninitialized memory reads.

Change-Id: I6f93b15287d291169ed681898ed3fbcc5dc81837

12 years agoUpdated ARMv6 forward transforms to match C
Tero Rintaluoma [Mon, 19 Sep 2011 07:24:02 +0000 (10:24 +0300)]
Updated ARMv6 forward transforms to match C

- Updated walsh transform to match C
  (based on Change Id24f3392)
- Changed fast_fdct4x4 and 8x4 to short_fdct4x4 and 8x4
  correspondingly

Change-Id: I704e862f40e315b0a79997633c7bd9c347166a8e

12 years agoNEON walsh transform updated to match C
Tero Rintaluoma [Mon, 19 Sep 2011 07:15:33 +0000 (10:15 +0300)]
NEON walsh transform updated to match C

Modified original patch If2f07220885c4c3a0cae0dace34ea0e36124f001
according to comments. Scheduled code a little bit to prevent some
interlocks.

Change-Id: I338f02b881098782f82af63d97f042b85e63e902

12 years agoMerge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Sun, 18 Sep 2011 04:05:06 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream-experimental' into HEAD

12 years agoMerge remote branch 'origin/master' into experimental
John Koleszar [Sat, 17 Sep 2011 04:05:04 +0000 (00:05 -0400)]
Merge remote branch 'origin/master' into experimental

Change-Id: I83fd03ca0970314c81e834857cbd911dffa9a9de

12 years agoMerge remote branch 'internal/upstream' into HEAD
John Koleszar [Sat, 17 Sep 2011 04:05:04 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream' into HEAD

12 years agoMerge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Sat, 17 Sep 2011 04:05:04 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream-experimental' into HEAD

12 years agoenable selecting&transmitting to for intra mode entropy
Yaowu Xu [Wed, 31 Aug 2011 19:01:58 +0000 (12:01 -0700)]
enable selecting&transmitting to for intra mode entropy

This commit added a 3 bit index to the bitstream, the index is used to
look into the intra mode coding entropy context table. The commit uses
the mode stats to calculate the cost of transmitting modes using 8
possible entropy distributions, and selects the distribution that
provides the lowest cost to do the actual mode coding.

Initial test show this provides additional .2%~.3% gain over quantizer
adaptive intra mode coding. So the adaptive intra mode coding provides
a total of .5%(psnr) to .6% gain(ssim) combined for all-key-encoding

To build and test, configure with
--enable-experimental --enable-qimode

Change-Id: I7c41cd8bfb352bc1fe7c5da1848a58faea5ed74a

12 years agoadd quantizer adaptive intra mb mode encoding
Yaowu Xu [Thu, 4 Aug 2011 23:30:27 +0000 (16:30 -0700)]
add quantizer adaptive intra mb mode encoding

make intra mode coding entropy distribution adaptive to baseQindex, an
encoding test on hd clips with all key frame shows universal gain on
all clips in both .2%(psnr) and (ssim).3%.

To build and test, configure with
--enable-experimental --enable-qimode

Change-Id: Iaa69241b984d4fdd8baa6d77ee78c0140f5ac00a

12 years agoadd 8x8 intra prediction modes
Yaowu Xu [Thu, 4 Aug 2011 23:30:27 +0000 (16:30 -0700)]
add 8x8 intra prediction modes

Patch 1 to Patch 3 is an initial implementation of 8x8 intra prediction
modes, here are with the following assumptions:
a. 8x8 has 4 prediction modes DC, H, V and TM
b. UV 4x4 block use the same mode as corresponding 8x8 area
c. i8x8 modes are enabled for key frame only for now
Patch 4:
d. removed debug code from previous patches
Patch 5:
e. added stats code to collect entropy stats and further cleaned up
Patch 6:
f. changed mode stats code to collect finer stats of modes
Patch 7:
g. normalized i8x8 modes distribution to total at 256 (8bits).
Patch 8:
h. fixed a bug in decoder and removed debug printf output.
Patch 9:
i. more cleanups to address paul's comment
Patch 10:
j. messy rebase/merges to bring the commit up to date.

Tests on HD clips encoded with all key frame showing consistent gain
on all clips and all metrics:~0.5%(psnr) and 0.6%(ssim):
http://www.corp.google.com/~yaowu/no_crawl/i8x8hd_allkey_fixedq.html

To build and test, configure with:
--enable-experimental --enable-i8x8

Change-Id: I9813fe07ae48cab5fdb5d904bca022514ad01e7f

12 years agoMerge "Fixes the boundary checks for extrapolated and interpolated MVs."
John Koleszar [Fri, 16 Sep 2011 15:09:44 +0000 (08:09 -0700)]
Merge "Fixes the boundary checks for extrapolated and interpolated MVs."

12 years agoMerge remote branch 'internal/upstream' into HEAD
John Koleszar [Fri, 16 Sep 2011 13:22:29 +0000 (09:22 -0400)]
Merge remote branch 'internal/upstream' into HEAD

Conflicts:
vp8/decoder/decodframe.c
vp8/encoder/encodeframe.c
vp8/encoder/encodemb.c

Change-Id: I6e0d1669e4409a2dfd73ba2c7038d730842d3953

12 years agoMerge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Fri, 16 Sep 2011 12:54:15 +0000 (08:54 -0400)]
Merge remote branch 'internal/upstream-experimental' into HEAD

12 years agoMerge remote branch 'origin/master' into experimental
John Koleszar [Fri, 16 Sep 2011 12:53:05 +0000 (08:53 -0400)]
Merge remote branch 'origin/master' into experimental

Change-Id: I20df6781013786cbf56ded31e1c726de6c34bc42

12 years agoFixes the boundary checks for extrapolated and interpolated MVs.
Stefan Holmer [Tue, 23 Aug 2011 09:01:14 +0000 (11:01 +0200)]
Fixes the boundary checks for extrapolated and interpolated MVs.

Change-Id: I5b47d39d1604f2650d2f2d1ca2a3f40843c8e1ea

12 years agoSegment Feature Signaling
Paul Wilkins [Wed, 14 Sep 2011 17:20:25 +0000 (18:20 +0100)]
Segment Feature Signaling

Plumbing for tuning new segment features on and off.

Change-Id: If86cd6f103296b73030e8af7cf85c5b9bbffdbaf

12 years agoMerge "Fix odd-sized image support in decoder examples"
John Koleszar [Wed, 14 Sep 2011 15:39:04 +0000 (08:39 -0700)]
Merge "Fix odd-sized image support in decoder examples"

12 years agoFix odd-sized image support in decoder examples
John Koleszar [Wed, 14 Sep 2011 15:25:24 +0000 (11:25 -0400)]
Fix odd-sized image support in decoder examples

Odd sized images need their chroma plane sizes rounded up.

Change-Id: I3cd6fa60551f05697b67ece5b6928bef2a41bad8

12 years agoReverse coding order for segment features:
Paul Wilkins [Tue, 13 Sep 2011 14:24:45 +0000 (15:24 +0100)]
Reverse coding order for segment features:

Code all the features for one segment (grouped together)
then all for the next etc. etc. rather than grouping the
data by feature.

Change-Id: I2a65193b3a70aca78f92e855e35d8969d857b6dd

12 years agoFixed encoder crash
Scott LaVarnway [Tue, 13 Sep 2011 15:46:33 +0000 (11:46 -0400)]
Fixed encoder crash

caused by the "Removed bmi copy to/from BLOCKD" commit.

Change-Id: I9fae71bdc34c8ecc07bb81cd3ccf498b91ce3ec7

12 years agoChange to segment_feature_data[][] structure.
Paul Wilkins [Tue, 13 Sep 2011 11:58:04 +0000 (12:58 +0100)]
Change to segment_feature_data[][] structure.

This data structure is  now [Segment ID][Features]
rather than [Features][Segment_ID]

I propose as a separate modification to make the experimental
bit stream reflect this such that all the features for a segment
are coded together.

Change-Id: I581e4e3ca2033bdbdef3d9300977a8202f55b4fb

12 years agoSegment Features:
Paul Wilkins [Tue, 13 Sep 2011 10:26:39 +0000 (11:26 +0100)]
Segment Features:

Some basic plumbing added for a range of segment level features.
MB_LVL_* changed to SEG_LVL_* to better reflect meaning.

Change-Id: Iac96da36990aa0e40afc0d86e990df337fd0c50b

12 years agofixed a decoder bug
Yaowu Xu [Sat, 3 Sep 2011 20:03:41 +0000 (13:03 -0700)]
fixed a decoder bug

the bug appears to be introduced from a merge at Commit:62400028..

Change-Id: I332d78b673f12e5ef2b0cdd6bab57dc2c8af7a72

12 years agoMerge "Skip computation of distortion in vp8_pick_inter_mode if active_map is used"
Scott LaVarnway [Wed, 31 Aug 2011 14:18:52 +0000 (07:18 -0700)]
Merge "Skip computation of distortion in vp8_pick_inter_mode if active_map is used"

12 years agoMerge "Removed bmi copy to/from BLOCKD"
Scott LaVarnway [Wed, 31 Aug 2011 13:57:20 +0000 (06:57 -0700)]
Merge "Removed bmi copy to/from BLOCKD"

12 years agoSkip computation of distortion in vp8_pick_inter_mode if active_map is used
Alpha Lam [Wed, 31 Aug 2011 10:43:00 +0000 (11:43 +0100)]
Skip computation of distortion in vp8_pick_inter_mode if active_map is used

If a block is marked to be inactive then set distortion to 0.

Change-Id: Ib415f19642a2ff7b5cf5cfaedd60ebbd79732272

12 years agoMerge remote branch 'origin/master' into experimental
John Koleszar [Wed, 31 Aug 2011 04:05:09 +0000 (00:05 -0400)]
Merge remote branch 'origin/master' into experimental

Change-Id: I0aaefeafeb6b2b07ec792024edf4751f2860aa23

12 years agoMerge remote branch 'internal/upstream' into HEAD
John Koleszar [Wed, 31 Aug 2011 04:05:05 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream' into HEAD

12 years agoMerge "Recalculate zbin_extra only if regular quantizer is being used"
John Koleszar [Tue, 30 Aug 2011 19:49:24 +0000 (12:49 -0700)]
Merge "Recalculate zbin_extra only if regular quantizer is being used"

12 years agoRecalculate zbin_extra only if regular quantizer is being used
Alpha Lam [Tue, 30 Aug 2011 18:23:34 +0000 (19:23 +0100)]
Recalculate zbin_extra only if regular quantizer is being used

vp8_update_zbin_extra() is called all the time even though the fast
quantizer doesn't use it. Skip this call if fast quantizer is used.

Change-Id: Ia711c38431930cc2486cf59b8466060ef0e9d9db

12 years agoMerge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Sun, 28 Aug 2011 04:05:08 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream-experimental' into HEAD

12 years agoMerge remote branch 'origin/master' into experimental
John Koleszar [Sat, 27 Aug 2011 04:05:10 +0000 (00:05 -0400)]
Merge remote branch 'origin/master' into experimental

Change-Id: I3137fae1f61400f142d58f18663624b62aa0533c

12 years agoMerge remote branch 'internal/upstream' into HEAD
John Koleszar [Sat, 27 Aug 2011 04:05:05 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream' into HEAD

12 years agoMerge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Sat, 27 Aug 2011 04:05:05 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream-experimental' into HEAD

12 years agoMerge remote branch 'origin/master' into experimental
John Koleszar [Fri, 26 Aug 2011 04:05:11 +0000 (00:05 -0400)]
Merge remote branch 'origin/master' into experimental

Change-Id: If27b6e914cccc1dc23408ee7117b405e1364e779

12 years agoMerge remote branch 'internal/upstream' into HEAD
John Koleszar [Fri, 26 Aug 2011 04:05:06 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream' into HEAD

12 years agoMerge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Fri, 26 Aug 2011 04:05:05 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream-experimental' into HEAD

12 years agoMinor modification on key frame decision
Yunqing Wang [Thu, 25 Aug 2011 20:54:45 +0000 (16:54 -0400)]
Minor modification on key frame decision

This change makes sure that no key frame recoding in real-time mode
even if CONFIG_REALTIME_ONLY is not configured.

Change-Id: Ifc34141f3217a6bb63cc087d78b111fadb35eec2

12 years agoMerge remote branch 'internal/upstream' into HEAD
John Koleszar [Thu, 25 Aug 2011 12:36:19 +0000 (08:36 -0400)]
Merge remote branch 'internal/upstream' into HEAD

Conflicts:
vp8/common/defaultcoefcounts.h
vp8/common/entropy.c
vp8/encoder/bitstream.c

Change-Id: Idd4990c80d5b5494ac036254694015fab449bc08

12 years agoMerge remote branch 'origin/master' into experimental
John Koleszar [Thu, 25 Aug 2011 04:05:11 +0000 (00:05 -0400)]
Merge remote branch 'origin/master' into experimental

Change-Id: Ic9131382306cc18a915f8854ddba33025123968d

12 years agoMerge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Thu, 25 Aug 2011 04:05:05 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream-experimental' into HEAD

12 years agoQuiet warning by removing unused variable.
Fritz Koenig [Wed, 24 Aug 2011 22:47:09 +0000 (15:47 -0700)]
Quiet warning by removing unused variable.

fwd_boost_score was not being computed or
referenced, so remove declaration.

Change-Id: Iece36cde1ec113e3c6afaff1407d24cdf12bd0a8

12 years agoRemoved bmi copy to/from BLOCKD
Scott LaVarnway [Wed, 24 Aug 2011 18:42:26 +0000 (14:42 -0400)]
Removed bmi copy to/from BLOCKD

for SPLITMV and B_PRED modes.  Modified code to use the bmi
found in mode_info_context instead of BLOCKD.  On the decode
side, the uvmvs are calculated only when required, instead of
every macroblock.  This is WIP. (bmi should eventually be
removed from BLOCKD)
Small performance gains noticed for RT encodes and decodes.(VGA)

Change-Id: I2ed7f0fd5ca733655df684aa82da575c77a973e7

12 years agoFix naming of sse2 idct functions.
Fritz Koenig [Wed, 24 Aug 2011 17:19:46 +0000 (10:19 -0700)]
Fix naming of sse2 idct functions.

Prepend idct function names with vp8_
so that under profiling they show up
associated with libvpx.

Change-Id: I4fe357b50236cb7730a4cc00164c0a3487a1d8b4

12 years agoMerge "Faster vp8_default_coef_probs"
Scott LaVarnway [Wed, 24 Aug 2011 14:52:10 +0000 (07:52 -0700)]
Merge "Faster vp8_default_coef_probs"

13 years agoMerge remote branch 'origin/master' into experimental
John Koleszar [Wed, 24 Aug 2011 04:05:11 +0000 (00:05 -0400)]
Merge remote branch 'origin/master' into experimental

Change-Id: If53ec5c1219b31e5ef9ae552d9cc79432ebda267

13 years agoMerge remote branch 'internal/upstream' into HEAD
John Koleszar [Wed, 24 Aug 2011 04:05:05 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream' into HEAD

13 years agoMerge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Wed, 24 Aug 2011 04:05:05 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream-experimental' into HEAD

13 years agoFix data accesses for simple loopfilters
Johann [Wed, 24 Aug 2011 00:42:45 +0000 (20:42 -0400)]
Fix data accesses for simple loopfilters

The data that the simple horizontal loopfilter reads is aligned, treat
it accordingly.

For the vertical, we only use the bottom 4 bytes, so don't read in 16
(and incur the penalty for unaligned access).

This shows a small improvement on older processors which have a
significant penalty for unaligned reads.

postproc_mmx.c is unused

Change-Id: I87b29bbc0c3b19ee1ca1de3c4f47332a53087b3d

13 years agoUse local labels for jumps/loops in x86 assembly.
Fritz Koenig [Mon, 22 Aug 2011 22:29:41 +0000 (15:29 -0700)]
Use local labels for jumps/loops in x86 assembly.

Prepend . to local labels in assembly code.  This
allows non unique labels within a file.  Also
makes profiling information more informative
by keeping the function name with the loop name.

Change-Id: I7a983cb3a5ba2413d5dafd0a37936b268fb9e37f

13 years agoMerge remote branch 'origin/master' into experimental
John Koleszar [Tue, 23 Aug 2011 04:05:10 +0000 (00:05 -0400)]
Merge remote branch 'origin/master' into experimental

Change-Id: I84dfc81eb14caae02011be2b9fef18a8d7f803f4

13 years agoMerge remote branch 'internal/upstream' into HEAD
John Koleszar [Tue, 23 Aug 2011 04:05:05 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream' into HEAD

13 years agoReclassify optimized ssim calculations as SSE2.
Fritz Koenig [Mon, 22 Aug 2011 19:36:28 +0000 (12:36 -0700)]
Reclassify optimized ssim calculations as SSE2.

Calculations were incorrectly classified as either
SSE3 or SSSE3.  Only using SSE2 instructions.
Cleanup function names and make non-RTCD code work
as well.

Change-Id: I48ad0218af0cc51c5078070a08511dee43ecfe09

13 years agoMerge "Revert "Reclasify optimized ssim calculations as SSE2.""
Fritz Koenig [Mon, 22 Aug 2011 19:32:12 +0000 (12:32 -0700)]
Merge "Revert "Reclasify optimized ssim calculations as SSE2.""

13 years agoRevert "Reclasify optimized ssim calculations as SSE2."
Fritz Koenig [Mon, 22 Aug 2011 18:31:12 +0000 (11:31 -0700)]
Revert "Reclasify optimized ssim calculations as SSE2."

This reverts commit 01376858cd184d820ff4c2d8390361a8679c0e87

13 years agoMerge "Reclasify optimized ssim calculations as SSE2."
Fritz Koenig [Mon, 22 Aug 2011 16:20:33 +0000 (09:20 -0700)]
Merge "Reclasify optimized ssim calculations as SSE2."

13 years agoMerge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Sun, 21 Aug 2011 04:05:12 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream-experimental' into HEAD

13 years agoMerge remote branch 'origin/master' into experimental
John Koleszar [Sat, 20 Aug 2011 04:05:13 +0000 (00:05 -0400)]
Merge remote branch 'origin/master' into experimental

Change-Id: Iefa9c3e87ff25d92093eb949e23d5a85f1b7de09

13 years agoMerge remote branch 'internal/upstream' into HEAD
John Koleszar [Sat, 20 Aug 2011 04:05:04 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream' into HEAD

13 years agotools: author_first_release.sh
John Koleszar [Fri, 19 Aug 2011 16:04:04 +0000 (12:04 -0400)]
tools: author_first_release.sh

First version of a simple tool to get a list of the version a user first
contributed to.

Change-Id: I8f1b1fef5343de269c4b6209632c9cedc2cf1a37

13 years agoReclasify optimized ssim calculations as SSE2.
Fritz Koenig [Fri, 19 Aug 2011 15:51:27 +0000 (08:51 -0700)]
Reclasify optimized ssim calculations as SSE2.

Calculations were incorrectly classified as either
SSE3 or SSSE3.  Only using SSE2 instructions.
Cleanup function names and make non-RTCD code work
as well.

Change-Id: I29f5c2ead342b2086a468029c15e2c1d948b5d97

13 years agoMerge "Copy less when active map is in use"
John Koleszar [Fri, 19 Aug 2011 14:31:00 +0000 (07:31 -0700)]
Merge "Copy less when active map is in use"

13 years agoCopy less when active map is in use
Alpha Lam [Tue, 9 Aug 2011 19:59:45 +0000 (20:59 +0100)]
Copy less when active map is in use

When active map is specified and the current frame is not a key frame,
golden frame nor a altref frame then copy only those active regions.

This significantly reduces encoding time by as much as 19% on the test
system where realtime encoding is used. This is particularly useful
when the frame size is large (e.g. 2560x1600) and there's only a few
action macroblocks.

Change-Id: If394a813ec2df5a0201745d1348dbde4278f7ad4

13 years agoMerge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Fri, 19 Aug 2011 04:05:11 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream-experimental' into HEAD

13 years agoMerge remote branch 'origin/master' into experimental
John Koleszar [Thu, 18 Aug 2011 04:05:12 +0000 (00:05 -0400)]
Merge remote branch 'origin/master' into experimental

Change-Id: I3a4ec6e9fa7059cac52cfdcf9dfe6ef123629db4

13 years agoMerge remote branch 'internal/upstream' into HEAD
John Koleszar [Thu, 18 Aug 2011 04:05:09 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream' into HEAD

13 years agoSmall boost to every other frame.
Paul Wilkins [Wed, 17 Aug 2011 13:14:23 +0000 (14:14 +0100)]
Small boost to every other frame.

Instead of a single mid GF boost apply a few extra bits to
every other frame. This gives a very small average metrics
improvement on both derf and YT sets.

Also use min GF interval as min KF interval.

Change-Id: Iee238b8cae0ffaed850a5a944ac825cee18da485

13 years agoMerge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Wed, 17 Aug 2011 04:05:12 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream-experimental' into HEAD

13 years agoFaster vp8_default_coef_probs
Scott LaVarnway [Tue, 16 Aug 2011 20:21:21 +0000 (16:21 -0400)]
Faster vp8_default_coef_probs

Copies from a generated table instead of building the
default coeff probabilities during runtime.

Change-Id: I4d9551ea3a2d7d4a4f7ce9eda006495221a8de50

13 years agoMerge remote branch 'origin/master' into experimental
John Koleszar [Tue, 16 Aug 2011 04:05:10 +0000 (00:05 -0400)]
Merge remote branch 'origin/master' into experimental

Change-Id: I215466afda88def40f4a5d81f5b58ec383471346

13 years agoMerge remote branch 'internal/upstream' into HEAD
John Koleszar [Tue, 16 Aug 2011 04:05:05 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream' into HEAD

13 years agoMerge v0.9.7-p1 release int 'origin/master'
John Koleszar [Mon, 15 Aug 2011 21:08:40 +0000 (17:08 -0400)]
Merge v0.9.7-p1 release int 'origin/master'

Change-Id: I93388d2f8846615ad1e26b975308c5e96b9b1918

13 years agoUpdate CHANGELOG for v0.9.7-p1 v0.9.7-p1
John Koleszar [Mon, 15 Aug 2011 21:02:45 +0000 (17:02 -0400)]
Update CHANGELOG for v0.9.7-p1

Change-Id: I5490a9cad2d6752832b6bf4ec1835c06a45eeb9b

13 years agoDon't set the bmi mode when doing error concealment
Stefan Holmer [Mon, 15 Aug 2011 07:28:41 +0000 (09:28 +0200)]
Don't set the bmi mode when doing error concealment

Since the block will be interpreted as an inter block, the mode will
be interpreted as a motion vector, resulting in bad concealment.

Change-Id: Ifcc685ae1cc883492bce6dbd61e418d91a89b053

13 years agoDon't set the bmi mode when doing error concealment
Stefan Holmer [Mon, 15 Aug 2011 07:28:41 +0000 (09:28 +0200)]
Don't set the bmi mode when doing error concealment

Since the block will be interpreted as an inter block, the mode will
be interpreted as a motion vector, resulting in bad concealment.

Change-Id: Ifcc685ae1cc883492bce6dbd61e418d91a89b053

13 years agoMerge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Sun, 14 Aug 2011 04:05:11 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream-experimental' into HEAD

13 years agoMerge remote branch 'origin/master' into experimental
John Koleszar [Sat, 13 Aug 2011 04:05:10 +0000 (00:05 -0400)]
Merge remote branch 'origin/master' into experimental

Change-Id: Ie6bc53eb61dc772f308abce9bf93bcc67b38f670

13 years agoMerge remote branch 'internal/upstream' into HEAD
John Koleszar [Sat, 13 Aug 2011 04:05:06 +0000 (00:05 -0400)]
Merge remote branch 'internal/upstream' into HEAD

13 years agoGenerate libvpx_srcs.txt from current configuration
John Koleszar [Fri, 12 Aug 2011 18:59:10 +0000 (14:59 -0400)]
Generate libvpx_srcs.txt from current configuration

To get a list of files that the libvpx library depends on in the current
configuration, run:

  $ make target=libs libvpx_srcs.txt

Change-Id: I68a69648ecf212f0fe29c325297728ac2a9393d9

13 years agoRevert "Improved 1-pass CBR rate control"
John Koleszar [Fri, 12 Aug 2011 18:51:36 +0000 (14:51 -0400)]
Revert "Improved 1-pass CBR rate control"

This reverts commit b5ea2fbc2c1554769848774c836aad262af95072. Further
testing showed noticable keyframe popping in some cases, reverting this
for now to give time for a proper fix.

Conflicts:

vp8/encoder/onyx_if.c
vp8/encoder/ratectrl.c

Change-Id: I159f53d1bf0e24c035754ab3ded8ccfd58fd04af