platform/upstream/libvpx.git
10 years agoMerge "Add best_rd breakout in intra4x4 RD loop."
Ronald S. Bultje [Sat, 27 Jul 2013 00:20:51 +0000 (17:20 -0700)]
Merge "Add best_rd breakout in intra4x4 RD loop."

10 years agoMerge "Special handle on DC only inverse 8x8 2D-DCT"
Jingning Han [Fri, 26 Jul 2013 23:04:14 +0000 (16:04 -0700)]
Merge "Special handle on DC only inverse 8x8 2D-DCT"

10 years agoMerge "Making read_inter_mode_info function more clear."
Dmitry Kovalev [Fri, 26 Jul 2013 22:47:40 +0000 (15:47 -0700)]
Merge "Making read_inter_mode_info function more clear."

10 years agoMerge "Fix some format error and code error in neon code."
hkuang [Fri, 26 Jul 2013 22:24:28 +0000 (15:24 -0700)]
Merge "Fix some format error and code error in neon code."

10 years agoSpecial handle on DC only inverse 8x8 2D-DCT
Jingning Han [Fri, 26 Jul 2013 21:11:37 +0000 (14:11 -0700)]
Special handle on DC only inverse 8x8 2D-DCT

This commit enables a special handle for the 8x8 inverse 2D-DCT,
where only DC coefficient is quantized to be non-zero. For bus_cif
at 2000 kbps, it provides about 1% speed-up at speed 0.

Change-Id: I2523222359eec26b144cf8fd4c63a4ad63b1b011

10 years agoFix some format error and code error in neon code.
hkuang [Fri, 26 Jul 2013 21:10:39 +0000 (14:10 -0700)]
Fix some format error and code error in neon code.

Change-Id: I748dee8938dfb19f417f24eed005f3d216f83a82

10 years agoMerge "General cleanups."
Dmitry Kovalev [Fri, 26 Jul 2013 20:59:39 +0000 (13:59 -0700)]
Merge "General cleanups."

10 years agoMerge "Auto min and max partition size experiment."
Yaowu Xu [Fri, 26 Jul 2013 19:10:27 +0000 (12:10 -0700)]
Merge "Auto min and max partition size experiment."

10 years agoAuto min and max partition size experiment.
Paul Wilkins [Wed, 24 Jul 2013 13:07:37 +0000 (14:07 +0100)]
Auto min and max partition size experiment.

Speed feature experiment to set an upper and lower
partition size limit based on what has been seen
in spatial neighbors.

This seems to gives quite reasonable speed gains in local
(10-15%) and when used with speed 0 the losses are small
(0.25% derf, 0.35% stdhd). However, for now I am only
enabling it on speed 1 as there may be clashes with the existing
temporal partition selection in speed 2.

Using a tighter min / max around the range derived from the
neighbors increases speed further but at the cost of a
bigger quality loss. However,  I think this spatial method could
be combined with data from either the last frame or a variance
method (or both) to refine the range of minimum and maximum
partition size. I.e. consider the min and max from spatial and
temporal neighbors and the variance recommendation.

Change-Id: I1b96bf8b84368d6aad0c7aa600fe141b4f07435f

10 years agoModify static threshold calculation
Yunqing Wang [Fri, 26 Jul 2013 02:17:46 +0000 (19:17 -0700)]
Modify static threshold calculation

Used 3 * standard_deviation in internal threshold calculation
instead of fit curve. This actually approached the algorithm
better.
For comparison, similar tests were done:
The overall psnr loss is less than before.
1. derf set:
when static-thresh = 1, psnr loss is 0.329%;
when static-thresh = 500, psnr loss is 0.970%;
2. stdhd set:
when static-thresh = 1, psnr loss is 0.922%;
when static-thresh = 500, psnr loss is 1.307%;

Similar speedup is achieved. For example,
clip            bitrate  static-thresh psnr    time
akiyo(cif)       500        0          48.952  5.077s(50f)
akiyo            500        500        48.866  4.169s(50f)

parkjoy(1080p)   4000       0          30.388  78.20s(30f)
parkjoy          4000       500        30.367  70.85s(30f)

sunflower(1080p) 4000       0          44.402  74.55s(30f)
sunflower        4000       500        44.414  68.69s(30f)

Change-Id: Ic78833642ce1911dbbd1cb6c899a2d7e2dfcc1f3

10 years agoMaking read_inter_mode_info function more clear.
Dmitry Kovalev [Thu, 25 Jul 2013 22:30:18 +0000 (15:30 -0700)]
Making read_inter_mode_info function more clear.

Now read_inter_mode_info calls read_intra_block_part (renamed from
read_intra_block_modes) or read_inter_block_part (just added).

Change-Id: I541badea6b663e0ae692ec158665efb90ed20c03

10 years agoMerge "Add const to vp9_accum_mv_refs parameter"
Johann [Thu, 25 Jul 2013 22:10:52 +0000 (15:10 -0700)]
Merge "Add const to vp9_accum_mv_refs parameter"

10 years agoMerge "Add encoding option --static-thresh"
Yunqing Wang [Thu, 25 Jul 2013 21:58:00 +0000 (14:58 -0700)]
Merge "Add encoding option --static-thresh"

10 years agoAdd encoding option --static-thresh
Yunqing Wang [Thu, 11 Jul 2013 18:15:00 +0000 (11:15 -0700)]
Add encoding option --static-thresh

This option exists in VP8, and it was rewritten in VP9 to support
skipping on different partition levels. After prediction is done,
we can check if the residuals in the partition block will be all
quantized to 0. If this is true, the skip flag is set, and only
prediction data are needed in reconstruction. Based on DCT's energy
conservation property, the skipping check can be estimated in
spatial domain.

The prediction error is calculated and compared to a threshold.
The threshold is determined by the dequant values, and also
adjusted by partition sizes. To be precise, the DC and AC parts
for Y, U, and V planes are checked to decide skipping or not.

Test showed that
1. derf set:
when static-thresh = 1, psnr loss is 0.666%;
when static-thresh = 500, psnr loss is 1.162%;
2. stdhd set:
when static-thresh = 1, psnr loss is 1.249%;
when static-thresh = 500, psnr loss is 1.668%;

For different clips, encoding speedup range is between several
percentage and 20+% when static-thresh <= 500. For example,
clip            bitrate  static-thresh psnr    time
akiyo(cif)       500        0          48.923  5.635s(50f)
akiyo            500        500        48.863  4.402s(50f)

parkjoy(1080p)   4000       0          30.380  77.54s(30f)
parkjoy          4000       500        30.384  69.59s(30f)

sunflower(1080p) 4000       0          44.461  85.2s(30f)
sunflower        4000       500        44.418  78.1s(30f)

Higher static-thresh values give larger speedup with larger
quality loss.

Change-Id: I857031ceb466ff314ab580ac5ec5d18542203c53

10 years agoAdd const to vp9_accum_mv_refs parameter
Johann [Thu, 25 Jul 2013 21:24:49 +0000 (14:24 -0700)]
Add const to vp9_accum_mv_refs parameter

Change-Id: I0625d8ffddf590dfecd1bb8b8d6f57ef64b8bf18

10 years agoGeneral cleanups.
Dmitry Kovalev [Thu, 25 Jul 2013 21:13:44 +0000 (14:13 -0700)]
General cleanups.

Removing unused constants, macros, and function declarations. Using
ROUND_POWER_OF_TWO macro, vp9_zero, vp9_copy where possible. Moving
#include from *.h to *.c. Merging for loops for motion vectors.

Change-Id: Ic3bf841764a2bb177128bb3a6d7aa8f68229cd13

10 years agoMerge "Adding lookup table for size group."
Dmitry Kovalev [Thu, 25 Jul 2013 20:57:28 +0000 (13:57 -0700)]
Merge "Adding lookup table for size group."

10 years agoAdding lookup table for size group.
Dmitry Kovalev [Wed, 24 Jul 2013 00:57:15 +0000 (17:57 -0700)]
Adding lookup table for size group.

Change-Id: Ia6144d77ebed66e0739b62e4d673e26a95aa9550

10 years agoMerge "Simplify handling of sub-partition motion vectors"
Adrian Grange [Thu, 25 Jul 2013 19:58:38 +0000 (12:58 -0700)]
Merge "Simplify handling of sub-partition motion vectors"

10 years agoMerge "Use local variables rather than structure members"
Adrian Grange [Thu, 25 Jul 2013 19:57:52 +0000 (12:57 -0700)]
Merge "Use local variables rather than structure members"

10 years agoMerge "Removing duplicated code for merging two probabilities."
Dmitry Kovalev [Thu, 25 Jul 2013 19:52:26 +0000 (12:52 -0700)]
Merge "Removing duplicated code for merging two probabilities."

10 years agoMerge "Removing vp9_adapt_mode_context function."
Dmitry Kovalev [Thu, 25 Jul 2013 19:46:31 +0000 (12:46 -0700)]
Merge "Removing vp9_adapt_mode_context function."

10 years agoMerge "Make coeff_optimize initialized per-plane"
Jingning Han [Thu, 25 Jul 2013 19:46:14 +0000 (12:46 -0700)]
Merge "Make coeff_optimize initialized per-plane"

10 years agoMerge "Inlining inc_mv_component_count function."
Dmitry Kovalev [Thu, 25 Jul 2013 19:45:23 +0000 (12:45 -0700)]
Merge "Inlining inc_mv_component_count function."

10 years agoMerge "Removing duplicated PREDICTION_PROBS constant."
Dmitry Kovalev [Thu, 25 Jul 2013 19:45:03 +0000 (12:45 -0700)]
Merge "Removing duplicated PREDICTION_PROBS constant."

10 years agoMerge "fix a bug where flags are not reset"
Yaowu Xu [Thu, 25 Jul 2013 19:18:51 +0000 (12:18 -0700)]
Merge "fix a bug where flags are not reset"

10 years agoSimplify handling of sub-partition motion vectors
Adrian Grange [Thu, 25 Jul 2013 18:19:37 +0000 (11:19 -0700)]
Simplify handling of sub-partition motion vectors

Simplified the code that extracts and uses the motion
vectors for the 4 sub-partitions in rd_pick_partition.

Change-Id: Iaf698ef7ee3aef9edd59015e1ae065dd359b17d9

10 years agoMerge "msvs: Generate proper configurations for mixed platforms"
James Zern [Thu, 25 Jul 2013 18:50:05 +0000 (11:50 -0700)]
Merge "msvs: Generate proper configurations for mixed platforms"

10 years agoMake coeff_optimize initialized per-plane
Jingning Han [Tue, 23 Jul 2013 22:53:09 +0000 (15:53 -0700)]
Make coeff_optimize initialized per-plane

This commit makes the initialization of trellis coeff optimization
a per-plane operation, thereby eliminating the redundant steps in
encode_sby and encode_sbuv. It makes the encoder at speed 0 slightly
faster.

Change-Id: Iffe9faca6a109dafc0dd69dc7273cbdec19b17cd

10 years agoRemoving duplicated PREDICTION_PROBS constant.
Dmitry Kovalev [Thu, 25 Jul 2013 18:08:21 +0000 (11:08 -0700)]
Removing duplicated PREDICTION_PROBS constant.

Already defined in vp9_seg_common.h.

Change-Id: I5a0e3fa15966b1ebeb77ccd506b55fc231c22342

10 years agoRemoving vp9_adapt_mode_context function.
Dmitry Kovalev [Wed, 24 Jul 2013 17:31:07 +0000 (10:31 -0700)]
Removing vp9_adapt_mode_context function.

Moving code from vp9_adapt_mode_context to vp9_adapt_mode_probs.

Change-Id: I60829c30b28968cd813551ef3a206dfb98d323c9

10 years agofix a bug where flags are not reset
Yaowu Xu [Thu, 25 Jul 2013 17:28:38 +0000 (10:28 -0700)]
fix a bug where flags are not reset

The feature that uses small partition results as a measure to skip
mode evaluation at larger partition requires the flags to be reset.
The reset was missing in the code path that calls rd_use_partition().

Change-Id: Ia0a3a0aee1a862b6e2333d596808db7c48033d50

10 years agoMerge "SSE2 inverse 4x4 2D-DCT with DC only"
Jingning Han [Thu, 25 Jul 2013 15:49:37 +0000 (08:49 -0700)]
Merge "SSE2 inverse 4x4 2D-DCT with DC only"

10 years agoMerge "pack_inter_mode_mvs cleanup"
Scott LaVarnway [Thu, 25 Jul 2013 11:47:56 +0000 (04:47 -0700)]
Merge "pack_inter_mode_mvs cleanup"

10 years agoSSE2 inverse 4x4 2D-DCT with DC only
Jingning Han [Wed, 24 Jul 2013 22:41:43 +0000 (15:41 -0700)]
SSE2 inverse 4x4 2D-DCT with DC only

Add SSE2 implementation to handle the special case of inverse 2D-DCT
where only DC coefficient is non-zero.

Change-Id: I2c6a59e21e5e77b8cf39a4af5eecf4d5ade32e2f

10 years agoMerge "Merge vp9_dc_only_idct_add and vp9_short_idct4x4_1"
Jingning Han [Thu, 25 Jul 2013 06:18:24 +0000 (23:18 -0700)]
Merge "Merge vp9_dc_only_idct_add and vp9_short_idct4x4_1"

10 years agoRemoving duplicated code for merging two probabilities.
Dmitry Kovalev [Thu, 25 Jul 2013 00:44:04 +0000 (17:44 -0700)]
Removing duplicated code for merging two probabilities.

Adding common merge_probs and merge_probs2 functions. Changing ints to
usigned ints in some places.

Change-Id: Icf088ffdea7cf5b95284a128916409bdd53506b0

10 years agoInlining vp9_init_mode_contexts function.
Dmitry Kovalev [Thu, 25 Jul 2013 00:02:35 +0000 (17:02 -0700)]
Inlining vp9_init_mode_contexts function.

Change-Id: I21ee76bcae101cc9f6ef1d867622e50b7ae565fc

10 years agoMerge vp9_dc_only_idct_add and vp9_short_idct4x4_1
Jingning Han [Wed, 24 Jul 2013 23:33:57 +0000 (16:33 -0700)]
Merge vp9_dc_only_idct_add and vp9_short_idct4x4_1

They share the same functionality, so merging together.

Change-Id: I98a0386fcee052cb854f9ff90c283c1b844bcb79

10 years agoRemoving CONFIG_BALANCED_COEFTREE experiment.
Dmitry Kovalev [Wed, 24 Jul 2013 22:53:42 +0000 (15:53 -0700)]
Removing CONFIG_BALANCED_COEFTREE experiment.

Change-Id: I61a8b0101eac3ee2e0621d56151b90c269fd4db4

10 years agoMerge "Adding condition inside get_tx_type_{4x4, 8x8, 16x16}."
Dmitry Kovalev [Wed, 24 Jul 2013 22:23:22 +0000 (15:23 -0700)]
Merge "Adding condition inside get_tx_type_{4x4, 8x8, 16x16}."

10 years agoInlining inc_mv_component_count function.
Dmitry Kovalev [Wed, 24 Jul 2013 22:03:00 +0000 (15:03 -0700)]
Inlining inc_mv_component_count function.

Change-Id: Ic99d07a56b1752ec49fc5074b1dd6804b17609a0

10 years agomsvs: Generate proper configurations for mixed platforms
Martin Storsjo [Wed, 24 Jul 2013 13:06:49 +0000 (16:06 +0300)]
msvs: Generate proper configurations for mixed platforms

Prior to 73c4e284, the generated .sln files didn't contain any
information about the different configurations when using .vcxproj
project files. The MSVS IDE was able to fill this in just fine when
loaded though.

When building for ARM, the obj_int_extract project still is built
for x86, in order for the build process to be able to use
obj_int_extract.exe.

Now that configuration info is generated, it breaks current ARM
setups, since the configurations generated by gen_msvs_sln.sh only
included configurations from the last parsed project file (as
mentioned in the comment).

In these setups, the MSVS IDE generated a third meta-platform, called
"Mixed Platforms". This meta-platform points to either ARM or
Win32 as platform in each of the individual projects.

When the MSVS IDE generated this automatically, it also included
the original ARM and Win32 platforms as separate choices, but these
can be omitted since they don't make sense.

Change-Id: Ie25226496f91af4bb1ad8eb9ae9ca5bfed0433d7

10 years agoAdding condition inside get_tx_type_{4x4, 8x8, 16x16}.
Dmitry Kovalev [Wed, 24 Jul 2013 19:55:45 +0000 (12:55 -0700)]
Adding condition inside get_tx_type_{4x4, 8x8, 16x16}.

Adding plane type check condition because it was always used outside of
get_tx_type_{4x4, 8x8, 16x16}.

Change-Id: I02f0bbfee8063474865bd903eb25b54d26e07230

10 years agoMerge "vp9_find_mv_refs_idx: remove unused split_count"
James Zern [Wed, 24 Jul 2013 19:49:15 +0000 (12:49 -0700)]
Merge "vp9_find_mv_refs_idx: remove unused split_count"

10 years agovp9_find_mv_refs_idx: remove unused split_count
James Zern [Tue, 23 Jul 2013 18:37:01 +0000 (11:37 -0700)]
vp9_find_mv_refs_idx: remove unused split_count

variable was write only

Change-Id: I04b002178f66961836ee08fb60a05b91b54e91d8

10 years agoUse local variables rather than structure members
Adrian Grange [Wed, 24 Jul 2013 16:59:36 +0000 (09:59 -0700)]
Use local variables rather than structure members

Although local copies of the mode member variables
(mode, ref_frame) were made, they were not used in
all places. Also, made a local copy of the
second_ref_frame member.

Change-Id: I84d8c822e5cb3d8a02fc3de8a4037ca3fea8bfad

10 years agoMerge "Correct spelling mistakes"
Adrian Grange [Wed, 24 Jul 2013 16:48:57 +0000 (09:48 -0700)]
Merge "Correct spelling mistakes"

10 years agoAdd best_rd breakout in intra4x4 RD loop.
Ronald S. Bultje [Fri, 19 Jul 2013 16:17:00 +0000 (09:17 -0700)]
Add best_rd breakout in intra4x4 RD loop.

Encoding time of first 50 frames of bus (speed 0) @ 1500kbps goes from
1min5.4 to 1min4.0, i.e. 2.2% faster overall.

Change-Id: I8c32f2aff9a649ce7dd49d910dc5ba16b99c3bc6

10 years agoCorrect spelling mistakes
Adrian Grange [Wed, 24 Jul 2013 14:58:26 +0000 (07:58 -0700)]
Correct spelling mistakes

Change-Id: Id4138293efeac4503b2e01ce7a6c150a5abeef77

10 years agoMerge "More optimizations for cost_coeffs()."
Ronald S. Bultje [Wed, 24 Jul 2013 04:36:12 +0000 (21:36 -0700)]
Merge "More optimizations for cost_coeffs()."

10 years agoMerge "Unify the use of encode_b_args/optimize_block_args"
Jingning Han [Wed, 24 Jul 2013 01:08:50 +0000 (18:08 -0700)]
Merge "Unify the use of encode_b_args/optimize_block_args"

10 years agoMoving counts from FRAME_CONTEXT to new struct FRAME_COUNTS.
Dmitry Kovalev [Wed, 24 Jul 2013 00:02:08 +0000 (17:02 -0700)]
Moving counts from FRAME_CONTEXT to new struct FRAME_COUNTS.

Counts are separate from frame context. We have several frame contexts but
need only one copy of all counts.

Change-Id: I5279b0321cb450bbea7049adaa9275306a7cef7d

10 years agoUnify the use of encode_b_args/optimize_block_args
Jingning Han [Tue, 23 Jul 2013 22:59:58 +0000 (15:59 -0700)]
Unify the use of encode_b_args/optimize_block_args

The struct optimize_block_args is defined same as encode_b_args.
Remove this redundant definition, and use encode_b_args consistently.

Change-Id: I1703aeeb3bacf92e98a34f4355202712110173d9

10 years agoRemoving LOW_PRECISION_MV_UPDATE define.
Dmitry Kovalev [Tue, 23 Jul 2013 22:41:45 +0000 (15:41 -0700)]
Removing LOW_PRECISION_MV_UPDATE define.

Change-Id: I78d16ee758e1fae0200b746f00031f6d9c6d6ce7

10 years agoMerge "Removing vp9_is_interpolating_filter array."
Dmitry Kovalev [Tue, 23 Jul 2013 22:01:19 +0000 (15:01 -0700)]
Merge "Removing vp9_is_interpolating_filter array."

10 years agoMerge "Rolled-up several for loops into one"
Adrian Grange [Tue, 23 Jul 2013 22:00:06 +0000 (15:00 -0700)]
Merge "Rolled-up several for loops into one"

10 years agoRolled-up several for loops into one
Adrian Grange [Tue, 23 Jul 2013 19:54:04 +0000 (12:54 -0700)]
Rolled-up several for loops into one

Several consecutive for loops executed over the same
index range, so I rolled them into one.

Change-Id: I5cfcc8c38c738478965768409cca9d09adf224e1

10 years agoRemoving vp9_is_interpolating_filter array.
Dmitry Kovalev [Tue, 23 Jul 2013 21:24:39 +0000 (14:24 -0700)]
Removing vp9_is_interpolating_filter array.

All filters are interpolating now, so we don't need this array, all
values from this array are evaluated to true.

Change-Id: I9af6d8219ae0eb984063cd15e4e2296374ae4961

10 years agoMerge "Adding update_tx_counts function."
Dmitry Kovalev [Tue, 23 Jul 2013 20:57:59 +0000 (13:57 -0700)]
Merge "Adding update_tx_counts function."

10 years agoMerge "Removing MODE_COUNT_TESTING from vp9_entropymode.c."
Dmitry Kovalev [Tue, 23 Jul 2013 20:57:05 +0000 (13:57 -0700)]
Merge "Removing MODE_COUNT_TESTING from vp9_entropymode.c."

10 years agoMerge "Make xform_quant operations tx_type independent"
Jingning Han [Tue, 23 Jul 2013 20:40:27 +0000 (13:40 -0700)]
Merge "Make xform_quant operations tx_type independent"

10 years agoMerge "Cleanup inside vp9_get_pred_context_tx_size."
Dmitry Kovalev [Tue, 23 Jul 2013 19:45:49 +0000 (12:45 -0700)]
Merge "Cleanup inside vp9_get_pred_context_tx_size."

10 years agoRemoving MODE_COUNT_TESTING from vp9_entropymode.c.
Dmitry Kovalev [Tue, 23 Jul 2013 19:37:41 +0000 (12:37 -0700)]
Removing MODE_COUNT_TESTING from vp9_entropymode.c.

Change-Id: I5367bc1d9e660d86879d285a6f146d8a47e62464

10 years agoMake xform_quant operations tx_type independent
Jingning Han [Tue, 23 Jul 2013 19:21:48 +0000 (12:21 -0700)]
Make xform_quant operations tx_type independent

The xform_quant() module is only used by inter modes, hence removing
the redundant switches therein conditioned on tx_type.

Change-Id: Ib87ce5b2f2e4cbf3ceb133a1108afa173c933a3f

10 years agoMerge "vp9: make some static tables const"
James Zern [Tue, 23 Jul 2013 18:37:01 +0000 (11:37 -0700)]
Merge "vp9: make some static tables const"

10 years agoMerge "Skip inverse transform when eob is zero"
Jingning Han [Tue, 23 Jul 2013 17:31:19 +0000 (10:31 -0700)]
Merge "Skip inverse transform when eob is zero"

10 years agoMerge "VP9_COMMON: remove unused temp_scale_frame"
James Zern [Tue, 23 Jul 2013 17:30:55 +0000 (10:30 -0700)]
Merge "VP9_COMMON: remove unused temp_scale_frame"

10 years agoMerge "Diamond search change to accelerate movement"
Deb Mukherjee [Tue, 23 Jul 2013 17:14:10 +0000 (10:14 -0700)]
Merge "Diamond search change to accelerate movement"

10 years agoSkip inverse transform when eob is zero
Jingning Han [Tue, 23 Jul 2013 17:02:43 +0000 (10:02 -0700)]
Skip inverse transform when eob is zero

When all the transform coefficients were quantized to zero, skip
the inverse transform operation. For bus_cif at 1000 kbps, the
runtime goes from 154967ms -> 149842ms, i.e., about 3% speed-up,
at speed 0.

Change-Id: Ic0a813fff5e28972d4888ee42d8747846a6c3cc6

10 years agoMerge "Renaming of segment constants."
Paul Wilkins [Tue, 23 Jul 2013 15:16:12 +0000 (08:16 -0700)]
Merge "Renaming of segment constants."

10 years agopack_inter_mode_mvs cleanup
Scott LaVarnway [Tue, 23 Jul 2013 14:08:28 +0000 (10:08 -0400)]
pack_inter_mode_mvs cleanup

xd->mode_info_context is set to m prior to this call.

Change-Id: Ibc442529961750c29ccf0c6cae08cb2b0431415f

10 years agoMerge "clean up bw, bh"
Jim Bankoski [Tue, 23 Jul 2013 13:58:28 +0000 (06:58 -0700)]
Merge "clean up bw, bh"

10 years agoclean up bw, bh
Jim Bankoski [Tue, 23 Jul 2013 13:51:44 +0000 (06:51 -0700)]
clean up bw, bh

many structures use bw and bh and they have different meanings.   This cl attempts
to start this clean up and remove unneccessary 2 step look up log and then
shift operations...

also removed partition type multiple operation code in bitstream.c.

Change-Id: I7e03e552bdfc0939738e430862e3073d30fdd5db

10 years agoMerge "Eliminated prev_mip memsets/memcpys in encoder"
Scott LaVarnway [Tue, 23 Jul 2013 13:43:52 +0000 (06:43 -0700)]
Merge "Eliminated prev_mip memsets/memcpys in encoder"

10 years agoMerge "Reworked the auto_mv_step_size speed feature"
Paul Wilkins [Tue, 23 Jul 2013 11:49:55 +0000 (04:49 -0700)]
Merge "Reworked the auto_mv_step_size speed feature"

10 years agoRenaming of segment constants.
Paul Wilkins [Tue, 23 Jul 2013 11:09:04 +0000 (12:09 +0100)]
Renaming of segment constants.

Renamed:
  MAX_MB_SEGMENTS to MAX_SEGMENTS
  MB_SEG_TREE_PROBS to SEG_TREE_PROBS

The minimum unit for segmentation in the segment map
is now 8x8 so it is misleading to use MB_ as macro-block
traditionally refers to a 16x16 region.

Change-Id: I0b55a6f0426bb46dd13435fcfa5bae0a30a7fa22

10 years agovp9: make some static tables const
James Zern [Tue, 23 Jul 2013 02:16:54 +0000 (19:16 -0700)]
vp9: make some static tables const

Change-Id: I8bcae51271673da8755c66a51aea005dfe6a3739

10 years agoMerge "Speedup loopfilter neon code."
Frank Galligan [Tue, 23 Jul 2013 00:39:42 +0000 (17:39 -0700)]
Merge "Speedup loopfilter neon code."

10 years agoCleanup inside vp9_get_pred_context_tx_size.
Dmitry Kovalev [Tue, 23 Jul 2013 00:18:11 +0000 (17:18 -0700)]
Cleanup inside vp9_get_pred_context_tx_size.

Using max_txsize_lookup to get max transform size.

Change-Id: If4b39beba3c06a581effd8cab698ea90727dc2c9

10 years agoMerge "VP9_COMMON: drop cur_tile_{row,col}_idx"
James Zern [Tue, 23 Jul 2013 00:12:39 +0000 (17:12 -0700)]
Merge "VP9_COMMON: drop cur_tile_{row,col}_idx"

10 years agoSpeedup loopfilter neon code.
Frank Galligan [Fri, 19 Jul 2013 00:58:05 +0000 (17:58 -0700)]
Speedup loopfilter neon code.

Try and cut down the cycle count by rearranging the instructions
so there are less stalls.

Change-Id: Ic1383335ee0f05e656477d9ee9c179ec231285d5

10 years agoMerge "vp9: apply loopfilter inline if possible"
James Zern [Mon, 22 Jul 2013 23:32:20 +0000 (16:32 -0700)]
Merge "vp9: apply loopfilter inline if possible"

10 years agoMore optimizations for cost_coeffs().
Ronald S. Bultje [Mon, 22 Jul 2013 23:09:09 +0000 (16:09 -0700)]
More optimizations for cost_coeffs().

4x4:    163 ->  123 cycles (33% faster)
8x8:    491 ->  399 cycles (23% faster)
16x16: 1889 -> 1763 cycles (7% faster)
32x32: 8311 -> 8180 cycles (1.6% faster)

Overall encoding time of first 50 frames of bus (speed 0) @ 1500kbps
goes from 1min4.33 to 1min3.00, i.e. 2.11% faster.

Change-Id: Ib52d1dbb5649b14de769d3e7a74af67440b5284f

10 years agovp9: apply loopfilter inline if possible
James Zern [Fri, 19 Jul 2013 21:40:34 +0000 (14:40 -0700)]
vp9: apply loopfilter inline if possible

excludes tiled content currently

Change-Id: I44155253e8d6771e5e039d663be5f21cc9d0355d

10 years agolibyuv: fix SSSE3 code in scale.c
Yunqing Wang [Mon, 22 Jul 2013 22:42:23 +0000 (15:42 -0700)]
libyuv: fix SSSE3 code in scale.c

This patch was provided by Frank.

Change-Id: Icebcbd96016a51a85dbe5e8a351ab7624ace962b

10 years agoAdding update_tx_counts function.
Dmitry Kovalev [Mon, 22 Jul 2013 21:57:43 +0000 (14:57 -0700)]
Adding update_tx_counts function.

Moving common encoder/decoder code to update_tx_counts. Also renaming
vp9_get_pred_probs_tx_size to get_tx_probs2 and adding get_tx_probs to
call vp9_get_pred_context_tx_size inside read_selected_tx_size only once
(twice before).

Change-Id: Ia50247f3893de88ef8e9041b0d44be44a40aaa4d

10 years agoMerge "filter_block_plane: remove MACROBLOCKD param"
James Zern [Mon, 22 Jul 2013 20:43:34 +0000 (13:43 -0700)]
Merge "filter_block_plane: remove MACROBLOCKD param"

10 years agoVP9_COMMON: remove unused temp_scale_frame
James Zern [Mon, 22 Jul 2013 20:42:11 +0000 (13:42 -0700)]
VP9_COMMON: remove unused temp_scale_frame

Change-Id: I696a0dca1d02d365e283029d1d077710bd5680e0

10 years agoMerge "Using update_ct and update_ct2 functions for probability update."
Dmitry Kovalev [Mon, 22 Jul 2013 20:34:30 +0000 (13:34 -0700)]
Merge "Using update_ct and update_ct2 functions for probability update."

10 years agoVP9_COMMON: drop cur_tile_{row,col}_idx
James Zern [Mon, 22 Jul 2013 20:23:33 +0000 (13:23 -0700)]
VP9_COMMON: drop cur_tile_{row,col}_idx

these were only being written in one location and never read.

Change-Id: If59f3c09aa1485cf89bac0099a8a79e99688b5d1

11 years agoMerge "fix a build error"
Yaowu Xu [Mon, 22 Jul 2013 20:02:15 +0000 (13:02 -0700)]
Merge "fix a build error"

11 years agoMerge "configure: default configure log to config.log"
James Zern [Mon, 22 Jul 2013 19:55:29 +0000 (12:55 -0700)]
Merge "configure: default configure log to config.log"

11 years agoMerge "VP[89]_COMMON: remove golden/altref frame counts"
James Zern [Mon, 22 Jul 2013 19:55:07 +0000 (12:55 -0700)]
Merge "VP[89]_COMMON: remove golden/altref frame counts"

11 years agofix a build error
Yaowu Xu [Mon, 22 Jul 2013 19:37:30 +0000 (12:37 -0700)]
fix a build error

Change-Id: I3b05687f439ff6a7c426d2c97a6c58c831fa51ac

11 years agoMerge "Skip buffer update in sub8x8 rd loop"
Jingning Han [Mon, 22 Jul 2013 19:08:22 +0000 (12:08 -0700)]
Merge "Skip buffer update in sub8x8 rd loop"

11 years agoMerge "Optimize operation flow in sub8x8 rd loop"
Jingning Han [Mon, 22 Jul 2013 19:08:15 +0000 (12:08 -0700)]
Merge "Optimize operation flow in sub8x8 rd loop"

11 years agoUsing update_ct and update_ct2 functions for probability update.
Dmitry Kovalev [Mon, 22 Jul 2013 19:06:43 +0000 (12:06 -0700)]
Using update_ct and update_ct2 functions for probability update.

Update logic for both mode and mvref was the same, so using MODE_COUNT_SAT,
MODE_MAX_UPDATE_FACTOR, update_ct, update_ct2 for both cases. Removing
function update_tx_ct because it was identical to update_mode_ct2.

Change-Id: Iff566be27dbd6cde4c2ec04e8d988f207046b8f0

11 years agoMerge "tests: silence a few type related warnings"
James Zern [Mon, 22 Jul 2013 18:50:22 +0000 (11:50 -0700)]
Merge "tests: silence a few type related warnings"

11 years agoMerge "cosmetics: idct_test.cc: fix formatting"
James Zern [Mon, 22 Jul 2013 18:49:23 +0000 (11:49 -0700)]
Merge "cosmetics: idct_test.cc: fix formatting"