profile/ivi/libvpx.git
12 years agovp8e - boolcoder unit test
Jim Bankoski [Tue, 8 May 2012 14:29:19 +0000 (07:29 -0700)]
vp8e - boolcoder unit test

Adds a unit test to the boolcoder that tests encoding
and decoding thousands of different bits, with different
probabilities in different patterns.

Code borrowed from the webp project - and its committers.

Change-Id: Icabbb884d57e666496490c961dd29b246144ab3e

12 years agomulti-res: restore v1.0.0 API
John Koleszar [Thu, 19 Apr 2012 17:00:33 +0000 (10:00 -0700)]
multi-res: restore v1.0.0 API

Move the notion of 0 bitrate implying skip deeper into the codec,
rather than doing it at the multi-encoder API level. This preserves
v1.0.0 ABI compatibility, rather than forcing a bump to v2.0.0 over a
minor change. Also, this allows the case where the application can
selectively enable and disable the larger resolution(s) without having
to reinitialize the codec instace (for instance, if no target is
receiving the full resolution stream).

It's not clear how deep to push this check. It may be valuable to
allow the framerate adaptation code to run, for example. Currently put
the check as early as possible for simplicity, should reevaluate this
as this feature gains real use.

Change-Id: I371709b8c6b52185a1c71a166a131ecc244582f0

12 years agoupdate unit tests to support --enable-static-msvcrt
James Berry [Wed, 2 May 2012 22:09:54 +0000 (18:09 -0400)]
update unit tests to support --enable-static-msvcrt

update unit tests to support --enable-static-msvcrt

Change-Id: I7e6e9ef2a0a8e2054076c8debe35ee317e9ab2e3

12 years agoFix trailing commas in enums.
Timothy B. Terriberry [Wed, 2 May 2012 17:08:10 +0000 (10:08 -0700)]
Fix trailing commas in enums.

These are warnings in most builds, but show up as compile errors on
 some platforms when these headers are included from C++ code.

Change-Id: I6c523b4dbbc699075fe73830442b51922e5a61d5

12 years agoReset output frames counter for second pass
Adrian Grange [Fri, 27 Apr 2012 18:06:14 +0000 (11:06 -0700)]
Reset output frames counter for second pass

The frame counter was not being reset at the start of
the first pass.

Change-Id: I2ef7c6edf027e43f83f470c52cbcf95bf152e430

12 years agoModified ARNR MC-filter to ignore ARF frame
Adrian Grange [Fri, 27 Apr 2012 16:01:17 +0000 (09:01 -0700)]
Modified ARNR MC-filter to ignore ARF frame

The ARNR filter uses MC to find the best match between the
ARF and other nearby frames in the filter-set. Since the
ARF is a member of the filter-set, MC in that case is
unnecesssary. This patch modifies the filter so it does
not apply MC in this case.

Change-Id: Ic0321199c08db2189a57f28d1700b745bc7ff66d

12 years agoRemoved MV costing from ARNR filtering
Adrian Grange [Thu, 26 Apr 2012 22:41:38 +0000 (15:41 -0700)]
Removed MV costing from ARNR filtering

The ARNR filter uses a motion compensated temporal filter,
but the motion estimation implementation accounts for the
cost of the mv in its decision making process. The ARNR
filter uses a dummy cost table initialized to 0 as a way
to ignore the mv costs (which are irrelevant to the filter).

This CL modifies the ARNR filter implementation so that
the mv costing is ignored without the requirement for
dummy tables.

Change-Id: I4196aa5c24da63f858ff54fbaa5fc85ae1f1957f

12 years agoMoves error concealment allocations from common parts to decoder
Attila Nagy [Tue, 24 Apr 2012 12:33:44 +0000 (15:33 +0300)]
Moves error concealment allocations from common parts to decoder

The backup MODE_INFO buffer used in the error concealment was
allocated in the codec common parts allocation even though this is a
decoder only resource. Moved the allocation to the decoder side.
No need to update_mode_info_border as mode_info buffers are zero
allocated.

This fixes also a potential memory leak as the EC overlaps buffer was not
properly released before reallocation after a frame size change.

Change-Id: I12803d3e012308d95669069980b1c95973fb775f

12 years agoSimplifies decoder multithread synching
Attila Nagy [Fri, 20 Apr 2012 11:14:24 +0000 (14:14 +0300)]
Simplifies decoder multithread synching

Increment the last_row_mb_col counter by nsync after last MB of row is
ready. This way we dont need to check for last MB of row when
synching.

Set last MB of row ready just after row extension is done, This avoids
o potential race condition whit the processing of last MB of next row.

Change-Id: I19c44fd6041116ee5483be2143b4f4bfcd149eac

12 years agoShares one set of RD costs tables between all encoding threads
Attila Nagy [Tue, 17 Apr 2012 07:40:56 +0000 (10:40 +0300)]
Shares one set of RD costs tables between all encoding threads

RD costs were local to MACROBLOCK data and had to be copied all the
time to each thread's MACROBLOCK data. Tables moved to a common place
and only pointers are setup for each encoding thread.

vp8_cost_tokens() generates 'int' costs so changed all types to be
int (i.e. removed unsigned).

NOTE: Could do some more cleaning in vp8cx_init_mbrthread_data().

Change-Id: Ifa4de4c6286dffaca7ed3082041fe5af1345ddc0

12 years agoRemoved mcomp_filter_type
Scott LaVarnway [Mon, 23 Apr 2012 17:23:21 +0000 (13:23 -0400)]
Removed mcomp_filter_type

and replaced with use_bilinear_mc_filter.

Change-Id: Ie9e9f0bccca4ab7d3e23ae045aefed33536103ff

12 years agoMerge "Removes duplication of key frame mode probabilities"
Scott LaVarnway [Mon, 23 Apr 2012 17:07:50 +0000 (10:07 -0700)]
Merge "Removes duplication of key frame mode probabilities"

12 years agoOptimizes precalculated decoder block ptrs&offs
Attila Nagy [Mon, 23 Apr 2012 12:20:07 +0000 (15:20 +0300)]
Optimizes precalculated decoder block ptrs&offs

The block pointers and offset do not need to be calculated for every
frame. Block internal predictors can be update once when decoder is
allocated. Destination and previous buffer offsets have to be updated
just when frame size is changing.

Change-Id: I92ca8df0e6aaac4cc35ab890751d446760bf82e2

12 years agoRemoves duplication of key frame mode probabilities
Attila Nagy [Mon, 23 Apr 2012 09:53:30 +0000 (12:53 +0300)]
Removes duplication of key frame mode probabilities

Key frame macrobock and block mode probabilities are constant.
Remove the allocation of tables for each codec instance and use
instead the default const prob tables.

Change-Id: I8361798ac491f9b3889e86925a494c58647c753f

12 years agoMerge "Makes all mode token tables const part 2"
Scott LaVarnway [Fri, 20 Apr 2012 15:22:56 +0000 (08:22 -0700)]
Merge "Makes all mode token tables const part 2"

12 years agoMakes all mode token tables const part 2
Scott LaVarnway [Thu, 19 Apr 2012 21:35:20 +0000 (17:35 -0400)]
Makes all mode token tables const part 2

(see Change I9b2ccc88: Makes all mode token tables const)
Further remove runtime table initialization and use
precalculated const data.  Data footprint reduced
by 4112 bytes.

Change-Id: Ia3ae9fc19f77316b045cabff01f6e5f0876a86ab

12 years agoPorts vpx_xcaler to new RTCD method
Attila Nagy [Thu, 19 Apr 2012 12:55:03 +0000 (15:55 +0300)]
Ports vpx_xcaler to new RTCD method

We can get rid of all remaining global initializers now:
 vp8_scale_machine_specific_config()
 vp8_initialize()
 vp8dx_initialize()

Change-Id: I2825cea5d1c01ad9f6c45df49a0f86d803bfeb69

12 years agoMakes all mode token tables const
Attila Nagy [Thu, 19 Apr 2012 12:14:28 +0000 (15:14 +0300)]
Makes all mode token tables const

Mode token tabels precalculated in entropymode.c.
Removes vp8_initialize_common()as all common global data
is precalculated const now.

Change-Id: I9b2ccc883e4f618069e1bc180dad3a823394eb73

12 years agoMerge "Makes all global data in tokenize.c const"
Johann [Wed, 18 Apr 2012 17:51:46 +0000 (10:51 -0700)]
Merge "Makes all global data in tokenize.c const"

12 years agoMakes all global data in tokenize.c const
Attila Nagy [Mon, 16 Apr 2012 11:47:40 +0000 (14:47 +0300)]
Makes all global data in tokenize.c const

Removes all runtime initialization of global data in tokenize.c.
DCT token and cost tabels are pre-generated.

Second patch in a series to make sure code is reentrant.

Change-Id: Iab48b5fe290129823947b669413101f22a1bcac0

12 years agoMakes all global data in entropy.c const
Attila Nagy [Mon, 16 Apr 2012 07:23:57 +0000 (10:23 +0300)]
Makes all global data in entropy.c const

Removes all runtime initialization of global data in entropy.c.
Precalculated values are used for initializing all entropy related
tabels.

First patch in a series to make sure code is reentrant.

Change-Id: I9aac91a2a26f96d73c6470d772a343df63bfe633

12 years agoFTFY: Check for astyle and version
Johann [Thu, 12 Apr 2012 23:09:46 +0000 (16:09 -0700)]
FTFY: Check for astyle and version

Change-Id: I377387681332cfc975254cd825e4ad2998271690

12 years agoMerge "Use OFFSET_PATTERN from libs.mk"
Johann [Thu, 12 Apr 2012 19:15:04 +0000 (12:15 -0700)]
Merge "Use OFFSET_PATTERN from libs.mk"

12 years agoMerge "MB_MODE_INFO size reduction"
Scott LaVarnway [Thu, 12 Apr 2012 19:03:45 +0000 (12:03 -0700)]
Merge "MB_MODE_INFO size reduction"

12 years agoMerge "loopfilter improvements"
Scott LaVarnway [Thu, 12 Apr 2012 19:02:24 +0000 (12:02 -0700)]
Merge "loopfilter improvements"

12 years agoMerge "FTFY: fix syntax error"
John Koleszar [Thu, 12 Apr 2012 18:48:57 +0000 (11:48 -0700)]
Merge "FTFY: fix syntax error"

12 years agoUse OFFSET_PATTERN from libs.mk
Johann [Thu, 12 Apr 2012 18:32:17 +0000 (11:32 -0700)]
Use OFFSET_PATTERN from libs.mk

Forestall possible issues with -ggdb3
https://gerrit.chromium.org/gerrit/16160
https://trac.macports.org/ticket/33285

Change-Id: Ied274f70004709800576a803afa91e1b0f6eb02b

12 years agoloopfilter improvements
Scott LaVarnway [Thu, 12 Apr 2012 18:22:47 +0000 (14:22 -0400)]
loopfilter improvements

Local variable offsets are now consistent for the functions,
removed unused parameters, reworked the assembly to eliminate
stalls/instructions.

Change-Id: Iaa37668f8a9bb8754df435f6a51c3a08d547f879

12 years agoFTFY: fix syntax error
John Koleszar [Thu, 12 Apr 2012 18:19:00 +0000 (11:19 -0700)]
FTFY: fix syntax error

Change-Id: I1952608479954c07f3556f96ea3de9118216bf27

12 years agoFix vpx_rtcd.h dependency in Android.mk
Attila Nagy [Wed, 11 Apr 2012 12:20:13 +0000 (15:20 +0300)]
Fix vpx_rtcd.h dependency in Android.mk

Failed to build on Linux (as described in Android.mk) with NDK r7b.
Set vpx_rtcd.h dependency after libvpx sources are added to
LOCAL_SRC_FILES so that vpx_rtcd.h is generated before any libvpx file
is touched.

Change-Id: Ibe19d485ca9f679dc084044df0e3fb14587c4d3e

12 years agoFixes to disable MFQE when there is motion.
Deb Mukherjee [Tue, 3 Apr 2012 21:02:58 +0000 (14:02 -0700)]
Fixes to disable MFQE when there is motion.

This patch includes:
1. fixes to disable block based termporal mixing when motion
is detected (because this version of mfqe only handles zero motion).
2. The criterion used for determining whether to mix or
not are changed to use squared differences rather than
absolute differences.
3. Additional checks on color mismatch and excessive block
flatness added. If the block as decoded has very low activity
it is unlikely to yield benefits for mixing.

Change-Id: I07331e5ab5ba64844c56e84b1a4b7de823eac6cb

12 years agoMerge "MFQE: apply threshold to subblocks and chroma."
Debargha Mukherjee [Tue, 10 Apr 2012 20:29:27 +0000 (13:29 -0700)]
Merge "MFQE: apply threshold to subblocks and chroma."

12 years agoFTFY: only apply on modified files
John Koleszar [Tue, 3 Apr 2012 22:59:37 +0000 (15:59 -0700)]
FTFY: only apply on modified files

Ignore renamed, copied, and deleted files when applying the style
rules.

Change-Id: I6102e34f833e5c2ef7a88d6d57bbfdca51b25d94

12 years agoMFQE: apply threshold to subblocks and chroma.
John Koleszar [Fri, 30 Mar 2012 18:34:36 +0000 (11:34 -0700)]
MFQE: apply threshold to subblocks and chroma.

In cases where you have a flat background occluded by a moving object
of similar luminosity in the foreground, it was likely that the
foreground blocks would persist for a few frames after the background
is uncovered. This is particularly noticable when the object has a
different color than the background, so add the chroma planes in as an
additional check.

In addition, for block sizes of 8 and 16, the luma threshold is
applied on four subblocks independently, which helps when only part of
the background in the block has been uncovered.

This fixes issue #392, which includes a test clip to reproduce the
issue.

BUG=392

Change-Id: I2bd7b2b0e25e912dcac342e5ad6e8914f5afd302

12 years agoAllow disabling disabled codecs
Johann [Mon, 2 Apr 2012 22:08:18 +0000 (15:08 -0700)]
Allow disabling disabled codecs

When using 'make dist' after --disable-vp8[encoder|decoder] it would
fail to recognize the option. This would only occur when also specifying
--enable-install-docs and --enable-install-srcs but not
--enable-codec-srcs

Including vpx/ fixes builds with --enable-codec-srcs

vpx_timer.h is also required for vpxenc.c

Change-Id: Ie3e28b2f7ec7ee6d5961d3843f9eab869f79c35b

12 years agoMerge "Move variance and SAD RTCD definitions"
Johann [Mon, 2 Apr 2012 18:31:06 +0000 (11:31 -0700)]
Merge "Move variance and SAD RTCD definitions"

12 years agoMove variance and SAD RTCD definitions
Johann [Mon, 2 Apr 2012 18:06:35 +0000 (11:06 -0700)]
Move variance and SAD RTCD definitions

When the functions were moved from encoder/ to common/ the RTCD file was
not updated.

Change-Id: I1c98715ed51adf1a95aa2492949d8552aec88d1f

12 years agoMerge "vp8 - compatibility warning added to changelog"
Jim Bankoski [Mon, 2 Apr 2012 18:05:38 +0000 (11:05 -0700)]
Merge "vp8 - compatibility warning added to changelog"

12 years agotools/wrap-commit-msg.py: fix file truncation
James Zern [Fri, 30 Mar 2012 01:13:27 +0000 (18:13 -0700)]
tools/wrap-commit-msg.py: fix file truncation

truncate() operates from the current file pointer position. On at least
Linux specifying 0 without resetting the pointer will pad the file with
zeros to the current offset.

Change-Id: Ide704a1097f46c0c530f27212bb12e923f93e2d6

12 years agoMerge "remove unused BOOL_CODER::value"
John Koleszar [Thu, 29 Mar 2012 21:03:07 +0000 (14:03 -0700)]
Merge "remove unused BOOL_CODER::value"

12 years agoMerge "FTFY: support wordwrapping commit messages"
John Koleszar [Thu, 29 Mar 2012 21:02:48 +0000 (14:02 -0700)]
Merge "FTFY: support wordwrapping commit messages"

12 years agoFTFY: support wordwrapping commit messages
John Koleszar [Wed, 28 Mar 2012 23:41:16 +0000 (16:41 -0700)]
FTFY: support wordwrapping commit messages

It's common for commit messages to be wrapped at odd places. git-gui
is often to blame. Adds support for automatically fixing up these
messages if running ftfy --amend, and adds a new option --msg-only for
fixing only the commit message.

Change-Id: Ia7ea529f8cb7395d34d9b39f1192598e9a1e315b

12 years agoremove unused BOOL_CODER::value
John Koleszar [Wed, 14 Mar 2012 17:37:55 +0000 (10:37 -0700)]
remove unused BOOL_CODER::value

Change-Id: Ic7782707afed38c3ec7e996a4a11dc2d55226691

12 years agoMB_MODE_INFO size reduction
Scott LaVarnway [Fri, 23 Mar 2012 20:55:22 +0000 (16:55 -0400)]
MB_MODE_INFO size reduction

Reduced the size of the struct by 8 bytes, which would be
a memory savings of 64800 bytes for 1080 resolutions.  Had
an extra byte, so created an is_4x4 for B_PRED or SPLITMV
modes.  This simplified the mode checks in
vp8_reset_mb_tokens_context and vp8_decode_mb_tokens.

Change-Id: Ibec27784139abdc34d4d01f73c09f43e9e10e0f5

12 years agoUpdated vp8_build_intra_predictors_mby_s(sse2/ssse3)
Scott LaVarnway [Thu, 29 Mar 2012 18:24:53 +0000 (14:24 -0400)]
Updated vp8_build_intra_predictors_mby_s(sse2/ssse3)

to work with the latest code.

Patch Set 2: aligned the above_row buffers to fix crash

Change-Id: I7a6992a20ed079ccd302f8c26215cf3057f8b70c

12 years agoMerge "Updated vp8_build_intra_predictors_mbuv_s(sse2/ssse3)"
Scott LaVarnway [Thu, 29 Mar 2012 18:22:22 +0000 (11:22 -0700)]
Merge "Updated vp8_build_intra_predictors_mbuv_s(sse2/ssse3)"

12 years agoMerge "Removed duplicate vp8_build_intra_predictors_mb y/uv"
Scott LaVarnway [Thu, 29 Mar 2012 18:22:04 +0000 (11:22 -0700)]
Merge "Removed duplicate vp8_build_intra_predictors_mb y/uv"

12 years agoMerge "FTFY: an automated style corrector"
John Koleszar [Thu, 29 Mar 2012 00:47:24 +0000 (17:47 -0700)]
Merge "FTFY: an automated style corrector"

12 years agoFTFY: an automated style corrector
John Koleszar [Tue, 27 Mar 2012 23:28:41 +0000 (16:28 -0700)]
FTFY: an automated style corrector

This is a utility for applying a limited amount of style correction on
a change-by-change basis. Rather than a big-bang reformatting, this
tool attempts to only correct the style in diff hunks that you touch.
This should make the cosmetic changes small enough that we can mix them
with functional changes without destroying the diffs, and there's an
escape hatch for separating the reformatting to a second commit for
purists and cases where it hurts readability.

At this time, the script requires a clean working tree, so run it after
you've commited your changes. Run without arguments, the style
corrections will be applied and left unstaged in your working copy. It
also supports the --amend option, which will automatically amend your
HEAD with the corrected style, and --commit, which will create a new
change dependent on your HEAD that contains only the whitespace changes.

There are a number of ways this could be applied in an automated manner
if this proves to be useful, either on a project-wide or per-user
basis. This doesn't buy anything in terms of real code quality, the
intent here would be to keep formatting nits out of review comments in
favor of more meaningful ones and help people whose habitual style
doesn't match the baseline.

Requires astyle[1] 1.24 or newer.
  [1]: http://astyle.sourceforge.net/

Change-Id: I2fb3434de8479655e9811f094029bb90e5d757e1

12 years agoUpdated vp8_build_intra_predictors_mbuv_s(sse2/ssse3)
Scott LaVarnway [Tue, 20 Mar 2012 20:32:54 +0000 (16:32 -0400)]
Updated vp8_build_intra_predictors_mbuv_s(sse2/ssse3)

to work with the latest code.

Change-Id: Ie382bb55d00ea5929bdadba859eea15f696d4cd9

12 years agoRemoved duplicate vp8_build_intra_predictors_mb y/uv
Scott LaVarnway [Tue, 20 Mar 2012 19:11:42 +0000 (15:11 -0400)]
Removed duplicate vp8_build_intra_predictors_mb y/uv

Added y/uv stride as a parameter and remove the
duplicate code.

Change-Id: I019117a9dd9659a09d3d4e845d4814d3f33341b5

12 years agoMerge "bug fix: fix mem leak error in vpxenc"
John Koleszar [Mon, 26 Mar 2012 17:15:56 +0000 (10:15 -0700)]
Merge "bug fix: fix mem leak error in vpxenc"

12 years agobug fix: fix mem leak error in vpxenc
James Berry [Mon, 26 Mar 2012 16:55:00 +0000 (12:55 -0400)]
bug fix: fix mem leak error in vpxenc

fixes memory leak bug in vpxenc.

Change-Id: I3933026d16177947576c61ebf58f8c58147e4ba0

12 years agovp8 - compatibility warning added to changelog
Jim Bankoski [Fri, 23 Mar 2012 20:59:59 +0000 (13:59 -0700)]
vp8 - compatibility warning added to changelog

Change-Id: Iac0daecfc7c8393cb4c798ca43b7fe300f56e55f

12 years agoNew vp8_decode_mb_tokens()
Scott LaVarnway [Fri, 23 Mar 2012 19:50:08 +0000 (15:50 -0400)]
New vp8_decode_mb_tokens()

This new vp8_decode_mb_tokens() uses a modified version of
WebP's GetCoeffs function.  For now, the dequant does not
occur in GetCoeffs.
Tests showed performance improvements up to 2.5% depending
on material.

Change-Id: Ia24d78627e16ffee5eb4d777ee8379a9270f07c5

12 years agoInitialize postproc buffer to resolve valgrind warnings
Deb Mukherjee [Fri, 23 Mar 2012 00:42:41 +0000 (17:42 -0700)]
Initialize postproc buffer to resolve valgrind warnings

Change-Id: I9a7d40b0eac7200796dbe62e75776b2eb77dfdf6

12 years agoMiscellaneous changes in mfqe and postproc modules
Deb Mukherjee [Thu, 22 Mar 2012 16:13:18 +0000 (09:13 -0700)]
Miscellaneous changes in mfqe and postproc modules

Adds logic to disable mfqe for the first frame after a configuration
change such as change in resolution. Also adds some missing
if CONFIG_POSTPROC macro checks.

Change-Id: If29053dad50b676bd29189ab7f9fe250eb5d30b3

12 years agoMerge "remove __inline for compiler compatibility"
James Berry [Wed, 21 Mar 2012 19:37:17 +0000 (12:37 -0700)]
Merge "remove __inline for compiler compatibility"

12 years agoMerge "bug fix: remove inline from mfqe.c"
James Berry [Wed, 21 Mar 2012 19:36:40 +0000 (12:36 -0700)]
Merge "bug fix: remove inline from mfqe.c"

12 years agoremove __inline for compiler compatibility
James Berry [Wed, 21 Mar 2012 18:11:10 +0000 (14:11 -0400)]
remove __inline for compiler compatibility

__inline removed for broader compiler compatibility

Change-Id: I6f2b218dfc808b73212bbb90c69e2b6cc1fa90ce

12 years agoMinor fix: add back a vpx_free call
Yunqing Wang [Wed, 21 Mar 2012 17:54:58 +0000 (13:54 -0400)]
Minor fix: add back a vpx_free call

Added back a vpx_free call that was mistakenly removed.

Change-Id: Ib662933a8697a4efb8534b5b9b762ee6c2777459

12 years agobug fix: remove inline from mfqe.c
James Berry [Wed, 21 Mar 2012 17:20:36 +0000 (13:20 -0400)]
bug fix: remove inline from mfqe.c

remove inline from mfqe.c for vs
compatibility

Change-Id: I853f16503d285fcd41a1a12181d8745159156b5c

12 years agoMerge "Add motion search skipping in first pass"
Yunqing Wang [Fri, 16 Mar 2012 21:02:51 +0000 (14:02 -0700)]
Merge "Add motion search skipping in first pass"

12 years agoAdd motion search skipping in first pass
Yunqing Wang [Wed, 14 Mar 2012 14:03:39 +0000 (10:03 -0400)]
Add motion search skipping in first pass

This change added a motion search skipping mechanism similar
to what we did in second pass. For a macroblock that is very
similar to the macroblock at same location on last frame,
we can set its mv to be zero, and skip motion search. This
improves first-pass performance for slide shows and video
conferencing clips with a slight PSNR loss.

Change-Id: Ic73f9ef5604270ddd6d433170091d20361dfe229

12 years agodarwin universal builds need BUILD_PFX
Johann [Fri, 16 Mar 2012 18:54:07 +0000 (14:54 -0400)]
darwin universal builds need BUILD_PFX

Universal builds create subdirectories for each target. Without
BUILD_PFX we only generated one vpx_rtcd.h instead of one for each.

Change-Id: I1caed4e018c8865ffc8da15e434cae2b96154fb4

12 years agoUpdate XCode SDK search paths
John Koleszar [Tue, 21 Feb 2012 22:41:39 +0000 (14:41 -0800)]
Update XCode SDK search paths

Newer XCodes have moved the SDK path from /Developer/SDKs

Use a suggestion from jorgenisaksson@gmail.com to locate it

osx_sdk_dir is not required to be set. Apple now offers a set
command line tools which do not require this. isysroot is also
not required in newer versions of XCode so only set it when we
are confident in the location.

There remain issues with the iOS configure steps which will be
addressed later

Change-Id: I4f5d7e35175d0dea84faaa6bfb52a0153c72f84b

12 years agoMerge "RFC: Reorganize MFQE loops"
Johann [Fri, 16 Mar 2012 18:35:18 +0000 (11:35 -0700)]
Merge "RFC: Reorganize MFQE loops"

12 years agoMerge "x_motion_minq table reduction"
Scott LaVarnway [Fri, 16 Mar 2012 16:03:47 +0000 (09:03 -0700)]
Merge "x_motion_minq table reduction"

12 years agodoxy: fix conditional usage, ref warnings
James Zern [Thu, 15 Mar 2012 23:51:51 +0000 (16:51 -0700)]
doxy: fix conditional usage, ref warnings

doxygen < 1.7.? seems to have been more tolerant of single line
\if/\endif

This change fixes warnings such as:
mainpage.dox:13: warning: unable to resolve reference to `vp8_encoder-'
for \ref command
vpx_decoder.h:193: warning: explicit link request to 'n' could not be
resolved

Change-Id: If3d04af5ede1b0d1e2c63021d0e4ac8f98db20b2

12 years agoMerge "Fix build under Estonian locale"
John Koleszar [Wed, 14 Mar 2012 19:00:44 +0000 (12:00 -0700)]
Merge "Fix build under Estonian locale"

12 years agoMerge "fix potential use of uninitialized rate_y"
John Koleszar [Wed, 14 Mar 2012 19:00:27 +0000 (12:00 -0700)]
Merge "fix potential use of uninitialized rate_y"

12 years agoFix build under Estonian locale
Priit Laes [Fri, 9 Mar 2012 09:50:18 +0000 (11:50 +0200)]
Fix build under Estonian locale

Change-Id: Ifb536403ef302b597864eae1d05aa9e2bb15d4c7

12 years agofix potential use of uninitialized rate_y
John Koleszar [Wed, 14 Mar 2012 17:10:30 +0000 (10:10 -0700)]
fix potential use of uninitialized rate_y

This issue likely doesn't appear in the unmodified encoder, but
sufficient hacking on the mode selection loop can expose it.

Change-Id: I8a35831e8f08b549806d0c2c6900d42af883f78f

12 years agoMerge "Adds a motion compensated temporal denoiser to the encoder."
Jim Bankoski [Tue, 13 Mar 2012 23:18:57 +0000 (16:18 -0700)]
Merge "Adds a motion compensated temporal denoiser to the encoder."

12 years agoAdds a motion compensated temporal denoiser to the encoder.
Stefan Holmer [Tue, 6 Mar 2012 09:48:18 +0000 (10:48 +0100)]
Adds a motion compensated temporal denoiser to the encoder.

Some refactoring in rdopt.c and pickinter.c.

Change-Id: I4f50020eb3313c37f4d441d708fedcaf219d3038

12 years agoMerge "Update for key frame target size setting."
Jim Bankoski [Tue, 13 Mar 2012 17:13:03 +0000 (10:13 -0700)]
Merge "Update for key frame target size setting."

12 years agoUpdate for key frame target size setting.
Marco Paniconi [Mon, 12 Mar 2012 23:23:08 +0000 (16:23 -0700)]
Update for key frame target size setting.

Set an iniital/minimun boost level for the frame rate
factor of key frame target size setting.

Change-Id: If2586f4ac76a1fa89378aa652a58607356a1f426

12 years agoMerge "Move SAD and variance functions to common"
Johann [Mon, 12 Mar 2012 22:08:48 +0000 (15:08 -0700)]
Merge "Move SAD and variance functions to common"

12 years agoMerge "vpx_timer: increase resolution"
John Koleszar [Fri, 9 Mar 2012 22:48:06 +0000 (14:48 -0800)]
Merge "vpx_timer: increase resolution"

12 years agoMerge changes I9c26870a,Ifabb0f67
Scott LaVarnway [Fri, 9 Mar 2012 18:48:11 +0000 (10:48 -0800)]
Merge changes I9c26870a,Ifabb0f67

* changes:
  threading.c refactoring
  Decoder loops refactoring

12 years agothreading.c refactoring
Scott LaVarnway [Thu, 8 Mar 2012 20:27:41 +0000 (15:27 -0500)]
threading.c refactoring

Added recon above/left to MACROBLOCKD
Reworked decode_macroblock

Change-Id: I9c26870af75797134f410acbd02942065b3495c1

12 years agoMerge "vp8e - RDLambda fix"
Yaowu Xu [Wed, 7 Mar 2012 19:53:04 +0000 (11:53 -0800)]
Merge "vp8e - RDLambda fix"

12 years agoRFC: Reorganize MFQE loops
Johann [Fri, 27 Jan 2012 18:23:52 +0000 (10:23 -0800)]
RFC: Reorganize MFQE loops

Break MFQE code into it's own file.

It is currently only valid for 16x16 and 8x8 Y blocks. It also filters
4x4 U/V blocks.

Refactor filtering and add associated assembly. Limited test cases show
--mfqe introduces a penalty of ~20% with HD content. The assembly
reduces the penalty to ~15%

Change-Id: I4b8de6b5cdff5413037de5b6c42f437033ee55bf

12 years agovp8e - RDLambda fix
Jim Bankoski [Tue, 6 Mar 2012 16:47:12 +0000 (08:47 -0800)]
vp8e - RDLambda fix

Last commit went the wrong way.

Change-Id: I5e47ee6c25b0893dfa84318229b93c57dfeec24e

12 years agoMerge "include CHANGELOG in CODEC_SRCS"
Johann [Tue, 6 Mar 2012 01:20:48 +0000 (17:20 -0800)]
Merge "include CHANGELOG in CODEC_SRCS"

12 years agoMove SAD and variance functions to common
Johann [Tue, 6 Mar 2012 00:50:33 +0000 (16:50 -0800)]
Move SAD and variance functions to common

The MFQE function of the postprocessor depends on these

Change-Id: I256a37c6de079fe92ce744b1f11e16526d06b50a

12 years agoinclude CHANGELOG in CODEC_SRCS
Johann [Tue, 6 Mar 2012 00:36:23 +0000 (16:36 -0800)]
include CHANGELOG in CODEC_SRCS

build/make/version.sh requires CHANGELOG to generate vpx_version.h
The file is already included when building the documentation. However,
documentation is not build if doxygen/php are not present.

This is necessary when using '--enable-install-srcs --enable-codec-srcs'
and 'make dist'

Change-Id: Icada883a056a4713d24934ea44e0f6969b68f9c2

12 years agoMerge "vp8e - fix coefficient costing"
Jim Bankoski [Mon, 5 Mar 2012 22:14:58 +0000 (14:14 -0800)]
Merge "vp8e - fix coefficient costing"

12 years agovp8e - fix coefficient costing
Jim Bankoski [Mon, 5 Mar 2012 16:20:42 +0000 (08:20 -0800)]
vp8e - fix coefficient costing

Coefficient costing failed to take account of the first branch
being skipped ( 0 vs eob) if the previous token is 0.

Fixed rd to account for slightly increased token cost & cleaned up
warning message

Change-Id: I56140635d9f48a28dded5a816964e973a53975ef

12 years agoFix encoder debug setting
Johann [Fri, 2 Mar 2012 00:12:53 +0000 (16:12 -0800)]
Fix encoder debug setting

Propagate debug setting to the EBML struct. When writing the application
name, this allows us to strip the version code and keep the output
metadata static.

Change-Id: I8e06c6abd743bedbff5af6242bbdae5d55754538

12 years agovpx_timer: increase resolution
John Koleszar [Thu, 1 Mar 2012 20:49:43 +0000 (12:49 -0800)]
vpx_timer: increase resolution

There's no useful reason to limit this timer to 1 second.

Change-Id: Idd1960268624e8bdfe958d99833ae6482fdb423e

12 years agoMerge "vp8e - attempt to lessen blockiness"
Jim Bankoski [Thu, 1 Mar 2012 19:47:09 +0000 (11:47 -0800)]
Merge "vp8e - attempt to lessen blockiness"

12 years agoMerge "vp8e - static key boost"
Jim Bankoski [Thu, 1 Mar 2012 19:23:10 +0000 (11:23 -0800)]
Merge "vp8e - static key boost"

12 years agoMerge "vp8e - force at least some change in over and under shoots"
Jim Bankoski [Thu, 1 Mar 2012 19:22:52 +0000 (11:22 -0800)]
Merge "vp8e - force at least some change in over and under shoots"

12 years agovp8e - static key boost
Paul Wilkins [Wed, 29 Feb 2012 17:19:23 +0000 (09:19 -0800)]
vp8e - static key boost

This seeks to boost the size of the keyframe if the entire section
is a single frame clip

Change-Id: I3c00268dc155b047dc4b90e514cf403d55a4f8ef

12 years agovp8e - force at least some change in over and under shoots
Paul Wilkins [Wed, 29 Feb 2012 20:32:46 +0000 (12:32 -0800)]
vp8e - force at least some change in over and under shoots

Change-Id: Ie1796f272dc33bf5a1c8ac990da625961d272aa9

12 years agoMerge "Packing bitstream on-the-fly with delayed context updates"
Scott LaVarnway [Thu, 1 Mar 2012 14:20:02 +0000 (06:20 -0800)]
Merge "Packing bitstream on-the-fly with delayed context updates"

12 years agovpxenc: fix time and fps calculation in 2-pass encoding
Yunqing Wang [Wed, 29 Feb 2012 13:24:53 +0000 (08:24 -0500)]
vpxenc: fix time and fps calculation in 2-pass encoding

When we do 2-pass encoding, elapsed time is accumulated through
whole 2-pass process, which gives incorrect time and fps results
for second pass. This change fixed that by resetting the time
accumulator for second pass.

Change-Id: Ie6cbf0d0e66e6874e7071305e253c6267529cf20

12 years agoPacking bitstream on-the-fly with delayed context updates
Attila Nagy [Thu, 9 Feb 2012 10:37:03 +0000 (12:37 +0200)]
Packing bitstream on-the-fly with delayed context updates

Produce the token partitions on-the-fly, while processing each MB.
Context is updated at the beginning of each frame based on the
previoud frame's counters. Optimally encoder outputs partitions in
separate buffers. For frame based output, partitions are concatenated
internally.

Limitations:
    - enabled just in combination with realtime-only mode
    - number of encoding threads has to be equal or less than the
    number of token partitions. For this reason, by default the encoder
    will do 8 token partitions.
    - vpxenc supports partition output (-P) just in combination with
    IVF output format (--ivf)

Performance:
    - Realtime encoder can be up to 13% faster (ARM) depending on the number
    of threads and bitrate settings. Constant gain over the 5-16 speed
    range.
    - Token buffer reduced from one frame to 8 MBs

Quality:
    - quality is affected by the delayed context updates. This again
    dependents on input material, speed and bitrate settings. For VC
    style input the loss seen is up to 0.2dB. If error-resilient=2
    mode is used than the effect of this change is negligible.

Example:
./configure --enable-realtime-only --enable-onthefly-bitpacking
./vpxenc --rt --end-usage=1 --fps=30000/1000 -w 640 -h 480
--target-bitrate=1000 --token-parts=3 --static-thresh=2000
--ivf -P -t 4 -o strm.ivf tanya_640x480.yuv

Change-Id: I127295cb85b835fc287e1c0201a67e378d025d76

12 years agovp8e - attempt to lessen blockiness
Jim Bankoski [Wed, 29 Feb 2012 17:03:13 +0000 (09:03 -0800)]
vp8e - attempt to lessen blockiness

applies a penalty to intra blocks in order to cut down on blockiness in
easy sections.

Change-Id: Ia9e5df16328b0bf01bf0f2e6e61abcb687316c12