platform/upstream/libvpx.git
10 years agoUsing local variable for token_cache.
Dmitry Kovalev [Mon, 2 Dec 2013 23:44:26 +0000 (15:44 -0800)]
Using local variable for token_cache.

The difference with the old code is that originally the whole token_cache
was initialized with zeros at the beginning of decode_coefs() function.
Now we set several zero values explicitly with "token_cache[scan[c]] = 0".

Change-Id: I88cc5031f01d13012d1a4491739c36cb44f9401e

10 years agoMerge "Cleaning up decode_coefs() function."
Dmitry Kovalev [Mon, 2 Dec 2013 23:31:10 +0000 (15:31 -0800)]
Merge "Cleaning up decode_coefs() function."

10 years agoMerge "improve vp9_idct32x32_34(x1.472)&1024(x1.032)_add_sse2"
Yunqing Wang [Mon, 2 Dec 2013 23:10:05 +0000 (15:10 -0800)]
Merge "improve vp9_idct32x32_34(x1.472)&1024(x1.032)_add_sse2"

10 years agoMerge "Disable partitioning in the dominant subsampling direction."
Alex Converse [Mon, 2 Dec 2013 23:08:22 +0000 (15:08 -0800)]
Merge "Disable partitioning in the dominant subsampling direction."

10 years agoCleaning up decode_coefs() function.
Dmitry Kovalev [Mon, 2 Dec 2013 22:36:06 +0000 (14:36 -0800)]
Cleaning up decode_coefs() function.

Removing goto and using while loop instead, renaming seg_eob to max_eob,
moving eob token counter increment.

Change-Id: Idcc4b3a45e4f313596a71776aef56691a6647e5f

10 years agoDisable partitioning in the dominant subsampling direction.
Alex Converse [Mon, 2 Dec 2013 20:54:21 +0000 (12:54 -0800)]
Disable partitioning in the dominant subsampling direction.

E.g. disable vertical partioning for 4:2:2. Until we come up with something
better to do with the chroma block size, this prevents an assert error.

Change-Id: I9394fb3f14ec1343abc3ad4769de208e6278f285

10 years agoMerge "Simplify mask checking in loop filters"
Yunqing Wang [Mon, 2 Dec 2013 20:06:26 +0000 (12:06 -0800)]
Merge "Simplify mask checking in loop filters"

10 years agoMerge branch 'forest'
Johann [Mon, 2 Dec 2013 19:13:36 +0000 (11:13 -0800)]
Merge branch 'forest'

Bookkeeping. master already contains everything
in forest.

Change-Id: I1471064eef341411c6ed0c9e855fce18cff12ebc

10 years agoFix bug in extend_frame chroma extended too far v1.3.0
Adrian Grange [Fri, 22 Nov 2013 01:19:04 +0000 (17:19 -0800)]
Fix bug in extend_frame chroma extended too far

This fixes issue 667.

In the case where the frame was an odd number of pixels
wide or high, the border was being extended by one col
or row too far.

The calculation of color plane dimensions was modified
to use those already computed at the time the frame
buffer was allocated.

Also freed the temporary scaling buffer in vpxdec to
prevent a memory leak.

Change-Id: I195bc81d84c0fc5d8260c1232200d62399e4b51f

10 years agoMerge "Moving token-encoding related stuff from common to encoder."
Dmitry Kovalev [Mon, 2 Dec 2013 18:32:04 +0000 (10:32 -0800)]
Merge "Moving token-encoding related stuff from common to encoder."

10 years agoMerge "Moving reaster_block_offset{,_int16} from vp9_blockd.h to vp9_rdopt.h."
Dmitry Kovalev [Mon, 2 Dec 2013 18:31:31 +0000 (10:31 -0800)]
Merge "Moving reaster_block_offset{,_int16} from vp9_blockd.h to vp9_rdopt.h."

10 years agoMerge "Simplify super_block_yrd()"
Yaowu Xu [Mon, 2 Dec 2013 17:39:42 +0000 (09:39 -0800)]
Merge "Simplify super_block_yrd()"

10 years agoMerge "Merge tx selection into RD calculation"
Yaowu Xu [Mon, 2 Dec 2013 17:39:10 +0000 (09:39 -0800)]
Merge "Merge tx selection into RD calculation"

10 years agoFixing inadvertent change
Deb Mukherjee [Wed, 27 Nov 2013 22:50:34 +0000 (14:50 -0800)]
Fixing inadvertent change

Fixes an inadvertant change made in a previous patch while doing
some experiments.

Change-Id: I9961f2157c803676491a3d6daf056ff8a37367b3

10 years agoSimplify mask checking in loop filters
Yunqing Wang [Wed, 27 Nov 2013 22:10:57 +0000 (14:10 -0800)]
Simplify mask checking in loop filters

Considering a horizontal edge, if mask_16x16 is 1 for an even-
indexed 8x8 block, then mask_16x16 is 1 for next 8x8 block in
same row. Similiar to a verticle edge, if mask_16x16 is 1 for
an even-rowed 8x8 block, then mask_16x16 is 1 for the 8x8 block
right below it in next raw. Based on that, the mask_16x16 checking
can be simplified to save cycles. The corresponding 8-pixel
vp9_mb_lpf_horizontal_edge code can also be removed.

Change-Id: Ic3fe7a5674322239208cbe2731dc3216ce2084f3

10 years agoMoving reaster_block_offset{,_int16} from vp9_blockd.h to vp9_rdopt.h.
Dmitry Kovalev [Wed, 27 Nov 2013 20:57:21 +0000 (12:57 -0800)]
Moving reaster_block_offset{,_int16} from vp9_blockd.h to vp9_rdopt.h.

Change-Id: I5a5888d4639cc6b7eb266be47581dd15ba08c91e

10 years agoMerge "Continued rate control clean-ups"
Deb Mukherjee [Wed, 27 Nov 2013 20:04:38 +0000 (12:04 -0800)]
Merge "Continued rate control clean-ups"

10 years agoContinued rate control clean-ups
Deb Mukherjee [Tue, 26 Nov 2013 23:47:43 +0000 (15:47 -0800)]
Continued rate control clean-ups

Moves all post encode rate control updates to a separate function
plus other cleanups.

Change-Id: I70e8eccf666c88d8b649b969997fd84d27e4baaa

10 years agoMoving token-encoding related stuff from common to encoder.
Dmitry Kovalev [Wed, 27 Nov 2013 19:27:57 +0000 (11:27 -0800)]
Moving token-encoding related stuff from common to encoder.

Change-Id: I0e59d320407b3bed0ba3622a7b29975f6fad7ebf

10 years agoMerge "Moving mode encodings from common to encoder + cleanup."
Dmitry Kovalev [Wed, 27 Nov 2013 19:00:54 +0000 (11:00 -0800)]
Merge "Moving mode encodings from common to encoder + cleanup."

10 years agoMerge "vp9_short_fdct32x32_rd vp9_short_fdct32x32 optimized for AVX2"
Yaowu Xu [Wed, 27 Nov 2013 18:27:32 +0000 (10:27 -0800)]
Merge "vp9_short_fdct32x32_rd vp9_short_fdct32x32 optimized for AVX2"

10 years agoRemoving qcoeff buffers from the decoder.
Dmitry Kovalev [Wed, 27 Nov 2013 02:52:10 +0000 (18:52 -0800)]
Removing qcoeff buffers from the decoder.

We only need qcoeff buffers in the encoder. Reducing TileWorkerData struct
and VP9Decompressor struct sizes by 24K.

Change-Id: Id148868461f7ffa3d3dd634b371503ae9c57e207

10 years agoSimplify super_block_yrd()
Yaowu Xu [Tue, 26 Nov 2013 22:55:53 +0000 (14:55 -0800)]
Simplify super_block_yrd()

Change-Id: Iae16644faeed920e69cd5d1db71e2e1e4bda241c

10 years agoMoving mode encodings from common to encoder + cleanup.
Dmitry Kovalev [Tue, 26 Nov 2013 22:53:17 +0000 (14:53 -0800)]
Moving mode encodings from common to encoder + cleanup.

Change-Id: I248ccb1532e2cd95314d0b95108f2c2e71cf084f

10 years agoMerge "Amended some comments for clarity"
Yaowu Xu [Tue, 26 Nov 2013 22:32:02 +0000 (14:32 -0800)]
Merge "Amended some comments for clarity"

10 years agoMerge "Deleting vp9_treereader.h file."
Dmitry Kovalev [Tue, 26 Nov 2013 22:13:30 +0000 (14:13 -0800)]
Merge "Deleting vp9_treereader.h file."

10 years agoDeleting vp9_treereader.h file.
Dmitry Kovalev [Tue, 26 Nov 2013 20:38:58 +0000 (12:38 -0800)]
Deleting vp9_treereader.h file.

Renaming treed_read() to consistent vp9_read_tree() and moving it from
deleted vp9_treereader.h to vp9_dboolhuff.h file.

Change-Id: Iedd8655acbe25e4fcf62b79e5a13bdea69b6b004

10 years agoMerge tx selection into RD calculation
Yaowu Xu [Mon, 25 Nov 2013 20:45:51 +0000 (12:45 -0800)]
Merge tx selection into RD calculation

Change-Id: I406021e34b31b899202a99b39d3da4fa06ebee69

10 years agoMerge "Add a noise test vector"
Yunqing Wang [Tue, 26 Nov 2013 19:56:13 +0000 (11:56 -0800)]
Merge "Add a noise test vector"

10 years agoMerge "thumb: Fix a typo in a comment"
James Zern [Tue, 26 Nov 2013 19:49:01 +0000 (11:49 -0800)]
Merge "thumb: Fix a typo in a comment"

10 years agoAdd a noise test vector
Yunqing Wang [Tue, 26 Nov 2013 01:02:31 +0000 (17:02 -0800)]
Add a noise test vector

Added the test vector provided by Attila, which caught the bug in
Issue 661 "Decoder produces mismatched outputs with ssse3 enabled
and disabled"

vp90-hantro-stream-001.ivf
size: 320x180; 20 frames

Change-Id: Ic0d2b57ac7596ecb938dd55abc8c706fc2dd6d8f

10 years agoMerge "Fix unit test failures"
Yaowu Xu [Tue, 26 Nov 2013 19:22:30 +0000 (11:22 -0800)]
Merge "Fix unit test failures"

10 years agoFix 16 wide neon horz loopfilter.
Frank Galligan [Tue, 26 Nov 2013 00:47:14 +0000 (16:47 -0800)]
Fix 16 wide neon horz loopfilter.

Multiply by 3 was on 8bit vectors when it should have been on
16bit vectors.

Change-Id: I248c1429b3134dfd171dfab0ebb109fd2437e1fc

10 years agoFix unit test failures
Yaowu Xu [Tue, 26 Nov 2013 17:56:14 +0000 (09:56 -0800)]
Fix unit test failures

Change-Id: Ibc61ef81fafeb20df6df6e5496b6c01760f3dc84

10 years agoMerge "Do vertical loopfiltering in parallel"
Yunqing Wang [Tue, 26 Nov 2013 17:35:14 +0000 (09:35 -0800)]
Merge "Do vertical loopfiltering in parallel"

10 years agoMerge "Some cleanups on rate control"
Deb Mukherjee [Tue, 26 Nov 2013 17:34:20 +0000 (09:34 -0800)]
Merge "Some cleanups on rate control"

10 years agoimprove vp9_idct32x32_34(x1.472)&1024(x1.032)_add_sse2
Abo Talib Mahfoodh [Tue, 26 Nov 2013 17:26:43 +0000 (12:26 -0500)]
improve vp9_idct32x32_34(x1.472)&1024(x1.032)_add_sse2

vp9_idct32x32_34_add_sse2:
speedup: 1.472
IDCT32_1D_34 and MULTIPLICATION_AND_ADD_2 are optimized
based on the fact that Only upper-left 8x8 has
non-zero values.

vp9_idct32x32_1024_add_sse2:
speedup: 1.032

Tested with: park_joy_420_720p50.y4m

Change-Id: I8670ce547552b48695049de298e2fc46ce28dfbc

10 years agothumb: Fix a typo in a comment
Martin Storsjo [Tue, 26 Nov 2013 08:56:43 +0000 (10:56 +0200)]
thumb: Fix a typo in a comment

Change-Id: Ic318be9d74a95793abc41501fe563164de53a6d7

10 years agoMerge "Moving mv entropy encodings calculation to the encoder side."
Dmitry Kovalev [Tue, 26 Nov 2013 03:15:21 +0000 (19:15 -0800)]
Merge "Moving mv entropy encodings calculation to the encoder side."

10 years agoMerge "Removing vp9_modecosts.{c, h} files."
Dmitry Kovalev [Tue, 26 Nov 2013 03:14:47 +0000 (19:14 -0800)]
Merge "Removing vp9_modecosts.{c, h} files."

10 years agoSome cleanups on rate control
Deb Mukherjee [Tue, 26 Nov 2013 02:58:45 +0000 (18:58 -0800)]
Some cleanups on rate control

Removes the active_worst_qchanged variable since it is never
set to 1.

Change-Id: I29a291fd1068fd9b504a2db7768d45644c1eae3e

10 years agoMoving mv entropy encodings calculation to the encoder side.
Dmitry Kovalev [Tue, 26 Nov 2013 00:36:28 +0000 (16:36 -0800)]
Moving mv entropy encodings calculation to the encoder side.

Moved arrays:
  vp9_mv_joint_encodings
  vp9_mv_class_encodings
  vp9_mv_class0_encodings
  vp9_mv_fp_encodings

Change-Id: Iaf5008c579fcbd6d77fdd81d1aef8c71b5f308b7

10 years agoMerge "Removing redundant call of vp9_init_mbmode_probs()."
Dmitry Kovalev [Tue, 26 Nov 2013 00:08:42 +0000 (16:08 -0800)]
Merge "Removing redundant call of vp9_init_mbmode_probs()."

10 years agoRemoving vp9_modecosts.{c, h} files.
Dmitry Kovalev [Mon, 25 Nov 2013 20:44:05 +0000 (12:44 -0800)]
Removing vp9_modecosts.{c, h} files.

Renaming vp9_init_mode_costs() to fill_mode_costs() and moving it to
vp9_rdopt.c.

Change-Id: Ib2542d216458f6dced9f4b7ccbdd2cd98176aa5a

10 years agovpxenc: Move config check code into its own source files.
Tom Finegan [Mon, 25 Nov 2013 20:05:19 +0000 (12:05 -0800)]
vpxenc: Move config check code into its own source files.

- Add command line args that allow display of warnings without prompting
  for user input.
- Extend warning code to make it somewhat scalable.

Change-Id: I2bad8f9315f6eed120c2e1bbe0a2a5ede15fbf35

10 years agoReusing txfrm_block_to_raster_xy in vp9_xform_quant().
Dmitry Kovalev [Fri, 22 Nov 2013 19:45:30 +0000 (11:45 -0800)]
Reusing txfrm_block_to_raster_xy in vp9_xform_quant().

Change-Id: Ib273dfff3be284f3c9ae288e5315fb6c6126f9c2

10 years agoMerge "Cleaning up vp9_write_nmv_probs() function."
Dmitry Kovalev [Mon, 25 Nov 2013 19:03:00 +0000 (11:03 -0800)]
Merge "Cleaning up vp9_write_nmv_probs() function."

10 years agoMerge "Adding select_tx_size() function."
Dmitry Kovalev [Mon, 25 Nov 2013 18:59:56 +0000 (10:59 -0800)]
Merge "Adding select_tx_size() function."

10 years agoMerge "Moving {left, right}_block_mode to vp9_blockd.h."
Dmitry Kovalev [Mon, 25 Nov 2013 18:59:24 +0000 (10:59 -0800)]
Merge "Moving {left, right}_block_mode to vp9_blockd.h."

10 years agoMerge "Renaming COMPPREDMODE_TYPE enum and its members."
Dmitry Kovalev [Mon, 25 Nov 2013 18:59:08 +0000 (10:59 -0800)]
Merge "Renaming COMPPREDMODE_TYPE enum and its members."

10 years agoAmended some comments for clarity
Yaowu Xu [Mon, 25 Nov 2013 17:58:25 +0000 (09:58 -0800)]
Amended some comments for clarity

Change-Id: I31c3908ba394095deb5d3a5d7b7c9b2b5328c3e8

10 years agoMerge "In frame Q adjustment experiment."
Yaowu Xu [Mon, 25 Nov 2013 18:52:22 +0000 (10:52 -0800)]
Merge "In frame Q adjustment experiment."

10 years agoMerge "Use separate inter predictors for enc/dec"
Jingning Han [Mon, 25 Nov 2013 18:29:07 +0000 (10:29 -0800)]
Merge "Use separate inter predictors for enc/dec"

10 years agoIn frame Q adjustment experiment.
Paul Wilkins [Fri, 22 Nov 2013 17:21:53 +0000 (17:21 +0000)]
In frame Q adjustment experiment.

The idea here is to allow "in frame" adjustment of the final Q
value used to encode each SB64, using segmentation.

There is also adjustment of the rd mult in regions of overspend.

Activated using aq_mode=2

Change-Id: I2f140cd898c9f877c32cd6d2e667f5e11ada4b1c

10 years agoMerge "Fix a build issue with visual c."
Yaowu Xu [Mon, 25 Nov 2013 18:20:53 +0000 (10:20 -0800)]
Merge "Fix a build issue with visual c."

10 years agoMerge "Rename block_yrd_txfm to block_rd_txfm"
Guillaume Martres [Mon, 25 Nov 2013 17:45:55 +0000 (09:45 -0800)]
Merge "Rename block_yrd_txfm to block_rd_txfm"

10 years agoUse separate inter predictors for enc/dec
Jingning Han [Fri, 22 Nov 2013 19:56:29 +0000 (11:56 -0800)]
Use separate inter predictors for enc/dec

The decoder will construct inter predictor using lazy border extension,
while the encoder, going with multiple runs of motion search in the rate-
distortion optimization loop for each block, does border extension at
frame level. This commit makes separate the inter predictors for encoder
and decoder, respectively.

Change-Id: Ieca2fecba3a7201a6d64ef9f219e5d91e50559c3

10 years agoMerge "Separate setup_scale_factor/extend_frame_borders"
Jingning Han [Mon, 25 Nov 2013 17:14:46 +0000 (09:14 -0800)]
Merge "Separate setup_scale_factor/extend_frame_borders"

10 years agoFix a build issue with visual c.
Yaowu Xu [Mon, 25 Nov 2013 16:11:35 +0000 (08:11 -0800)]
Fix a build issue with visual c.

Change-Id: Ic8fc16ee1734cfde0d12a2e3abb3e9299382f3b1

10 years agoCleaning up vp9_write_nmv_probs() function.
Dmitry Kovalev [Mon, 25 Nov 2013 00:20:59 +0000 (16:20 -0800)]
Cleaning up vp9_write_nmv_probs() function.

Change-Id: I9af38f1a0e226ee094c17081f044a722ac1caded

10 years agoRename block_yrd_txfm to block_rd_txfm
Guillaume Martres [Mon, 25 Nov 2013 00:14:54 +0000 (01:14 +0100)]
Rename block_yrd_txfm to block_rd_txfm

This function is also used with the U and V planes.

Change-Id: Ib6beae0438790bfb690b3a2bda9c5c8b0e89a9b8

10 years agoMerge "Using partition counts from FRAME_COUNTS struct in the encoder."
Dmitry Kovalev [Mon, 25 Nov 2013 00:08:29 +0000 (16:08 -0800)]
Merge "Using partition counts from FRAME_COUNTS struct in the encoder."

10 years agoMerge "Cleaning up vp9_append_sub8x8_mvs_for_idx."
Dmitry Kovalev [Mon, 25 Nov 2013 00:08:20 +0000 (16:08 -0800)]
Merge "Cleaning up vp9_append_sub8x8_mvs_for_idx."

10 years agoMerge "Inlining and removing vp9_set_pred_flag_seg_id() function."
Dmitry Kovalev [Mon, 25 Nov 2013 00:07:57 +0000 (16:07 -0800)]
Merge "Inlining and removing vp9_set_pred_flag_seg_id() function."

10 years agoMerge "Added cpuid compatibility for older MSVC versions"
Paul Wilkins [Sat, 23 Nov 2013 11:05:55 +0000 (03:05 -0800)]
Merge "Added cpuid compatibility for older MSVC versions"

10 years agoInlining and removing vp9_set_pred_flag_seg_id() function.
Dmitry Kovalev [Sat, 23 Nov 2013 01:32:11 +0000 (17:32 -0800)]
Inlining and removing vp9_set_pred_flag_seg_id() function.

Change-Id: I0fd76937e847f78378a7ab3fa0af00a7c2c52b42

10 years agoMerge "Organizing all scan tables into lookup table."
Dmitry Kovalev [Sat, 23 Nov 2013 01:16:19 +0000 (17:16 -0800)]
Merge "Organizing all scan tables into lookup table."

10 years agoAdded cpuid compatibility for older MSVC versions
Yaowu Xu [Sat, 23 Nov 2013 00:45:56 +0000 (16:45 -0800)]
Added cpuid compatibility for older MSVC versions

Change-Id: I891bf936e03411ca611620e7cb2eb5081993a346

10 years agoMerge "Fix bug in extend_frame chroma extended too far"
Yaowu Xu [Sat, 23 Nov 2013 01:01:07 +0000 (17:01 -0800)]
Merge "Fix bug in extend_frame chroma extended too far"

10 years agoRenaming COMPPREDMODE_TYPE enum and its members.
Dmitry Kovalev [Sat, 23 Nov 2013 00:35:37 +0000 (16:35 -0800)]
Renaming COMPPREDMODE_TYPE enum and its members.

List of renames:
  COMPPREDMODE_TYPE      => REFERENCE_MODE
  SINGLE_PREDICTION_ONLY => SINGLE_REFERENCE
  COMP_PREDICTION_ONLY   => COMPOUND_REFERENCE
  HYBRID_PREDICTION      => REFERENCE_MODE_SELECT (like TX_MODE_SELECT)
  NB_PREDICTION_TYPES    => REFERENCE_MODES

Change-Id: If723dabe9435325d0165dcd028142a2c78b417b4

10 years agoOrganizing all scan tables into lookup table.
Dmitry Kovalev [Sat, 23 Nov 2013 00:20:45 +0000 (16:20 -0800)]
Organizing all scan tables into lookup table.

Change-Id: Ie829ee58a55157e6972c63cebe69a5d0a3221349

10 years agoCleaning up vp9_append_sub8x8_mvs_for_idx.
Dmitry Kovalev [Fri, 22 Nov 2013 23:28:32 +0000 (15:28 -0800)]
Cleaning up vp9_append_sub8x8_mvs_for_idx.

Change-Id: Ic92f15d82ff5cfa3df655d08e460335c2ef8a325

10 years agoUsing partition counts from FRAME_COUNTS struct in the encoder.
Dmitry Kovalev [Fri, 22 Nov 2013 22:26:39 +0000 (14:26 -0800)]
Using partition counts from FRAME_COUNTS struct in the encoder.

Change-Id: I6c3d47b00acabe7ffba22ffc73741173aa9a0bff

10 years agoSeparate setup_scale_factor/extend_frame_borders
Jingning Han [Fri, 22 Nov 2013 18:56:41 +0000 (10:56 -0800)]
Separate setup_scale_factor/extend_frame_borders

This commit takes out vp9_extend_frame_borders from
vp9_setup_scale_factors.

The refactoring is for the preparation of the use of lazy border
extension at decoder. This makes it necessary to handle border
extension separately at encoder/decoder. The use of
vp9_extend_frame_borders will be removed, when lazy border extension
is ready.

Change-Id: Ia3baba3d179d5f11eee1634f19b3b319d2a59186

10 years agoFix decoder to handle display size correctly
Adrian Grange [Tue, 19 Nov 2013 22:01:44 +0000 (14:01 -0800)]
Fix decoder to handle display size correctly

The decoder ignored the display width & height
specified in the frame header.

This patch adds a control, VP9D_GET_DISPLAY_SIZE, to
allow the application to obtain the display width and
height from the frame header.

vpxdec has been modified to scale the output frame to
this size.

Should the request for the display size fail vpxdec will
use the native width and height of the raw decoded
frame instead.

Change-Id: I25db04407426dac730263720c75a7dd6400af68a

10 years agoMerge "Cleaning up entropy probability update in encoder."
Dmitry Kovalev [Fri, 22 Nov 2013 18:52:40 +0000 (10:52 -0800)]
Merge "Cleaning up entropy probability update in encoder."

10 years agoMerge "Removing txfrm_block_to_raster_xy() call from extend_for_intra()."
Dmitry Kovalev [Fri, 22 Nov 2013 18:51:38 +0000 (10:51 -0800)]
Merge "Removing txfrm_block_to_raster_xy() call from extend_for_intra()."

10 years agoMerge "Improve vp9_fdct4x4_sse2 (x1.2)"
Yunqing Wang [Fri, 22 Nov 2013 18:39:55 +0000 (10:39 -0800)]
Merge "Improve vp9_fdct4x4_sse2 (x1.2)"

10 years agoDo vertical loopfiltering in parallel
Yunqing Wang [Fri, 22 Nov 2013 00:43:37 +0000 (16:43 -0800)]
Do vertical loopfiltering in parallel

This patch followed "Add filter_selectively_vert_row2 to enable
parallel loopfiltering" commit, and added x86 SSE2 optimization
to do 16-pixel filtering in parallel. For other optimizations
(neon and dspr2), current 16-pixel functions were done by calling
8-pixel functions twice, and real 16-pixel functions could be added
later.

Decoder speedup:
tulip clip:     2% speed gain;
old_town_cross: 1.2% speed gain;
bus:            2% speed gain.

Change-Id: I4818a0c72f84b34f5fe678e496cf4a10238574b7

10 years agoMerge "Fix the cpuid macro for x86_64 non-gcc build"
Yaowu Xu [Fri, 22 Nov 2013 18:03:51 +0000 (10:03 -0800)]
Merge "Fix the cpuid macro for x86_64 non-gcc build"

10 years agoFix bug in extend_frame chroma extended too far
Adrian Grange [Fri, 22 Nov 2013 01:19:04 +0000 (17:19 -0800)]
Fix bug in extend_frame chroma extended too far

This fixes issue 667.

In the case where the frame was an odd number of pixels
wide or high, the border was being extended by one col
or row too far.

The calculation of color plane dimensions was modified
to use those already computed at the time the frame
buffer was allocated.

Also freed the temporary scaling buffer in vpxdec to
prevent a memory leak.

Change-Id: Ied04bdcdfd77469731408c05da205db1a6f89bf5

10 years agoMerge changes Id1698a35,Idcabd0b9
Jim Bankoski [Fri, 22 Nov 2013 16:16:17 +0000 (08:16 -0800)]
Merge changes Id1698a35,Idcabd0b9

* changes:
  detokenization speedups
  Don't write 0's to token_cache

10 years agoMerge "Refactoring of rate control - part 1"
Deb Mukherjee [Fri, 22 Nov 2013 16:06:48 +0000 (08:06 -0800)]
Merge "Refactoring of rate control - part 1"

10 years agoRefactoring of rate control - part 1
Deb Mukherjee [Wed, 6 Nov 2013 21:13:59 +0000 (13:13 -0800)]
Refactoring of rate control - part 1

Moves all rate control variables to a separate structure,
removes some currently unused variables,
moves some rate control functions to vp9_ratectrl.c,
and splits the encode_frame_to_data_rate function.

Change-Id: I4ed54c24764b3b6de2dd676484f01473724ab52b

10 years agoRemoving txfrm_block_to_raster_xy() call from extend_for_intra().
Dmitry Kovalev [Fri, 22 Nov 2013 03:30:58 +0000 (19:30 -0800)]
Removing txfrm_block_to_raster_xy() call from extend_for_intra().

Change-Id: I6a48d1f35ed5fe7a2c7499675b339994c9c3bdf2

10 years agoFix the cpuid macro for x86_64 non-gcc build
Yaowu Xu [Fri, 22 Nov 2013 01:39:33 +0000 (17:39 -0800)]
Fix the cpuid macro for x86_64 non-gcc build

Change-Id: I0c44800db10db8d74c1ddfe89abecfd1c53d0f8d

10 years agoMerge "vpxenc: Add vpxenc.h and move/rename the global_config struct"
Tom Finegan [Fri, 22 Nov 2013 01:56:26 +0000 (17:56 -0800)]
Merge "vpxenc: Add vpxenc.h and move/rename the global_config struct"

10 years agodetokenization speedups
Jim Bankoski [Fri, 22 Nov 2013 00:55:22 +0000 (16:55 -0800)]
detokenization speedups

removed unnecessary ifs and branches ..

Change-Id: Id1698a35292659388f48926791024d1400f2cea9

10 years agoMerge "Using num_4x4_blocks_* instead of b_{width, height}_log2."
Dmitry Kovalev [Fri, 22 Nov 2013 00:48:34 +0000 (16:48 -0800)]
Merge "Using num_4x4_blocks_* instead of b_{width, height}_log2."

10 years agovpxenc: Add vpxenc.h and move/rename the global_config struct
Tom Finegan [Fri, 22 Nov 2013 00:46:40 +0000 (16:46 -0800)]
vpxenc: Add vpxenc.h and move/rename the global_config struct

- Rename the struct to VpxEncoderConfig.
- The idea behind this is to enable checking the global settings against
  stream specific settings in source files other than vpxenc.c.

Change-Id: Ic736cbb714845b9466acb34671780d65b83ad1a8

10 years agoMerge "Removing plane_block_{width, height} functions."
Dmitry Kovalev [Fri, 22 Nov 2013 00:37:27 +0000 (16:37 -0800)]
Merge "Removing plane_block_{width, height} functions."

10 years agoMerge "Using txfrm_block_to_raster_xy() in encoder."
Dmitry Kovalev [Fri, 22 Nov 2013 00:24:22 +0000 (16:24 -0800)]
Merge "Using txfrm_block_to_raster_xy() in encoder."

10 years agoAdding select_tx_size() function.
Dmitry Kovalev [Thu, 21 Nov 2013 23:55:40 +0000 (15:55 -0800)]
Adding select_tx_size() function.

Change-Id: I9d18b31661a2ccdcd4e25956882c7fc2d4b7002e

10 years agoUsing num_4x4_blocks_* instead of b_{width, height}_log2.
Dmitry Kovalev [Thu, 21 Nov 2013 23:53:06 +0000 (15:53 -0800)]
Using num_4x4_blocks_* instead of b_{width, height}_log2.

Change-Id: I9ea3946c17b19f511565cd771037abe7db8b3ddb

10 years agoMerge "Removing PARAMS macro for consistency"
Joshua Litt [Thu, 21 Nov 2013 23:06:51 +0000 (15:06 -0800)]
Merge "Removing PARAMS macro for consistency"

10 years agoMerge "Revert "Add 16 wide neon horz loopfilter.""
Frank Galligan [Thu, 21 Nov 2013 23:06:17 +0000 (15:06 -0800)]
Merge "Revert "Add 16 wide neon horz loopfilter.""

10 years agovp9_short_fdct32x32_rd vp9_short_fdct32x32 optimized for AVX2
levytamar82 [Thu, 21 Nov 2013 19:31:10 +0000 (12:31 -0700)]
vp9_short_fdct32x32_rd vp9_short_fdct32x32 optimized for AVX2

Change-Id: I6366e84490883b72362f762369d7e5bccb64f02f

10 years agoRevert "Add 16 wide neon horz loopfilter."
Frank Galligan [Thu, 21 Nov 2013 22:01:33 +0000 (14:01 -0800)]
Revert "Add 16 wide neon horz loopfilter."

The change caused mismatches with some test vectors on neon.

Original CL: https://gerrit.chromium.org/gerrit/#/c/67863/

Change-Id: I913891636d53783e93cb1865ca78ded1821dc4b0

10 years agoCorrect ssse3 8/16-pixel wide sub-pixel filter calculation
Yunqing Wang [Wed, 20 Nov 2013 20:52:56 +0000 (12:52 -0800)]
Correct ssse3 8/16-pixel wide sub-pixel filter calculation

Although no mismatch was indicated for 8/16 wide sub-pixel filters
in issue 661, they had similar problems that could cause mismatch
potentially. This patch fixed calculations in HORIZx8/16
and VERTx8/16.

Change-Id: Ib85412d690bea5609a51f0e50e7c858406b8ff9e

10 years agoTake out assertion from inverse transforms
Jingning Han [Fri, 15 Nov 2013 23:21:38 +0000 (15:21 -0800)]
Take out assertion from inverse transforms

Separate the rounding and right shift operations of forward transform
from those of inverse transform. Take out the assertion check from
inverse transforms. If the transform coefficients were constructed to
cause intermediate steps of inverse transform overflow, the codec will
just let it overflow without breaking the decoding flow.

Change-Id: Ia7ce15dfd1a73b4abbaa78cbc74ec718523c5b1b