John Koleszar [Thu, 3 Mar 2011 13:59:34 +0000 (08:59 -0500)]
Merge remote branch 'internal/upstream' into HEAD
Conflicts:
vp8/vp8_cx_iface.c
Change-Id: Iecfd4532ab1c722d10ecce8a5ec473e96093cf3b
John Koleszar [Thu, 3 Mar 2011 13:58:57 +0000 (08:58 -0500)]
Merge remote branch 'internal/upstream-experimental' into HEAD
Conflicts:
vp8/common/blockd.h
Change-Id: Ica2bd1c3da614eab5ce23acfb597e777d16b3983
Johann [Wed, 2 Mar 2011 13:48:46 +0000 (05:48 -0800)]
Merge "ARMv6 optimized half pixel variance calculations"
Yunqing Wang [Mon, 28 Feb 2011 19:42:28 +0000 (11:42 -0800)]
Merge "Add prefetch before variance calculation"
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"
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
John Koleszar [Mon, 28 Feb 2011 15:18:41 +0000 (07:18 -0800)]
Merge "Remove examples.doxy dep w/--disable-examples"
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"
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
Johann [Fri, 25 Feb 2011 14:55:17 +0000 (06:55 -0800)]
Merge "Remove temporal alt ref from realtime only build"
Johann [Fri, 25 Feb 2011 14:55:10 +0000 (06:55 -0800)]
Merge "Handle mem allocation failure in vp8e_init"
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
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
John Koleszar [Fri, 25 Feb 2011 05:05:08 +0000 (00:05 -0500)]
Merge remote branch 'origin/master' into experimental
Change-Id: I52f21ff6f9a1dca7099a8459657f6f288c5bfe40
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
Scott LaVarnway [Wed, 23 Feb 2011 21:37:08 +0000 (16:37 -0500)]
Removed vp8_block2type
and used defines instead.
Change-Id: Idb56e0295d004793f406dfd2d8d8c546aad62e03
Scott LaVarnway [Thu, 24 Feb 2011 19:25:21 +0000 (11:25 -0800)]
Merge "Revisited 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
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
Johann [Thu, 24 Feb 2011 15:01:25 +0000 (07:01 -0800)]
Merge "documentation: minor cosmetics"
John Koleszar [Thu, 24 Feb 2011 05:05:10 +0000 (00:05 -0500)]
Merge remote branch 'origin/master' into experimental
Change-Id: I6db3ac0d75a7d5077f14c759591b9e514279a548
John Koleszar [Thu, 24 Feb 2011 05:05:08 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream' into HEAD
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
Attila Nagy [Tue, 22 Feb 2011 13:02:05 +0000 (15:02 +0200)]
Handle mem allocation failure in vp8e_init
Change-Id: I0d0445c57eb0889082f83de1948852d57b38fefb
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
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
John Koleszar [Sun, 20 Feb 2011 05:05:06 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Sat, 19 Feb 2011 05:05:44 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream' into HEAD
John Koleszar [Sat, 19 Feb 2011 05:05:44 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Sat, 19 Feb 2011 05:05:10 +0000 (00:05 -0500)]
Merge remote branch 'origin/master' into experimental
Change-Id: Ia3197f432b424213a34b20071e5171a413ba1aaf
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
John Koleszar [Fri, 18 Feb 2011 14:33:05 +0000 (06:33 -0800)]
Merge "clean up unused files"
John Koleszar [Thu, 17 Feb 2011 14:57:03 +0000 (09:57 -0500)]
remove unused vp8_predict_dc function
Change-Id: I64fa47889c54cfed094a674c49ef0996d49bdd42
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
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
John Koleszar [Fri, 18 Feb 2011 13:26:23 +0000 (05:26 -0800)]
Merge "Dont pick encoder filter level when loopfilter is disabled."
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
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
John Koleszar [Fri, 18 Feb 2011 05:05:13 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream' into HEAD
John Koleszar [Fri, 18 Feb 2011 05:05:13 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Fri, 18 Feb 2011 05:05:10 +0000 (00:05 -0500)]
Merge remote branch 'origin/master' into experimental
Change-Id: I8999a33db82d38eb85482f3c423db238d6ee3ed9
John Koleszar [Thu, 17 Feb 2011 20:34:16 +0000 (12:34 -0800)]
Merge "Use 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
John Koleszar [Thu, 17 Feb 2011 19:30:13 +0000 (11:30 -0800)]
Merge "Removed 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
John Koleszar [Thu, 17 Feb 2011 12:13:44 +0000 (04:13 -0800)]
Merge "Fix relative include paths"
John Koleszar [Thu, 17 Feb 2011 05:05:14 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream' into HEAD
John Koleszar [Thu, 17 Feb 2011 05:05:14 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Thu, 17 Feb 2011 05:05:13 +0000 (00:05 -0500)]
Merge remote branch 'origin/master' into experimental
Change-Id: I3efb725e4da4e7c75b2512b80db6af51dec51f79
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
Yunqing Wang [Wed, 16 Feb 2011 19:35:06 +0000 (11:35 -0800)]
Merge "Allocate 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
Johann [Wed, 16 Feb 2011 13:22:38 +0000 (05:22 -0800)]
Merge "ARMv6 optimized sad16x16"
John Koleszar [Wed, 16 Feb 2011 05:05:13 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream' into HEAD
John Koleszar [Wed, 16 Feb 2011 05:05:13 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Wed, 16 Feb 2011 05:05:10 +0000 (00:05 -0500)]
Merge remote branch 'origin/master' into experimental
Change-Id: If846b0e4ec862b54b98d08608f4b5f9a7b7f94ef
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
John Koleszar [Tue, 15 Feb 2011 05:05:39 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream' into HEAD
John Koleszar [Tue, 15 Feb 2011 05:05:18 +0000 (00:05 -0500)]
Merge remote branch 'origin/master' into experimental
Change-Id: I4b1a7a2ad0d62bdcabfed66c9dfdbe9b6bfa8b5e
Yunqing Wang [Mon, 14 Feb 2011 22:09:25 +0000 (14:09 -0800)]
Merge "Improve vp8_sad16x16_sse3 function"
Yaowu Xu [Mon, 14 Feb 2011 21:58:12 +0000 (13:58 -0800)]
Merge "Improved 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
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
Yaowu Xu [Mon, 14 Feb 2011 19:29:22 +0000 (11:29 -0800)]
Merge "mem 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
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
Johann [Mon, 14 Feb 2011 13:10:16 +0000 (05:10 -0800)]
Merge "remove assembly detokenizer"
John Koleszar [Sun, 13 Feb 2011 05:05:14 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Sat, 12 Feb 2011 05:05:14 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream' into HEAD
John Koleszar [Sat, 12 Feb 2011 05:05:14 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Sat, 12 Feb 2011 05:05:10 +0000 (00:05 -0500)]
Merge remote branch 'origin/master' into experimental
Change-Id: I1cd33708d12bd51dfd1e78db4a7500653abc53c9
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
Yunqing Wang [Fri, 11 Feb 2011 15:20:17 +0000 (07:20 -0800)]
Merge "Add 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
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
Yaowu Xu [Fri, 11 Feb 2011 05:38:19 +0000 (21:38 -0800)]
Merge "Redefining good quality speed settings"
John Koleszar [Fri, 11 Feb 2011 05:05:19 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream' into HEAD
John Koleszar [Fri, 11 Feb 2011 05:05:18 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Fri, 11 Feb 2011 05:05:12 +0000 (00:05 -0500)]
Merge remote branch 'origin/master' into experimental
Change-Id: Icf1a7c61a3b07da2ccfd94bca9e8810c01e46b2c
Yunqing Wang [Thu, 10 Feb 2011 20:42:44 +0000 (12:42 -0800)]
Merge "Improve motion search in real-time mode"
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
John Koleszar [Thu, 10 Feb 2011 19:26:40 +0000 (14:26 -0500)]
Merge remote branch 'internal/upstream' into HEAD
Conflicts:
vp8/decoder/onyxd_int.h
Change-Id: Id9aa577f03e37b4f406ba3b593c3c4330812a49e
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
Johann [Thu, 10 Feb 2011 14:06:46 +0000 (06:06 -0800)]
Merge "Adds armv6 optimized variance calculation"
John Koleszar [Thu, 10 Feb 2011 05:05:13 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Thu, 10 Feb 2011 05:05:09 +0000 (00:05 -0500)]
Merge remote branch 'origin/master' into experimental
Change-Id: Ie85d40c44bb23d56a519010356b2856c02fb4c05
Scott LaVarnway [Wed, 9 Feb 2011 22:18:28 +0000 (17:18 -0500)]
Redefining good quality speed settings
Created a new speed 1 which is in the middle of the old
speed 0 and speed 1. (for both quality and performance)
Change-Id: I4802133cdb43f359ca787646c090899679dd5d84
James Berry [Wed, 9 Feb 2011 21:55:39 +0000 (16:55 -0500)]
fixed stride in vp8_temporal_filter_predictors_mb_c
stride would not be calculated correctly for material
with odd sized frame widths.
Change-Id: I1710f6aef9ebb93d36249c9239c68c5baa9791f8
John Koleszar [Wed, 9 Feb 2011 19:20:12 +0000 (11:20 -0800)]
Merge "correct cost for implicit bit in mvs"
John Koleszar [Wed, 9 Feb 2011 17:50:17 +0000 (12:50 -0500)]
correct cost for implicit bit in mvs
Use 0xFFF0 vice 240 (0xF0) for determining whether the sometimes
implicit bit 3 will be transmitted. This is consistent with the decoder
and encode_mvcomponent().
Change-Id: Ic1304d0ab56844bed8236edd1c5243a6767fc6b1
John Koleszar [Wed, 9 Feb 2011 16:31:36 +0000 (08:31 -0800)]
Merge "Put more code under #if CONFIG_MULTITHREAD."
Gaute Strokkenes [Sat, 5 Feb 2011 05:29:25 +0000 (05:29 +0000)]
Put more code under #if CONFIG_MULTITHREAD.
Change-Id: Icf4b692099d7d249fe3553852b1022b027b28e4b
Scott LaVarnway [Wed, 9 Feb 2011 15:55:04 +0000 (07:55 -0800)]
Merge "Added early breakout for vp8_rd_pick_intra4x4mby_modes"
John Koleszar [Wed, 9 Feb 2011 15:41:40 +0000 (07:41 -0800)]
Merge "vp8e_get_preview fixed for resized frames"
Tero Rintaluoma [Wed, 9 Feb 2011 14:34:56 +0000 (09:34 -0500)]
Adds armv6 optimized variance calculation
Adds vp8_sub_pixel_variance16x16_armv6 function to encoder. Integrates
ARMv6 optimized bilinear interpolations from vp8/common/arm/armv6
and adds new assembly file for variance16x16 calculation.
- vp8_filter_block2d_bil_first_pass_armv6 (integrated)
- vp8_filter_block2d_bil_second_pass_armv6 (integrated)
- vp8_variance16x16_armv6 (new)
- bilinearfilter_arm.h (new)
Change-Id: I18a8331ce7d031ceedd6cd415ecacb0c8f3392db
John Koleszar [Wed, 9 Feb 2011 13:34:48 +0000 (08:34 -0500)]
Merge remote branch 'internal/upstream' into HEAD
Conflicts:
vp8/vp8_common.mk
Change-Id: I2094ddf20834c0b7dfe912feac6a79500bb8cce2
John Koleszar [Wed, 9 Feb 2011 05:05:15 +0000 (00:05 -0500)]
Merge remote branch 'internal/upstream-experimental' into HEAD
John Koleszar [Wed, 9 Feb 2011 05:05:12 +0000 (00:05 -0500)]
Merge remote branch 'origin/master' into experimental
Change-Id: Ibc762883a5e117f5db64dc01a46a9c78438e6c33
Johann [Tue, 8 Feb 2011 18:54:22 +0000 (13:54 -0500)]
clean up bilinear filter
make reference version of bilinear_filters short.
use reference versions of bilinear_filters and sub_pel_filters when
possible.
recognize that Width was being passed into
filter_block2d_bil_first_pass multiple times. ARM version had already
fixed this. propegate to C.
change references to src_pixels_per_line to src_pitch and standardize on
src/dst (instead of input/output).
recognize that first_pass is only run in the verticle and second_pass
only horizontal. ARM version had already fixed this. propegate to C
Change-Id: I292d376d239a9a7ca37ec2bf03cc0720606983e2
Fritz Koenig [Tue, 8 Feb 2011 21:59:12 +0000 (13:59 -0800)]
Merge "build: Change to iOS SDK 4.2"