platform/upstream/libvpx.git
9 years agoMerge "Refactor highbd forward transform use case"
Jingning Han [Mon, 20 Jul 2015 20:18:21 +0000 (20:18 +0000)]
Merge "Refactor highbd forward transform use case"

9 years agoFix uninitialized value warning
hui su [Mon, 20 Jul 2015 18:12:05 +0000 (11:12 -0700)]
Fix uninitialized value warning

Change-Id: Ib919a8ec2ec66d460d2f8a26d72aabc09dcbbd72

9 years agoRefactor highbd forward transform use case
Jingning Han [Mon, 20 Jul 2015 17:26:04 +0000 (10:26 -0700)]
Refactor highbd forward transform use case

Separate the hybrid transform case from 2D-DCT case. This will
allow us to clear up cross dependency between c and SIMD
implementations later.

Change-Id: Iaa499e8b096850a1c5a0c50a3b6e63e15d0184bf

9 years agoMerge "Removed vp9_ prefix from vpx_dsp/bitreader file names"
Yaowu Xu [Mon, 20 Jul 2015 17:12:08 +0000 (17:12 +0000)]
Merge "Removed vp9_ prefix from vpx_dsp/bitreader file names"

9 years agoMerge "Migrate quantization functions from vp9/ to vpx_dsp/"
Yunqing Wang [Mon, 20 Jul 2015 16:20:06 +0000 (16:20 +0000)]
Merge "Migrate quantization functions from vp9/ to vpx_dsp/"

9 years agoRemoved vp9_ prefix from vpx_dsp/bitreader file names
Yaowu Xu [Fri, 17 Jul 2015 21:09:05 +0000 (14:09 -0700)]
Removed vp9_ prefix from vpx_dsp/bitreader file names

Change-Id: I0426126d0a65f13f9250983e44cc366b1b1a9c4a

9 years agoMerge "Move bit reader files to vpx_dsp"
Yaowu Xu [Mon, 20 Jul 2015 14:52:49 +0000 (14:52 +0000)]
Merge "Move bit reader files to vpx_dsp"

9 years agoMerge "Remove dspr2 loop filter files from vp9_common.mk"
Jingning Han [Sat, 18 Jul 2015 01:33:33 +0000 (01:33 +0000)]
Merge "Remove dspr2 loop filter files from vp9_common.mk"

9 years agoMerge "Rename loop filter function from vp9_ to vpx_"
Jingning Han [Sat, 18 Jul 2015 01:33:13 +0000 (01:33 +0000)]
Merge "Rename loop filter function from vp9_ to vpx_"

9 years agoRemove dspr2 loop filter files from vp9_common.mk
Jingning Han [Fri, 17 Jul 2015 23:38:53 +0000 (16:38 -0700)]
Remove dspr2 loop filter files from vp9_common.mk

These files have been moved to vpx_dsp directory. Clean the
vp9_common make file accordingly.

Change-Id: I9b1e820376421c801f705157e60cc7a55487f469

9 years agoMigrate quantization functions from vp9/ to vpx_dsp/
Yunqing Wang [Fri, 17 Jul 2015 19:05:42 +0000 (12:05 -0700)]
Migrate quantization functions from vp9/ to vpx_dsp/

The following quantization functions were moved:
vp9_quantize_b
vp9_quantize_b_32x32
vp9_highbd_quantize_b
vp9_highbd_quantize_b_32x32

vp9_quantize_dc
vp9_quantize_dc_32x32
vp9_highbd_quantize_dc
vp9_highbd_quantize_dc_32x32

The purpose of doing that was to allow these functions to be shared
by multiple codecs.

Change-Id: Id8ab939f283353cdd07bd930d47db3d932a5d87f

9 years agoRename loop filter function from vp9_ to vpx_
Jingning Han [Fri, 17 Jul 2015 19:31:53 +0000 (12:31 -0700)]
Rename loop filter function from vp9_ to vpx_

Change-Id: I6f424bb8daec26bf8482b5d75dd9b0e45c11a665

9 years agoMove bit reader files to vpx_dsp
Yaowu Xu [Fri, 17 Jul 2015 20:38:54 +0000 (13:38 -0700)]
Move bit reader files to vpx_dsp

Change-Id: Ib1cb1fbe92a39ff5312cee069559be6d3ea458d0

9 years agoMerge "Dynamic resize 1 pass mode: fix buffer underflow threshold."
Marco [Fri, 17 Jul 2015 21:31:55 +0000 (21:31 +0000)]
Merge "Dynamic resize 1 pass mode: fix buffer underflow threshold."

9 years agoMigrate mips dspr2 loop filter implementation from vp9 to vpx
Jingning Han [Fri, 17 Jul 2015 18:46:20 +0000 (11:46 -0700)]
Migrate mips dspr2 loop filter implementation from vp9 to vpx

This commit moves the loop filter dspr2 implementation from vp9 to
vpx_dsp directory. It also fixes header file format issues.

Change-Id: I09203ed4bd267d7fd76bb79a6ee84a37646206b2

9 years agoDynamic resize 1 pass mode: fix buffer underflow threshold.
Marco [Fri, 17 Jul 2015 18:21:47 +0000 (11:21 -0700)]
Dynamic resize 1 pass mode: fix buffer underflow threshold.

Remove the use of drop_frames_water_mark, as this is used for
frame dropping control. Use fixed threshold for now on buffer underflow.

Change-Id: If0ddda9f7f6fa96067cdcb0eccb42e17bda37c32

9 years agoResolve dspr2 loop filter dependency complexity
Jingning Han [Fri, 17 Jul 2015 17:37:31 +0000 (10:37 -0700)]
Resolve dspr2 loop filter dependency complexity

Narrow the scope of dependency required by the dspr2 implementation
of loop filters.

Change-Id: Ib8d99dc7d9c231f69dd31d02e0a89e5bd0545a28

9 years agoReplace vp9_common_dspr2.h with common_dspr2.h
Jingning Han [Fri, 17 Jul 2015 16:33:46 +0000 (09:33 -0700)]
Replace vp9_common_dspr2.h with common_dspr2.h

Narrow the scope of dependency in dspr2 loop filter implementation.

Change-Id: I30426d7e4d41575a82286f1d3c5881aeb99a3250

9 years agoCreate common dspr2 header file in vpx_dsp
Jingning Han [Fri, 17 Jul 2015 16:20:10 +0000 (09:20 -0700)]
Create common dspr2 header file in vpx_dsp

Move the common prefetch_load/store in dspr2 to header file in
vpx_dsp/mips.

Change-Id: I8acc22970f2a0ef97d73061e39a3ae65c6955eac

9 years agoMerge "Simplify dependencies in dspr2 related codes"
Jingning Han [Fri, 17 Jul 2015 16:12:51 +0000 (16:12 +0000)]
Merge "Simplify dependencies in dspr2 related codes"

9 years agoMerge "Take out unnecessary header file from highbd_loopfilter_sse2"
Jingning Han [Fri, 17 Jul 2015 16:12:25 +0000 (16:12 +0000)]
Merge "Take out unnecessary header file from highbd_loopfilter_sse2"

9 years agoMerge "Remove vp9_ prefix from static function names in loopfilter_16_msa"
Jingning Han [Fri, 17 Jul 2015 16:12:10 +0000 (16:12 +0000)]
Merge "Remove vp9_ prefix from static function names in loopfilter_16_msa"

9 years agoMerge "Migrate loop filter functions from vp9/ to vpx_dsp/"
Jingning Han [Fri, 17 Jul 2015 16:12:00 +0000 (16:12 +0000)]
Merge "Migrate loop filter functions from vp9/ to vpx_dsp/"

9 years agoSimplify dependencies in dspr2 related codes
Jingning Han [Fri, 17 Jul 2015 01:20:11 +0000 (18:20 -0700)]
Simplify dependencies in dspr2 related codes

The common_dspr2.h should be independent of codec-specific data
structures.

Change-Id: I34ee1f9552c2d2d205fd7f1813cdf312c7ff5d2b

9 years agoTake out unnecessary header file from highbd_loopfilter_sse2
Jingning Han [Fri, 17 Jul 2015 01:13:06 +0000 (18:13 -0700)]
Take out unnecessary header file from highbd_loopfilter_sse2

The dependency on vp9_loopfilter.h is not needed.

Change-Id: Ic0583c43d3d63f19cef06cf9d8e5c8031601be6a

9 years agoRemove vp9_ prefix from static function names in loopfilter_16_msa
Jingning Han [Fri, 17 Jul 2015 01:03:50 +0000 (18:03 -0700)]
Remove vp9_ prefix from static function names in loopfilter_16_msa

Remove the codec-specific global prefix from static function names.

Change-Id: I61b2d5f2b7b5fb9dc8bc357d5493ea44df8ab19d

9 years agoMigrate loop filter functions from vp9/ to vpx_dsp/
Jingning Han [Thu, 16 Jul 2015 02:14:54 +0000 (19:14 -0700)]
Migrate loop filter functions from vp9/ to vpx_dsp/

The various tap loop filter operations are common functions across
codec. This commit moves them along with SIMD optimizations to
vpx_dsp folder.

Change-Id: Ia5fa0b2e5289cdb98467502a549c380b9c60e92c

9 years agoMerge "Dynamic resize for 1 pass: update of golden frame."
Marco [Thu, 16 Jul 2015 19:38:26 +0000 (19:38 +0000)]
Merge "Dynamic resize for 1 pass: update of golden frame."

9 years agoDynamic resize for 1 pass: update of golden frame.
Marco [Thu, 16 Jul 2015 01:00:03 +0000 (18:00 -0700)]
Dynamic resize for 1 pass: update of golden frame.

In aq-mode=3 under a resizing action (i.e., resize_pending != 0),
force an update of the golden reference frame.

Change-Id: I14806f6db71b5f8c827678cc5e1fc913c138a9a4

9 years agoMerge "Add vp9_int_pro_col_neon."
Frank Galligan [Thu, 16 Jul 2015 05:45:15 +0000 (05:45 +0000)]
Merge "Add vp9_int_pro_col_neon."

9 years agoMerge "Add vpx_dsp_common.h file"
Jingning Han [Wed, 15 Jul 2015 22:41:52 +0000 (22:41 +0000)]
Merge "Add vpx_dsp_common.h file"

9 years agoMerge "Remove redundant header files in vp9_loopfilter_filers.c"
Jingning Han [Wed, 15 Jul 2015 22:41:10 +0000 (22:41 +0000)]
Merge "Remove redundant header files in vp9_loopfilter_filers.c"

9 years agoMerge "Fix to resize logic for 1 pass mode."
Marco [Wed, 15 Jul 2015 21:43:05 +0000 (21:43 +0000)]
Merge "Fix to resize logic for 1 pass mode."

9 years agoAdd vpx_dsp_common.h file
Jingning Han [Wed, 15 Jul 2015 20:02:01 +0000 (13:02 -0700)]
Add vpx_dsp_common.h file

Move the clamp functions to vpx_dsp_common.h file. Clear out the
dependency of vp9_loopfilter_filters.c on vp9_common.h file.

Change-Id: I9c4b928bcd7f597106b5aa96354356d3775a3431

9 years agoRemove redundant header files in vp9_loopfilter_filers.c
Jingning Han [Wed, 15 Jul 2015 19:41:31 +0000 (12:41 -0700)]
Remove redundant header files in vp9_loopfilter_filers.c

This cleans out the unnecessary dependency on vp9 codec-specific
data structures.

Change-Id: Iadbe431174a0f9bf9423f39ab854fc18be554bea

9 years agoAdjust some logic for dynamic_resize 1 pass mode.
Marco [Wed, 15 Jul 2015 18:45:52 +0000 (11:45 -0700)]
Adjust some logic for dynamic_resize 1 pass mode.

Use drop_frames_water_mark for threshold on buffer underflow,
and change threshold for resize down.

Change-Id: I2de19adce50abe9bcdc0b107528cec8cc1857fcc

9 years agoAdd vp9_int_pro_col_neon.
Frank Galligan [Wed, 15 Jul 2015 16:04:28 +0000 (09:04 -0700)]
Add vp9_int_pro_col_neon.

BUG=https://code.google.com/p/webm/issues/detail?id=1023

Change-Id: I212a1d67b23ce3b5ce08800de369b25b9e375e7d

9 years agoFix to source scaling for dynamic_resize.
Marco [Tue, 14 Jul 2015 17:01:45 +0000 (10:01 -0700)]
Fix to source scaling for dynamic_resize.

The fast scaling for 1 pass mode was being used only on the
first frame after resizing event (because resize_scale_num/den
is set to 1 and only changed for first frame following resize event).

Change-Id: I723b63e21823eb858f25f5662d2bbe4f1842e61f

9 years agoFix to resize logic for 1 pass mode.
Marco [Tue, 14 Jul 2015 23:22:10 +0000 (16:22 -0700)]
Fix to resize logic for 1 pass mode.

Proper use/update of resize_state and resize_pending to constrain
the total amount of downsizing to be at most one scale down, for now.

Change-Id: Id18fc32499f2fbdbec16728dcdc9e4eac09098f0

9 years agoMerge "Add an SSE2 version of vp9_iwht4x4_16_add"
Alex Converse [Tue, 14 Jul 2015 22:11:46 +0000 (22:11 +0000)]
Merge "Add an SSE2 version of vp9_iwht4x4_16_add"

9 years agoAdd an SSE2 version of vp9_iwht4x4_16_add
Alex Converse [Mon, 13 Jul 2015 18:12:45 +0000 (11:12 -0700)]
Add an SSE2 version of vp9_iwht4x4_16_add

Roughly half as many cycles as plain C.

Change-Id: I8c16c29940b76d54ee7e4fb874c328ce90bff5d4

9 years agoMerge "Add extra resize trigger for frames above maximum allowed size."
paulwilkins [Tue, 14 Jul 2015 18:24:12 +0000 (18:24 +0000)]
Merge "Add extra resize trigger for frames above maximum allowed size."

9 years agoFixes part of merge regression from adding arf parameters.
Debargha Mukherjee [Fri, 10 Jul 2015 16:49:17 +0000 (09:49 -0700)]
Fixes part of merge regression from adding arf parameters.

From Change  Ibf0c30b72074b3f71918ab278ccccc02a95a70a0
There is still an issue relating to one animated test clip with repeat
patterns where this change effectively increase the default  maximum
arf interval by +1. This can be examined seperately.

Change-Id: Idd01d5480fc45202d8a059a0c3afc0997cc5bdd1

9 years agoMerge "Refactor intra block prediction and reconstruction process"
Jingning Han [Tue, 14 Jul 2015 16:22:40 +0000 (16:22 +0000)]
Merge "Refactor intra block prediction and reconstruction process"

9 years agoMerge "Refactor intra block prediction function"
Jingning Han [Tue, 14 Jul 2015 16:22:19 +0000 (16:22 +0000)]
Merge "Refactor intra block prediction function"

9 years agoRefactor intra block prediction and reconstruction process
Jingning Han [Mon, 13 Jul 2015 18:49:57 +0000 (11:49 -0700)]
Refactor intra block prediction and reconstruction process

Flaten the intra block decoding process. It removes the legacy
foreach_transformed_block use in the decoder. This saves cycles
spent on retrieving the transform block position.

Change-Id: I21969afa50bb0a8ca292ef72f3569f33f663ef00

9 years agoRefactor intra block prediction function
Jingning Han [Mon, 13 Jul 2015 17:40:01 +0000 (10:40 -0700)]
Refactor intra block prediction function

This commit simplifies the intra block boundary condition logic.
It removes the block index from the argument set.

Change-Id: If00142512eb88992613d6609356dfd73ba390138

9 years agoMerge "Dynamic resize for real-time: source scaling"
Marco [Mon, 13 Jul 2015 19:06:25 +0000 (19:06 +0000)]
Merge "Dynamic resize for real-time: source scaling"

9 years agoMerge "Revert "Add an SSE2 version of vp9_iwht4x4_16_add.""
Yaowu Xu [Mon, 13 Jul 2015 16:27:09 +0000 (16:27 +0000)]
Merge "Revert "Add an SSE2 version of vp9_iwht4x4_16_add.""

9 years agoRevert "Add an SSE2 version of vp9_iwht4x4_16_add."
Yaowu Xu [Mon, 13 Jul 2015 16:26:27 +0000 (16:26 +0000)]
Revert "Add an SSE2 version of vp9_iwht4x4_16_add."

This reverts commit f8d35016408f3957c67945160d65be467ca97fdc.

Change-Id: If8c7af403c091b7fb447a6f0c73fecdbccbc51b3

9 years agoMerge "Revert "Fill buffer speed up""
Jim Bankoski [Mon, 13 Jul 2015 14:39:00 +0000 (14:39 +0000)]
Merge "Revert "Fill buffer speed up""

9 years agoRevert "Fill buffer speed up"
Jim Bankoski [Mon, 13 Jul 2015 13:47:46 +0000 (13:47 +0000)]
Revert "Fill buffer speed up"

This reverts commit 9b4f9f45eee4d63cef3cd10f24923ed0bdd5ab7b.

Change-Id: I23545ac8c7464127f7466fc6a58de517874fe0cf

9 years agoMerge "mips msa vp8 loop filter optimization"
Parag Salasakar [Mon, 13 Jul 2015 01:16:42 +0000 (01:16 +0000)]
Merge "mips msa vp8 loop filter optimization"

9 years agoDynamic resize for real-time: source scaling
Marco [Thu, 9 Jul 2015 01:01:01 +0000 (18:01 -0700)]
Dynamic resize for real-time: source scaling

Use faster scaling on source.

Change-Id: I968df97239a86834c96126b86832d3d6d0875a53

9 years agoMerge "Fill buffer speed up"
Jim Bankoski [Thu, 9 Jul 2015 20:26:22 +0000 (20:26 +0000)]
Merge "Fill buffer speed up"

9 years agoFill buffer speed up
Jim Bankoski [Thu, 9 Jul 2015 18:41:30 +0000 (11:41 -0700)]
Fill buffer speed up

Eliminates the byte by byte read from bool decoder,  by reading
in a size_t and then shifting it into place.

Change-Id: Id89241977103fc3b973e4ed172a5cbf246998e5d

9 years agoMerge "Changes to use of rectangular partitions."
paulwilkins [Thu, 9 Jul 2015 18:34:39 +0000 (18:34 +0000)]
Merge "Changes to use of rectangular partitions."

9 years agoMerge "Remove clamp operations."
Yaowu Xu [Thu, 9 Jul 2015 17:49:16 +0000 (17:49 +0000)]
Merge "Remove clamp operations."

9 years agoMerge "Clean out more MSVC warnings"
Yaowu Xu [Thu, 9 Jul 2015 17:49:06 +0000 (17:49 +0000)]
Merge "Clean out more MSVC warnings"

9 years agoMerge "Eliminate num_8x8 and num_4x4 width/height lookups"
Scott LaVarnway [Thu, 9 Jul 2015 17:16:21 +0000 (17:16 +0000)]
Merge "Eliminate num_8x8 and num_4x4 width/height lookups"

9 years agoMerge "Add an SSE2 version of vp9_iwht4x4_16_add."
Alex Converse [Thu, 9 Jul 2015 16:57:01 +0000 (16:57 +0000)]
Merge "Add an SSE2 version of vp9_iwht4x4_16_add."

9 years agoMerge "Change speed and rd features for formatting bars."
paulwilkins [Thu, 9 Jul 2015 16:38:37 +0000 (16:38 +0000)]
Merge "Change speed and rd features for formatting bars."

9 years agoEliminate num_8x8 and num_4x4 width/height lookups
Scott LaVarnway [Thu, 9 Jul 2015 12:30:46 +0000 (05:30 -0700)]
Eliminate num_8x8 and num_4x4 width/height lookups

Also some log2 lookups.

Pass in 8x8 block width/height and log2 num4x4s instead.

Change-Id: I8ea9a1ec1e0bbab23f8ba556954a1b5433f4d613

9 years agoRemove clamp operations.
Yaowu Xu [Wed, 8 Jul 2015 01:29:14 +0000 (18:29 -0700)]
Remove clamp operations.

The clamp calls with INT32_MIN and INT32_MAX have no effect at all on
int values passed in, therefore this commit removes those effectless
clamps and also adds more const intermediate results to make the code
more readable.

Change-Id: I66d8811f58bb74ec31cbec9a6c441983a662352e

9 years agoFormat fixes in vp9_encodeframe.c and vp9_encodemb.c
Jingning Han [Wed, 8 Jul 2015 21:26:00 +0000 (14:26 -0700)]
Format fixes in vp9_encodeframe.c and vp9_encodemb.c

Change-Id: Ib1303dac9043ab1b1f8fce54611cf4ea8a208038

9 years agoRefactor transform block loop for inter mode decoding
Jingning Han [Wed, 8 Jul 2015 16:15:39 +0000 (09:15 -0700)]
Refactor transform block loop for inter mode decoding

Rework the inter mode transform block decoding loop. Replace the
block index with the row and col index as the input argument. It
saves function call to compute the row and col index according to
the block index and overall block size, and many if statements
associated with the transform block position relative to the coding
block. For the test bit-stream pedestrian_area 1080p at 5 Mbps,
the decoding speed goes up from 81.13 fps to 81.92 fps.

Note that the intra coded block decoding needs more refactoring
work than the inter ones. So keep it using foreach_transforme_block
as for now.

Change-Id: I5622bdae7be28ed5af96693274057f55ba9b4fb4

9 years agoClean out more MSVC warnings
Yaowu Xu [Tue, 7 Jul 2015 21:22:07 +0000 (14:22 -0700)]
Clean out more MSVC warnings

Change-Id: I1bab0c104df2ec4825d050cd516e26ab635a7b3e

9 years agoAdd an SSE2 version of vp9_iwht4x4_16_add.
Alex Converse [Tue, 7 Jul 2015 22:27:54 +0000 (15:27 -0700)]
Add an SSE2 version of vp9_iwht4x4_16_add.

80% fewer cycles than C

Change-Id: I841bde1e268ddd33ae2ee75eee94737a400e2cde

9 years agoMerge "Don't allocate dqcoeff in MACROBLOCKD."
Alex Converse [Wed, 8 Jul 2015 20:42:34 +0000 (20:42 +0000)]
Merge "Don't allocate dqcoeff in MACROBLOCKD."

9 years agoDon't allocate dqcoeff in MACROBLOCKD.
Alex Converse [Wed, 8 Jul 2015 04:19:21 +0000 (21:19 -0700)]
Don't allocate dqcoeff in MACROBLOCKD.

The encoder gets its dqcoeff from the context tree. In the decoder move
it to directly after MACROBLOCKD.

Change-Id: I46c9b76f26956a360d17de0b26ecb994dae34ecb

9 years agoMerge "Refactor inverse_transform_block argument list"
Jingning Han [Wed, 8 Jul 2015 19:28:24 +0000 (19:28 +0000)]
Merge "Refactor inverse_transform_block argument list"

9 years agoMerge "Reset dqcoeff[0] only if eob is 1"
Jingning Han [Wed, 8 Jul 2015 19:27:21 +0000 (19:27 +0000)]
Merge "Reset dqcoeff[0] only if eob is 1"

9 years agoMerge "VP9_LPF_VERTICAL_16_DUAL_SSE2 optimization"
Frank Galligan [Wed, 8 Jul 2015 18:15:38 +0000 (18:15 +0000)]
Merge "VP9_LPF_VERTICAL_16_DUAL_SSE2 optimization"

9 years agoMerge "Use 'unsigned long' for _BitScanReverse parameter"
Johann [Wed, 8 Jul 2015 17:50:32 +0000 (17:50 +0000)]
Merge "Use 'unsigned long' for _BitScanReverse parameter"

9 years agoAdd extra resize trigger for frames above maximum allowed size.
paulwilkins [Tue, 30 Jun 2015 09:18:42 +0000 (10:18 +0100)]
Add extra resize trigger for frames above maximum allowed size.

Even if the recode loop is not enabled for the current frame type
trap the case where the projected size of a a frame is above the
maximum allowed in recode_loop_test()

Change-Id: I453004694b8f8699e3c2a83252e9f83adccdda4e

9 years agoChanges to use of rectangular partitions.
paulwilkins [Wed, 24 Jun 2015 10:36:51 +0000 (11:36 +0100)]
Changes to use of rectangular partitions.

Changes to allow more use of rectangular partitions at
speeds 1 and 2 for content classed by the first pass as
animation and for blocks near the active image edge.

This has quite a big impact in quality for the animated
test sequence but also hurts encode speed for speed 2.

For other content types the impact on both speed and
quality is small.

Added some plumbing for detection of internal vertical
image edges.

Change-Id: I3fc48de2349f8cb87946caaf0b06dbb0ea261a9a

9 years agoChange speed and rd features for formatting bars.
paulwilkins [Wed, 24 Jun 2015 10:36:51 +0000 (11:36 +0100)]
Change speed and rd features for formatting bars.

Change speed features / behavior for split mode when there
is an internal active edge (e.g. formatting bars).

Remove some threshold constraints in rd code near the active
edge of the image.

Add some plumbing for left and right active edge detection.

Patch set 5. Limit rd pass through for sub 8x8 to internal active edges.
This takes away any speed penalty for most clips but keeps the enhanced
edge coding for the more critical case of internal image edges

Change-Id: If644e4762874de4fe9cbb0a66211953fa74c13a5

9 years agoRefactor inverse_transform_block argument list
Jingning Han [Tue, 7 Jul 2015 22:32:27 +0000 (15:32 -0700)]
Refactor inverse_transform_block argument list

Replace block index with transform type in the argument list. This
allows to save an extra fetch to the prediction mode. For pedestrian
area 1080p coded at 5 Mbps with single tile, the average decoding
speed goes up from 80.55 fps (before the refactoring series) to
81.13 fps.

Change-Id: Icbebf84ce63c19c0c92f3690ed201f6c3eab7881

9 years agomips msa vp8 loop filter optimization
Parag Salasakar [Wed, 8 Jul 2015 07:11:00 +0000 (12:41 +0530)]
mips msa vp8 loop filter optimization

average improvement ~2x-4x

Change-Id: I20c4f900ef95d99b18f9cf4db592cd352c2212eb

9 years agoMerge "vp9_entropymv: remove vp9_get_mv_mag()"
James Zern [Wed, 8 Jul 2015 01:27:11 +0000 (01:27 +0000)]
Merge "vp9_entropymv: remove vp9_get_mv_mag()"

9 years agoUse 'unsigned long' for _BitScanReverse parameter
Johann [Wed, 8 Jul 2015 00:45:06 +0000 (17:45 -0700)]
Use 'unsigned long' for _BitScanReverse parameter

New clang warnings in chromium reveal an incompatible pointer being
passed.

Change-Id: I0d893993726ecf899f467c16175bfb8c76329731
https://code.google.com/p/chromium/issues/detail?id=504696

9 years agoMerge "Add vp9_int_pro_row_neon."
Frank Galligan [Wed, 8 Jul 2015 00:16:02 +0000 (00:16 +0000)]
Merge "Add vp9_int_pro_row_neon."

9 years agoMerge "Move sub pixel variance to vpx_dsp"
Johann [Tue, 7 Jul 2015 23:57:17 +0000 (23:57 +0000)]
Merge "Move sub pixel variance to vpx_dsp"

9 years agoMerge "Rework scan order fetch logic for decoder"
Jingning Han [Tue, 7 Jul 2015 23:09:39 +0000 (23:09 +0000)]
Merge "Rework scan order fetch logic for decoder"

9 years agoMove sub pixel variance to vpx_dsp
Johann [Fri, 5 Jun 2015 16:54:19 +0000 (09:54 -0700)]
Move sub pixel variance to vpx_dsp

Change-Id: I66bf6720c396c89aa2d1fd26d5d52bf5d5e3dff1

9 years agoMerge "Update to speed 5 non-rd mode partition search."
Marco [Tue, 7 Jul 2015 22:47:43 +0000 (22:47 +0000)]
Merge "Update to speed 5 non-rd mode partition search."

9 years agoMerge "Add vp9_ prefix to init_macroblockd"
Jingning Han [Tue, 7 Jul 2015 22:35:44 +0000 (22:35 +0000)]
Merge "Add vp9_ prefix to init_macroblockd"

9 years agoMerge "Reduce dqcoeff array size in decoder"
Jingning Han [Tue, 7 Jul 2015 22:35:26 +0000 (22:35 +0000)]
Merge "Reduce dqcoeff array size in decoder"

9 years agoReset dqcoeff[0] only if eob is 1
Jingning Han [Tue, 7 Jul 2015 22:18:30 +0000 (15:18 -0700)]
Reset dqcoeff[0] only if eob is 1

If only the first dequantized coefficient is non-zero, reset
dqcoeff[0] to zero directly.

Change-Id: I0197ba72028a8ec436f0b1b9abcc1c0ae5d70abe

9 years agoRework scan order fetch logic for decoder
Jingning Han [Tue, 7 Jul 2015 20:52:56 +0000 (13:52 -0700)]
Rework scan order fetch logic for decoder

Save redundant call for getting prediction mode to obtain scan
order for detokenization.

Change-Id: I0683ef119f1579d1261ed5d59052a1745b68ef6f

9 years agoMerge "Update to vpx_temporal_svc_encoder:"
Marco [Tue, 7 Jul 2015 21:34:08 +0000 (21:34 +0000)]
Merge "Update to vpx_temporal_svc_encoder:"

9 years agoMerge "Unify subtract function used in VP8/9"
Jingning Han [Tue, 7 Jul 2015 20:42:18 +0000 (20:42 +0000)]
Merge "Unify subtract function used in VP8/9"

9 years agoMerge "Allows using optimzed version vp9_fdct8x8"
Yaowu Xu [Tue, 7 Jul 2015 19:28:56 +0000 (19:28 +0000)]
Merge "Allows using optimzed version vp9_fdct8x8"

9 years agoMerge "Remove comment about disabled tests"
Johann [Tue, 7 Jul 2015 19:14:32 +0000 (19:14 +0000)]
Merge "Remove comment about disabled tests"

9 years agoAdd vp9_ prefix to init_macroblockd
Jingning Han [Tue, 7 Jul 2015 19:00:01 +0000 (12:00 -0700)]
Add vp9_ prefix to init_macroblockd

Change-Id: I202d4924e627eec94838741df004ed9259d38b88

9 years agoUpdate to speed 5 non-rd mode partition search.
Marco [Tue, 7 Jul 2015 18:43:15 +0000 (11:43 -0700)]
Update to speed 5 non-rd mode partition search.

If the pre-selected partition size (from variance partition) is
32x32, also apply nonrd partition search for 32x32 and 16x16 size.

Overall small positive gain in metrics, average ~1%.
Some visual improvement, for lower resolutions.

Change-Id: I69cb425bda94f7d13d34c451ab30e9276335a30e

9 years agoReduce dqcoeff array size in decoder
Jingning Han [Tue, 7 Jul 2015 18:36:05 +0000 (11:36 -0700)]
Reduce dqcoeff array size in decoder

The decoding process handles detokenization and reconstruction per
transform block sequentially. There is no need to offset the dqcoeff
buffer according to the transform block index. This allows to
reduce the memory spill and improve cache performance.

Change-Id: Ibb8bfe532a7a08fcabaf6d42cbec1e986901d32d

9 years agoMerge "mips msa vp8 idct optimization"
Parag Salasakar [Tue, 7 Jul 2015 18:14:18 +0000 (18:14 +0000)]
Merge "mips msa vp8 idct optimization"

9 years agoUpdate to vpx_temporal_svc_encoder:
Marco [Tue, 7 Jul 2015 18:07:10 +0000 (11:07 -0700)]
Update to vpx_temporal_svc_encoder:

Add set_tune_content control setting.

Change-Id: I8f7af8e8e9bc35a2d1546c5a0b2dd14be3cce750

9 years agoAllows using optimzed version vp9_fdct8x8
Yaowu Xu [Tue, 7 Jul 2015 17:28:42 +0000 (10:28 -0700)]
Allows using optimzed version vp9_fdct8x8

Change-Id: I59cecb7178a93cdee7ad535fa996ef0caa6e988c