platform/upstream/libvpx.git
13 years agovp8cx - psnr converted to call assemblerized sse
Jim Bankoski [Tue, 8 Mar 2011 20:23:40 +0000 (15:23 -0500)]
vp8cx - psnr converted to call assemblerized sse

Change-Id: Ie388d4618c44b131f96b9fe526618b457f020dfa

13 years agovp8cx- alternate ssim function with optimizations
Jim Bankoski [Tue, 8 Mar 2011 14:05:18 +0000 (09:05 -0500)]
vp8cx- alternate ssim function with optimizations

Change-Id: I91921b0a90dbaddc7010380b038955be347964b3

13 years agoMerge "Add vp8_sub_pixel_variance16x8_ssse3 function"
Yunqing Wang [Wed, 9 Mar 2011 20:26:37 +0000 (12:26 -0800)]
Merge "Add vp8_sub_pixel_variance16x8_ssse3 function"

13 years agoMerge branch 'bali'
John Koleszar [Wed, 9 Mar 2011 19:11:28 +0000 (14:11 -0500)]
Merge branch 'bali'

Change-Id: Icf18b4981afb12ef255fca431d4ba45860dd22c9

13 years agoAdd missing filter.h to build system
John Koleszar [Wed, 9 Mar 2011 18:43:31 +0000 (13:43 -0500)]
Add missing filter.h to build system

Missing file causes 'make dist' to not include a complete copy of the
source.

Change-Id: I3f55aeb5a86d0e81234e4e4588cb8086ba4cfc4a

13 years agoMerge "fix obj_int_extract for MinGW"
Johann [Wed, 9 Mar 2011 17:44:48 +0000 (09:44 -0800)]
Merge "fix obj_int_extract for MinGW"

13 years agoAdd vp8_sub_pixel_variance16x8_ssse3 function
Yunqing Wang [Wed, 9 Mar 2011 16:16:30 +0000 (11:16 -0500)]
Add vp8_sub_pixel_variance16x8_ssse3 function

Added SSSE3 function

Change-Id: I8c304c92458618d93fda3a2f62bd09ccb63e75ad

13 years agoRemove unused functions
Yunqing Wang [Wed, 9 Mar 2011 15:45:03 +0000 (10:45 -0500)]
Remove unused functions

Removed some unused functions

Change-Id: Ifdfc27453e53cfc75997b38492901d193a16b245

13 years agoMerge "Improve SSE2 half-pixel filter funtions"
Yunqing Wang [Wed, 9 Mar 2011 15:23:06 +0000 (07:23 -0800)]
Merge "Improve SSE2 half-pixel filter funtions"

13 years agoMerge "Configuration updates:Making a clear distinction between Init and Change"
John Koleszar [Wed, 9 Mar 2011 13:07:11 +0000 (05:07 -0800)]
Merge "Configuration updates:Making a clear distinction between Init and Change"

13 years agofix obj_int_extract for MinGW
Johann [Tue, 8 Mar 2011 22:41:45 +0000 (17:41 -0500)]
fix obj_int_extract for MinGW

failed to find headers in the source directory

output to stdout instead of a hardcoded file

MinGW doesn't support _sopen_s

_fstat catches non-existant files

Change-Id: I24e0aacc6f6f26e6bcfc25f9ee7821aa3c8cc7e7

13 years agoImprove SSE2 half-pixel filter funtions
Yunqing Wang [Tue, 8 Mar 2011 21:25:06 +0000 (16:25 -0500)]
Improve SSE2 half-pixel filter funtions

Rewrote these functions to process 16 pixels once instead of 8.

Change-Id: Ic67e80124467a446a3df4cfecfb76a4248602adb

13 years agoMerge "64bit mach-o support"
Johann [Tue, 8 Mar 2011 20:29:32 +0000 (12:29 -0800)]
Merge "64bit mach-o support"

13 years agoMerge "Add zero offset checking in SSE2 sub-pixel filter function"
Yunqing Wang [Tue, 8 Mar 2011 20:26:58 +0000 (12:26 -0800)]
Merge "Add zero offset checking in SSE2 sub-pixel filter function"

13 years agoAdd zero offset checking in SSE2 sub-pixel filter function
Yunqing Wang [Tue, 8 Mar 2011 20:22:07 +0000 (15:22 -0500)]
Add zero offset checking in SSE2 sub-pixel filter function

Skip filter at zero offset.

Change-Id: I95fc7e211869bc0ab5bcfb7ab2e3259d1c0ccf38

13 years agoMerge "Write SSSE3 sub-pixel filter function"
Yunqing Wang [Tue, 8 Mar 2011 18:58:30 +0000 (10:58 -0800)]
Merge "Write SSSE3 sub-pixel filter function"

13 years agoWrite SSSE3 sub-pixel filter function
Yunqing Wang [Fri, 4 Mar 2011 00:02:45 +0000 (19:02 -0500)]
Write SSSE3 sub-pixel filter function

1. Process 16 pixels at one time instead of 8.
2. Add check for both xoffset =0 and yoffset=0, which happens
   during motion search.
This change gave encoder 1%~3% performance gain.

Change-Id: Idaa39506b48f4f8b2fbbeb45aae8226fa32afb3e

13 years ago64bit mach-o support
Johann [Wed, 23 Feb 2011 21:08:10 +0000 (16:08 -0500)]
64bit mach-o support

enable parsing 64bit mach-o files (OS X)

also fixes --enable-debug issue!

Change-Id: I250ee69745cd2365e3e63264f9365cd58fbb6678

13 years ago64bit elf support
Johann [Wed, 23 Feb 2011 22:07:35 +0000 (17:07 -0500)]
64bit elf support

enable parsing 64bit elf files

Change-Id: I7981f4769cf1b822f288fe2e32166254e4394bab

13 years agoFix a multi-line format-string warning.
Ralph Giles [Tue, 8 Mar 2011 15:14:12 +0000 (07:14 -0800)]
Fix a multi-line format-string warning.

GCC 4.5 and 4.6 both issue a warning about the multi-line format
string introduced in bc9c30a0, which also changed the whitespace
in the associated stt file by line-wrapping the long format string.

Instead, use multiple string constants, which the compiler will
concatenate. This maintains the original formatting, but remains
legible within the standard line length.

Change-Id: I27c9f92d46be82d408105a3a4091f145f677e00e

13 years agoCorrected minor typos.
Paul Wilkins [Tue, 8 Mar 2011 14:46:22 +0000 (14:46 +0000)]
Corrected minor typos.

Change-Id: Icc9f12bd1e1bdaf51256dc8a90d08aa9be89ef34

13 years agoMerge changes I00c3e823,If8bca004
Paul Wilkins [Tue, 8 Mar 2011 14:40:11 +0000 (06:40 -0800)]
Merge changes I00c3e823,If8bca004

* changes:
  Improved key frame detection.
  Improved KF insertion after fades to still.

13 years agocorrect zbin boost for splitmv mode
John Koleszar [Tue, 8 Mar 2011 01:58:37 +0000 (20:58 -0500)]
correct zbin boost for splitmv mode

Disable zbin boost in SPLITMV mode as intended. Was incorrectly looking
at vp8_ref_frame_order instead of vp8_mode_order when comparing against
SPLITMV. This condition should have always been false, as SPLITMV is
not in the range of valid reference frames.

Change-Id: I0408cc7595eff68f00efef6d008e79f5b60d14bf

13 years agoMerge "Fix format-string warning"
John Koleszar [Mon, 7 Mar 2011 21:25:28 +0000 (13:25 -0800)]
Merge "Fix format-string warning"

13 years agoFix format-string warning
Ralph Giles [Mon, 7 Mar 2011 21:00:05 +0000 (13:00 -0800)]
Fix format-string warning

Cast size_t to (unsigned long) and print it with the %lu format
string, which is more portable than C99's explict %zu for size_t.

This truncates on Windows x64 but otherwise works on 32 and 64 bit
platforms. In practice the stats file is unlikely to be so large.

Change-Id: I0432b3acf85fc6ba4ad50640942e1ca4614b21cb

13 years agoImproved key frame detection.
Paul Wilkins [Mon, 7 Mar 2011 15:58:07 +0000 (15:58 +0000)]
Improved key frame detection.

In some cases where clips have been encoded with
borders (eg. some wide-screen content where there is a
border top and bottom and slide shows containing portrait
format photographs (border left and right)) key frames were
not being correctly detected.

The new code looks to measure cases where a portion of
the image can be coded equally easily using intra or inter
modes and where the resulting error score is also very low.
These "neutral" areas are then discounted in the key frame
detection code.

Change-Id: I00c3e8230772b8213cdc08020e1990cf83b780d8

13 years agoImproved KF insertion after fades to still.
Paul Wilkins [Mon, 7 Mar 2011 15:11:09 +0000 (15:11 +0000)]
Improved KF insertion after fades to still.

This code extends what was previously done for GFs, to pick
cases where insertion of a key frame after a fade (or other
transition or complex motion)  followed by a still section, will
be beneficial and will reduce the number of forced key frames.

Change-Id: If8bca00457f0d5f83dc3318a587f61c17d90f135

13 years agoUpdate CHANGELOG for v0.9.6 (Bali) release v0.9.6
John Koleszar [Fri, 4 Mar 2011 19:32:24 +0000 (14:32 -0500)]
Update CHANGELOG for v0.9.6 (Bali) release

Change-Id: I7d1e7db1866d829f6d4c6638d1c20e99959cc9a3

13 years agoUpdate AUTHORS
John Koleszar [Fri, 4 Mar 2011 16:12:06 +0000 (11:12 -0500)]
Update AUTHORS

Change-Id: I784ea2b9fabbec1e99d02e97209981ff1b18ac82

13 years agoUpdate .mailmap
John Koleszar [Fri, 4 Mar 2011 16:11:15 +0000 (11:11 -0500)]
Update .mailmap

Add mappings for Tom Finegan, Tero Rintaluoma

Change-Id: I014ad5bb7c8eb8261808d98ec0d4f77a8e7c3f35

13 years agoMerge "examples: use function to get iface pointers"
Johann [Fri, 4 Mar 2011 14:01:46 +0000 (06:01 -0800)]
Merge "examples: use function to get iface pointers"

13 years agoMerge "change CFLAGS for 64 bit icc builds"
Johann [Fri, 4 Mar 2011 13:59:31 +0000 (05:59 -0800)]
Merge "change CFLAGS for 64 bit icc builds"

13 years agocosmetic: clean up comments for new vp8dx controls
John Koleszar [Fri, 4 Mar 2011 13:51:39 +0000 (08:51 -0500)]
cosmetic: clean up comments for new vp8dx controls

Rename the common control id enum vp8_{dec,com}_control_id,
move VP8_DECODER_CTRL_ID_START to common, wrap long lines.

Change-Id: I659abc62f10aa389d496f7f43950775db0ef2f9f

13 years agoMerge "clean up msvs project generation"
John Koleszar [Fri, 4 Mar 2011 13:44:54 +0000 (05:44 -0800)]
Merge "clean up msvs project generation"

13 years agoMerge "Fixing divide by zero"
John Koleszar [Fri, 4 Mar 2011 13:40:33 +0000 (05:40 -0800)]
Merge "Fixing divide by zero"

13 years agoMerge "Fix drastic undershoot in long form content"
John Koleszar [Fri, 4 Mar 2011 13:39:40 +0000 (05:39 -0800)]
Merge "Fix drastic undershoot in long form content"

13 years agoMerge "documentation: minor updates to vp8 (en|de)coder"
John Koleszar [Fri, 4 Mar 2011 13:38:26 +0000 (05:38 -0800)]
Merge "documentation: minor updates to vp8 (en|de)coder"

13 years agoMerge "Fix counter of fixed keyframe distance"
John Koleszar [Fri, 4 Mar 2011 13:28:38 +0000 (05:28 -0800)]
Merge "Fix counter of fixed keyframe distance"

13 years agoConfiguration updates:Making a clear distinction between Init and Change
Mikhal Shemer [Tue, 1 Mar 2011 23:07:47 +0000 (15:07 -0800)]
Configuration updates:Making a clear distinction between Init and Change

Change-Id: I7b2fb326e1aabc08b032177a7b914a5b8bb7376f

13 years agoFixing divide by zero
Mikhal Shemer [Tue, 1 Mar 2011 22:59:22 +0000 (14:59 -0800)]
Fixing divide by zero

Change-Id: I9d8a98a2f7ed1e3116d0bae35164618c41998bac

13 years agoFix drastic undershoot in long form content
John Koleszar [Wed, 2 Mar 2011 22:02:44 +0000 (17:02 -0500)]
Fix drastic undershoot in long form content

When the modified_error_left accumulator exceeds INT_MAX, an incorrect
cast to int resulted in a negative value, causing the rate control to
allocate no bits to that keyframe group, leading to severe undershoot
and subsequent poor quality.

This error was exposed by the recent change to the rolling target and
actual spend accumulators in commit 305be4e4 which fixed them to
actually calculate the average value rather than be re-initialized
on every frame to the average per-frame bitrate. When this bug was
triggered, the target bitrate could be 0, so the rolling target
becomes small, which causes the undershoot. The code prior to 305be4e4
did not exhibit this behavior because the rolling target was always
set to a reasonable value and was independent of the actual target
bitrate. With this patch, the actual target bitrate is calculated
correctly, and the rate control tracks as expected.

This cast was likely added to silence a compiler warning on a comparison
between a double (modified_error_left) and an int (0). Instead, this
patch removes the cast and changes the comparison to be against 0.0,
which should prevent the warning from reoccuring.

This fixes issue #289. Special thanks to gnafu for his efforts in
reporting and debugging this fix.

Change-Id: Ie5cc1a7b516c578a76c3a50c892a6f04a11621fe

13 years agoclean up msvs project generation
Johann [Mon, 28 Feb 2011 19:13:39 +0000 (14:13 -0500)]
clean up msvs project generation

add visual studio 9 to --help

remove cpp, cxx, hpp, hxx files from filter

add the ability to target project names. this will be necessary to
enable obj_int_extract

Change-Id: I407583320d8b67a0df40c07221838c42678792f7

13 years agoMerge "ARMv6 optimized half pixel variance calculations"
Johann [Wed, 2 Mar 2011 13:48:46 +0000 (05:48 -0800)]
Merge "ARMv6 optimized half pixel variance calculations"

13 years agochange CFLAGS for 64 bit icc builds
John Koleszar [Tue, 1 Mar 2011 01:16:14 +0000 (20:16 -0500)]
change CFLAGS for 64 bit icc builds

AMD64 only implies SSE2, not SSE3. There aren't any known cases where
icc was generating SSE3 instructions since all the vectorizable code
is already in handwritten asm, so this fix is included mostly for
correctness. Fixes issue #259.

Change-Id: I993335a4740b68b559035305fb52ca725a6beaff

13 years agoexamples: use function to get iface pointers
John Koleszar [Tue, 1 Mar 2011 01:06:56 +0000 (20:06 -0500)]
examples: use function to get iface pointers

MSVC can't pass the address of global variables in a DLL correctly
across DLL boundaries. This patch allows linking the examples to
a libvpx dll build. Fixes issue #268.

Change-Id: I1c52d076cfc68efb3efdfba019f12d53c5019f58

13 years agoMerge "Add prefetch before variance calculation"
Yunqing Wang [Mon, 28 Feb 2011 19:42:28 +0000 (11:42 -0800)]
Merge "Add prefetch before variance calculation"

13 years agoMerge "Avoid double copying of key frames into alt and golden buffer"
Scott LaVarnway [Mon, 28 Feb 2011 18:16:32 +0000 (10:16 -0800)]
Merge "Avoid double copying of key frames into alt and golden buffer"

13 years agoAdd prefetch before variance calculation
Yunqing Wang [Tue, 22 Feb 2011 23:01:08 +0000 (18:01 -0500)]
Add prefetch before variance calculation

This improved encoding performance by 0.5% (good, speed 1) to
1.5% (good, speed 5).

Change-Id: I843d72a0d68a90b5f694adf770943e4a4618f50e

13 years agoMerge "Remove examples.doxy dep w/--disable-examples"
John Koleszar [Mon, 28 Feb 2011 15:18:41 +0000 (07:18 -0800)]
Merge "Remove examples.doxy dep w/--disable-examples"

13 years agoMerge "Remove a second check for invalid ptr in vp8_get_compressed_data"
Johann [Fri, 25 Feb 2011 19:44:18 +0000 (11:44 -0800)]
Merge "Remove a second check for invalid ptr in vp8_get_compressed_data"

13 years agoFix crash on Sparc Solaris.
Aaron Watry [Fri, 25 Feb 2011 15:11:27 +0000 (10:11 -0500)]
Fix crash on Sparc Solaris.

Sparc on Solaris requires memory copies in reconinter.c to be aligned.

Change-Id: I6c5b75fb80d6fd501ae4b41b533c3109c2f32be2

13 years agoMerge "Remove temporal alt ref from realtime only build"
Johann [Fri, 25 Feb 2011 14:55:17 +0000 (06:55 -0800)]
Merge "Remove temporal alt ref from realtime only build"

13 years agoMerge "Handle mem allocation failure in vp8e_init"
Johann [Fri, 25 Feb 2011 14:55:10 +0000 (06:55 -0800)]
Merge "Handle mem allocation failure in vp8e_init"

13 years agoAvoid double copying of key frames into alt and golden buffer
Attila Nagy [Fri, 25 Feb 2011 06:21:45 +0000 (08:21 +0200)]
Avoid double copying of key frames into alt and golden buffer

Change-Id: I726976a297a593a35ed6cba3c660e372562f7b27

13 years agoRemove a second check for invalid ptr in vp8_get_compressed_data
Attila Nagy [Fri, 25 Feb 2011 06:38:07 +0000 (08:38 +0200)]
Remove a second check for invalid ptr in vp8_get_compressed_data

Check is done first when function si entered.

Change-Id: Ief0d0cbd4860aaf492b78728f8d22f24029b1174

13 years agoRemove examples.doxy dep w/--disable-examples
James Zern [Thu, 24 Feb 2011 23:11:05 +0000 (15:11 -0800)]
Remove examples.doxy dep w/--disable-examples

This allows the base documentation to be built without the need for php
which is required to produce the example documentation

Change-Id: Id1861723c672fa8da132a074a4657e2cb94c1e79

13 years agodocumentation: minor updates to vp8 (en|de)coder
James Zern [Thu, 24 Feb 2011 22:12:57 +0000 (14:12 -0800)]
documentation: minor updates to vp8 (en|de)coder

Group algorithm interfaces to avoid undocumented warning from doxygen
and provide basic documentation for CQ level & cpuused.

Change-Id: I11095061be962cbc998741de9c8c3019d415e137

13 years agoRemoved vp8_block2type
Scott LaVarnway [Wed, 23 Feb 2011 21:37:08 +0000 (16:37 -0500)]
Removed vp8_block2type

and used defines instead.

Change-Id: Idb56e0295d004793f406dfd2d8d8c546aad62e03

13 years agoMerge "Revisited rd_pick_intra4x4block"
Scott LaVarnway [Thu, 24 Feb 2011 19:25:21 +0000 (11:25 -0800)]
Merge "Revisited rd_pick_intra4x4block"

13 years agoRevisited rd_pick_intra4x4block
Scott LaVarnway [Thu, 24 Feb 2011 18:31:47 +0000 (13:31 -0500)]
Revisited rd_pick_intra4x4block

Removed unnecessary copies.  No noticeable speed gains.

Change-Id: I996c50c23fedd06d54ee7a3e762cbf559cc4a9d1

13 years agoOverflow of frame error accumulators.
Paul Wilkins [Thu, 24 Feb 2011 15:49:41 +0000 (15:49 +0000)]
Overflow of frame error accumulators.

This fixes an overflow problem in the frame error accumulators.

The overflow condition is extreme but did trigger when Frank B.
coded some high motion interlaced HD content.

The observed effect was a catastrophic  breakdown of the rate
control leading to massive undershoot and poor bit allocation.

All the error values should really be unsigned but I will look at this
separately.

Change-Id: I9745f5c5ca2783620426b66b568b2088b579151f

13 years agoMerge "documentation: minor cosmetics"
Johann [Thu, 24 Feb 2011 15:01:25 +0000 (07:01 -0800)]
Merge "documentation: minor cosmetics"

13 years agoARMv6 optimized half pixel variance calculations
Tero Rintaluoma [Wed, 23 Feb 2011 11:27:27 +0000 (13:27 +0200)]
ARMv6 optimized half pixel variance calculations

Adds following ARMv6 optimized functions to the encoder:
 - vp8_variance_halfpixvar16x16_h_armv6
 - vp8_variance_halfpixvar16x16_v_armv6
 - vp8_variance_halfpixvar16x16_hv_armv6

Change-Id: I1e9c2af7acd2a51b72b3845beecd990db4bebd29

13 years agoHandle mem allocation failure in vp8e_init
Attila Nagy [Tue, 22 Feb 2011 13:02:05 +0000 (15:02 +0200)]
Handle mem allocation failure in vp8e_init

Change-Id: I0d0445c57eb0889082f83de1948852d57b38fefb

13 years agopurge wince configuration
Johann [Tue, 22 Feb 2011 19:32:04 +0000 (14:32 -0500)]
purge wince configuration

this has been broken since the initial release

Change-Id: If0d4deb2de9f7d0c4c05641e2bbf9cc1bf11e171

13 years agoRemove temporal alt ref from realtime only build
Attila Nagy [Tue, 22 Feb 2011 08:29:23 +0000 (10:29 +0200)]
Remove temporal alt ref from realtime only build

It is not used in realtime mode. Reduces memory footprint.

Change-Id: I7f163225762368df5457cfd413050161d3704a3f

13 years agoRevert "use unaligned load"
Johann [Fri, 18 Feb 2011 15:12:57 +0000 (10:12 -0500)]
Revert "use unaligned load"

This reverts commit f50f2fd2a73f2c5ee3f10ad077e780398df17cd7.

Change Ib7506e3e aligns the buffer

Change-Id: Ie0f8bd3e57cfdfef81d39638a1451458ebbae2e0

13 years agoMerge "clean up unused files"
John Koleszar [Fri, 18 Feb 2011 14:33:05 +0000 (06:33 -0800)]
Merge "clean up unused files"

13 years agoremove unused vp8_predict_dc function
John Koleszar [Thu, 17 Feb 2011 14:57:03 +0000 (09:57 -0500)]
remove unused vp8_predict_dc function

Change-Id: I64fa47889c54cfed094a674c49ef0996d49bdd42

13 years agoclean up unused files
John Koleszar [Thu, 17 Feb 2011 11:59:48 +0000 (06:59 -0500)]
clean up unused files

Removed a number of files that were unused or little-used.

Change-Id: If9ae5e5b11390077581a9a879e8a0defe709f5da

13 years agocosmetic: remove unnecessary scope
John Koleszar [Fri, 18 Feb 2011 13:46:07 +0000 (08:46 -0500)]
cosmetic: remove unnecessary scope

Clean up some unnecessary scoping around pick_filter_level.

Change-Id: Ic57fa33e3fcae37fe6beae977e5743783399d5af

13 years agoMerge "Dont pick encoder filter level when loopfilter is disabled."
John Koleszar [Fri, 18 Feb 2011 13:26:23 +0000 (05:26 -0800)]
Merge "Dont pick encoder filter level when loopfilter is disabled."

13 years agoReinitialize quantizer only when any delta is changing
Attila Nagy [Fri, 18 Feb 2011 08:01:49 +0000 (10:01 +0200)]
Reinitialize quantizer only when any delta is changing

No need to reinitialize for base Q changes.

Change-Id: Ie76ec21dd3c5582d5183dbed75ed73a1eed3e291

13 years agoDont pick encoder filter level when loopfilter is disabled.
Attila Nagy [Wed, 16 Feb 2011 13:44:29 +0000 (15:44 +0200)]
Dont pick encoder filter level when loopfilter is disabled.

Change-Id: I58154faf4f3ece24f9927a5c3ab7e830e0887fb6

13 years agoMerge "Use endian-neutral bitstream packing/unpacking"
John Koleszar [Thu, 17 Feb 2011 20:34:16 +0000 (12:34 -0800)]
Merge "Use endian-neutral bitstream packing/unpacking"

13 years agoUse endian-neutral bitstream packing/unpacking
John Koleszar [Thu, 17 Feb 2011 11:47:39 +0000 (06:47 -0500)]
Use endian-neutral bitstream packing/unpacking

Eliminate unnecessary checks on target endianness and associated
macros.

Change-Id: I1d4e6a9dcee9bfc8940c8196838d31ed31b0e4aa

13 years agoMerge "Removed unused vp8_recon_intra4x4mb function"
John Koleszar [Thu, 17 Feb 2011 19:30:13 +0000 (11:30 -0800)]
Merge "Removed unused vp8_recon_intra4x4mb function"

13 years agoRemoved unused vp8_recon_intra4x4mb function
Scott LaVarnway [Thu, 17 Feb 2011 18:34:38 +0000 (13:34 -0500)]
Removed unused vp8_recon_intra4x4mb function

Change-Id: I4a328ce152d9dbe6b0d1606d1b523e8e7bfb468e

13 years agoMerge "Fix relative include paths"
John Koleszar [Thu, 17 Feb 2011 12:13:44 +0000 (04:13 -0800)]
Merge "Fix relative include paths"

13 years agodocumentation: minor cosmetics
James Zern [Thu, 17 Feb 2011 01:54:49 +0000 (17:54 -0800)]
documentation: minor cosmetics

- correct spelling
- remove explicit file name w/\file (unnecessary when contained in the
  same file and prone to desync)

Change-Id: I68a3960ac5ab84d0f2e5c9b2e29799f26dfccf23

13 years agoMerge "Allocate source buffers to be multiples of 16"
Yunqing Wang [Wed, 16 Feb 2011 19:35:06 +0000 (11:35 -0800)]
Merge "Allocate source buffers to be multiples of 16"

13 years agoAllocate source buffers to be multiples of 16
Yunqing Wang [Wed, 16 Feb 2011 17:00:25 +0000 (12:00 -0500)]
Allocate source buffers to be multiples of 16

Currently, when the video frame width is not multiples of 16, the
source buffer has a stride of non-multiples of 16, which forces
an unaligned load in SAD function and hurts the performance. To
avoid that, this change allocates source buffers to be multiples
of 16.

Change-Id: Ib7506e3eb2cea06657d56be5a899f38dfe3eeb39

13 years agoMerge "ARMv6 optimized sad16x16"
Johann [Wed, 16 Feb 2011 13:22:38 +0000 (05:22 -0800)]
Merge "ARMv6 optimized sad16x16"

13 years agoRemove redundant ptr checks in calls to vpx_free
James Zern [Tue, 15 Feb 2011 20:25:16 +0000 (12:25 -0800)]
Remove redundant ptr checks in calls to vpx_free

vpx_free if used contains this check. If replaced, well behaved free
will behave similarly.

Change-Id: I25483aaa8b39255b9a8cf388d6e5eaa20a908ae1

13 years agoMerge "Improve vp8_sad16x16_sse3 function"
Yunqing Wang [Mon, 14 Feb 2011 22:09:25 +0000 (14:09 -0800)]
Merge "Improve vp8_sad16x16_sse3 function"

13 years agoMerge "Improved vp8_rd_pick_intra_mbuv_mode"
Yaowu Xu [Mon, 14 Feb 2011 21:58:12 +0000 (13:58 -0800)]
Merge "Improved vp8_rd_pick_intra_mbuv_mode"

13 years agoImproved vp8_rd_pick_intra_mbuv_mode
Scott LaVarnway [Mon, 14 Feb 2011 21:34:33 +0000 (16:34 -0500)]
Improved vp8_rd_pick_intra_mbuv_mode

Eliminated unnecessary calculations. Very small change
to performance.

Change-Id: Ib7213d43c64e36955177c4d47950ff472266f822

13 years agoImprove vp8_sad16x16_sse3 function
Yunqing Wang [Mon, 14 Feb 2011 21:23:49 +0000 (16:23 -0500)]
Improve vp8_sad16x16_sse3 function

In real-time mode, vp8_sad16x16 function is called heavily in
motion search part. Improvement of this function gives 1.2%
encoding performance gain (real-time mode, tulip clip).

Change-Id: I23c401fc40c061f732a9767e8d383737a179bd58

13 years agoMerge "mem leak fix for cpi->tplist"
Yaowu Xu [Mon, 14 Feb 2011 19:29:22 +0000 (11:29 -0800)]
Merge "mem leak fix for cpi->tplist"

13 years agomem leak fix for cpi->tplist
James Berry [Mon, 14 Feb 2011 19:02:52 +0000 (14:02 -0500)]
mem leak fix for cpi->tplist

checks added to make sure that cpi->tplist
is freed correctly in vp8_dealloc_compressor_data
and vp8_alloc_compressor_data.

Change-Id: I66149dbbd25c958800ad94f4379d723191d9680d

13 years agoImproved rd_pick_intra4x4block
Scott LaVarnway [Mon, 14 Feb 2011 18:32:58 +0000 (13:32 -0500)]
Improved rd_pick_intra4x4block

Eliminated unnecessary calculations.  Improved performance
by 10% on keyframes and 1.6% overall for the test clip used.

Change-Id: I87671b26af5e2cc439e81d0fee3b15c7cd2a3309

13 years agoMerge "remove assembly detokenizer"
Johann [Mon, 14 Feb 2011 13:10:16 +0000 (05:10 -0800)]
Merge "remove assembly detokenizer"

13 years agoremove assembly detokenizer
Johann [Fri, 11 Feb 2011 16:09:00 +0000 (11:09 -0500)]
remove assembly detokenizer

hasn't been kept up to date. remove it to avoid confusion.

Change-Id: I52ffde19b59fec5c7a381299ca2e85cb38330be7

13 years agoMerge "Add improved_mv_pred flag in real-time mode"
Yunqing Wang [Fri, 11 Feb 2011 15:20:17 +0000 (07:20 -0800)]
Merge "Add improved_mv_pred flag in real-time mode"

13 years agoAdd improved_mv_pred flag in real-time mode
Yunqing Wang [Fri, 11 Feb 2011 14:43:37 +0000 (09:43 -0500)]
Add improved_mv_pred flag in real-time mode

As mentioned in check-in "Improve motion search in real-time mode",
MV prediction calculation causes speed loss for speed 7 and above.
This change added a flag to turn off this calculation for speed>6
in real-time mode.

Change-Id: I9f4ae5a8bf449222d1784b54e7d315fc8347b2d1

13 years agoARMv6 optimized sad16x16
Tero Rintaluoma [Thu, 10 Feb 2011 14:41:22 +0000 (16:41 +0200)]
ARMv6 optimized sad16x16

Adds a new ARMv6 optimized function vp8_sad16x16_armv6 to encoder.

Change-Id: Ibbd7edb8b25cb7a5b522d391b1e9a690fe150e57

13 years agoMerge "Redefining good quality speed settings"
Yaowu Xu [Fri, 11 Feb 2011 05:38:19 +0000 (21:38 -0800)]
Merge "Redefining good quality speed settings"

13 years agoMerge "Improve motion search in real-time mode"
Yunqing Wang [Thu, 10 Feb 2011 20:42:44 +0000 (12:42 -0800)]
Merge "Improve motion search in real-time mode"

13 years agoFix relative include paths
John Koleszar [Thu, 10 Feb 2011 19:41:38 +0000 (14:41 -0500)]
Fix relative include paths

Allow compiling without adding vp8/{common,encoder,decoder} to the
include paths.

Change-Id: Ifeb5dac351cdfadcd659736f5158b315a0030b6c

13 years agoImprove motion search in real-time mode
Yunqing Wang [Tue, 8 Feb 2011 00:16:15 +0000 (19:16 -0500)]
Improve motion search in real-time mode

Applied better MV prediction in real-time mode, which improves
the encoding quality.

Used quarter-pixel search instead of iterative sub-pixel search
for speed >=5 to improve encoding performance.

Tests on the test set showed:
1. For speed=-5, quality improvement: 1.7% on AvgPSNR and 2.1%
on SSIM, performance improvement: 3.6% (This counts in the
performance lose caused by MV prediction calculation in "Improve
MV prediction in vp8_pick_inter_mode() for speed>3").
2. For speed=-8, quality improvement: 2.1% on AvgPSNR and 2.5%
on SSIM. but, 6.9% performance decrease because of MV prediction
calculation. This should be improved later.

Change-Id: I349a96c452bd691081d8c8e3e54419e7f477bebd