platform/upstream/libvpx.git
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 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 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 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 agoDon't write 0's to token_cache
Jim Bankoski [Thu, 21 Nov 2013 20:52:15 +0000 (12:52 -0800)]
Don't write 0's to token_cache

This code only updates the token_cache if the result is non0.

Change-Id: Idcabd0b993a926fea9c29dbec134b9c5c4859b40

10 years agoSyncing update_coef_probs() implementation with decoder.
Dmitry Kovalev [Thu, 21 Nov 2013 20:36:02 +0000 (12:36 -0800)]
Syncing update_coef_probs() implementation with decoder.

Using for loop based on max_tx_size instead of separate checks. Combining
build_coeff_contexts() with update_coef_probs().

Change-Id: Ie335a7db29830677fbc14478a9c190d3c1068665

10 years agoImprove vp9_fdct4x4_sse2 (x1.2)
Abo Talib Mahfoodh [Thu, 21 Nov 2013 20:00:20 +0000 (15:00 -0500)]
Improve vp9_fdct4x4_sse2 (x1.2)

Modifications are done to reduce the total clock cycle.
Speedup: 1.2

Tested with: park_joy_420_720p50.y4m

Change-Id: Ia36b87e62e2f80a5fadaf5628729aedc80f38f3f

10 years agoMoving {left, right}_block_mode to vp9_blockd.h.
Dmitry Kovalev [Thu, 21 Nov 2013 19:43:53 +0000 (11:43 -0800)]
Moving {left, right}_block_mode to vp9_blockd.h.

Both functions have no relation to motion vectors, so moving them from
vp9_findnearmv.h to vp9_blockd.h.

Change-Id: I74f524267886ab0fff4a2da793a10c906ed0f43a

10 years agoMerge "Add filter_selectively_vert_row2 to enable parallel loopfiltering"
Yunqing Wang [Thu, 21 Nov 2013 19:25:55 +0000 (11:25 -0800)]
Merge "Add filter_selectively_vert_row2 to enable parallel loopfiltering"

10 years agoMerge "Remove unnecessary eob checking."
hkuang [Thu, 21 Nov 2013 19:24:02 +0000 (11:24 -0800)]
Merge "Remove unnecessary eob checking."

10 years agoMerge "Add 16 wide neon horz loopfilter."
Frank Galligan [Thu, 21 Nov 2013 18:29:30 +0000 (10:29 -0800)]
Merge "Add 16 wide neon horz loopfilter."

10 years agoAdd filter_selectively_vert_row2 to enable parallel loopfiltering
Yunqing Wang [Fri, 15 Nov 2013 19:04:09 +0000 (11:04 -0800)]
Add filter_selectively_vert_row2 to enable parallel loopfiltering

Added filter_selectively_vert_row2 to be ready for parallel
loopfiltering in vertical direction. This change did 2-row
filtering at a time. If 2 vertically adjacent 8x8 blocks do same
type of filtering, we can do 16-pixel filtering in parallel.

Next, we need to provide 16-pixel loopfiltering functions in c
and optimized versions for codec speedup.

Change-Id: Idf97bbdd70566e55bd30e1fd25cb8544e33291be

10 years agoMerge "Correct ssse3 8/16-pixel wide sub-pixel filter calculation"
Yunqing Wang [Thu, 21 Nov 2013 17:40:02 +0000 (09:40 -0800)]
Merge "Correct ssse3 8/16-pixel wide sub-pixel filter calculation"

10 years agoAdd 16 wide neon horz loopfilter.
Frank Galligan [Tue, 19 Nov 2013 18:33:32 +0000 (10:33 -0800)]
Add 16 wide neon horz loopfilter.

Add support to do 16 pixel horizontal filtering in Neon.
Nexus devices saw about 0.5% decode speed increase.

Change-Id: I2993f6c2d49f31fa74976879eeaa289fd3f4e15d

10 years agovpxenc: Warn users about incorrect quantizer settings.
Tom Finegan [Thu, 21 Nov 2013 01:18:28 +0000 (17:18 -0800)]
vpxenc: Warn users about incorrect quantizer settings.

Also, clean up stylistically questionable code near my changes.

Change-Id: I92c96a274cb339b7b74174a608f94ae86aba8354

10 years agoMerge "Removing old code."
Dmitry Kovalev [Wed, 20 Nov 2013 22:43:03 +0000 (14:43 -0800)]
Merge "Removing old code."

10 years agoMerge "Adding MV_FP_SIZE constant."
Dmitry Kovalev [Wed, 20 Nov 2013 22:39:58 +0000 (14:39 -0800)]
Merge "Adding MV_FP_SIZE constant."

10 years agoMerge "Using is_inter_block() and has_second_ref() functions."
Dmitry Kovalev [Wed, 20 Nov 2013 22:39:50 +0000 (14:39 -0800)]
Merge "Using is_inter_block() and has_second_ref() functions."

10 years agoRemoving old code.
Dmitry Kovalev [Wed, 20 Nov 2013 22:05:21 +0000 (14:05 -0800)]
Removing old code.

Change-Id: I67d1681c7b17661deb792c5e6a9e2014a73ff9b7

10 years agoUsing txfrm_block_to_raster_xy() in encoder.
Dmitry Kovalev [Wed, 20 Nov 2013 21:58:21 +0000 (13:58 -0800)]
Using txfrm_block_to_raster_xy() in encoder.

Change-Id: Ibe847000467fe46bf8ce87d8f1ef8f2d5ad1eaf4

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: I169961c9d40a20340995b7d22aafc89ccf30bfca

10 years agoRemoving plane_block_{width, height} functions.
Dmitry Kovalev [Wed, 20 Nov 2013 20:39:29 +0000 (12:39 -0800)]
Removing plane_block_{width, height} functions.

Change-Id: I29c0dfcf41a1253d5e2a0d2ff740c0c38ebaa5a2

10 years agoMerge "Clean up removal of vp9_pareto8 table."
Jim Bankoski [Wed, 20 Nov 2013 20:30:03 +0000 (12:30 -0800)]
Merge "Clean up removal of vp9_pareto8 table."

10 years agoUsing is_inter_block() and has_second_ref() functions.
Dmitry Kovalev [Wed, 20 Nov 2013 04:25:55 +0000 (20:25 -0800)]
Using is_inter_block() and has_second_ref() functions.

Change-Id: Iadd771a33c8874f3b774923bca4da3c8fe5429ee

10 years agoAdding MV_FP_SIZE constant.
Dmitry Kovalev [Wed, 20 Nov 2013 04:18:01 +0000 (20:18 -0800)]
Adding MV_FP_SIZE constant.

Change-Id: I98d750ee92ff51fb714980418ea28be3b1d0f3c6

10 years agoMerge "Support for extended feature flags enumeration leaf in CPUID instruction"
Yunqing Wang [Wed, 20 Nov 2013 20:01:39 +0000 (12:01 -0800)]
Merge "Support for extended feature flags enumeration leaf in CPUID instruction"

10 years agoRemove unnecessary eob checking.
hkuang [Wed, 20 Nov 2013 19:22:00 +0000 (11:22 -0800)]
Remove unnecessary eob checking.

Change-Id: Ia568f70bddc1a2b62141a0197459119ca74c22b5

10 years agoMerge "remove the model and copy in pack_mb_tokens"
Jim Bankoski [Wed, 20 Nov 2013 19:34:30 +0000 (11:34 -0800)]
Merge "remove the model and copy in pack_mb_tokens"

10 years agoClean up removal of vp9_pareto8 table.
Jim Bankoski [Wed, 20 Nov 2013 19:17:26 +0000 (11:17 -0800)]
Clean up removal of vp9_pareto8 table.

Change-Id: I5556e8d1fc150be8a3e93af21900829b59a500dc

10 years agoSupport for extended feature flags enumeration leaf in CPUID instruction
Erik Niemeyer [Wed, 20 Nov 2013 04:11:57 +0000 (21:11 -0700)]
Support for extended feature flags enumeration leaf in CPUID instruction

This CL fixes an overcite with the AVX2 support CL previously
merged (Change-Id: Idc03f3fca4bf2d0afd33631ea1d3caf8fc34ec29) that
prevented runtime execution of AVX2 code in WebM.

Background:
Starting with the Sandybridge processor, the CPUID instruction was
enhanced to add various extended feature flag enumeration leaves.
Reading these leaves requires an additional input value for the CPUID
instruction which is stored in ECX. This change adds this second input
value for all ARCH_X86 and ARCH_x86_64 targets to the CPUID macros,
allowing checks of EBX bit 5 for AVX2 support. This capability will be
required moving forward to check for future processor features.

Change-Id: Ie9d872bc9ff68dad4b6578e4544e4dfd0ae26c36

10 years agoMerge "Take out assertion from inverse transforms"
Jingning Han [Wed, 20 Nov 2013 18:55:27 +0000 (10:55 -0800)]
Merge "Take out assertion from inverse transforms"

10 years agoremove the model and copy in pack_mb_tokens
Jim Bankoski [Wed, 20 Nov 2013 18:06:04 +0000 (10:06 -0800)]
remove the model and copy in pack_mb_tokens

Change-Id: I00a5203c8ed76c184d936fccf93d76e7c06773d3

10 years agoFix stack pointer in sub-pixel filters
Yunqing Wang [Wed, 20 Nov 2013 17:42:44 +0000 (09:42 -0800)]
Fix stack pointer in sub-pixel filters

In commit "3d50da5397d20abc932d81453b26cde758293a40", the stack
pointer was modified while aligning the stack, and it needed to
be pop out at the end.

Change-Id: I062971e195f1f2ab9d0ab5fb84dcf215a0fcaa67

10 years agoMerge "vpxenc: add --aq-mode flag to control adaptive quantization"
Guillaume Martres [Wed, 20 Nov 2013 16:13:28 +0000 (08:13 -0800)]
Merge "vpxenc: add --aq-mode flag to control adaptive quantization"

10 years agoCleaning up entropy probability update in encoder.
Dmitry Kovalev [Wed, 20 Nov 2013 03:49:56 +0000 (19:49 -0800)]
Cleaning up entropy probability update in encoder.

Change-Id: I94cb9e3d910dff74bf90906dd96e3a4e06ebdbe6

10 years agoUndo the vp8 change in "Reduce loop filter in..."
Marco Paniconi [Wed, 20 Nov 2013 01:10:57 +0000 (17:10 -0800)]
Undo the vp8 change in "Reduce loop filter in..."

Patch in https://gerrit.chromium.org/gerrit/#/c/41176/
was merged into repository by mistake.

Change-Id: I235c71af26bb2d72698c8aac2301e5a7e9c5f960

10 years agoMerge "scan order table lookup same for encoder and decoder"
Jim Bankoski [Wed, 20 Nov 2013 00:22:48 +0000 (16:22 -0800)]
Merge "scan order table lookup  same for encoder and decoder"

10 years agoMerge "Fix decoder mismatch with ssse3 enabled"
Yunqing Wang [Wed, 20 Nov 2013 00:19:32 +0000 (16:19 -0800)]
Merge "Fix decoder mismatch with ssse3 enabled"

10 years agoMerge "Use restore_dst_buf in handle_inter_mode"
Jingning Han [Wed, 20 Nov 2013 00:19:04 +0000 (16:19 -0800)]
Merge "Use restore_dst_buf in handle_inter_mode"

10 years agoMerge "Cleaning up probability/cost functions."
Dmitry Kovalev [Wed, 20 Nov 2013 00:08:16 +0000 (16:08 -0800)]
Merge "Cleaning up probability/cost functions."

10 years agoMerge "Move vp9_setup_interp_filter() to encoder"
Yaowu Xu [Wed, 20 Nov 2013 00:01:19 +0000 (16:01 -0800)]
Merge "Move vp9_setup_interp_filter() to encoder"

10 years agoUse restore_dst_buf in handle_inter_mode
Jingning Han [Tue, 19 Nov 2013 23:29:22 +0000 (15:29 -0800)]
Use restore_dst_buf in handle_inter_mode

There are many places in handle_inter_mode that need to restore the
dst buffer pointers, due to buffer pointer swap and early rd search
breakout. This commit wraps these operations into an inline function
for clean-up.

Change-Id: I0462e8c41c8bc3cd8db07395489cac03d8e5be54

10 years agoscan order table lookup same for encoder and decoder
Jim Bankoski [Tue, 19 Nov 2013 23:31:43 +0000 (15:31 -0800)]
scan order table lookup  same for encoder and decoder

Change-Id: I473947b5ca70b7a81151926284bff86f8555492a

10 years agoMerge "vpxdec: Relocate WebM input support."
Tom Finegan [Tue, 19 Nov 2013 23:30:41 +0000 (15:30 -0800)]
Merge "vpxdec: Relocate WebM input support."

10 years agoFix decoder mismatch with ssse3 enabled
Yunqing Wang [Tue, 19 Nov 2013 22:29:25 +0000 (14:29 -0800)]
Fix decoder mismatch with ssse3 enabled

This patch fixed issue 661: "Decoder produces mismatched outputs
with ssse3 enabled and disabled." In sub-pixel filters, a pixel
value was multiplied by a filter coefficient, and the results
were added up. The order of adding up these multiplications had to
be arranged carefully to prevent incorrect overflowing.

Change-Id: Id08af4200fea9e1b896fc40157b8651c2c7e80f2

10 years agoMerge "Simplifying partition context calculation."
Dmitry Kovalev [Tue, 19 Nov 2013 23:09:01 +0000 (15:09 -0800)]
Merge "Simplifying partition context calculation."

10 years agoMerge "Calculating dst pointer only once per transform block."
Dmitry Kovalev [Tue, 19 Nov 2013 23:05:46 +0000 (15:05 -0800)]
Merge "Calculating dst pointer only once per transform block."

10 years agoCleaning up probability/cost functions.
Dmitry Kovalev [Tue, 19 Nov 2013 22:59:12 +0000 (14:59 -0800)]
Cleaning up probability/cost functions.

Change-Id: Ifad4b0e6355ce49fcc6f470becc080e8069452ee

10 years agoMerge "entropy code speedup"
Jim Bankoski [Tue, 19 Nov 2013 22:58:44 +0000 (14:58 -0800)]
Merge "entropy code speedup"

10 years agoMove vp9_setup_interp_filter() to encoder
Yaowu Xu [Tue, 19 Nov 2013 22:57:58 +0000 (14:57 -0800)]
Move vp9_setup_interp_filter() to encoder

As it is used in encoder only.

Change-Id: I5f2a8abbe72bb18cbf6ce36a3dc7e132aeae8ec2

10 years agoMerge "Reduce loop filter in cyclic refresh."
Jim Bankoski [Tue, 19 Nov 2013 22:42:32 +0000 (14:42 -0800)]
Merge "Reduce loop filter in cyclic refresh."

10 years agoMerge "Move vp9_sadmxn.h from common to encoder"
Yaowu Xu [Tue, 19 Nov 2013 22:41:33 +0000 (14:41 -0800)]
Merge "Move vp9_sadmxn.h from common to encoder"

10 years agoentropy code speedup
Jim Bankoski [Tue, 19 Nov 2013 22:31:38 +0000 (14:31 -0800)]
entropy code speedup

Change-Id: Ic316d3374ff9a2b43897272260947d56765a0fdd