platform/upstream/libvpx.git
10 years agoReordering probability tables for consistency.
Dmitry Kovalev [Tue, 22 Oct 2013 19:21:37 +0000 (12:21 -0700)]
Reordering probability tables for consistency.

Putting vp9_kf_y_mode_prob[] before vp9_kf_uv_mode_prob[].

Change-Id: I2404910e35de1ee24ce46337e00c07eb1446e50f

10 years agoMerge "Inlining set_partition_seg_context function."
Dmitry Kovalev [Mon, 21 Oct 2013 21:43:37 +0000 (14:43 -0700)]
Merge "Inlining set_partition_seg_context function."

10 years agoMerge "Cleanup: using cm variable instead of cpi->common."
Dmitry Kovalev [Mon, 21 Oct 2013 21:30:01 +0000 (14:30 -0700)]
Merge "Cleanup: using cm variable instead of cpi->common."

10 years agoInlining set_partition_seg_context function.
Dmitry Kovalev [Mon, 21 Oct 2013 19:02:19 +0000 (12:02 -0700)]
Inlining set_partition_seg_context function.

We used set_partition_seg_context() only before calls to:
 1. update_partition_context()
 2. partition_plane_context()

Moving these functions from vp9_blockd.h to vp9_onyxc_int.h and
inlining  set_partition_seg_context into them. After that it is not
necessary to have {above, left}_seg_context fields in MACROBLOCKD struture,
so removing them also.

Change-Id: I4723f59e1c8f3788432b7f51185d8d747b3a97f9

10 years agoMerge "Make memory alloc in pick_mode_context bsize aware"
Jingning Han [Mon, 21 Oct 2013 18:45:59 +0000 (11:45 -0700)]
Merge "Make memory alloc in pick_mode_context bsize aware"

10 years agoCleanup: using cm variable instead of cpi->common.
Dmitry Kovalev [Mon, 21 Oct 2013 18:10:11 +0000 (11:10 -0700)]
Cleanup: using cm variable instead of cpi->common.

Change-Id: Iab334b5fd51dfa7e7f29963f8bdc62fd7355e56d

10 years agoMerge "Moving allow_high_precision_mv from MACROBLOCKD to VP9_COMMON."
Dmitry Kovalev [Mon, 21 Oct 2013 17:55:02 +0000 (10:55 -0700)]
Merge "Moving allow_high_precision_mv from MACROBLOCKD to VP9_COMMON."

10 years agoMerge "Fix d207 intra prediction SSSE3 functions"
Yunqing Wang [Mon, 21 Oct 2013 17:45:20 +0000 (10:45 -0700)]
Merge "Fix d207 intra prediction SSSE3 functions"

10 years agoMerge "Modified no memory rate control."
Paul Wilkins [Mon, 21 Oct 2013 17:32:47 +0000 (10:32 -0700)]
Merge "Modified no memory rate control."

10 years agoMerge "Reduced delta for kf/gf/arf when at maxq."
Paul Wilkins [Mon, 21 Oct 2013 17:32:35 +0000 (10:32 -0700)]
Merge "Reduced delta for kf/gf/arf when at maxq."

10 years agoMoving allow_high_precision_mv from MACROBLOCKD to VP9_COMMON.
Dmitry Kovalev [Mon, 21 Oct 2013 17:12:14 +0000 (10:12 -0700)]
Moving allow_high_precision_mv from MACROBLOCKD to VP9_COMMON.

This value is a global frame-level flag, not a macroblock-level.

Change-Id: Ie8c5790a931150741c2167c00c3e3dd2cf26744d

10 years agoMerge "Removing unused struct member mvcount[MV_VALS]."
Dmitry Kovalev [Mon, 21 Oct 2013 16:46:07 +0000 (09:46 -0700)]
Merge "Removing unused struct member mvcount[MV_VALS]."

10 years agoMerge "Added necessary includes"
James Zern [Mon, 21 Oct 2013 14:19:51 +0000 (07:19 -0700)]
Merge "Added necessary includes"

10 years agovp9_decodframe: limit scope of private function params
James Zern [Mon, 7 Oct 2013 10:38:06 +0000 (12:38 +0200)]
vp9_decodframe: limit scope of private function params

replace VP9D_COMP usage with the (slightly) more targeted
VP9_COMMON/MACROBLCKD structures.

Change-Id: I50d2579238d1a5d51ba5a82379266448ae64b24b

10 years agovp9_decode_tokens: limit scope of function params
James Zern [Mon, 7 Oct 2013 10:26:26 +0000 (12:26 +0200)]
vp9_decode_tokens: limit scope of function params

replace VP9D_COMP usage with the (slightly) more targeted
VP9_COMMON/MACROBLCKD/struct segmentation structures.

Change-Id: Iabb3616e231417b0e17b7e4b384ea63167a81745

10 years agovp9_read_mode_info: limit scope of function params
James Zern [Mon, 7 Oct 2013 10:03:53 +0000 (12:03 +0200)]
vp9_read_mode_info: limit scope of function params

replace VP9D_COMP usage with the (slightly) more targeted
VP9_COMMON/MACROBLCKD structures.

Change-Id: I09f6c4a5b0bcc20222210831b5b4c1582eced300

10 years agovp9_decodemv: limit scope of private function params
James Zern [Mon, 7 Oct 2013 10:00:15 +0000 (12:00 +0200)]
vp9_decodemv: limit scope of private function params

replace VP9D_COMP usage with the (slightly) more targeted
VP9_COMMON/MACROBLCKD structures.

Change-Id: Ieafac9ad035cba808ed91d3dfd321ba864b58905

10 years agoModified no memory rate control.
Paul Wilkins [Wed, 16 Oct 2013 09:59:55 +0000 (10:59 +0100)]
Modified no memory rate control.

This 2-pass rate control setting allocates bits based
on first pass stats to each kf group, gf group and individual
frame but does not correct the bits left and allocation after
each frame.

In other words it recommends a bit allocation for each frame
but does not try and correct any over or under spend on a
frame over the remainder of the clip. This reduces the accuracy
of rate control in terms of hitting an average bitrate but prevents
problems that may arise because early frames either use to many
or too few bits. This mode is currently more inclined to undershoot
than overshoot (particularly at higher data rates).

Also minor changes to rate of adaption when recode loop is not
enabled.

This mode is currently enabled by default for VBR.
It gives the following % performance gains.

derf +0.467, +1.072
yt 2.962, 2.645
stdhd 1.682, 1.595,
yt-hd 2.3, 2.174

Change-Id: I3c84a9bf8884e5b345698ff0e19187f792c2f3a0

10 years agoReduced delta for kf/gf/arf when at maxq.
Paul Wilkins [Sat, 19 Oct 2013 11:24:59 +0000 (12:24 +0100)]
Reduced delta for kf/gf/arf when at maxq.

Delta reduced because of concern about popping on some
very hard clips.

Also allow some frame recode at speed 2 for kf/gf/arf.

Change-Id: Ib47dff42da41aa6eec83b7285fcaaca24abb851e

10 years agoFix d207 intra prediction SSSE3 functions
Yunqing Wang [Sat, 19 Oct 2013 00:00:18 +0000 (17:00 -0700)]
Fix d207 intra prediction SSSE3 functions

This patch fixed a bug that caused 32bit PIC build mismatch. The
stack pointer was modified after "GET_GOT". Loading left pointer
from a hard-coded position gave wrong result.

Change-Id: Iea0aec6f917b12a6b3393ffc986bad74510248cc

10 years agoDisable d207 intra prediction SSSE3 functions
Yunqing Wang [Fri, 18 Oct 2013 21:23:17 +0000 (14:23 -0700)]
Disable d207 intra prediction SSSE3 functions

Commit "d207 intra prediction ssse3 using bytes" caused mismatch
while building 32bit PIC code. Disabled these SSSE3 functions
until we fix the bug.

Change-Id: Ic444e531d3d4058092fe6eab09006b44fcb18e4c

10 years agoMerge "vp9 dec/com: only update frame counts when necessary"
James Zern [Fri, 18 Oct 2013 20:56:11 +0000 (13:56 -0700)]
Merge "vp9 dec/com: only update frame counts when necessary"

10 years agoAdded necessary includes
Yaowu Xu [Fri, 18 Oct 2013 00:58:23 +0000 (17:58 -0700)]
Added necessary includes

To avoid the dependency on the order of header files included.

Change-Id: Ic142638d75fe95e6aba41b11664bfa15f076f793

10 years agoMerge "vp9 com/dec: avoid reading unavailable above/left"
James Zern [Fri, 18 Oct 2013 20:22:19 +0000 (13:22 -0700)]
Merge "vp9 com/dec: avoid reading unavailable above/left"

10 years agovp9 dec/com: only update frame counts when necessary
James Zern [Wed, 16 Oct 2013 14:20:01 +0000 (16:20 +0200)]
vp9 dec/com: only update frame counts when necessary

don't update them when frame_parallel_mode is true

Change-Id: I22ff131a6c6eea238415d10b729f195c7d6dc60d

10 years agoMerge "Use lookup table to simplify logic"
Yaowu Xu [Fri, 18 Oct 2013 19:55:24 +0000 (12:55 -0700)]
Merge "Use lookup table to simplify logic"

10 years agoMerge "Using stride (# of elements) instead of pitch (bytes) in fdct16x16."
Dmitry Kovalev [Fri, 18 Oct 2013 19:53:09 +0000 (12:53 -0700)]
Merge "Using stride (# of elements) instead of pitch (bytes) in fdct16x16."

10 years agoMake memory alloc in pick_mode_context bsize aware
Jingning Han [Wed, 16 Oct 2013 19:43:03 +0000 (12:43 -0700)]
Make memory alloc in pick_mode_context bsize aware

This commit makes the buffer allocation of zcoeff_blk array in
pick_mode_context block size aware. It calculates the number of
4x4 blocks in the partition and assigns the memory space accordingly.
This process (and the uninitialization) is done once for each encoding
pass. It allows memory copy of smaller buffer when possible.

For football at 600kbps, the runtimes improve by about 1%:
speed 1, 45961ms -> 45472ms
speed 2, 23863ms -> 23598ms

Change-Id: Id2ca24906fa89f46fa5fe742ec4b8efc2a61f877

10 years agovp9 com/dec: avoid reading unavailable above/left
James Zern [Wed, 16 Oct 2013 16:33:43 +0000 (18:33 +0200)]
vp9 com/dec: avoid reading unavailable above/left

in most cases at least the left column was a harmless race as it was
left unused later in the code.

Change-Id: I43211df66fb157c6feecf08c681add4fcf18b644

10 years agoMerge "Converted assert to error checking"
Yaowu Xu [Fri, 18 Oct 2013 19:39:28 +0000 (12:39 -0700)]
Merge "Converted assert to error checking"

10 years agoRemoving unused struct member mvcount[MV_VALS].
Dmitry Kovalev [Fri, 18 Oct 2013 18:56:55 +0000 (11:56 -0700)]
Removing unused struct member mvcount[MV_VALS].

Change-Id: Iaaca88097904b889769901f2bd331f4fff0e5044

10 years agoMerge "Passing block index explicitly instead of using get_sb_index()."
Dmitry Kovalev [Fri, 18 Oct 2013 18:51:24 +0000 (11:51 -0700)]
Merge "Passing block index explicitly instead of using get_sb_index()."

10 years agoUsing stride (# of elements) instead of pitch (bytes) in fdct16x16.
Dmitry Kovalev [Fri, 18 Oct 2013 18:49:33 +0000 (11:49 -0700)]
Using stride (# of elements) instead of pitch (bytes) in fdct16x16.

Just making fdct consistent with iht/idct/fht functions which all use
stride (# of elements) as input argument.

Change-Id: I2d95fdcbba96aaa0ed24a80870cb38f53487a97d

10 years agoConverted assert to error checking
Yaowu Xu [Fri, 18 Oct 2013 18:24:00 +0000 (11:24 -0700)]
Converted assert to error checking

Change-Id: Icb8c677f910f588cc7c97e70f024787fe6789257

10 years agoMerge "Added checking for invalid size"
Yaowu Xu [Fri, 18 Oct 2013 18:45:12 +0000 (11:45 -0700)]
Merge "Added checking for invalid size"

10 years agoPassing block index explicitly instead of using get_sb_index().
Dmitry Kovalev [Wed, 16 Oct 2013 19:35:07 +0000 (12:35 -0700)]
Passing block index explicitly instead of using get_sb_index().

That makes decoder and encoder (only bitstream writing part) a little bit
simpler and faster. Moving get_sb_index() function to the encoder.

Change-Id: Ie91aaeefd69c84b085948267b33556a7666c6278

10 years agoAdded checking for invalid size
Yaowu Xu [Fri, 18 Oct 2013 17:32:56 +0000 (10:32 -0700)]
Added checking for invalid size

Change-Id: I9672a61e60a26e2934796f088880ce4cb49605be

10 years agoMerge "Add missing calls to emms in the adaptive quantization code"
Paul Wilkins [Fri, 18 Oct 2013 08:59:03 +0000 (01:59 -0700)]
Merge "Add missing calls to emms in the adaptive quantization code"

10 years agofix a VP8 build issue
Yaowu Xu [Thu, 17 Oct 2013 23:02:53 +0000 (16:02 -0700)]
fix a VP8 build issue

coef_counts is now in cpi->mb, instead of cpi. The commit corrected the
mis-use and enable succefual build.

Change-Id: I0e77909d34571cfd2560c66b46b1f8fa0cd1a6b4

10 years agoUse lookup table to simplify logic
Yaowu Xu [Thu, 17 Oct 2013 18:09:14 +0000 (11:09 -0700)]
Use lookup table to simplify logic

In deciding the transform size for a given block in a given TX_MODE.

Change-Id: I1467da09853e69cd320695a24c04e19a2f3d04fb

10 years agoMerge "Adding allow_hp as an argument to mv search functions."
Dmitry Kovalev [Thu, 17 Oct 2013 21:47:06 +0000 (14:47 -0700)]
Merge "Adding allow_hp as an argument to mv search functions."

10 years agoMerge "Using TREE_SIZE macro for vp9_segment_tree."
Dmitry Kovalev [Thu, 17 Oct 2013 21:46:08 +0000 (14:46 -0700)]
Merge "Using TREE_SIZE macro for vp9_segment_tree."

10 years agoMerge "Removing last_kf_gf_q member from VP9Common structure."
Dmitry Kovalev [Thu, 17 Oct 2013 21:46:02 +0000 (14:46 -0700)]
Merge "Removing last_kf_gf_q member from VP9Common structure."

10 years agoAdd missing calls to emms in the adaptive quantization code
Guillaume Martres [Thu, 17 Oct 2013 18:04:57 +0000 (11:04 -0700)]
Add missing calls to emms in the adaptive quantization code

Also avoid using floating-point operations when adaptive quantization is
disabled.

Change-Id: I54936d7afb661df049cdb3ecd246d04ac2a9d8d3

10 years agoAdding allow_hp as an argument to mv search functions.
Dmitry Kovalev [Thu, 17 Oct 2013 21:02:04 +0000 (14:02 -0700)]
Adding allow_hp as an argument to mv search functions.

Making this change in order to move allow_high_precision_mv field
from MACROBLOCKD structure to VP9_COMMON (because it is a frame level
flag).

Change-Id: I1d006ba36d938e0caf4d40fa051e2e38df9c1108

10 years agoUsing stride (# of elements) instead of pitch (bytes) in fdct32x32.
Dmitry Kovalev [Thu, 17 Oct 2013 20:02:28 +0000 (13:02 -0700)]
Using stride (# of elements) instead of pitch (bytes) in fdct32x32.

Just making fdct consistent with iht/idct/fht functions which all use
stride (# of elements) as input argument.

Change-Id: Id623c5113262655fa50f7c9d6cec9a91fcb20bb4

10 years agoMerge "Prevent first pass from outputing invalid info"
Yaowu Xu [Thu, 17 Oct 2013 16:01:14 +0000 (09:01 -0700)]
Merge "Prevent first pass from outputing invalid info"

10 years agoRemoving last_kf_gf_q member from VP9Common structure.
Dmitry Kovalev [Thu, 17 Oct 2013 01:01:48 +0000 (18:01 -0700)]
Removing last_kf_gf_q member from VP9Common structure.

It looks like we don't actually use this value.

Change-Id: If21d52b597337e7755f7ea817824fc2b1e477a14

10 years agoUsing TREE_SIZE macro for vp9_segment_tree.
Dmitry Kovalev [Thu, 17 Oct 2013 00:35:06 +0000 (17:35 -0700)]
Using TREE_SIZE macro for vp9_segment_tree.

Change-Id: I2965453135643d8f061b9fa9406fdca2db9c961e

10 years agoMerge changes I6226456d,I97925178,I766c4b74
Guillaume Martres [Thu, 17 Oct 2013 00:05:39 +0000 (17:05 -0700)]
Merge changes I6226456d,I97925178,I766c4b74

* changes:
  Use a separate MODE_INFO stream for each tile column
  Get rid of "this_mi", use "mi_8x8[0]" everywhere instead
  Make the static_segmentation feature work again

10 years agoPrevent first pass from outputing invalid info
Yaowu Xu [Wed, 16 Oct 2013 23:29:28 +0000 (16:29 -0700)]
Prevent first pass from outputing invalid info

First pass does not produce compressed data, therefore encode/decode
match check is not initialized.

Change-Id: I1971a6747337872a850987cc70ba267bd0f1d564

10 years agoUse a separate MODE_INFO stream for each tile column
Guillaume Martres [Fri, 11 Oct 2013 23:14:29 +0000 (16:14 -0700)]
Use a separate MODE_INFO stream for each tile column

This should make parallel tiles decoding easier to implement.

Change-Id: I6226456dd11f275fa991e4a7a930549da6675915

10 years agoGet rid of "this_mi", use "mi_8x8[0]" everywhere instead
Guillaume Martres [Thu, 10 Oct 2013 19:11:44 +0000 (12:11 -0700)]
Get rid of "this_mi", use "mi_8x8[0]" everywhere instead

The only case where they were intentionally pointing to different
structures was in mbgraph, and this didn't have the expected behavior
because both of these pointers are used interchangeably through the code

Change-Id: I979251782f90885fe962305bcc845bc05907f80c

10 years agoMake the static_segmentation feature work again
Guillaume Martres [Thu, 10 Oct 2013 18:03:36 +0000 (11:03 -0700)]
Make the static_segmentation feature work again

Change-Id: I766c4b74db526efa4ff6dd2d95ef3e0beb45b6e5

10 years agoMerge "Adding get_band_translate() function."
Dmitry Kovalev [Wed, 16 Oct 2013 23:15:18 +0000 (16:15 -0700)]
Merge "Adding get_band_translate() function."

10 years agoMerge "Prevent accidental changes to the previous frame mode_infos"
Guillaume Martres [Wed, 16 Oct 2013 23:07:05 +0000 (16:07 -0700)]
Merge "Prevent accidental changes to the previous frame mode_infos"

10 years agoMerge "change to use vp9_idct_32x32_add"
Yaowu Xu [Wed, 16 Oct 2013 22:53:37 +0000 (15:53 -0700)]
Merge "change to use vp9_idct_32x32_add"

10 years agoAdding get_band_translate() function.
Dmitry Kovalev [Wed, 16 Oct 2013 22:11:42 +0000 (15:11 -0700)]
Adding get_band_translate() function.

Moving code that gets band_translate array from get_scan_and_band()
function to get_band_translate() function. Renaming get_scan_and_band() to
get_scan().

Change-Id: I43047c205a1ca2a6e24be44db39dc04b7a385008

10 years agoInlining and removing fwd_txm16x16 and fwd_txm8x8 pointers.
Dmitry Kovalev [Wed, 16 Oct 2013 22:00:48 +0000 (15:00 -0700)]
Inlining and removing fwd_txm16x16 and fwd_txm8x8 pointers.

Change-Id: I3528ba1c3fee761918509f9d9dc2d842c69f5a44

10 years agoMerge "Cleanup of decode_coefs() function."
Dmitry Kovalev [Wed, 16 Oct 2013 21:47:17 +0000 (14:47 -0700)]
Merge "Cleanup of decode_coefs() function."

10 years agochange to use vp9_idct_32x32_add
Yaowu Xu [Wed, 16 Oct 2013 21:39:14 +0000 (14:39 -0700)]
change to use vp9_idct_32x32_add

instead of vp9_idct32x32_1024_add by making use the eob positions

Change-Id: Iafcad20f0c75d8e00536c6a20dda76fe40a973fb

10 years agoMerge "Removing print_prob_tree function and vp9_coeff_probs typedef."
Dmitry Kovalev [Wed, 16 Oct 2013 20:13:25 +0000 (13:13 -0700)]
Merge "Removing print_prob_tree function and vp9_coeff_probs typedef."

10 years agoMerge "Moving FILTER_BITS constant from vp9_convolve.h to vp9_filter.h."
Dmitry Kovalev [Wed, 16 Oct 2013 20:13:14 +0000 (13:13 -0700)]
Merge "Moving FILTER_BITS constant from vp9_convolve.h to vp9_filter.h."

10 years agoMerge "Using constants instead of plain numbers."
Dmitry Kovalev [Wed, 16 Oct 2013 20:13:04 +0000 (13:13 -0700)]
Merge "Using constants instead of plain numbers."

10 years agoInitial 1-pass.
Marco Paniconi [Thu, 3 Oct 2013 00:13:59 +0000 (17:13 -0700)]
Initial 1-pass.

Change-Id: I58c5436f5c95f6012fb2891cd2a02f76e4870b6a

10 years agoImplement variance-based adaptive quantization
Guillaume Martres [Mon, 7 Oct 2013 18:20:10 +0000 (19:20 +0100)]
Implement variance-based adaptive quantization

This should be similar to what x264 does with --aq-mode 1.
It works well with clips like parkjoy and touhou
(http://x264.nl/developers/Dark_Shikari/LosslessTouhou.mkv).
At low bitrates, the segmentation signaling overhead may negate the
benefits of this feature.

(PGW) Default changed to feature OFF to allow provisional merge.
Change-Id: I938abf9bb487e1d4ad3b0264ea03d9826275c70b

10 years agoMerge "lint-hunks: remove runtime/int filter"
James Zern [Wed, 16 Oct 2013 08:44:24 +0000 (01:44 -0700)]
Merge "lint-hunks: remove runtime/int filter"

10 years agoMerge "Updated encoder to handle intra-only frames"
Adrian Grange [Wed, 16 Oct 2013 00:19:28 +0000 (17:19 -0700)]
Merge "Updated encoder to handle intra-only frames"

10 years agoMerge "Remove Windows-style newlines using dos2unix"
Johann [Wed, 16 Oct 2013 00:05:32 +0000 (17:05 -0700)]
Merge "Remove Windows-style newlines using dos2unix"

10 years agoMerge "Make vp9_zero use cases of consistent format"
Jingning Han [Tue, 15 Oct 2013 23:49:05 +0000 (16:49 -0700)]
Merge "Make vp9_zero use cases of consistent format"

10 years agoUpdated encoder to handle intra-only frames
Alexander Voronov [Thu, 3 Oct 2013 16:07:24 +0000 (20:07 +0400)]
Updated encoder to handle intra-only frames

Updated the encoder to handle frames that are coded
intra-only. Intra-only frames must be non-showable,
that is, the "show frame" flag must be set to 0 in
the frame header.

Tested by forcing the ARF frames to be coded intra-
only.

Note: The rate control code will need to be modified
to account for intra-only frames better than they
are currently handled.

Change-Id: I6a9dd5337deddcecc599d3a44a7431909ed21079

10 years agoMerge "Remove unused variable vp9_64x64_zeros"
Jingning Han [Tue, 15 Oct 2013 23:24:34 +0000 (16:24 -0700)]
Merge "Remove unused variable vp9_64x64_zeros"

10 years agoMerge "Fix a few indent format issues in buffer defs"
Jingning Han [Tue, 15 Oct 2013 23:23:50 +0000 (16:23 -0700)]
Merge "Fix a few indent format issues in buffer defs"

10 years agoMerge "Remove unused comment"
Jingning Han [Tue, 15 Oct 2013 23:23:44 +0000 (16:23 -0700)]
Merge "Remove unused comment"

10 years agoMerge "Re-design all-zero-coeff block index buffer use"
Jingning Han [Tue, 15 Oct 2013 23:23:38 +0000 (16:23 -0700)]
Merge "Re-design all-zero-coeff block index buffer use"

10 years agoMake vp9_zero use cases of consistent format
Jingning Han [Tue, 15 Oct 2013 23:09:28 +0000 (16:09 -0700)]
Make vp9_zero use cases of consistent format

Remove the semicolon in the definition of vp9_zero macro. Make all
the use cases of vp9_zero of consistent format.

Change-Id: Ibaf9751e8595872b12766381a93d185a4d90df8f

10 years agoRemove Windows-style newlines using dos2unix
Guillaume Martres [Tue, 15 Oct 2013 22:49:32 +0000 (15:49 -0700)]
Remove Windows-style newlines using dos2unix

Change-Id: I0a0f9c07e774450896abc9455728b97fd38ef00c

10 years agolint-hunks: remove runtime/int filter
Guillaume Martres [Tue, 15 Oct 2013 22:43:42 +0000 (15:43 -0700)]
lint-hunks: remove runtime/int filter

There's no good reason to use types like long or short in new code.

Change-Id: Ic6de6259d5a99b7af478e9c6ab74e65d81b022e2

10 years agoMerge "Converted assertion to returning error"
Yaowu Xu [Tue, 15 Oct 2013 22:27:48 +0000 (15:27 -0700)]
Merge "Converted assertion to returning error"

10 years agoMerge "Added trap for invalid key frame"
Yaowu Xu [Tue, 15 Oct 2013 21:28:21 +0000 (14:28 -0700)]
Merge "Added trap for invalid key frame"

10 years agoMerge "Prevent access to invalid pointer"
Yaowu Xu [Tue, 15 Oct 2013 21:28:15 +0000 (14:28 -0700)]
Merge "Prevent access to invalid pointer"

10 years agoMerge "Add clamp to prevent out of bound access"
Yaowu Xu [Tue, 15 Oct 2013 21:28:08 +0000 (14:28 -0700)]
Merge "Add clamp to prevent out of bound access"

10 years agoConverted assertion to returning error
Yaowu Xu [Tue, 15 Oct 2013 21:06:00 +0000 (14:06 -0700)]
Converted assertion to returning error

Assertion happens for invalid input data, the commit replace the
assertion with returning error.

Change-Id: I1b73ae752d64882d984cd23936efe75a757c2b41

10 years agoAdded trap for invalid key frame
Yaowu Xu [Tue, 15 Oct 2013 18:05:06 +0000 (11:05 -0700)]
Added trap for invalid key frame

Change-Id: I698e8df9b336d38bffe01e656acba00d4003695f

10 years agoPrevent access to invalid pointer
Yaowu Xu [Tue, 15 Oct 2013 20:46:29 +0000 (13:46 -0700)]
Prevent access to invalid pointer

The commit added check to make sure no invalid memory access even when
the decoder instance is never initialized.

Change-Id: I4da343d0b3c78c27777ac7f5ce7688562c69f0c5

10 years agoAdd clamp to prevent out of bound access
Yaowu Xu [Tue, 15 Oct 2013 16:17:11 +0000 (09:17 -0700)]
Add clamp to prevent out of bound access

For bad input data, the decoder may access the array out of bounds. The
commit added clamp to prevent such out of bound access

Change-Id: I0a1cfd9b8786ea7113a998053c76605c963b077a

10 years agoRemove unused variable vp9_64x64_zeros
Jingning Han [Tue, 15 Oct 2013 18:52:54 +0000 (11:52 -0700)]
Remove unused variable vp9_64x64_zeros

Remove the unused variable vp9_64x64_zeros from vp9_encodeframe_.

Change-Id: I34bfdcab9a9105440ad05154c1e0516e70258785

10 years agoFix a few indent format issues in buffer defs
Jingning Han [Tue, 15 Oct 2013 18:50:25 +0000 (11:50 -0700)]
Fix a few indent format issues in buffer defs

Change-Id: Iac55891ac9e6f13718c9f822aa099b5ca491832a

10 years agoRemove unused comment
Jingning Han [Tue, 15 Oct 2013 18:45:14 +0000 (11:45 -0700)]
Remove unused comment

Change-Id: I2d96940fae4c7a16661a43c2bf6907d8b1c1a127

10 years agoRemoving unused 8x4 transform from the encoder.
Dmitry Kovalev [Tue, 15 Oct 2013 18:27:28 +0000 (11:27 -0700)]
Removing unused 8x4 transform from the encoder.

Change-Id: Icbcf68b5b685a56f255ebc3859c9692accdadf9e

10 years agoRe-design all-zero-coeff block index buffer use
Jingning Han [Mon, 14 Oct 2013 23:03:23 +0000 (16:03 -0700)]
Re-design all-zero-coeff block index buffer use

Use the zcoeff_blk buffer of PICK_MODE_CONTEXT to store the indexes
of all-zero-coeff block of the current best mode. Remove the temporary
buffer best_zcoeff_blk defined in the rate-distortion optimization
loop. This improves the speed performance by about 0.5% in all speed
settings.

Change-Id: Ie3e15988ddfa581eafa2e19a8228d3fe4a46095c

10 years agoMerge "add a test vector with frame parallel mode enabled"
James Zern [Tue, 15 Oct 2013 09:02:16 +0000 (02:02 -0700)]
Merge "add a test vector with frame parallel mode enabled"

10 years agoMoving FILTER_BITS constant from vp9_convolve.h to vp9_filter.h.
Dmitry Kovalev [Tue, 15 Oct 2013 04:15:40 +0000 (21:15 -0700)]
Moving FILTER_BITS constant from vp9_convolve.h to vp9_filter.h.

Change-Id: Idd7bdb0c364d94c5a0d24c87bb8574292e4c840c

10 years agoRemoving print_prob_tree function and vp9_coeff_probs typedef.
Dmitry Kovalev [Tue, 15 Oct 2013 04:08:21 +0000 (21:08 -0700)]
Removing print_prob_tree function and vp9_coeff_probs typedef.

Change-Id: If14265084e9b4c85c75b43e8d33a6fafad468cbc

10 years agoUsing constants instead of plain numbers.
Dmitry Kovalev [Tue, 15 Oct 2013 03:33:37 +0000 (20:33 -0700)]
Using constants instead of plain numbers.

Replacing
  22 with TREE_SIZE(MAX_ENTROPY_TOKENS)
  12 with MAX_ENTROPY_TOKENS

Change-Id: If24919336e8ace9cf64991bd5ae33fa6656f7b93

10 years agoCleanup of decode_coefs() function.
Dmitry Kovalev [Sat, 12 Oct 2013 01:01:30 +0000 (18:01 -0700)]
Cleanup of decode_coefs() function.

Moving entropy context calculation to outer scope and adding consts to
pointers.

Change-Id: I25d0987e97495326ab1e8046e3fa3082c0584485

10 years agoMerge "vp9_receive_compressed_data: remove unnecessary indent"
James Zern [Mon, 14 Oct 2013 20:22:08 +0000 (13:22 -0700)]
Merge "vp9_receive_compressed_data: remove unnecessary indent"

10 years agoMerge "Move token_cache from cost_coeffs to MACROBLOCK"
Jingning Han [Mon, 14 Oct 2013 20:05:32 +0000 (13:05 -0700)]
Merge "Move token_cache from cost_coeffs to MACROBLOCK"

10 years agoMove token_cache from cost_coeffs to MACROBLOCK
Jingning Han [Fri, 11 Oct 2013 18:26:32 +0000 (11:26 -0700)]
Move token_cache from cost_coeffs to MACROBLOCK

This commit moves token_cache buffer into macroblock struct, instead
of defining as a local variable in cost_coeffs. This avoids repeatedly
re-allocating memory space in the rate-distortion optimization loop.

The runtime at speed 0 reduces:
bus 2000kbps, 161692ms to 159951ms
football 600kbps, 229505ms to 225821ms

Change-Id: If7da6b0b6d8c5138a16271a33c4548fba33d8840

10 years agoadd a test vector with frame parallel mode enabled
James Zern [Mon, 14 Oct 2013 14:20:08 +0000 (16:20 +0200)]
add a test vector with frame parallel mode enabled

vp90-2-07-frame_parallel.webm:
vpxenc stefan_sif.y4m \
  --codec=vp9 -p 2 \
  --frame-parallel=1 \
  --limit=10 \
  --auto-alt-ref=1 \
  --lag-in-frames=5

Change-Id: I7381a69aaaec238b309169a51b34cb6bf29a9c50