platform/upstream/libvpx.git
10 years agoReplacing b_width_log2 with num_4x4_blocks_wide_lookup.
Dmitry Kovalev [Fri, 6 Dec 2013 20:04:06 +0000 (12:04 -0800)]
Replacing b_width_log2 with num_4x4_blocks_wide_lookup.

Change-Id: I8ab9bbe2595ed1743f35223b6a6ce6d023b9a20e

10 years agoRenaming reference mode context calculation function.
Dmitry Kovalev [Fri, 6 Dec 2013 19:23:01 +0000 (11:23 -0800)]
Renaming reference mode context calculation function.

Renames:
  vp9_get_pred_context_comp_inter_inter => vp9_get_reference_mode_context
  vp9_get_pred_prob_comp_inter_inter    => vp9_get_reference_mode_prob

Change-Id: I3bbb69481e6b0c848028667c9269f567f293d3bd

10 years agoRemoving BLOCK_TYPES and adding PLANE_TYPES constant instead.
Dmitry Kovalev [Fri, 6 Dec 2013 18:54:00 +0000 (10:54 -0800)]
Removing BLOCK_TYPES and adding PLANE_TYPES constant instead.

Change-Id: Ic3bb862e93aedf6a489a33ea6f7e5097d96855ee

10 years agoMerge "Remove rate correction factor."
Yaowu Xu [Fri, 6 Dec 2013 18:39:51 +0000 (10:39 -0800)]
Merge "Remove rate correction factor."

10 years agoMerge "Moving vp9_tree_probs_from_distribution() to encoder."
Dmitry Kovalev [Fri, 6 Dec 2013 18:18:30 +0000 (10:18 -0800)]
Merge "Moving vp9_tree_probs_from_distribution() to encoder."

10 years agoMerge "Renaming constants."
Dmitry Kovalev [Fri, 6 Dec 2013 17:55:02 +0000 (09:55 -0800)]
Merge "Renaming constants."

10 years agoMerge "vp9_get_pred_context_intra_inter() clean up."
Dmitry Kovalev [Fri, 6 Dec 2013 17:14:36 +0000 (09:14 -0800)]
Merge "vp9_get_pred_context_intra_inter() clean up."

10 years agoMerge "Remove redundant calls to vp9_update_mode_info_border"
Adrian Grange [Fri, 6 Dec 2013 16:59:47 +0000 (08:59 -0800)]
Merge "Remove redundant calls to vp9_update_mode_info_border"

10 years agoMerge "Remove redundant bsize mapping in motion search"
Jingning Han [Fri, 6 Dec 2013 16:57:58 +0000 (08:57 -0800)]
Merge "Remove redundant bsize mapping in motion search"

10 years agoRemove rate correction factor.
Paul Wilkins [Fri, 6 Dec 2013 13:17:34 +0000 (13:17 +0000)]
Remove rate correction factor.

Removed an adaptive rate correction factor that was having
a negative impact on quality in many clips. This factor
was influencing the Q range available to each frame
independently of the bits allocated to each.

Average results with DISABLE_RC_LONG_TERM_MEM.

derf +0.199, -0.059.
yt +3.957, +3.798
std hd +1.577, +2.140
yt hd +4.127, +4.513

Average results without  DISABLE_RC_LONG_TERM_MEM

derf -0.628, -0.665
yt +3.432, +3.015
std hd -0.105, +0.153
yt hd +3.432, +3.015

Change-Id: I45bab6b606f49a442e7b27a6d631f3ffd843bbce

10 years agoadd tile test vectors
James Zern [Fri, 6 Dec 2013 05:00:30 +0000 (21:00 -0800)]
add tile test vectors

3840x2160

vp90-2-08-tile_1x8_frame_parallel.webm
vp90-2-08-tile_1x8.webm

vpxenc crowd_run_2160p50.y4m \
  --codec=vp9 -p 2 \
  --frame-parallel=${fpm} \
  --tile-columns=${tc} \
  --limit=10 \
  --auto-alt-ref=1 \
  --lag-in-frames=5 \
  --target-bitrate=2500

Change-Id: I6dc19b4fca483d03ef9a897a843bf9037d095c8e

10 years agoMerge "Fix bug with put slice cb function."
James Zern [Fri, 6 Dec 2013 04:21:16 +0000 (20:21 -0800)]
Merge "Fix bug with put slice cb function."

10 years agoMoving vp9_tree_probs_from_distribution() to encoder.
Dmitry Kovalev [Fri, 6 Dec 2013 02:13:26 +0000 (18:13 -0800)]
Moving vp9_tree_probs_from_distribution() to encoder.

Writing custom coeff branch count calculation (which is much clearer) in
adapt_coef_probs() function. Removing vp9_treecoder.c file.

Change-Id: I8880fb7a39996c8bcf6cd0acf9898a8c712ba91f

10 years agoMerge "Renaming PREV_COEF_CONTEXTS to COEFF_CONTEXTS."
Dmitry Kovalev [Fri, 6 Dec 2013 01:54:44 +0000 (17:54 -0800)]
Merge "Renaming PREV_COEF_CONTEXTS to COEFF_CONTEXTS."

10 years agoRenaming PREV_COEF_CONTEXTS to COEFF_CONTEXTS.
Dmitry Kovalev [Fri, 6 Dec 2013 01:08:06 +0000 (17:08 -0800)]
Renaming PREV_COEF_CONTEXTS to COEFF_CONTEXTS.

Also adding BAND_COEFF_CONTEXTS macro to simplify for loop logic.

Change-Id: I12a78a49cf1addf81e6b3fe2a3736ec2b79bd79e

10 years agovp9_get_pred_context_intra_inter() clean up.
Dmitry Kovalev [Fri, 6 Dec 2013 01:01:03 +0000 (17:01 -0800)]
vp9_get_pred_context_intra_inter() clean up.

Renaming:
 vp9_get_pred_context_intra_inter => vp9_get_intra_inter_context
 vp9_get_pred_prob_intra_inter    => vp9_get_intra_inter_prob

Change-Id: I2c1affea2e84f4e616137c6df82adb11c7845781

10 years agoMerge "Further rate control cleanups"
Deb Mukherjee [Fri, 6 Dec 2013 00:55:35 +0000 (16:55 -0800)]
Merge "Further rate control cleanups"

10 years agoMerge "Cleaning up vp9_detokenize.c file."
Dmitry Kovalev [Fri, 6 Dec 2013 00:45:10 +0000 (16:45 -0800)]
Merge "Cleaning up vp9_detokenize.c file."

10 years agoMerge "Removing vp9_default_coef_probs.h file."
Dmitry Kovalev [Fri, 6 Dec 2013 00:44:26 +0000 (16:44 -0800)]
Merge "Removing vp9_default_coef_probs.h file."

10 years agoFurther rate control cleanups
Deb Mukherjee [Wed, 4 Dec 2013 01:05:19 +0000 (17:05 -0800)]
Further rate control cleanups

Includes various cleanups.
Streamlines the interfaces so that all rate control state
updates happen in the vp9_rc_postencode_update() function.
This will hopefully make it easier to support multiple
rate control schemes.
Removes some unnecessary code, which in rare cases can casue
a difference in the constrained quality mode output, but
other than that there is no bitstream change yet.

Change-Id: I3198cc37249932feea1e3691c0b2650e7b0c22fc

10 years agoRenaming constants.
Dmitry Kovalev [Fri, 6 Dec 2013 00:23:09 +0000 (16:23 -0800)]
Renaming constants.

NUM_YV12_BUFFERS        => FRAME_BUFFERS
ALLOWED_REFS_PER_FRAME  => REFS_PER_FRAME
NUM_REF_FRAMES_LOG2     => REF_FRAMES_LOG2
NUM_REF_FRAMES          => REF_FRAMES
NUM_FRAME_CONTEXTS_LOG2 => FRAME_CONTEXTS_LOG2
NUM_FRAME_CONTEXTS      => FRAME_CONTEXTS

Change-Id: I4e1ada08f25d8fa30fdf03aebe1b1c9df0f87e63

10 years agoRemoving duplicated C code from vp9_loopfilter_filters.c file.
Dmitry Kovalev [Thu, 5 Dec 2013 23:49:57 +0000 (15:49 -0800)]
Removing duplicated C code from vp9_loopfilter_filters.c file.

Change-Id: I299b621fca1c8ff5d296afde9698cdcccfecaf3f

10 years agoFix bug with put slice cb function.
Frank Galligan [Thu, 5 Dec 2013 23:45:15 +0000 (15:45 -0800)]
Fix bug with put slice cb function.

Change-Id: Idfbd87d0a4bebdce7dd587c8446e7fa75b030d91

10 years agoRemove redundant calls to vp9_update_mode_info_border
Adrian Grange [Thu, 5 Dec 2013 22:45:45 +0000 (14:45 -0800)]
Remove redundant calls to vp9_update_mode_info_border

Removed calls to vp9_update_mode_info_border since
they immediately followed code that initialized the
entire buffer to 0.

Change-Id: Ife06794daa20439a0b607a83a87f88df59afac40

10 years agoUsing lookup to determine tx_size in encode_superblock().
Dmitry Kovalev [Thu, 5 Dec 2013 20:25:03 +0000 (12:25 -0800)]
Using lookup to determine tx_size in encode_superblock().

Change-Id: I68d6217db6f67da15380cd59ec5eda0c44da7d34

10 years agoMerge "Cleaning up vp9_get_pred_context_tx_size() function."
Dmitry Kovalev [Thu, 5 Dec 2013 17:59:00 +0000 (09:59 -0800)]
Merge "Cleaning up vp9_get_pred_context_tx_size() function."

10 years agoMerge "Disable --tune=ssim for vp9"
Yaowu Xu [Thu, 5 Dec 2013 17:15:13 +0000 (09:15 -0800)]
Merge "Disable --tune=ssim for vp9"

10 years agoFix ref count decrement code.
Frank Galligan [Thu, 5 Dec 2013 06:21:00 +0000 (22:21 -0800)]
Fix ref count decrement code.

Buffer 0 would never be decremented, so it could only be used
once.

Change-Id: I605d99fa2a513eadae6a0e230161729880653282

10 years agoCleaning up vp9_get_pred_context_tx_size() function.
Dmitry Kovalev [Thu, 5 Dec 2013 05:35:30 +0000 (21:35 -0800)]
Cleaning up vp9_get_pred_context_tx_size() function.

Change-Id: Ia6ef876e3d1e66b2182a9c0bce3fd758691cd381

10 years agoMoving vp9_token from common to encoder.
Dmitry Kovalev [Thu, 5 Dec 2013 01:39:30 +0000 (17:39 -0800)]
Moving vp9_token from common to encoder.

Change-Id: I40a070c353663e82c59e174d7c92eb84f72ed808

10 years agoMerge "Fix the initial references to frame buffers."
Frank Galligan [Thu, 5 Dec 2013 03:26:40 +0000 (19:26 -0800)]
Merge "Fix the initial references to frame buffers."

10 years agoRemove redundant bsize mapping in motion search
Jingning Han [Thu, 5 Dec 2013 01:22:32 +0000 (17:22 -0800)]
Remove redundant bsize mapping in motion search

Both single frame and compound inter motion search run with luma
component only. Hence removing the block size mapping therein.

Change-Id: I217488e702432ae9fa0e95bf6f516ebb36b5c79b

10 years agoCleaning up vp9_detokenize.c file.
Dmitry Kovalev [Thu, 5 Dec 2013 01:24:18 +0000 (17:24 -0800)]
Cleaning up vp9_detokenize.c file.

Using consistent names (block_idx => block, dqcoeff_ptr => dqcoeff,
pt => ctx), inlining get_tx_eob() call.

Change-Id: I05208e57df81bbb8f25b8274684a48192e9de464

10 years agoMerge "Add a test vector for loopfilter"
Jingning Han [Thu, 5 Dec 2013 01:13:57 +0000 (17:13 -0800)]
Merge "Add a test vector for loopfilter"

10 years agoRemoving vp9_default_coef_probs.h file.
Dmitry Kovalev [Thu, 5 Dec 2013 01:04:35 +0000 (17:04 -0800)]
Removing vp9_default_coef_probs.h file.

Moving all probability tables from removed file to vp9_entropy.c.

Change-Id: I12846f1da778c3016d96b82e53384d4634883430

10 years agoMerge "Cleaning up vp9_dec_build_inter_predictors_sb function."
Dmitry Kovalev [Thu, 5 Dec 2013 00:57:54 +0000 (16:57 -0800)]
Merge "Cleaning up vp9_dec_build_inter_predictors_sb function."

10 years agoFix the initial references to frame buffers.
Frank Galligan [Wed, 4 Dec 2013 23:11:00 +0000 (15:11 -0800)]
Fix the initial references to frame buffers.

The old code would start in a mixed state, where all the reference
frames were pointing to frame buffer 0, but the reference counts
were 0. This is why we needed special code for the first frame.

Change-Id: I734961012917654ff8c0c8b317aac00ab75ded1a

10 years agoMerge "Cleaning up vp9_entropy.h file."
Dmitry Kovalev [Thu, 5 Dec 2013 00:46:41 +0000 (16:46 -0800)]
Merge "Cleaning up vp9_entropy.h file."

10 years agoMerge "Removing old code."
Dmitry Kovalev [Thu, 5 Dec 2013 00:45:11 +0000 (16:45 -0800)]
Merge "Removing old code."

10 years agoMerge "Compact formatting default_coef_probs_{4x4, 8x8, 16x16, 32x32}."
Dmitry Kovalev [Thu, 5 Dec 2013 00:37:10 +0000 (16:37 -0800)]
Merge "Compact formatting default_coef_probs_{4x4, 8x8, 16x16, 32x32}."

10 years agoMerge "Modified spatial scalable encoder & unit tests"
Adrian Grange [Wed, 4 Dec 2013 23:49:12 +0000 (15:49 -0800)]
Merge "Modified spatial scalable encoder & unit tests"

10 years agoCompact formatting default_coef_probs_{4x4, 8x8, 16x16, 32x32}.
Dmitry Kovalev [Wed, 4 Dec 2013 23:45:28 +0000 (15:45 -0800)]
Compact formatting default_coef_probs_{4x4, 8x8, 16x16, 32x32}.

Change-Id: If40b930431766d5179b9769509b5e4ca1628e9cc

10 years agoAdd a test vector for loopfilter
Jingning Han [Wed, 4 Dec 2013 21:02:33 +0000 (13:02 -0800)]
Add a test vector for loopfilter

The test vector exercises the loopfilter behavior at frame boundary.

blue_sky_1080p25.y4m --good --cpu-used=2 --threads=0 --profile=0
--lag-in-frames=25 --limit=300 --min-q=0 --max-q=63 --cq-level=20
--end-usage=0 --auto-alt-ref=1 -p 2 --kf-max-dist=9999 --kf-min-dist=0
--drop-frame=0 --static-thresh=0 --bias-pct=50 --minsection-pct=0
--maxsection-pct=2000 --arnr-maxframes=7 --arnr-strength=5
--arnr-type=3 --sharpness=0 --undershoot-pct=100 --target-bitrate=6000

Change-Id: Ibd0807395d2fe87f24f81f990369678df3de7c23

10 years agoDisable --tune=ssim for vp9
Yaowu Xu [Wed, 4 Dec 2013 20:36:42 +0000 (12:36 -0800)]
Disable --tune=ssim for vp9

The feature is not yet supported.

Change-Id: If46382302d2077b20670391b4a03017045a104f5

10 years agoMerge "Formatting vp9_pareto8_full array."
Dmitry Kovalev [Wed, 4 Dec 2013 20:22:50 +0000 (12:22 -0800)]
Merge "Formatting vp9_pareto8_full array."

10 years agoCleaning up vp9_dec_build_inter_predictors_sb function.
Dmitry Kovalev [Wed, 4 Dec 2013 20:11:01 +0000 (12:11 -0800)]
Cleaning up vp9_dec_build_inter_predictors_sb function.

Using get_plane_block_size() instead of manipulation with subsampling
values, calculating all required values only once without redundant calls
to b_width_log2().

Change-Id: I00303f2a0926f9c4cb17f34591adda60615f8919

10 years agoModified spatial scalable encoder & unit tests
Adrian Grange [Wed, 20 Nov 2013 17:49:33 +0000 (09:49 -0800)]
Modified spatial scalable encoder & unit tests

Modifications to the spatial scalable encoder to match
changes made to the scaling code in the decoder.

In particular, the use of a dummy first frame was removed
now that the decoder is able to handle a smaller first
frame.

SvcTest.FirstFrameHasLayers unit test re-enabled.

Change-Id: Ic2e91fbe4eadf95895569947670d36d68abaf458

10 years agoRevert "Simplify mask checking in loop filters"
Yunqing Wang [Wed, 4 Dec 2013 19:19:53 +0000 (11:19 -0800)]
Revert "Simplify mask checking in loop filters"

Jingning saw bitstream change with this patch. It could be true
that (mask_16x16_0 & 1) is 1, but (mask_16x16_1 & 1) is 0 in some
edge cases.

This reverts commit 8f05e70340533b9922be5b1c97c37e50607fd862.

Change-Id: I0a529435ce816a1e14653eb510d5090de276070a

10 years agoMerge "Moving eob array to the encoder."
Dmitry Kovalev [Wed, 4 Dec 2013 18:58:02 +0000 (10:58 -0800)]
Merge "Moving eob array to the encoder."

10 years agoMerge "Change default behavior to assume sampled chroma"
Adrian Grange [Wed, 4 Dec 2013 17:35:14 +0000 (09:35 -0800)]
Merge "Change default behavior to assume sampled chroma"

10 years agoMerge "Improve idct16x16: _256_add_sse2(x1.107)&_10_add_sse2(x1.012)"
Yunqing Wang [Wed, 4 Dec 2013 16:50:50 +0000 (08:50 -0800)]
Merge "Improve idct16x16: _256_add_sse2(x1.107)&_10_add_sse2(x1.012)"

10 years agoRemoving old code.
Dmitry Kovalev [Wed, 4 Dec 2013 03:44:48 +0000 (19:44 -0800)]
Removing old code.

Change-Id: I7ccbe13e1accd292a3e0e98522416f9c4b4bc82b

10 years agoFormatting vp9_pareto8_full array.
Dmitry Kovalev [Wed, 4 Dec 2013 02:49:19 +0000 (18:49 -0800)]
Formatting vp9_pareto8_full array.

Change-Id: Ic7f47a8d233daf5e61e82092865837ea4eda4095

10 years agoMerge "Fix a spelling mistake in filename"
Yaowu Xu [Wed, 4 Dec 2013 02:11:36 +0000 (18:11 -0800)]
Merge "Fix a spelling mistake in filename"

10 years agoMerge "Fix VP8 border replication for very small image"
Yaowu Xu [Wed, 4 Dec 2013 02:03:08 +0000 (18:03 -0800)]
Merge "Fix VP8 border replication for very small image"

10 years agoMoving eob array to the encoder.
Dmitry Kovalev [Wed, 4 Dec 2013 01:59:32 +0000 (17:59 -0800)]
Moving eob array to the encoder.

In the decoder we don't need to save eobs, we can pass eob as an argument.
That's why removing eob arrays from VP9Decompressor and TileWorkerData,
and moving eob pointer from macroblockd_plane to macroblock_plane.

Change-Id: I8eb919acc837acfb3abdd8319af63d1bbca8217a

10 years agoCleaning up vp9_entropy.h file.
Dmitry Kovalev [Wed, 4 Dec 2013 01:23:03 +0000 (17:23 -0800)]
Cleaning up vp9_entropy.h file.

Renaming constants for consistency:
  DCT_VAL_CATEGORY1 => CATEGORY1_TOKEN
  DCT_VAL_CATEGORY2 => CATEGORY2_TOKEN
  DCT_VAL_CATEGORY3 => CATEGORY3_TOKEN
  DCT_VAL_CATEGORY4 => CATEGORY4_TOKEN
  DCT_VAL_CATEGORY5 => CATEGORY5_TOKEN
  DCT_VAL_CATEGORY6 => CATEGORY6_TOKEN
  DCT_EOB_TOKEN     => EOB_TOKEN
  DCT_EOB_MODEL_TOKEN => EOB_MODEL_TOKEN
  MAX_ENTROPY_TOKENS => ENTROPY_TOKENS

Moving constants:
  INTER_MODE_CONTEXTS from vp9_entropy.h to vp9_blockd.h.
  EOSB_TOKEN from vp9_entropy.h to vp9_tokenize.h

Change-Id: I5fcbf081318e1d365792b6d290a930c6cb0f3fc2

10 years agoFix a spelling mistake in filename
Yaowu Xu [Wed, 4 Dec 2013 01:19:41 +0000 (17:19 -0800)]
Fix a spelling mistake in filename

Change-Id: Ic06124ed95a50935b1c6509907dcac87c7707bcc

10 years agoFix VP8 border replication for very small image
Yaowu Xu [Tue, 3 Dec 2013 16:38:30 +0000 (08:38 -0800)]
Fix VP8 border replication for very small image

Also added a test vector for this issue.

Change-Id: I8a8654f9d33b27afd53c295f1ea44d198550d067

10 years agoFix initialization order for the encoder
Jingning Han [Tue, 3 Dec 2013 23:25:16 +0000 (15:25 -0800)]
Fix initialization order for the encoder

This commit makes the coefficient tree initialized prior to token
initialization, where the coefficient costs are filled out according
to the probabilities associated with coefficient value categories.

Change-Id: If4e89c3923058376f8382c683fe4a225a4a38af3

10 years agoMerge "Making names consistent with REFERENCE_MODE enum name."
Dmitry Kovalev [Tue, 3 Dec 2013 20:48:34 +0000 (12:48 -0800)]
Merge "Making names consistent with REFERENCE_MODE enum name."

10 years agoMerge "Removing token_to_counttoken array."
Dmitry Kovalev [Tue, 3 Dec 2013 20:29:56 +0000 (12:29 -0800)]
Merge "Removing token_to_counttoken array."

10 years agoMerge "Using local variable for token_cache."
Dmitry Kovalev [Tue, 3 Dec 2013 20:29:50 +0000 (12:29 -0800)]
Merge "Using local variable for token_cache."

10 years agoMerge "Removing dummy assignments."
Dmitry Kovalev [Tue, 3 Dec 2013 18:59:34 +0000 (10:59 -0800)]
Merge "Removing dummy assignments."

10 years agoMerge "Remove plane_block_idx."
Alex Converse [Tue, 3 Dec 2013 18:51:13 +0000 (10:51 -0800)]
Merge "Remove plane_block_idx."

10 years agoMerge "Fix intra prediction ref selection in skip_encode"
Jingning Han [Tue, 3 Dec 2013 17:47:41 +0000 (09:47 -0800)]
Merge "Fix intra prediction ref selection in skip_encode"

10 years agoMerge "Fix use_uv_intra_estimate in rd loop"
Paul Wilkins [Tue, 3 Dec 2013 12:30:50 +0000 (04:30 -0800)]
Merge "Fix use_uv_intra_estimate in rd loop"

10 years agoFix intra prediction ref selection in skip_encode
Jingning Han [Tue, 3 Dec 2013 02:44:08 +0000 (18:44 -0800)]
Fix intra prediction ref selection in skip_encode

This commit fixes the intra prediction reference source selection
in the settings of skip_encode. Use original boundary pixels as
prediction reference, when the inverse transform and reconstruction
are skipped in the per block size rate-distortion optimization loop.

Change-Id: I36081aa30aa46e203e0e6f4e8a420fd08269469a

10 years agoRemoving token_to_counttoken array.
Dmitry Kovalev [Tue, 3 Dec 2013 02:41:53 +0000 (18:41 -0800)]
Removing token_to_counttoken array.

Change-Id: I02050bcca4c9fd68a00abdea5aba0c3f8993d9a9

10 years agoRemove plane_block_idx.
Alex Converse [Tue, 3 Dec 2013 02:33:50 +0000 (18:33 -0800)]
Remove plane_block_idx.

Its last remaining caller can be passed its results directly without any
additional work. Also, it's not non-4:2:0 safe.

Change-Id: Ia5089ba5f7f66c7617270483c619c9271aefd868

10 years agoImprove idct16x16: _256_add_sse2(x1.107)&_10_add_sse2(x1.012)
Abo Talib Mahfoodh [Tue, 3 Dec 2013 02:04:18 +0000 (21:04 -0500)]
Improve idct16x16: _256_add_sse2(x1.107)&_10_add_sse2(x1.012)

The performance gain of idct16x16_10_add_sse2 function is not
noticeable. However since both functions use the IDCT16_1D,
idct16x16_10_add_sse2 should be modified as well.
Tested with: park_joy_420_720p50.y4m

Change-Id: I02b957e36fcf997c677d15baf496533895271bff

10 years agoFix use_uv_intra_estimate in rd loop
Jingning Han [Mon, 2 Dec 2013 23:24:41 +0000 (15:24 -0800)]
Fix use_uv_intra_estimate in rd loop

This commit fixes the use of uv_intra_estimate by properly restoring
the mode_info struct required by rd_pick_intra_sbuv_mode.

Change-Id: I6a156d79533c4e2e60dfd3b8c5bb0a42a8eca280

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 agoMaking names consistent with REFERENCE_MODE enum name.
Dmitry Kovalev [Wed, 27 Nov 2013 00:46:13 +0000 (16:46 -0800)]
Making names consistent with REFERENCE_MODE enum name.

Change-Id: I17268af3e0cbf7e5788c3154466e404947c944b3

10 years agoRemoving dummy assignments.
Dmitry Kovalev [Tue, 26 Nov 2013 23:35:11 +0000 (15:35 -0800)]
Removing dummy assignments.

Change-Id: I10d1a4bcac751a982d9dd135f019e3a4d92f8522

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."