]> granicus.if.org Git - libvpx/log
libvpx
11 years agoHide global symbols for macho32/64 m31-baseline
Yunqing Wang [Mon, 23 Sep 2013 20:45:43 +0000 (13:45 -0700)]
Hide global symbols for macho32/64

Added hiding global symbols for macho32 and macho64 in x86inc.asm.
This was done to fix exported symbol issue in Chrome build.

Change-Id: I08d5c559b985b82f655b537469fee125615e78c0

11 years agoCorrect handling of show_bit in uncompressed header.
Dmitry Kovalev [Tue, 29 Oct 2013 18:24:08 +0000 (11:24 -0700)]
Correct handling of show_bit in uncompressed header.

"keyframe" variable in the current code actually means that previous
frame is a keyframe because cm->frame_type has not been initialized
in read_uncompressed_header.

Change-Id: I5645b0816c70abdef5dfc70113018d06276dac77

11 years agochanged to comply with strict aliasing rule
Yaowu Xu [Mon, 28 Oct 2013 16:02:42 +0000 (09:02 -0700)]
changed to comply with strict aliasing rule

The clamp operation may not affect the values of the final assigned mv
where compiler may make use of strict aliasing rule to optimize out the
clamp operation. This change made the code segments to better comply
the strict aliasing rule.

Change-Id: I24502ff18bd4f9e62507a879cc8760a91a0fd07e

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 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 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 agoAdding assign_mv() function to reduce code duplication.
Dmitry Kovalev [Fri, 4 Oct 2013 03:06:32 +0000 (20:06 -0700)]
Adding assign_mv() function to reduce code duplication.

Change-Id: I2b4e5b842c19f64749b18946ad215c0caa57e7b7

11 years agoReading diff update flag inside vp9_diff_update_prob.
Dmitry Kovalev [Thu, 3 Oct 2013 17:55:36 +0000 (10:55 -0700)]
Reading diff update flag inside vp9_diff_update_prob.

Change-Id: I5ae659c1bfb132428a7272d094b5287d144ec7c8

11 years agoBITSTREAM - "update_map" SEMANTICS BROKEN IN 398ddafb629b7f49cf255bf09d3e38b4abd0bb95
Dmitry Kovalev [Thu, 3 Oct 2013 21:41:36 +0000 (14:41 -0700)]
BITSTREAM - "update_map" SEMANTICS BROKEN IN 398ddafb629b7f49cf255bf09d3e38b4abd0bb95

This patch reverts old commit 398ddafb629b7f49cf255bf09d3e38b4abd0bb95
"New way of updating last frame segmentation map.".

Change-Id: Iba730f433c30ed7f5e5449d6768049cbf9a2b2c5

11 years agoBITSTREAM - RESTORING BILINEAR INTERPOLATION FILTER SUPPORT
Dmitry Kovalev [Thu, 3 Oct 2013 01:04:12 +0000 (18:04 -0700)]
BITSTREAM - RESTORING BILINEAR INTERPOLATION FILTER SUPPORT

Adding appropriate test vector vp90-2-06-bilinear.webm.

Change-Id: Ia3bbf57318e0cc61a1b724fe751e3f9c7e11b337

11 years agoBITSTREAM - CLARIFICATION OF MV SIZE RANGE
Jingning Han [Sat, 28 Sep 2013 00:22:59 +0000 (17:22 -0700)]
BITSTREAM - CLARIFICATION OF MV SIZE RANGE

The codec should effectively run with motion vector of range (-2048, 2047)
in full pixels, for sequences of 1080p and below. Add assertions to clarify
this behavior.

Change-Id: Ia0cac28249f587d8f8882205228fa480263ab313

11 years agoAdding read_intra_mode_{y, uv} functions for clarity.
Dmitry Kovalev [Wed, 2 Oct 2013 00:55:48 +0000 (17:55 -0700)]
Adding read_intra_mode_{y, uv} functions for clarity.

Change-Id: I92fd32476c472e54f52b8d7602a98262b25e6eaf

11 years agofix build with MSVC
Yaowu Xu [Tue, 1 Oct 2013 16:50:21 +0000 (09:50 -0700)]
fix build with MSVC

near is a key word, changed to use nearmv instead.

Change-Id: Ib54438c431b2b2521a62fc7b61a9c127dd7bc01e

11 years agoUsing array of motion vectors instead of separate variables.
Dmitry Kovalev [Mon, 30 Sep 2013 19:11:46 +0000 (12:11 -0700)]
Using array of motion vectors instead of separate variables.

Change-Id: I7380a089105f658257bbb3e30a525da168e76952

11 years agoNew way of updating last frame segmentation map.
Dmitry Kovalev [Fri, 27 Sep 2013 01:44:48 +0000 (18:44 -0700)]
New way of updating last frame segmentation map.

Implementing more natural (and faster) way of updating last frame
segmentation map.

Change-Id: I9fefa8f78e77bd7948133b04173da45edc15a17e

11 years agoRemove redundant mode update in sub8x8 decoding
Jingning Han [Tue, 24 Sep 2013 00:06:27 +0000 (17:06 -0700)]
Remove redundant mode update in sub8x8 decoding

The probability model used to code prediction mode is conditioned
on the immediate above and left 8x8 blocks' prediction modes. When
the above/left block is coded in sub8x8 mode, we use the prediction
mode of the bottom-right sub8x8 block as the reference to generate
the context.

This commit moves the update of mbmi.mode out of the sub8x8 decoding
loop, hence removing redundant update steps and keeping the bottom-
right block's mode for the decoding process of next blocks.

Change-Id: I1e8d749684d201c1a1151697621efa5d569218b6

11 years agoMerge "Fix x86inc.asm to build PIC code correctly"
Yunqing Wang [Wed, 18 Sep 2013 21:51:31 +0000 (14:51 -0700)]
Merge "Fix x86inc.asm to build PIC code correctly"

11 years agoFix x86inc.asm to build PIC code correctly
Yunqing Wang [Wed, 18 Sep 2013 17:36:21 +0000 (10:36 -0700)]
Fix x86inc.asm to build PIC code correctly

Current x86inc.asm didn't handle 32bit PIC build properly.
TEXTRELs were seen in the library built. The PIC macros from
libvpx's x86_abi_support.asm was used to fix this problem.
The assembly code was modified to use the macros.

Notes: We need this fix in for decoder building. Functions in
encoder will be fixed later.

Change-Id: Ifa548d37b1d0bc7d0528db75009cc18cd5eb1838

11 years agoMerge "Modified resize unit test to output test vector"
Adrian Grange [Wed, 18 Sep 2013 15:36:00 +0000 (08:36 -0700)]
Merge "Modified resize unit test to output test vector"

11 years agoMerge "Silence a bunch of MSVC warnings"
Yaowu Xu [Wed, 18 Sep 2013 00:10:58 +0000 (17:10 -0700)]
Merge "Silence a bunch of MSVC warnings"

11 years agoClean up second ref check in sub8x8 rd loop
Jingning Han [Tue, 17 Sep 2013 21:06:00 +0000 (14:06 -0700)]
Clean up second ref check in sub8x8 rd loop

This commit cleans up the second reference check in the
rate-distortion optimization loop of sub8x8 blocks.

Change-Id: Ife68feaa4cddbfad2878c9b44d3012788d634f97

11 years agoModified resize unit test to output test vector
Adrian Grange [Thu, 12 Sep 2013 16:35:04 +0000 (09:35 -0700)]
Modified resize unit test to output test vector

Modified the resize unit test so that it optionally
writes the encoded bitstream to file. The macro
WRITE_COMPRESSED_STREAM should be set to 1 to enable
output of the test bitstream; it is set to 0 by default.

Change-Id: I7d436b1942f935da97db6d84574a98d379f57fb1

11 years agoSilence a bunch of MSVC warnings
Yaowu Xu [Tue, 17 Sep 2013 16:45:13 +0000 (09:45 -0700)]
Silence a bunch of MSVC warnings

Change-Id: I16633269582a640809dca27572bbe99efa6369fc

11 years agoRemove redundant argument in get_sub_block_mv
Jingning Han [Tue, 17 Sep 2013 19:08:45 +0000 (12:08 -0700)]
Remove redundant argument in get_sub_block_mv

The sub8x8 check can be directly inferred from block_idx, hence
removed from the arguments if get_sub_block_mv.

Change-Id: Ib766d57e81248fb92df0f6d9b163e6c77b933ccd

11 years agoMerge "Minor clean up."
Paul Wilkins [Tue, 17 Sep 2013 10:39:24 +0000 (03:39 -0700)]
Merge "Minor clean up."

11 years agoMerge "Adjustment to mode_skip_start."
Paul Wilkins [Tue, 17 Sep 2013 10:39:15 +0000 (03:39 -0700)]
Merge "Adjustment to mode_skip_start."

11 years agoMerge "Fix failure to copy data files if content changes"
Adrian Grange [Tue, 17 Sep 2013 00:20:59 +0000 (17:20 -0700)]
Merge "Fix failure to copy data files if content changes"

11 years agoFix failure to copy data files if content changes
Adrian Grange [Mon, 16 Sep 2013 18:46:00 +0000 (11:46 -0700)]
Fix failure to copy data files if content changes

Jenkins was failing to detect the case where an existing
file is recreated with new content. In this case, thinking
that the file already existed, Jenkins did not re-copy the
file as it should have.

By adding the file test-data.sha1 as a dependendency to
the LIBVPX_TEST_DATA build target the files will be
recopied if the MD5 of an existing file changes.

This could be further improved to only copy files that
have changed rather than copying the whole set as done in
this patch.

(Thanks to jzern@ who diagnozed ithe problem and suggested
this fix).

Change-Id: Icea7c61a95189bc639fec83020c28c70da5b2b41

11 years agoMerge "Speed up iht8x8 by rearranging instructions. Speed improves from 282% to 302...
hkuang [Mon, 16 Sep 2013 21:39:45 +0000 (14:39 -0700)]
Merge "Speed up iht8x8 by rearranging instructions. Speed improves from 282% to 302% faster based on assembly-perf."

11 years agoSpeed up iht8x8 by rearranging instructions.
hkuang [Mon, 16 Sep 2013 17:55:54 +0000 (10:55 -0700)]
Speed up iht8x8 by rearranging instructions.
Speed improves from 282% to 302% faster based on assembly-perf.

Change-Id: I08c5c1a542d43361611198f750b725e4303d19e2

11 years agofix a problem where an invalid mv used in search
Yaowu Xu [Mon, 16 Sep 2013 19:44:50 +0000 (12:44 -0700)]
fix a problem where an invalid mv used in search

The commit added reset of pred_mv at the beginning of each SB64x64
partition mv search, also limited the usage of pred_mv only when
search on the largest partition is already done. This is to fix
a crash at speed 1/2 encoder where an invalid mv is used in mv
search.

Change-Id: I39010177da76d054e3c90b7899a44feb2e3a5b1b

11 years agoMinor clean up.
Paul Wilkins [Fri, 13 Sep 2013 17:04:32 +0000 (18:04 +0100)]
Minor clean up.

Removed some unused code and minor cleanup
/ reordering.

Change-Id: I4083ae56aeb8edfe9b85aa2f42a16aa28d19da94

11 years agoAdjustment to mode_skip_start.
Paul Wilkins [Fri, 13 Sep 2013 16:18:42 +0000 (17:18 +0100)]
Adjustment to mode_skip_start.

Corrected values relating to modified mode order.

Change-Id: I24fccba3af4bc16721d5e7e51888a66305bfa7fe

11 years agoMerge "Revert "Improved 8t filters""
James Zern [Fri, 13 Sep 2013 23:06:27 +0000 (16:06 -0700)]
Merge "Revert "Improved 8t filters""

11 years agoMerge "Minor adjustment in unit tests"
Yaowu Xu [Fri, 13 Sep 2013 22:20:24 +0000 (15:20 -0700)]
Merge "Minor adjustment in unit tests"

11 years agoRevert "Improved 8t filters"
James Zern [Fri, 13 Sep 2013 22:11:07 +0000 (15:11 -0700)]
Revert "Improved 8t filters"

This is incompatible with most toolchains other than gcc.

Revert "Deleted #include <inttypes.h>"

This reverts commit 4d018be950ef8b056a7c797a22ee58012443df26.

This reverts commit d22a504d11a15dc3eab666859db0046b5a7d75c5.

Change-Id: I1751dc6831f4395ee064e6748281418e967e1dcf

11 years agoMerge "Adaptive motion search control"
Jingning Han [Fri, 13 Sep 2013 21:43:23 +0000 (14:43 -0700)]
Merge "Adaptive motion search control"

11 years agoAdaptive motion search control
Jingning Han [Thu, 12 Sep 2013 17:06:47 +0000 (10:06 -0700)]
Adaptive motion search control

This commit enables adaptive constraint on motion search range for
smaller partitions, given the motion vectors of collocated larger
partition as a candidate initial search point.

It makes speed 0 runtime of bus at CIF and 2000 kbps goes from
167s down to 162s (3% speed-up), at 0.01dB performance gains. In
the settings of speed 1, this makes the runtime goes from 33687 ms
to 32142 ms (4.5% speed-up), at 0.03dB performance gains.

Compression performance wise, it gains at speed 1:
derf  0.118%
yt    0.237%
hd    0.203%
stdhd 0.438%

Change-Id: Ic8b34c67810d9504a9579bef2825d3fa54b69454

11 years agoMerge "Clean up of the search best filter speed feature"
Deb Mukherjee [Fri, 13 Sep 2013 18:03:59 +0000 (11:03 -0700)]
Merge "Clean up of the search best filter speed feature"

11 years agoMinor adjustment in unit tests
Yaowu Xu [Fri, 13 Sep 2013 16:23:53 +0000 (09:23 -0700)]
Minor adjustment in unit tests

The CpuSpeedTest is extended to cover 2pass good quality with CpuUsed
from 0 to 4. The BordersTest is changed to use CpuUsed 1 for faster
turn around.

Change-Id: I005e89adee7fe63af4b1f2a76a3a13ea826feadf

11 years agoMerge "Fix VP9_mode_order[]"
Paul Wilkins [Fri, 13 Sep 2013 16:19:31 +0000 (09:19 -0700)]
Merge "Fix VP9_mode_order[]"

11 years agoMerge "New mode_info_context storage -- undo revert"
Scott LaVarnway [Fri, 13 Sep 2013 15:56:20 +0000 (08:56 -0700)]
Merge "New mode_info_context storage -- undo revert"

11 years agoFix VP9_mode_order[]
Paul Wilkins [Fri, 13 Sep 2013 12:14:38 +0000 (13:14 +0100)]
Fix VP9_mode_order[]

Mis-merge of the following change managed to break mode order
and delete two mode options (new alt ref and near alt ref)
It also created a situation where we could test two undefined
modes off the end of the VP9_mode_order[] data structure.
  "clang warnings : remove split and i4x4_pred fake modes"
  "Change Id: I8ef3c*"

Initial testing on Akiyo at speed 2.
101.35  44.567  44.447 improves to
96.82  44.915  44.815

Approx 0.3-0.4db gain and 2.5% size reduction

Change-Id: Icff813e7c0778d140ad4f0eea18cf1ed203c4e34

11 years agoMerge "Deleted #include <inttypes.h>"
Paul Wilkins [Fri, 13 Sep 2013 08:05:31 +0000 (01:05 -0700)]
Merge "Deleted #include <inttypes.h>"

11 years agoMerge "fix clang warning in rdopt"
Jim Bankoski [Thu, 12 Sep 2013 23:39:05 +0000 (16:39 -0700)]
Merge "fix clang warning in rdopt"

11 years agoMerge "Add neon optimize iht8x8 which is 282% faster than C."
hkuang [Thu, 12 Sep 2013 22:42:44 +0000 (15:42 -0700)]
Merge "Add neon optimize iht8x8 which is 282% faster than C."

11 years agoMerge "First draft of vp9_short_idct32x32_add_neon."
Christian Duvivier [Thu, 12 Sep 2013 21:23:00 +0000 (14:23 -0700)]
Merge "First draft of vp9_short_idct32x32_add_neon."

11 years agoAdd neon optimize iht8x8 which is 282% faster than C.
hkuang [Thu, 12 Sep 2013 18:45:15 +0000 (11:45 -0700)]
Add neon optimize iht8x8 which is 282% faster than C.

Change-Id: I963dd4a6e8671957403ccbb9a16ea7de703e3530

11 years agofix clang warning in rdopt
Jim Bankoski [Thu, 12 Sep 2013 13:39:42 +0000 (06:39 -0700)]
fix clang warning in rdopt

either missed this or it crept back in

Change-Id: I6cc1519d09e558be7250254c25bde2ae720555ea

11 years agoclang warnings : ref frame enum mismatch
Jim Bankoski [Fri, 6 Sep 2013 17:13:35 +0000 (10:13 -0700)]
clang warnings : ref frame enum mismatch

Convert from refframe_type_t to VP9_REFFRAME

Change-Id: Iff4043c3fdb3e1c9c2b412bdffd5da8ed913ec13

11 years agoMerge "clang warnings : remove split and i4x4_pred fake modes"
Jim Bankoski [Thu, 12 Sep 2013 13:20:45 +0000 (06:20 -0700)]
Merge "clang warnings : remove split and i4x4_pred fake modes"

11 years agoDeleted #include <inttypes.h>
Paul Wilkins [Thu, 12 Sep 2013 12:43:07 +0000 (13:43 +0100)]
Deleted #include <inttypes.h>

This seems not to be needed and is not supported
in the Windows build.

Change-Id: Iaca3bbf8cca283aee6bc336cb31ba9dd4610322b

11 years agoMerge "Changes in speed 2 settings"
Paul Wilkins [Thu, 12 Sep 2013 09:22:45 +0000 (02:22 -0700)]
Merge "Changes in speed 2 settings"

11 years agoclang warnings : remove split and i4x4_pred fake modes
Jim Bankoski [Wed, 11 Sep 2013 23:34:55 +0000 (16:34 -0700)]
clang warnings : remove split and i4x4_pred fake modes

Change-Id: I8ef3c7c0f08f0f1f4ccb8ea4deca4cd8143526ee

11 years agoFirst draft of vp9_short_idct32x32_add_neon.
Christian Duvivier [Wed, 11 Sep 2013 22:18:47 +0000 (15:18 -0700)]
First draft of vp9_short_idct32x32_add_neon.

Lots of TODO which will be taken care in upcoming changes. As is,
about 6x faster than C version.

Change-Id: Ie2557b72fd2d8edca376dbf400a4d173aa5e63e0

11 years agoClean up of the search best filter speed feature
Deb Mukherjee [Wed, 11 Sep 2013 22:16:36 +0000 (15:16 -0700)]
Clean up of the search best filter speed feature

Removes this speed feature since it is very slow and unlikely
to be used in practice. This cleanup removes a bunch of unnecessary
complications in the outer encode loop.

Change-Id: I3c66ef1ca924fbfad7dadff297c9e7f652d308a1

11 years agoMerge "Improved 8t filters"
Scott LaVarnway [Wed, 11 Sep 2013 21:34:54 +0000 (14:34 -0700)]
Merge "Improved 8t filters"

11 years agoMerge "resolve clang issue : implicit convert tx_mode -> tx_size"
Jim Bankoski [Wed, 11 Sep 2013 20:40:11 +0000 (13:40 -0700)]
Merge "resolve clang issue : implicit convert tx_mode -> tx_size"

11 years agoImproved 8t filters
Scott LaVarnway [Wed, 11 Sep 2013 17:56:32 +0000 (13:56 -0400)]
Improved 8t filters

Reformatted version of a patch submitted by Erik/Tamar
from Intel.  For the test clips used, the decoder
performance improved by ~2%.

Change-Id: Ifbc37ac6311bca9ff1cfefe3f2e9b7f13a4a511b

11 years agoChanges in speed 2 settings
Deb Mukherjee [Tue, 10 Sep 2013 23:13:15 +0000 (16:13 -0700)]
Changes in speed 2 settings

Propose some changes to the speed 2 settings to improve quality.
In particular, turns off the adjust_thresholds_by_speed feature
which improves results by 6%. Also removes the code for
adjust_thresholds_by_speed since it conflicts with the adaptive
rd thresh feature.

Overall, with this change speed 2 is -15.2% from speed 0 settings,
on derf, which is significantly better than -21.6% down before.

Change-Id: I6e90a563470979eb0c258ec32d6183ed7ce9a505

11 years agoNew mode_info_context storage -- undo revert
Scott LaVarnway [Wed, 11 Sep 2013 17:45:44 +0000 (13:45 -0400)]
New mode_info_context storage -- undo revert

mode_info_context was stored as a grid of MODE_INFO structs.
The grid now constists of pointers to MODE_INFO structs.  The
MODE_INFO structs are now stored as a stream (decoder only),
eliminating unnecessary copies and is a little more cache
friendly.

Change-Id: I031d376284c6eb98a38ad5595b797f048a6cfc0d

11 years agocode cleanup
Yunqing Wang [Wed, 11 Sep 2013 16:32:00 +0000 (09:32 -0700)]
code cleanup

Removed unused function.

Change-Id: Icb12a09e4d303968be6aec9fae1ef05935913a4f

11 years agoMerge "Remove redundant condition check in 32x32 quant"
Jingning Han [Tue, 10 Sep 2013 23:39:18 +0000 (16:39 -0700)]
Merge "Remove redundant condition check in 32x32 quant"

11 years agoMerge "vpx_mem: increase default alignment"
James Zern [Tue, 10 Sep 2013 21:03:31 +0000 (14:03 -0700)]
Merge "vpx_mem: increase default alignment"

11 years agoMerge "Enable and fix resize_test for VP9"
Adrian Grange [Tue, 10 Sep 2013 19:46:38 +0000 (12:46 -0700)]
Merge "Enable and fix resize_test for VP9"

11 years agoMerge "Remove the use of uninitialized_safe in encode_sb_"
Jingning Han [Tue, 10 Sep 2013 19:05:22 +0000 (12:05 -0700)]
Merge "Remove the use of uninitialized_safe in encode_sb_"

11 years agoRemove redundant condition check in 32x32 quant
Jingning Han [Mon, 9 Sep 2013 23:02:07 +0000 (16:02 -0700)]
Remove redundant condition check in 32x32 quant

The c code implementation of 32x32 quantization does the zbin check
of all coefficients prior to the quant/dequant loop, hence removing
the redundant zbin check inside the loop. This only affects the
c code version. SSSE3 version does not separate the zbin check out.

Change-Id: Ic197a7d61d0b25fcac3cc092987651378cb56e4e

11 years agoEnable and fix resize_test for VP9
Adrian Grange [Tue, 10 Sep 2013 19:02:37 +0000 (12:02 -0700)]
Enable and fix resize_test for VP9

Added the resize_test unit test to the VP9 set.

Set g_in_frames = 0 to avoid a problem when the total
number of frames being encoded is smaller than
g_in_frames. In this case the test will not have
access to the encoded frames and will not be able to
compare them for testing for encoder/decoder mismatch.

Change-Id: I0d2ff8ef058de7002c5faa894ed6ea794d5f900b

11 years agoMerge "Small tweaks on the constant quality mode"
Deb Mukherjee [Tue, 10 Sep 2013 18:16:47 +0000 (11:16 -0700)]
Merge "Small tweaks on the constant quality mode"

11 years agoSmall tweaks on the constant quality mode
Deb Mukherjee [Tue, 10 Sep 2013 00:31:58 +0000 (17:31 -0700)]
Small tweaks on the constant quality mode

Improves results a little.
derf is now +1.078% over bitrate control.

Change-Id: I4812136f3e67be21d14ec089419976a32a841785

11 years agoStop partition checking when distortion is small
Yunqing Wang [Fri, 6 Sep 2013 23:59:55 +0000 (16:59 -0700)]
Stop partition checking when distortion is small

If the current obtained distortion is very small, which happens
for static image case, we pick the current partition type without
further split checking.

This won't affect regular videos. For static videos, we got 10%~12%
encoding speed gain. PSNR was better for some clips, and worse for
others. Overall it was even.

Change-Id: If787a57bedf46fc595ca4f5ded2b0c0a69e9fdef

11 years agoMerge "Modify encode breakout for static frames"
Yunqing Wang [Tue, 10 Sep 2013 17:04:30 +0000 (10:04 -0700)]
Merge "Modify encode breakout for static frames"

11 years agoModify encode breakout for static frames
Yunqing Wang [Fri, 6 Sep 2013 00:10:58 +0000 (17:10 -0700)]
Modify encode breakout for static frames

Thank Paul for the suggestions. While turning on static-thresh
for static-image videos, a big jump on bitrate was seen. In this
patch, we detected static frames in the video using first-pass
stats. For different cases, disable encode breakout or reduce
encode breakout threshold to limit the skipping.

More modification need be done to break incorrect partition
picking pattern for static frames while skipping happens.

Change-Id: Ia25f47041af0f04e229c70a0185e12b0ffa6047f

11 years agoMerge "Enable accuracy/memory check for 16x16 transforms"
Jingning Han [Tue, 10 Sep 2013 16:05:34 +0000 (09:05 -0700)]
Merge "Enable accuracy/memory check for 16x16 transforms"

11 years agoMerge "Rework 16x16 transform unit test"
Jingning Han [Tue, 10 Sep 2013 16:05:04 +0000 (09:05 -0700)]
Merge "Rework 16x16 transform unit test"

11 years agoMerge "Speed up idct16x16 by rearrange instructions."
hkuang [Tue, 10 Sep 2013 15:23:57 +0000 (08:23 -0700)]
Merge "Speed up idct16x16 by rearrange instructions."

11 years agoModified mode skip functionality.
Paul Wilkins [Thu, 5 Sep 2013 00:15:05 +0000 (17:15 -0700)]
Modified mode skip functionality.

A previous speed feature skipped modes not used in earlier
partitions but this not longer worked as intended following
changes to the partition coding order and in conjunction
with some other speed features (Especially speed 2 and above).

This modified mode skip feature sets a mask after the first X
modes have been tested in each partition depending on the
reference frame of the current best case.

This patch also makes some changes to the order modes are
tested to fit better with this skip functionality.

Initial testing suggests speed and rd hit count improvements
of up to 20% at speed 1. Quality results. (derf -1.9%, std hd  +0.23%).

Change-Id: Idd8efa656cbc0c28f06d09690984c1f18b1115e1

11 years agoAdded extra check to rd_auto_partition_range()
Paul Wilkins [Tue, 3 Sep 2013 22:46:22 +0000 (15:46 -0700)]
Added extra check to rd_auto_partition_range()

Added check that the returned max and minimum are
valid in bottom and right border cases.

Change-Id: I2d6cdc9b5f04c7d0ff512ddcf3228331e028bf9b

11 years agotest/idct_test: add missing vpx_integer.h include
James Zern [Tue, 10 Sep 2013 05:20:41 +0000 (22:20 -0700)]
test/idct_test: add missing vpx_integer.h include

Change-Id: I9de764638ec981bb34fc8e183985d8c285b006fb

11 years agoSpeed up idct16x16 by rearrange instructions.
hkuang [Mon, 9 Sep 2013 18:36:51 +0000 (11:36 -0700)]
Speed up idct16x16 by rearrange instructions.

Speed improve from 376% to 400% faster base on assembly-perf.

Change-Id: If0b2eccc39d5793dc101ce9feb7fcadf88396ea2

11 years agoEnable accuracy/memory check for 16x16 transforms
Jingning Han [Tue, 10 Sep 2013 00:07:55 +0000 (17:07 -0700)]
Enable accuracy/memory check for 16x16 transforms

This commit completes the per coefficient accuracy check and memory
overflow check for SSE2 and other implemented versions of 16x16
transform.

Change-Id: If26a3e4f6ba82ccecc13f0b73cb8f7bb6ac14584

11 years agoMerge "API extensions and sample app for spacial scalable encoder"
Ivan Maltz [Mon, 9 Sep 2013 23:57:01 +0000 (16:57 -0700)]
Merge "API extensions and sample app for spacial scalable encoder"

11 years agoRework 16x16 transform unit test
Jingning Han [Thu, 5 Sep 2013 19:44:03 +0000 (12:44 -0700)]
Rework 16x16 transform unit test

This commit refactors the 16x16 transform unit test. It enables the
test on all implemented versions of forward and inverse 16x16 transform
modules.

Change-Id: I0c7d5f3c5fdd5d789a25f73e287aeeaf463b9d69

11 years agoAPI extensions and sample app for spacial scalable encoder
Ivan Maltz [Thu, 5 Sep 2013 15:55:47 +0000 (08:55 -0700)]
API extensions and sample app for spacial scalable encoder

Sample app: vp9_spatial_scalable_encoder
vpx_codec_control extensions:
  VP9E_SET_SVC
  VP9E_SET_WIDTH, VP9E_SET_HEIGHT, VP9E_SET_LAYER
  VP9E_SET_MIN_Q, VP9E_SET_MAX_Q
expanded buffer size for vp9_convolve

modified setting of initial width in vp9_onyx_if.c so that layer size
can be set prior to initial encode

Default number of layers set to 3 (VPX_SS_DEFAULT_LAYERS)
Number of layers set explicitly in vpx_codec_enc_cfg.ss_number_layers

Change-Id: I2c7a6fe6d665113671337032f7ad032430ac4197

11 years agoRemove the use of uninitialized_safe in encode_sb_
Jingning Han [Mon, 9 Sep 2013 22:41:16 +0000 (15:41 -0700)]
Remove the use of uninitialized_safe in encode_sb_

Initialize the probability model context with default value in
encode_sb.

Change-Id: Id826114024dfc21c7ef41aea9f4a0316d4a5cb95

11 years agoMerge "Revert "New mode_info_context storage""
James Zern [Mon, 9 Sep 2013 21:38:01 +0000 (14:38 -0700)]
Merge "Revert "New mode_info_context storage""

11 years agoRevert "New mode_info_context storage"
James Zern [Mon, 9 Sep 2013 20:37:01 +0000 (13:37 -0700)]
Revert "New mode_info_context storage"

This reverts commit dae17734ece414091ba1184f7becd0aa6c0004f1

Encode crashes, leaks and increases integer overflow errors.

Change-Id: I595aa2649bb8d0b6552ff91652837a74c103fda2

11 years agochanged to enable vp9_postproc
Yaowu Xu [Fri, 6 Sep 2013 22:05:05 +0000 (15:05 -0700)]
changed to enable vp9_postproc

In configure when internal-stats is enabled, because postprocessing
code is needed for computing stats for enabling internal-stats

Change-Id: I3601dc5a4aa65feb99465452486a21e75eb62c1f

11 years agoMerge "Reduce the amount of extension in src frames"
Yaowu Xu [Mon, 9 Sep 2013 15:09:56 +0000 (08:09 -0700)]
Merge "Reduce the amount of extension in src frames"

11 years agoMerge "Enable kf restrictions at speed 4"
Paul Wilkins [Mon, 9 Sep 2013 12:39:13 +0000 (05:39 -0700)]
Merge "Enable kf restrictions at speed 4"

11 years agoReduce the amount of extension in src frames
Yaowu Xu [Fri, 23 Aug 2013 23:22:50 +0000 (16:22 -0700)]
Reduce the amount of extension in src frames

The commit changes the border pixel extension from 160 pixel each side
to what is necessary in arnr filter or motion estimation portion, i.e.
16 pixel on top and left side. For right or bottom side, the extension
is changed to either round up image size to multiple of 64 or at least
16 pixels.

Change-Id: Ic05e19b94368c1ab4df568723aae5734e6c3d2c5

11 years agoresolve clang issue : implicit convert tx_mode -> tx_size
Jim Bankoski [Sun, 8 Sep 2013 13:55:17 +0000 (06:55 -0700)]
resolve clang issue : implicit convert tx_mode -> tx_size

Change-Id: Ifc9da470358f58e800e3d0d70a565b61e5f7834a

11 years agoMerge "New mode_info_context storage"
Jim Bankoski [Sun, 8 Sep 2013 14:16:25 +0000 (07:16 -0700)]
Merge "New mode_info_context storage"

11 years agoFix overflow issue in 16x16 quantization SSSE3
Jingning Han [Fri, 6 Sep 2013 23:06:21 +0000 (16:06 -0700)]
Fix overflow issue in 16x16 quantization SSSE3

The 16x16 transform unit test suggested that the peak coefficient
value can reach 32639. This could cause potential overflow issue
in the SSSE3 implmentation of 16x16 block quantization. This commit
fixes this issue by replacing addition with saturated addition.

Change-Id: I6d5bb7c5faad4a927be53292324bd2728690717e

11 years agovpx_mem: increase default alignment
James Zern [Sat, 7 Sep 2013 01:20:10 +0000 (18:20 -0700)]
vpx_mem: increase default alignment

this prevents returning an address smaller than the natural heap
alignment from vpx_malloc on e.g., x86_64

Change-Id: I283e858664a8529f28b22060c3815116a7798c0d

11 years agoMerge "Support a constant quality mode in VP9"
Deb Mukherjee [Fri, 6 Sep 2013 18:22:54 +0000 (11:22 -0700)]
Merge "Support a constant quality mode in VP9"

11 years agoEnable kf restrictions at speed 4
Paul Wilkins [Thu, 29 Aug 2013 23:29:53 +0000 (00:29 +0100)]
Enable kf restrictions at speed 4

Change-Id: I453409d3be3f5fe118b15affde45cb52184aef20