]> granicus.if.org Git - libvpx/log
libvpx
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 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 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 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

13 years agoMerge "Adds armv6 optimized variance calculation"
Johann [Thu, 10 Feb 2011 14:06:46 +0000 (06:06 -0800)]
Merge "Adds armv6 optimized variance calculation"

13 years agoRedefining good quality speed settings
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

13 years agofixed stride in vp8_temporal_filter_predictors_mb_c
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

13 years agoMerge "correct cost for implicit bit in mvs"
John Koleszar [Wed, 9 Feb 2011 19:20:12 +0000 (11:20 -0800)]
Merge "correct cost for implicit bit in mvs"

13 years agocorrect 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

13 years agoMerge "Put more code under #if CONFIG_MULTITHREAD."
John Koleszar [Wed, 9 Feb 2011 16:31:36 +0000 (08:31 -0800)]
Merge "Put more code under #if CONFIG_MULTITHREAD."

13 years agoPut 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

13 years agoMerge "Added early breakout for vp8_rd_pick_intra4x4mby_modes"
Scott LaVarnway [Wed, 9 Feb 2011 15:55:04 +0000 (07:55 -0800)]
Merge "Added early breakout for vp8_rd_pick_intra4x4mby_modes"

13 years agoMerge "vp8e_get_preview fixed for resized frames"
John Koleszar [Wed, 9 Feb 2011 15:41:40 +0000 (07:41 -0800)]
Merge "vp8e_get_preview fixed for resized frames"

13 years agoAdds armv6 optimized variance calculation
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

13 years agoclean up bilinear filter
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

13 years agoMerge "build: Change to iOS SDK 4.2"
Fritz Koenig [Tue, 8 Feb 2011 21:59:12 +0000 (13:59 -0800)]
Merge "build: Change to iOS SDK 4.2"

13 years agoAdded early breakout for vp8_rd_pick_intra4x4mby_modes
Scott LaVarnway [Tue, 8 Feb 2011 21:50:43 +0000 (16:50 -0500)]
Added early breakout for vp8_rd_pick_intra4x4mby_modes

Improved performance of good quality, speed 0 (3% average)
with no average quality loss.

Change-Id: Ica34473f99bd74260eaebde6b132185e09e3c09d

13 years agoclarify *_offsets.asm differences
Johann [Fri, 4 Feb 2011 22:44:31 +0000 (17:44 -0500)]
clarify *_offsets.asm differences

it's difficult to mux the *_offsets.c files because of header conflicts.
make three instead, name them consistently and partititon the contents
to allow building them as required.

Change-Id: I8f9768c09279f934f44b6c5b0ec363f7943bb796

13 years agobuild: Change to iOS SDK 4.2
Fritz Koenig [Tue, 8 Feb 2011 19:46:27 +0000 (14:46 -0500)]
build: Change to iOS SDK 4.2

Brings configure/build system inline with current iOS SDK.

Change-Id: If391693a80cab371f75708214f3882424ead9e96

13 years agovp8e_get_preview fixed for resized frames
James Berry [Tue, 8 Feb 2011 19:23:18 +0000 (14:23 -0500)]
vp8e_get_preview fixed for resized frames

preview_img d_w and d_h along with w and h
would not be updated for resized frames.

now uses sd.y_width and sd.y_height

Change-Id: I52241de4cc1de5e73f865e668bd70a7cbd954390

13 years agomove one of the offset files
Johann [Fri, 4 Feb 2011 21:38:40 +0000 (16:38 -0500)]
move one of the offset files

common/arm/vpx_asm_offsets moves up a level. prepare for muxing with
encoder/arm/vpx_vp8_enc_asm_offsets

Change-Id: I89a04a5235447e66571995c9d9b4b6edcb038e24

13 years agoMerge "Translates -g from LDFLAGS as --debug in armlink_adapter.sh"
John Koleszar [Mon, 7 Feb 2011 14:21:56 +0000 (06:21 -0800)]
Merge "Translates -g from LDFLAGS as --debug in armlink_adapter.sh"

13 years agoMerge "remove unused dboolhuff code"
John Koleszar [Mon, 7 Feb 2011 13:36:26 +0000 (05:36 -0800)]
Merge "remove unused dboolhuff code"

13 years agoFix link error in real-time mode
Yunqing Wang [Mon, 7 Feb 2011 13:21:14 +0000 (08:21 -0500)]
Fix link error in real-time mode

make vp8_mv_pred() and vp8_cal_sad() available in real-time mode.

Change-Id: I71dbae241b486ba943458dcbae552ec4a51689d3

13 years agoTranslates -g from LDFLAGS as --debug in armlink_adapter.sh
Attila Nagy [Fri, 4 Feb 2011 08:21:43 +0000 (10:21 +0200)]
Translates -g from LDFLAGS as --debug in armlink_adapter.sh

Change-Id: I23ad88db2149ab788ff39aed8624a7ef0e97da2e

13 years agoremove unused dboolhuff code
Johann [Fri, 4 Feb 2011 21:00:00 +0000 (16:00 -0500)]
remove unused dboolhuff code

we were holding on to this "just in case." purge it instead

Change-Id: I77a367b36d0821d731019f2566ecfffdae1d4b8a

13 years agoMerge "Improve MV prediction in vp8_pick_inter_mode() for speed>3"
Yunqing Wang [Fri, 4 Feb 2011 18:10:15 +0000 (10:10 -0800)]
Merge "Improve MV prediction in vp8_pick_inter_mode() for speed>3"

13 years agocorrect quantizer initialization
John Koleszar [Fri, 4 Feb 2011 16:36:04 +0000 (11:36 -0500)]
correct quantizer initialization

The encoder was not correctly catching transitions in the quantizer
deltas. If a delta_q was set, then the quantizer would be reinitialized
on every frame, but if they transitioned to 0, the quantizer would
not be reinitialized, leading to a encode-decode mismatch.

This bug was triggered by commit 999e155, which sets a Y2 delta Q
for very low base Q levels.

Change-Id: Ia6733464a55ee4ff2edbb82c0873980d345446f5

13 years agoMerge "Remove duplicate loopfilter parameters."
John Koleszar [Fri, 4 Feb 2011 15:07:45 +0000 (07:07 -0800)]
Merge "Remove duplicate loopfilter parameters."

13 years agoRemove duplicate loopfilter parameters.
Gaute Strokkenes [Fri, 4 Feb 2011 02:09:59 +0000 (02:09 +0000)]
Remove duplicate loopfilter parameters.

Change-Id: I0d41415e3961c2c9492d342290c1999f9d02e6d8

13 years agoMerge "Delay auto key frame insertion in realtime configuration"
John Koleszar [Fri, 4 Feb 2011 13:16:15 +0000 (05:16 -0800)]
Merge "Delay auto key frame insertion in realtime configuration"

13 years agoMake vp8_adjust_mb_lf_value return the updated value rather than
Gaute Strokkenes [Thu, 3 Feb 2011 19:03:49 +0000 (19:03 +0000)]
Make vp8_adjust_mb_lf_value return the updated value rather than
manipulating it in situ via a pointer.

Change-Id: If4a87a4eccd84f39577c0e91e171245f4954c5cf

13 years agoMerge "Avoid using an anonymous union."
John Koleszar [Thu, 3 Feb 2011 17:08:50 +0000 (09:08 -0800)]
Merge "Avoid using an anonymous union."

13 years agoMerge "Zero out block mv when an intra mode is selected"
Scott LaVarnway [Thu, 3 Feb 2011 15:16:52 +0000 (07:16 -0800)]
Merge "Zero out block mv when an intra mode is selected"

13 years agoMerge "Improved encoder threading"
Yunqing Wang [Thu, 3 Feb 2011 13:44:57 +0000 (05:44 -0800)]
Merge "Improved encoder threading"

13 years agoAvoid using an anonymous union.
Gaute Strokkenes [Wed, 2 Feb 2011 15:22:51 +0000 (15:22 +0000)]
Avoid using an anonymous union.

Change-Id: I5744269a35e2d696ecf40c1665efd572bfc9b6cb

13 years agoDelay auto key frame insertion in realtime configuration
Attila Nagy [Wed, 2 Feb 2011 11:10:27 +0000 (13:10 +0200)]
Delay auto key frame insertion in realtime configuration

Whe auto keyframe insertion is enabled and conditions are right (scene change)
the encoder can decide to insert a key frame and does a re-encoding. This can
introduce extra latency. In RT mode we do not do the re-encoding of the current
frame but force the next frame to key frame.

Change-Id: I15c175fa845ac4c1a1f18bea3676e154669522a7

13 years agoZero out block mv when an intra mode is selected
Scott LaVarnway [Tue, 1 Feb 2011 17:55:51 +0000 (12:55 -0500)]
Zero out block mv when an intra mode is selected

instead of each time mode is tested.

Change-Id: Ief0f5586dafde54cc14d348dcecdacb182e7c1d5

13 years agoRemoved unnecessary B_MODE_INFO memset.
Scott LaVarnway [Tue, 1 Feb 2011 16:35:08 +0000 (11:35 -0500)]
Removed unnecessary B_MODE_INFO memset.

Change-Id: I2bcef6a8e47f88542861fd1356631ca934e2a0e7

13 years agoMoved rd calculation into vp8_pick_intra4x4mby_modes
Scott LaVarnway [Tue, 1 Feb 2011 16:26:04 +0000 (11:26 -0500)]
Moved rd calculation into vp8_pick_intra4x4mby_modes

Then removed unnecessary code.

Change-Id: I142658815d843c9396b07881dbdd8d387c43c90e

13 years agoRemoved intra_modes from vp8cx_encode_intra_macro_block
Scott LaVarnway [Tue, 1 Feb 2011 15:05:35 +0000 (10:05 -0500)]
Removed intra_modes from vp8cx_encode_intra_macro_block

Restructured function in order to eliminate the prediction
modes save/restore.  Code cleanup also.

Change-Id: I816e3b910de64d0f0f0ddc2398805c63263191e8

13 years agoImproved encoder threading
Attila Nagy [Wed, 26 Jan 2011 08:29:46 +0000 (10:29 +0200)]
Improved encoder threading

Reduce the number of sync points by letting each thread
continue imediatly with a new MB row.
Better multicore scaling, improves performance by 5-20% on ARM multicore.

Change-Id: Ic97e4d1c4886a842c85dd3539a93cb217188ed1b

13 years agoRemoved prediction_error accumulation
Scott LaVarnway [Tue, 1 Feb 2011 00:53:02 +0000 (19:53 -0500)]
Removed prediction_error accumulation

from vp8cx_encode_intra_macro_block.  prediction_error is used when
deciding if a frame should be a keyframe.  After reviewing this with
Yaowu, it was pointed out that vp8cx_encode_intra_macro_block
is only called for keyframes, so the accumulation is unnecessary.

Change-Id: Id79dc81b80d4f5d124f3a0dba1b923887e2e1ec8

13 years agoRemoved last_auto_filter_prediction_error
Scott LaVarnway [Tue, 1 Feb 2011 00:41:09 +0000 (19:41 -0500)]
Removed last_auto_filter_prediction_error

last_auto_filter_prediction_error is not really used.

Change-Id: Ic6e56c4076bbd250ef783ee1be46964c85f62864

13 years agoPossible bug in vp8cx_encode_intra_macro_block
Scott LaVarnway [Mon, 31 Jan 2011 22:43:18 +0000 (17:43 -0500)]
Possible bug in vp8cx_encode_intra_macro_block

vp8_pick_intra4x4mby_modes uses the passed in distortion
for an early breakout.  The best distortion was never saved
and the distortion for TM_PRED was always used.

Change-Id: Idbaf73027408a4bba26601713725191a5d7b325e

13 years agoMerge "Performance improvement of first pass"
Scott LaVarnway [Mon, 31 Jan 2011 21:02:23 +0000 (13:02 -0800)]
Merge "Performance improvement of first pass"

13 years agoMerge "change the threshold of DC check for encode breakout"
Yaowu Xu [Mon, 31 Jan 2011 19:00:46 +0000 (11:00 -0800)]
Merge "change the threshold of DC check for encode breakout"

13 years agoMerge "validate min_q against max_q"
John Koleszar [Mon, 31 Jan 2011 15:33:55 +0000 (07:33 -0800)]
Merge "validate min_q against max_q"

13 years agovalidate min_q against max_q
John Koleszar [Fri, 28 Jan 2011 16:56:18 +0000 (11:56 -0500)]
validate min_q against max_q

min_q is required to be <= max_q.

Change-Id: I28eccf96df3b52a94913762b54c4fbe0d021ce5e

13 years agoMerge "Changed condition for using RD in Intra Mode"
Adrian Grange [Mon, 31 Jan 2011 10:18:40 +0000 (02:18 -0800)]
Merge "Changed condition for using RD in Intra Mode"

13 years agochange the threshold of DC check for encode breakout
Yaowu Xu [Thu, 20 Jan 2011 00:21:01 +0000 (16:21 -0800)]
change the threshold of DC check for encode breakout

Previously, the DC check is to make sure there is no code-able
DC shift for quantizer Q0, which has been verified rather
conservative. This commit changes the criteria to have two
components, DC and AC, to address the conservativeness. First,
it checks if all AC energy is enough to contribute a single
non-zero quantized AC coefficient. Second, for DC, the decision
to skip further considers two possible scenarios: 1. There is
no code-able 2nd order DC coefficient at all; 2 The residue is
relatively flat, but the uniform DC change is very small, i.e.
less than 1/2 gray level per pixel.

Comparing to previous criteria, the new criteria is about 10%
to 15% faster in encoding time with a very small quality loss.
(threshold ~1000 and quality range 33db-45db)

It should be noted that this commit enables "automatic" static
threshold for encodebreakout if a non-zero small value is passed
in to encoder.

Change-Id: I0f77719a1ac2c2dfddbd950d84920df374515ce3

13 years agoMerge "Adds "armvX-none-rvct" targets"
Johann [Fri, 28 Jan 2011 17:03:58 +0000 (09:03 -0800)]
Merge "Adds "armvX-none-rvct" targets"

13 years agoImprove MV prediction in vp8_pick_inter_mode() for speed>3
Yunqing Wang [Fri, 28 Jan 2011 15:00:20 +0000 (10:00 -0500)]
Improve MV prediction in vp8_pick_inter_mode() for speed>3

Applied same method used in vp8_rd_pick_inter_mode() to improve
the accuracy of MV prediction.

Change-Id: Ia50ae26208b18482695601f32febd99fe89fbc17

13 years agoChanged condition for using RD in Intra Mode
Adrian Grange [Fri, 28 Jan 2011 14:47:36 +0000 (14:47 +0000)]
Changed condition for using RD in Intra Mode

The condition for using RD when selecting the intra coding mode
for a MB is that the RD flag is set AND we're not in real-time
mode.

Previously the code used RD if either the RD flag was set OR
we were not using real-time mode.

Change-Id: Ic711151298468a3f99babad39ba8375f66d55a08

13 years agoInconsistent distortion metric in vp8_rd_pick_intra_mbuv_mode
Paul Wilkins [Fri, 28 Jan 2011 13:13:30 +0000 (13:13 +0000)]
Inconsistent distortion metric in vp8_rd_pick_intra_mbuv_mode

This function was using a variance metric compared to and SSE metric in
other places (eg. vp8_rd_inter_uv)

Change-Id: I9109fcc5a13bca9db1d7ead500fe14999ab233eb

13 years agoAdds "armvX-none-rvct" targets
Tero Rintaluoma [Mon, 24 Jan 2011 09:21:40 +0000 (11:21 +0200)]
Adds "armvX-none-rvct" targets

Adds following targets to configure script to support RVCT compilation
without operating system support (for Profiler or bare metal images).
 - armv5te-none-rvct
 - armv6-none-rvct
 - armv7-none-rvct

To strip OS specific parts from the code "os_support"-config was added
to script and CONFIG_OS_SUPPORT flag is used in the code to exclude OS
specific parts such as OS specific includes and function calls for
timers and threads etc. This was done to enable RVCT compilation for
profiling purposes or running the image on bare metal target with
Lauterbach.

Removed separate AREA directives for READONLY data in armv6 and neon
assembly files to fix the RVCT compilation. Otherwise
"ldr <reg>, =label" syntax would have been needed to prevent linker
errors. This syntax is not supported by older gnu assemblers.

Change-Id: I14f4c68529e8c27397502fbc3010a54e505ddb43

13 years agowarning: pointer targets differ in signedness
Johann [Thu, 27 Jan 2011 16:50:29 +0000 (11:50 -0500)]
warning: pointer targets differ in signedness

vp8/encoder/rdopt.c:728: warning: pointer targets in passing argument 3
of 'macro_block_yrd' differ in signedness
vp8/encoder/rdopt.c:541: note: expected 'int *' but argument is of type
'unsigned int *'

distortion is signed when calling macro_block_yrd is both other cases,
as well as for RDCOST

Change-Id: I5e22358b7da76a116f498793253aac8099cb3461

13 years agoclean up implicit declaration warnings for neon
Johann [Thu, 27 Jan 2011 16:31:59 +0000 (11:31 -0500)]
clean up implicit declaration warnings for neon

Change-Id: I6ca2d89f355839c4c770773c09fc69dcea7c1406
warning: implicit declaration of function
  'vp8_variance_halfpixvar16x16_[h|v|hv]_neon'
  'vp8_sub_pixel_variance16x16_neon_func'

13 years agoMerge "Removed unused members from VP8_COMP"
Scott LaVarnway [Thu, 27 Jan 2011 16:12:22 +0000 (08:12 -0800)]
Merge "Removed unused members from VP8_COMP"

13 years agoMerge "Remove copies of same functions"
Yunqing Wang [Thu, 27 Jan 2011 16:11:26 +0000 (08:11 -0800)]
Merge "Remove copies of same functions"

13 years agoMerge "Refine motion vector prediction for NEWMV mode"
Yunqing Wang [Thu, 27 Jan 2011 16:10:53 +0000 (08:10 -0800)]
Merge "Refine motion vector prediction for NEWMV mode"

13 years agoPerformance improvement of first pass
Scott LaVarnway [Wed, 26 Jan 2011 21:42:56 +0000 (16:42 -0500)]
Performance improvement of first pass

Improved the performance of the first pass only
(~6% on 720p test clip) by making use of LUT instead of the
float calculations.  Might try a SIMD version later.
Also started to make use of int_mv instead of
MV.

Change-Id: If2a217c7d6b59cd2c25c5553e0ca7e0502403af8

13 years agoRemove copies of same functions
Yunqing Wang [Wed, 26 Jan 2011 17:03:13 +0000 (12:03 -0500)]
Remove copies of same functions

Reduce the code size.

Change-Id: I2e1998557a3c8776e262c442fd758c25e17aff7a

13 years agoRemoved unused members from VP8_COMP
Scott LaVarnway [Mon, 24 Jan 2011 19:19:14 +0000 (14:19 -0500)]
Removed unused members from VP8_COMP

Change-Id: I8f3f2642b02975fbdb14982984a29821f80d30d3