]> granicus.if.org Git - libvpx/log
libvpx
12 years agoAdded encode/decode recon buffer match test to vpxenc
Yaowu Xu [Wed, 7 Mar 2012 20:25:50 +0000 (12:25 -0800)]
Added encode/decode recon buffer match test to vpxenc

The commit added a new command line option --test-decode to vpxenc.
The option enables encoder to decode compressed frames and test recon
buffers from the decode against those from encode for mismatch.

There are a few limitations on this option currently, one of them
being the match test is not done on a number of lagged frames at
the end of an encoding.

Change-Id: I80c29b46dcdcea9f48107a506b235743068862fe

12 years agofixed a bug of context overwritten by key frame recoding
Yaowu Xu [Thu, 15 Mar 2012 00:29:39 +0000 (17:29 -0700)]
fixed a bug of context overwritten by key frame recoding

The recoding loop save and restore frame coding context for recodes.
However in recoding of key frames, some of the coding context saved
was stale from last encoded inter frame. The save/restore sometimes
overwrites the re-inintialized coding context with saved context
from last frame, resulting in encoder/decoder mismatch

Change-Id: I354ae2f71074d142602d51d06544c05a2462caaf

12 years agoAdded option to skip first n frame to vpxenc
Yaowu Xu [Wed, 14 Mar 2012 14:37:10 +0000 (07:37 -0700)]
Added option to skip first n frame to vpxenc

this commit added a command line option to skip first n frames from
input file to facilitate debugging and testing.

Change-Id: I4ffc5f85fa7e193ea4bdee08cb236717de8beef1

12 years agoWebM Experimental Codec Branch Snapshot
Yaowu Xu [Sat, 10 Mar 2012 01:32:50 +0000 (17:32 -0800)]
WebM Experimental Codec Branch Snapshot

This is a code snapshot of experimental work currently ongoing for a
next-generation codec.

The codebase has been cut down considerably from the libvpx baseline.
For example, we are currently only supporting VBR 2-pass rate control
and have removed most of the code relating to coding speed, threading,
error resilience, partitions and various other features.  This is in
part to make the codebase easier to work on and experiment with, but
also because we want to have an open discussion about how the bitstream
will be structured and partitioned and not have that conversation
constrained by past work.

Our basic working pattern has been to initially encapsulate experiments
using configure options linked to #IF CONFIG_XXX statements in the
code. Once experiments have matured and we are reasonably happy that
they give benefit and can be merged without breaking other experiments,
we remove the conditional compile statements and merge them in.

Current changes include:
* Temporal coding experiment for segments (though still only 4 max, it
  will likely be increased).
* Segment feature experiment - to allow various bits of information to
  be coded at the segment level. Features tested so far include mode
  and reference frame information, limiting end of block offset and
  transform size, alongside Q and loop filter parameters, but this set
  is very fluid.
* Support for 8x8 transform - 8x8 dct with 2nd order 2x2 haar is used
  in MBs using 16x16 prediction modes within inter frames.
* Compound prediction (combination of signals from existing predictors
  to create a new predictor).
* 8 tap interpolation filters and 1/8th pel motion vectors.
* Loop filter modifications.
* Various entropy modifications and changes to how entropy contexts and
  updates are handled.
* Extended quantizer range matched to transform precision improvements.

There are also ongoing further experiments that we hope to merge in the
near future: For example, coding of motion and other aspects of the
prediction signal to better support larger image formats, use of larger
block sizes (e.g. 32x32 and up) and lossless non-transform based coding
options (especially for key frames). It is our hope that we will be
able to make regular updates and we will warmly welcome community
contributions.

Please be warned that, at this stage, the codebase is currently slower
than VP8 stable branch as most new code has not been optimized, and
even the 'C' has been deliberately written to be simple and obvious,
not fast.

The following graphs have the initial test results, numbers in the
tables measure the compression improvement in terms of percentage. The
build has  the following optional experiments configured:
--enable-experimental --enable-enhanced_interp --enable-uvintra
--enable-high_precision_mv --enable-sixteenth_subpel_uv

CIF Size clips:
http://getwebm.org/tmp/cif/
HD size clips:
http://getwebm.org/tmp/hd/
(stable_20120309 represents encoding results of WebM master branch
build as of commit#7a15907)

They were encoded using the following encode parameters:
--good --cpu-used=0 -t 0 --lag-in-frames=25 --min-q=0 --max-q=63
--end-usage=0 --auto-alt-ref=1 -p 2 --pass=2 --kf-max-dist=9999
--kf-min-dist=0 --drop-frame=0 --static-thresh=0 --bias-pct=50
--minsection-pct=0 --maxsection-pct=800 --sharpness=0
--arnr-maxframes=7 --arnr-strength=3(for HD,6 for CIF)
--arnr-type=3

Change-Id: I5c62ed09cfff5815a2bb34e7820d6a810c23183c

12 years agoAdded clipping of the buffer level to maximum_buffer_size
Adrian Grange [Wed, 16 Nov 2011 00:39:53 +0000 (16:39 -0800)]
Added clipping of the buffer level to maximum_buffer_size

The buffer level was not being capped at the maximum decode
buffer size specified by the user.

In CBR mode this resulted in large files being generated
immediately after a dramatic reduction in the data rate
target. This fix should prevent this from happening.

Change-Id: Iaf01c9fb037cf51515217a5834d6ee4fbb0cb853

12 years agofixed an encoder bug in experimental branch
Yaowu Xu [Wed, 9 Nov 2011 23:26:41 +0000 (15:26 -0800)]
fixed an encoder bug in experimental branch

the bug causes experimental branch to produce invalid bitstream when
extend_qrange option is on.

Change-Id: Iba294980759f13e4ae071f29fb44e292533f0d7e

12 years agoFixed building issues
Yaowu Xu [Wed, 9 Nov 2011 17:14:43 +0000 (09:14 -0800)]
Fixed building issues

Change-Id: I027f41db4bd46e2350fd0e4b8e6e9239f897b256

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

Change-Id: I44db27204081ef238cefb521f3ae728091c5c71b

13 years agoMerge "clamp_mvs() using the wrong motion vector information"
John Koleszar [Thu, 22 Sep 2011 18:54:15 +0000 (11:54 -0700)]
Merge "clamp_mvs() using the wrong motion vector information"

13 years agoMerge changes Ie650e9b8,I2427e494
John Koleszar [Thu, 22 Sep 2011 18:18:00 +0000 (11:18 -0700)]
Merge changes Ie650e9b8,I2427e494

* changes:
  vpxenc: get version string programatically
  Install missing default_coef_probs.h

13 years agovpxenc: get version string programatically
John Koleszar [Thu, 22 Sep 2011 17:24:33 +0000 (13:24 -0400)]
vpxenc: get version string programatically

To avoid a dependency on vpx_version.h, call the vpx_codec_version_str()
function and build up the string manually.

Change-Id: Ie650e9b8f2aaaffaa31da5e9ef3b566b972321b4

13 years agoMerge "Replace vpx_ports/config.h with vpx_config.h"
Johann [Thu, 22 Sep 2011 16:30:18 +0000 (09:30 -0700)]
Merge "Replace vpx_ports/config.h with vpx_config.h"

13 years agoInstall missing default_coef_probs.h
John Koleszar [Thu, 22 Sep 2011 15:08:21 +0000 (11:08 -0400)]
Install missing default_coef_probs.h

Make sure that this header is listed as one of the sources, so that it
will be installed if necessary.

Change-Id: I2427e494488126b179151dc21043c1e2c8ba5991

13 years agoReplace vpx_ports/config.h with vpx_config.h
Attila Nagy [Thu, 15 Sep 2011 12:34:12 +0000 (15:34 +0300)]
Replace vpx_ports/config.h with vpx_config.h

Just a clean-up.

Change-Id: Iea5b6dc925dcfa7db548bc1ab1a13d26ed5a2c9a

13 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

13 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

13 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

13 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"

13 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"

13 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"

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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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."

13 years agoclamp_mvs() using the wrong motion vector information
Scott LaVarnway [Fri, 16 Sep 2011 15:03:53 +0000 (11:03 -0400)]
clamp_mvs() using the wrong motion vector information

In the "Removed bmi copy to/from BLOCKD" commit, the copy
to the bmi in BLOCKD was eliminated.  The clamp_mvs() used
the bmi in BLOCKD, which now contains incorrect values.  This
patch fixes this problem.

Change-Id: I8eca1eaf4015052b0b63e90876f7ad321aba7cff

13 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

13 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

13 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"

13 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

13 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

13 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"

13 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"

13 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

13 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

13 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"

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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 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 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 '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 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 '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 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 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 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 cayuga 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 '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 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

13 years agoPropagate macroblock MV to subblocks for error concealment
John Koleszar [Fri, 12 Aug 2011 15:30:54 +0000 (11:30 -0400)]
Propagate macroblock MV to subblocks for error concealment

EC expects the subblock MVs to be populated, but
f1d6cc79e43f0066632f19c1854ca365086b712b removed this code. This
commit restores it, protected by CONFIG_ERROR_CONCEALMENT. May move this
to the EC code more directly in the future.

Change-Id: I44f8f985720cb9a1bf222e59143f9e69abf56ad2

13 years agoDisable error concealment until first key frame is decoded
Stefan Holmer [Mon, 8 Aug 2011 08:56:20 +0000 (10:56 +0200)]
Disable error concealment until first key frame is decoded

When error concealment is enabled the first key frame must
be successfully received before error concealment is activated.
Error concealment will be activated when the delta following
delta frame is received.

Also fixed a couple of bugs related to error tracking in
multi-threading. And avoiding decoding corrupt residual
when we have multiple non-resilient partitions.

Change-Id: I45c4bb296e2f05f57624aef500a874faf431a60d

13 years agoFix potential OOB read with Error Concealment
John Koleszar [Fri, 5 Aug 2011 16:27:25 +0000 (12:27 -0400)]
Fix potential OOB read with Error Concealment

This patch fixes an OOB read when error concealment is enabled and the
partition sizes are corrupt. The partition size read from the bitstream
was not being validated in EC mode.

Change-Id: Ia81dfd4bce1ab29ee78e42320abe52cee8318974

13 years agoMerge "Disable error concealment until first key frame is decoded"
John Koleszar [Fri, 12 Aug 2011 18:45:26 +0000 (11:45 -0700)]
Merge "Disable error concealment until first key frame is decoded"

13 years agoPropagate macroblock MV to subblocks for error concealment
John Koleszar [Fri, 12 Aug 2011 15:30:54 +0000 (11:30 -0400)]
Propagate macroblock MV to subblocks for error concealment

EC expects the subblock MVs to be populated, but
f1d6cc79e43f0066632f19c1854ca365086b712b removed this code. This
commit restores it, protected by CONFIG_ERROR_CONCEALMENT. May move this
to the EC code more directly in the future.

Change-Id: I44f8f985720cb9a1bf222e59143f9e69abf56ad2

13 years agoDisable error concealment until first key frame is decoded
Stefan Holmer [Mon, 8 Aug 2011 08:56:20 +0000 (10:56 +0200)]
Disable error concealment until first key frame is decoded

When error concealment is enabled the first key frame must
be successfully received before error concealment is activated.
Error concealment will be activated when the delta following
delta frame is received.

Also fixed a couple of bugs related to error tracking in
multi-threading. And avoiding decoding corrupt residual
when we have multiple non-resilient partitions.

Change-Id: I45c4bb296e2f05f57624aef500a874faf431a60d

13 years agoFix potential OOB read with Error Concealment
John Koleszar [Fri, 5 Aug 2011 16:27:25 +0000 (12:27 -0400)]
Fix potential OOB read with Error Concealment

This patch fixes an OOB read when error concealment is enabled and the
partition sizes are corrupt. The partition size read from the bitstream
was not being validated in EC mode.

Change-Id: Ia81dfd4bce1ab29ee78e42320abe52cee8318974

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

Change-Id: I9c479c9b6e72aa78b412d25c00b8075eaca5229d

13 years agoMerge "Adjust half-pixel only search"
Yunqing Wang [Fri, 5 Aug 2011 19:15:32 +0000 (12:15 -0700)]
Merge "Adjust half-pixel only search"

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

Change-Id: Ic698ea5f5b31a5faf467eb0da4b762f9586df938

13 years ago(Re)Merge branch 'master' into cayuga
John Koleszar [Thu, 4 Aug 2011 21:05:55 +0000 (17:05 -0400)]
(Re)Merge branch 'master' into cayuga

Corrected the merge direction this time, so that running
`git describe` on the master branch finds v0.9.7 as the most recent
tag.

Change-Id: I9e7b5d473c26e670c6d9a76f5c03fa617690651d

13 years agoMerge cayuga release into master branch
John Koleszar [Thu, 4 Aug 2011 17:30:15 +0000 (10:30 -0700)]
Merge cayuga release into master branch

Change-Id: I54ab3c22d281efe69af9c9108fcbfadd3cc747ee

13 years agoMerge "Update CHANGELOG for Cayuga release" into cayuga v0.9.7
John Koleszar [Thu, 4 Aug 2011 17:30:15 +0000 (10:30 -0700)]
Merge "Update CHANGELOG for Cayuga release" into cayuga

13 years agoMerge changes Ic7725e27,Ib3d54bfa into cayuga
John Koleszar [Wed, 3 Aug 2011 20:45:24 +0000 (13:45 -0700)]
Merge changes Ic7725e27,Ib3d54bfa into cayuga

* changes:
  Update AUTHORS
  Update .mailmap entry for Ralph Giles

13 years agoMerge changes I585167e1,Ia07602bd into cayuga
John Koleszar [Wed, 3 Aug 2011 20:44:32 +0000 (13:44 -0700)]
Merge changes I585167e1,Ia07602bd into cayuga

* changes:
  Fix building of static libs on universal-darwin
  Fix asm offsets generation for universal-darwin builds

13 years agoFix source buffer selection
John Koleszar [Wed, 3 Aug 2011 20:12:12 +0000 (16:12 -0400)]
Fix source buffer selection

This patch fixes a bug in the interaction between the recode loop and
spatial resampling. If the codec was in a spatial resampling state,
and a subsequent iteration of the recode loop disables resampling,
then the source buffer must be reset to the unscaled source.

Change-Id: I4e4cd47b943f6cd26a47449dc7f4255b38e27c77

13 years agoAdjust half-pixel only search
Yunqing Wang [Wed, 3 Aug 2011 15:51:07 +0000 (11:51 -0400)]
Adjust half-pixel only search

Changed motion search in vp8_find_best_half_pixel_step() to be the
same as in vp8_find_best_sub_pixel_step(), which checks 5 points
instead of 8 points. This only affects real-time mode with
cpu-used >=9. Tests showed it gives 2% encoding speedup with
a quality loss(psnr) of up to 0.5%.

Change-Id: I16049cad1535002346d46cfdfad345bfc3dc5146

13 years agoFix building of static libs on universal-darwin
John Koleszar [Wed, 3 Aug 2011 13:20:37 +0000 (09:20 -0400)]
Fix building of static libs on universal-darwin

The static libs should not be built from sources during the top level
of a universal build. This regression was introduced in commit
495b241fa6b03345baf2b2f39aa8c06c735fccc2, which made the static
libs selectable under CONFIG_STATIC.

Change-Id: I585167e17459877e0fa7fa19e1046c3703d91c97

13 years agoFix asm offsets generation for universal-darwin builds
John Koleszar [Wed, 3 Aug 2011 12:43:43 +0000 (08:43 -0400)]
Fix asm offsets generation for universal-darwin builds

Added BUILD_PFX to correct dependencies.

Change-Id: Ia07602bd98ef2253242b1bd66ef05e3b1e64ba7d

13 years agoupdate extend frame borders
Johann [Tue, 2 Aug 2011 23:20:27 +0000 (19:20 -0400)]
update extend frame borders

the neon code made several assumptions which were broken by a recent
change: https://review.webmproject.org/2676

update the code with new assumptions and guard them with a compile time
assert

Change-Id: I32a8378030759966068f34618d7b4b1b02e101a0

13 years agoUpdate CHANGELOG for Cayuga release
John Koleszar [Tue, 2 Aug 2011 18:41:32 +0000 (14:41 -0400)]
Update CHANGELOG for Cayuga release

Change-Id: If6f20553159105c05f9a684cb7c8f3778c7894a1

13 years agoinclude asm_com/dec_offsets for make dist
James Berry [Tue, 2 Aug 2011 17:42:03 +0000 (13:42 -0400)]
include asm_com/dec_offsets for make dist

Change-Id: Ia1ad66066a24c01915cd9e3ff75c7e070cc984c8

13 years agoUpdate AUTHORS
John Koleszar [Tue, 2 Aug 2011 14:09:59 +0000 (10:09 -0400)]
Update AUTHORS

Change-Id: Ic7725e279d2263515e5312c152c58e1644eb2495

13 years agoUpdate .mailmap entry for Ralph Giles
John Koleszar [Tue, 2 Aug 2011 14:09:36 +0000 (10:09 -0400)]
Update .mailmap entry for Ralph Giles

Change-Id: Ib3d54bfa81720a0b2877837d7149cd12d26e75e4

13 years agoSync `vpxenc --timebase` usage wording with docs change.
Lou Quillio [Mon, 1 Aug 2011 19:34:48 +0000 (15:34 -0400)]
Sync `vpxenc --timebase` usage wording with docs change.

Change-Id: Ia406272a97806c0194435bb7f24e24d353ef5cc6

13 years agoMerge "include the arm header files in make dist" into cayuga
John Koleszar [Tue, 2 Aug 2011 12:21:10 +0000 (05:21 -0700)]
Merge "include the arm header files in make dist" into cayuga

13 years agoMerge "Fix building with --disable-postproc" into cayuga
John Koleszar [Tue, 2 Aug 2011 12:19:11 +0000 (05:19 -0700)]
Merge "Fix building with --disable-postproc" into cayuga