]> granicus.if.org Git - libvpx/log
libvpx
11 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

11 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

11 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

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

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

11 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

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

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

11 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

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

11 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()."

11 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

11 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

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

11 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

11 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

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

11 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

11 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

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

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

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

11 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

11 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

11 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

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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

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

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

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

11 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

11 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

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

11 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

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

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

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

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

Change-Id: I58c5436f5c95f6012fb2891cd2a02f76e4870b6a

11 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

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

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

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

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

11 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

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

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

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

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

11 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

11 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

11 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

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

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

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

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

11 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

11 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

11 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

11 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

11 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

11 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

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

Change-Id: I2d96940fae4c7a16661a43c2bf6907d8b1c1a127

11 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

11 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

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

11 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

11 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

11 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

11 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

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

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

11 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

11 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

11 years agoMerge "Moving libmkv library to third_party folder."
Dmitry Kovalev [Sun, 13 Oct 2013 19:24:56 +0000 (12:24 -0700)]
Merge "Moving libmkv library to third_party folder."

11 years agoMerge "Making input pointer of any inverse transform constant."
Dmitry Kovalev [Sun, 13 Oct 2013 19:22:55 +0000 (12:22 -0700)]
Merge "Making input pointer of any inverse transform constant."

11 years agoMerge "Adding TREE_SIZE macro + cleanup."
Dmitry Kovalev [Sun, 13 Oct 2013 19:21:09 +0000 (12:21 -0700)]
Merge "Adding TREE_SIZE macro + cleanup."

11 years agoMerge "Adjust icc compiler options"
Erik Niemeyer [Sun, 13 Oct 2013 16:20:18 +0000 (09:20 -0700)]
Merge "Adjust icc compiler options"

11 years agoAdjust icc compiler options
Yunqing Wang [Sat, 12 Oct 2013 01:57:22 +0000 (18:57 -0700)]
Adjust icc compiler options

"-no-prec-div" option helps codec performance, so it was added back.
"-no-intel-extensions" was added to suppress link warning #10237.
option '-use-asm' is deprecated and removed.

Tested icc 32bit build and 64bit build.

Change-Id: I736ec2619857efd425ef76338dc52f8fbc0bcc7e

11 years agoMaking input pointer of any inverse transform constant.
Dmitry Kovalev [Sat, 12 Oct 2013 01:27:12 +0000 (18:27 -0700)]
Making input pointer of any inverse transform constant.

Also renaming dest_stride to stride in some places.

Change-Id: I75f602b623a5a7071d4922b747c45fa0b7d7a940

11 years agoMerge "Get libvpx to compile on VS2013."
Johann [Sat, 12 Oct 2013 00:26:29 +0000 (17:26 -0700)]
Merge "Get libvpx to compile on VS2013."

11 years agoAdding TREE_SIZE macro + cleanup.
Dmitry Kovalev [Fri, 11 Oct 2013 23:25:50 +0000 (16:25 -0700)]
Adding TREE_SIZE macro + cleanup.

Using TREE_SIZE for the following trees:
  vp9_intra_mode_tree
  vp9_inter_mode_tree
  vp9_partition_tree
  vp9_switchable_interp_tree
  vp9_mv_joint_tree
  vp9_mv_class_tree
  vp9_mv_class0_tree
  vp9_mv_fp_tree

Change-Id: I0212bb4c1ee6648249f68517e28a67a56591ee1b

11 years agoConsistent names for inverse hybrid transforms (2 of 2).
Dmitry Kovalev [Fri, 11 Oct 2013 22:49:05 +0000 (15:49 -0700)]
Consistent names for inverse hybrid transforms (2 of 2).

Renames:
  vp9_iht_add       -> vp9_iht4x4_add
  vp9_iht_add_8x8   -> vp9_iht8x8_add
  vp9_iht_add_16x16 -> vp9_iht16x16_add

Change-Id: I8f1a2913e02d90d41f174f27e4ee2fad0dbd4a21

11 years agoMerge "Consistent names for inverse hybrid transforms (1 of 2)."
Dmitry Kovalev [Fri, 11 Oct 2013 22:33:00 +0000 (15:33 -0700)]
Merge "Consistent names for inverse hybrid transforms (1 of 2)."

11 years agoGet libvpx to compile on VS2013.
Scott Graham [Fri, 11 Oct 2013 21:27:00 +0000 (14:27 -0700)]
Get libvpx to compile on VS2013.

`round` is defined in the runtime library now.
https://codereview.chromium.org/23922008/

Change-Id: I3852740058d32f63ce283579acbe284865e32dba

11 years agoMerge "Replacing {VP9_COEF, MODE}_UPDATE_PROB with DIFF_UPDATE_PROB."
Dmitry Kovalev [Fri, 11 Oct 2013 21:15:46 +0000 (14:15 -0700)]
Merge "Replacing {VP9_COEF, MODE}_UPDATE_PROB with DIFF_UPDATE_PROB."

11 years agoMerge "Change in rddiv parameter to make it a power of 2"
Deb Mukherjee [Fri, 11 Oct 2013 20:53:59 +0000 (13:53 -0700)]
Merge "Change in rddiv parameter to make it a power of 2"

11 years agoConsistent names for inverse hybrid transforms (1 of 2).
Dmitry Kovalev [Fri, 11 Oct 2013 20:31:32 +0000 (13:31 -0700)]
Consistent names for inverse hybrid transforms (1 of 2).

Renames:
  vp9_short_iht4x4_add     -> vp9_iht4x4_16_add
  vp9_short_iht8x8_add     -> vp9_iht8x8_64_add
  vp9_short_iht16x16_add_c -> vp9_iht16x16_256_add

Change-Id: Ibca7a188fd062b196787ac5efc1ea545e7f166c0

11 years agoMerge "Adding const to the input argument of all 1D transforms."
Dmitry Kovalev [Fri, 11 Oct 2013 20:20:57 +0000 (13:20 -0700)]
Merge "Adding const to the input argument of all 1D transforms."

11 years agoMerge "Masking intra mode choice adaptively"
Yaowu Xu [Fri, 11 Oct 2013 18:25:52 +0000 (11:25 -0700)]
Merge "Masking intra mode choice adaptively"

11 years agoAdding const to the input argument of all 1D transforms.
Dmitry Kovalev [Fri, 11 Oct 2013 18:19:58 +0000 (11:19 -0700)]
Adding const to the input argument of all 1D transforms.

Also adding static to iadst16_1d and fadst16 functions.

Change-Id: I13c7df3b776f0f8efc6e80099bdb0a2f6d29edaf

11 years agoReplacing {VP9_COEF, MODE}_UPDATE_PROB with DIFF_UPDATE_PROB.
Dmitry Kovalev [Fri, 11 Oct 2013 17:47:22 +0000 (10:47 -0700)]
Replacing {VP9_COEF, MODE}_UPDATE_PROB with DIFF_UPDATE_PROB.

Values of MODE_UPDATE_PROB and VP9_COEF_UPDATE_PROB are equal, so replacing
them with one constant. Inlining appropriate arguments for functions:
  vp9_cond_prob_diff_update (encoder)
  vp9_diff_update_prob (decoder)

Change-Id: I1255a1cb477743b799b3bfbbcd8de6b32b067338

11 years agoMerge "Removing vp9_tree_p typedef."
Dmitry Kovalev [Fri, 11 Oct 2013 17:44:04 +0000 (10:44 -0700)]
Merge "Removing vp9_tree_p typedef."

11 years agoMerge "Removing vp9_idct4_1d_sse2 function."
Dmitry Kovalev [Fri, 11 Oct 2013 17:43:56 +0000 (10:43 -0700)]
Merge "Removing vp9_idct4_1d_sse2 function."

11 years agoChange in rddiv parameter to make it a power of 2
Deb Mukherjee [Fri, 11 Oct 2013 00:24:55 +0000 (17:24 -0700)]
Change in rddiv parameter to make it a power of 2

Converts the constant rddiv parameter to 128 (from 100) and
implements RDCOST with bit-shift rather than multiplication.
Other parameters are also adjusted to roughly keep the same
balance between Rate and Distortion.

There is a slight speed-up of about 0.5-1% (at speed 0) as
testted on football_cif.

There is a slight change in performance due to small change
in the parameters.
derfraw300: +0.033%
stdhdraw250; +0.102%

Change-Id: I70ac69f58fa71c83108f68fe41796cd19d1fc760