Marco Paniconi [Wed, 6 Jun 2012 18:38:48 +0000 (11:38 -0700)]
Reset Q for key frame when spatial resizing occurs.
The logic for spatial resizing is done after the Q is selected for the
frame. This causes a problem that the Q we select for the (resized)
key frame may be based on a different resolution than the frame we
will encode.
This fix is to ensure that, when resize is on, the selected Q is still
based on the resolution of the frame to be encoded.
Change-Id: Ia49a9eac5f64e48d1c00dfc7ed4ce26fe84d3fa1
Stefan Holmer [Thu, 31 May 2012 13:27:05 +0000 (15:27 +0200)]
Fixes a win build issue related to denoising.
Change-Id: I912384f526865089aa03ca8875591324e5c1c449
Stefan Holmer [Thu, 31 May 2012 08:52:20 +0000 (10:52 +0200)]
Fixes a clang linking error.
Change-Id: I1d2db53129dc6ec068093ad1e5fc0d94110473b3
Stefan Holmer [Wed, 30 May 2012 10:17:06 +0000 (12:17 +0200)]
Added another denoising threshold for finding DC shifts.
Compares the sum of differences between the input block and the averaged
block. If they differ too much the block will not be filtered. Negligible
perfomance hit.
Change-Id: Ib1c31a265efd4d100b3abc4a1ea6675038c8ddde
Alpha Lam [Wed, 23 May 2012 22:52:34 +0000 (15:52 -0700)]
Make libvpx Chromium build friendly
Add PRIVATE macro for adding private_extern directive for yasm
to hide global symbols. This is only enabled if -DCHROMIUM is used
with YASM.
Also fixed a small problem with rtcd_defs.sh to guard TEMPORAL_DENOISING.
Change-Id: I9027fce3ebddcf20078293e4b86b396f21da7857
Jim Bankoski [Thu, 24 May 2012 14:44:03 +0000 (07:44 -0700)]
fix denoiser for temporal patterns and rd
This extends the denoiser to work for temporally scalable
coding.
I believe this also fixes a very rare but really bad bug in the original
implementation.
Change-Id: I8b3593a8c54b86eb76f785af1970935f7d56262a
Christian Duvivier [Mon, 21 May 2012 14:54:20 +0000 (07:54 -0700)]
Inline Intrinsic optimized Denoiser
Faster version of denoiser, cut cost by 1.7x for C path, by 3.3x for
SSE2 path.
Change-Id: I154786308550763bc0e3497e5fa5bfd1ce651beb
Attila Nagy [Tue, 22 May 2012 11:19:10 +0000 (14:19 +0300)]
Fix another multithreaded encoder loopfilter race condition
After a key frame encoding, the frame type could change while
filtering is still going on. Pass the frame type as parameter to the
loopfilter function and don't read it from common storage.
vp8cx_set_alt_lf_level has to be done before packing the stream.
Currently alt_lf_level is not used so there hasn't been any visible
problem here.
Change-Id: Ia114162158cd833c2b16e3b89303cc9c91f19165
John Koleszar [Wed, 23 May 2012 19:03:39 +0000 (12:03 -0700)]
Fix memory leak in vpx_codec_enc_config_set()
Resolution changes in calls to vpx_codec_enc_config_set() would cause
a memory leak due to failing to release the lookahead and alt ref
buffers.
Change-Id: I48392ea25e71fe2760d60cfde3fb3874598cc85f
John Koleszar [Tue, 8 May 2012 20:47:21 +0000 (13:47 -0700)]
Update CHANGELOG for v1.1.0 (Eider) release
Change-Id: Ic429556e76bcc4f96a34e18835a153b07fe410a2
John Koleszar [Tue, 8 May 2012 22:00:46 +0000 (15:00 -0700)]
Update AUTHORS
Change-Id: Id9dd1802ae597a39eb46d2cbe531d5b04bd0a1c5
John Koleszar [Tue, 8 May 2012 22:00:27 +0000 (15:00 -0700)]
Update .mailmap
Change-Id: If3a9958f6e2a466c631972316c3a49c253cbd9c2
John Koleszar [Tue, 8 May 2012 18:23:42 +0000 (11:23 -0700)]
Use consistent range for VP8E_SET_NOISE_SENSITIVITY
Accept the same range of inputs for the VP8E_SET_NOISE_SENSITIVITY
control, regardless of whether temporal denoising is enabled or not.
This is important for maintaining compatibility with existing
applications.
Change-Id: I94cd4bb09bf7c803516701a394cf1a63bfec0097
John Koleszar [Fri, 4 May 2012 19:23:53 +0000 (12:23 -0700)]
fix vp8_ namespace issues
Make functions only referenced from one translation unit static. Other
symbols with extern linkage get a vp8/vpx prefix.
Change-Id: I928c7e0d0d36e89ac78cb54ff8bb28748727834f
John Koleszar [Fri, 4 May 2012 16:46:57 +0000 (09:46 -0700)]
Formalize encodeframe.c forward delclarations
Change If4321cc5 fixed a bug caused by forward declarations not being
kept in sync across C files, resulting in a function call with the
wrong arguments. The commit moves the affected function declarations
into a header file, along with the other symbols from encodeframe.c
that were being sloppily shared.
Change-Id: I76a7b4c66d4fe175f9cbef7e52148655e4bb9ba1
Attila Nagy [Fri, 4 May 2012 10:32:43 +0000 (13:32 +0300)]
Fix multi-resolution threaded encoding
mb_row and mb_col was not passed to vp8cx_encode_inter_macroblock in
threaded encoding.
Change-Id: If4321cc59bf91e991aa31e772f882ed5f2bbb201
John Koleszar [Wed, 2 May 2012 23:37:37 +0000 (16:37 -0700)]
remove deprecated pre-v0.9.0 API
Remove a bunch of compatibility code dating back to before the initial
libvpx release.
Change-Id: Ie50b81e7d665955bec3d692cd6521c9583e85ca3
Attila Nagy [Mon, 16 Apr 2012 07:23:57 +0000 (10:23 +0300)]
Make global data const
Removes all runtime initialization of global data. This commit is a
squashed version of the following series cherry-picked from master.
This is necessary because of a change that was merged to the tester
that depends on the scaler being moved to the RTCD framework, which
is a worthwhile thing to include in Eider anyway.
-
a91b42f02 Makes all global data in entropy.c const
-
b35a0db0e Makes all global data in tokenize.c const
-
441cac8ea Makes all mode token tables const
-
5948a0210 Ports vpx_xcaler to new RTCD method
-
317d4244c Makes all mode token tables const part 2
Change-Id: Ifeaea24df2b731e7c509fa6c6ef6891a374afc26
John Koleszar [Thu, 3 May 2012 16:40:50 +0000 (09:40 -0700)]
Merge "Add VPX_TS_ prefix to MAX_LAYERS, MAX_PERIODICITY" into eider
John Koleszar [Wed, 2 May 2012 23:22:34 +0000 (16:22 -0700)]
Merge "Fix compiler warnings" into eider
John Koleszar [Wed, 2 May 2012 23:21:52 +0000 (16:21 -0700)]
Add VPX_TS_ prefix to MAX_LAYERS, MAX_PERIODICITY
Preserved the prior names for compatibility, will remove in the future.
Change-Id: I8773f959ebce72f60168a2972f7a8ffe6642b9b2
Timothy B. Terriberry [Wed, 2 May 2012 17:14:27 +0000 (10:14 -0700)]
Add support for native Solaris compiler on x86.
Original patch by Ginn Chen <ginn.chen@oracle.com> against libvpx
v0.9.0.
I've forward-ported it to the current version (which mostly
involved removing hunks that were no longer relevant), since I've
given up on getting Ginn to submit this upstream himself.
Change-Id: I403c757c831c78d820ebcfe417e717b470a1d022
Timothy B. Terriberry [Wed, 2 May 2012 17:11:36 +0000 (10:11 -0700)]
Fix TEXTRELs in the ARM asm.
Besides imposing a performance penalty at startup in most
configurations, these relocations break the dynamic linker for
native Fennec, since it does not support them at all.
Change-Id: Id5dc768609354ebb4379966eb61a7313e6fd18de
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
Attila Nagy [Fri, 27 Apr 2012 10:41:58 +0000 (13:41 +0300)]
Fix compiler warnings
Fix code for following warnings:
-Wimplicit-function-declaration
-Wuninitialized
-Wunused-but-set-variable
-Wunused-variable
Change-Id: I2be434f22fdecb903198e8b0711255b4c1a2947a
Johann [Tue, 1 May 2012 17:13:03 +0000 (10:13 -0700)]
Merge "Update paths for iOS 5.1" into eider
Johann [Mon, 30 Apr 2012 22:04:41 +0000 (15:04 -0700)]
Update paths for iOS 5.1
These values can be overridden with some poorly documented and
overloaded options: --libc and --sdk-path
../libvpx/configure --target=armv7-darwin-gcc --sdk-path=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer --libc=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/
So for someone who still wants to build with the iOS 5 SDK, the last
part of the path should be iPhoneOS5.0.sdk
Change-Id: Ibe93d96ae828c619700dc3222983aa4c30456b88
Johann [Mon, 30 Apr 2012 17:23:59 +0000 (10:23 -0700)]
Merge "Add target for OS X 10.8 Mountain Lion" into eider
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
Johann [Fri, 27 Apr 2012 18:40:04 +0000 (11:40 -0700)]
Add target for OS X 10.8 Mountain Lion
Also clarify universal build rules
Change-Id: I3b7352f81d5d5b3472420e89872038377c5c2697
John Koleszar [Thu, 26 Apr 2012 23:07:20 +0000 (16:07 -0700)]
Merge "Fix loopfilter race condition in multithreaded encoder" into eider
Ralph Giles [Thu, 5 Jan 2012 21:05:05 +0000 (15:05 -0600)]
Have vpxenc use a default kf_max_rate of 5 seconds.
Rather than using the static default maximum keyframe spacing
provided by vpx_codec_enc_config_default() set the default
value to 5 times the frame rate. Five seconds is too long for
live streaming applications, but is a compromise between seek
efficiency and giving the encoder freedom to choose keyframe
locations.
The five second value is from James Zern's suggestion in
http://article.gmane.org/gmane.comp.multimedia.webm.user/2945
Change-Id: Ib7274dc248589c433c06e68ca07232e97f7ce17f
John Koleszar [Thu, 26 Apr 2012 00:08:56 +0000 (17:08 -0700)]
vpxenc: validate rational arguments
Trap negative values and zero denominators at the point where they're
parsed.
Change-Id: I1ec9da5d4e95d3ef539860883041330ecec2f345
Attila Nagy [Wed, 25 Apr 2012 11:04:55 +0000 (14:04 +0300)]
Fix loopfilter race condition in multithreaded encoder
Race was introduced by https://gerrit.chromium.org/gerrit/15563.
If loopfilter related config params were changed between frames, or
after a KEY frame, there could be a mismatch between encoder's and
decoder's recontructed image. In worst case, when frame buffers are
reallocated because of a size change, the loopfilter could
do an invalid data access (segmentation fault).
Fixes:
Sync with the loopfilter before applying any encoder changes in
vp8_change_config().
Moved the loopfilter synching to the top of
encode_frame_to_data_rate() so that it's done before any alteration of
the encoder.
Change-Id: Ide5245d2a2aeed78752de750c0110bc4b46f5b7b
John Koleszar [Mon, 23 Apr 2012 19:11:08 +0000 (12:11 -0700)]
Merge "Use LIBSUBDIR for vpx.pc." into eider
John Koleszar [Mon, 23 Apr 2012 19:07:18 +0000 (12:07 -0700)]
Merge "multi-res: restore v1.0.0 API" into eider
Takanori MATSUURA [Fri, 20 Apr 2012 22:11:46 +0000 (15:11 -0700)]
Use LIBSUBDIR for vpx.pc.
Change-Id: Ibba635696e8c23086e5d3c0e8452ab97c460d7d7
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
John Koleszar [Fri, 20 Apr 2012 17:17:57 +0000 (10:17 -0700)]
vp8_change_config: don't force kf with spatial resampling
Look for changes in the codec's configured w/h instead of its active
w/h when forcing keyframes. Otherwise calls to vp8_change_config()
will force a keyframe when spatial resampling is active.
Change-Id: Ie0d20e70507004e714ad40b640aa5b434251eb32
John Koleszar [Wed, 18 Apr 2012 23:03:40 +0000 (16:03 -0700)]
rtcd: serialize function pointer initialization
Ensure that RTCD function pointers are set at most once, to silence
some data race warnings. Implementation provided for POSIX threads and
Win32, with the prior unsynchronized behavior left in place for other
platforms.
Change-Id: I65c5856df43ef67043b3d5f26ddafddd8fcb2f7e
John Koleszar [Mon, 16 Apr 2012 19:22:59 +0000 (12:22 -0700)]
correct alt-ref contribution to frame rate
When producing an invisible ARF, the time stamp counters aren't
updated since the last time stamp is seen by the codec twice. The
prior code was trapping this case with refresh_alt_ref, but this isn't
correct for other uses of the ARF. Instead, use the show_frame flag.
Change-Id: If67fff7c6c66a3606698e34e2fb5731f56b4a223
Johann [Thu, 12 Apr 2012 23:09:46 +0000 (16:09 -0700)]
FTFY: Check for astyle and version
Change-Id: I377387681332cfc975254cd825e4ad2998271690
Johann [Thu, 12 Apr 2012 19:15:04 +0000 (12:15 -0700)]
Merge "Use OFFSET_PATTERN from libs.mk"
Scott LaVarnway [Thu, 12 Apr 2012 19:03:45 +0000 (12:03 -0700)]
Merge "MB_MODE_INFO size reduction"
Scott LaVarnway [Thu, 12 Apr 2012 19:02:24 +0000 (12:02 -0700)]
Merge "loopfilter improvements"
John Koleszar [Thu, 12 Apr 2012 18:48:57 +0000 (11:48 -0700)]
Merge "FTFY: fix syntax error"
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
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
John Koleszar [Thu, 12 Apr 2012 18:19:00 +0000 (11:19 -0700)]
FTFY: fix syntax error
Change-Id: I1952608479954c07f3556f96ea3de9118216bf27
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
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
Debargha Mukherjee [Tue, 10 Apr 2012 20:29:27 +0000 (13:29 -0700)]
Merge "MFQE: apply threshold to subblocks and chroma."
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
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
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
Johann [Mon, 2 Apr 2012 18:31:06 +0000 (11:31 -0700)]
Merge "Move 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
Jim Bankoski [Mon, 2 Apr 2012 18:05:38 +0000 (11:05 -0700)]
Merge "vp8 - compatibility warning added to changelog"
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
John Koleszar [Thu, 29 Mar 2012 21:03:07 +0000 (14:03 -0700)]
Merge "remove unused BOOL_CODER::value"
John Koleszar [Thu, 29 Mar 2012 21:02:48 +0000 (14:02 -0700)]
Merge "FTFY: 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
John Koleszar [Wed, 14 Mar 2012 17:37:55 +0000 (10:37 -0700)]
remove unused BOOL_CODER::value
Change-Id: Ic7782707afed38c3ec7e996a4a11dc2d55226691
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
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
Scott LaVarnway [Thu, 29 Mar 2012 18:22:22 +0000 (11:22 -0700)]
Merge "Updated vp8_build_intra_predictors_mbuv_s(sse2/ssse3)"
Scott LaVarnway [Thu, 29 Mar 2012 18:22:04 +0000 (11:22 -0700)]
Merge "Removed duplicate vp8_build_intra_predictors_mb y/uv"
John Koleszar [Thu, 29 Mar 2012 00:47:24 +0000 (17:47 -0700)]
Merge "FTFY: 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
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
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
John Koleszar [Mon, 26 Mar 2012 17:15:56 +0000 (10:15 -0700)]
Merge "bug 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
Jim Bankoski [Fri, 23 Mar 2012 20:59:59 +0000 (13:59 -0700)]
vp8 - compatibility warning added to changelog
Change-Id: Iac0daecfc7c8393cb4c798ca43b7fe300f56e55f
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
Deb Mukherjee [Fri, 23 Mar 2012 00:42:41 +0000 (17:42 -0700)]
Initialize postproc buffer to resolve valgrind warnings
Change-Id: I9a7d40b0eac7200796dbe62e75776b2eb77dfdf6
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
James Berry [Wed, 21 Mar 2012 19:37:17 +0000 (12:37 -0700)]
Merge "remove __inline for compiler compatibility"
James Berry [Wed, 21 Mar 2012 19:36:40 +0000 (12:36 -0700)]
Merge "bug fix: remove inline from mfqe.c"
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
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
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
Yunqing Wang [Fri, 16 Mar 2012 21:02:51 +0000 (14:02 -0700)]
Merge "Add 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
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
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
Johann [Fri, 16 Mar 2012 18:35:18 +0000 (11:35 -0700)]
Merge "RFC: Reorganize MFQE loops"
Scott LaVarnway [Fri, 16 Mar 2012 16:03:47 +0000 (09:03 -0700)]
Merge "x_motion_minq table reduction"
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
John Koleszar [Wed, 14 Mar 2012 19:00:44 +0000 (12:00 -0700)]
Merge "Fix build under Estonian locale"
John Koleszar [Wed, 14 Mar 2012 19:00:27 +0000 (12:00 -0700)]
Merge "fix potential use of uninitialized rate_y"
Priit Laes [Fri, 9 Mar 2012 09:50:18 +0000 (11:50 +0200)]
Fix build under Estonian locale
Change-Id: Ifb536403ef302b597864eae1d05aa9e2bb15d4c7
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
Jim Bankoski [Tue, 13 Mar 2012 23:18:57 +0000 (16:18 -0700)]
Merge "Adds 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
Jim Bankoski [Tue, 13 Mar 2012 17:13:03 +0000 (10:13 -0700)]
Merge "Update 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
Johann [Mon, 12 Mar 2012 22:08:48 +0000 (15:08 -0700)]
Merge "Move SAD and variance functions to common"
John Koleszar [Fri, 9 Mar 2012 22:48:06 +0000 (14:48 -0800)]
Merge "vpx_timer: increase resolution"
Scott LaVarnway [Fri, 9 Mar 2012 18:48:11 +0000 (10:48 -0800)]
Merge changes I9c26870a,Ifabb0f67
* changes:
threading.c refactoring
Decoder loops refactoring