platform/upstream/libvpx.git
9 years agoEnable coefficient range checking for 10-/12-bit
Deb Mukherjee [Tue, 6 Jan 2015 01:43:26 +0000 (17:43 -0800)]
Enable coefficient range checking for 10-/12-bit

Also fixes a broken build with --enable-coefficient-range-checking
configuration option.

Change-Id: Icc536f53088e8cec59dfb8f635668555fdb9125e

9 years agoMerge "Remove redundant local variable for segment_id"
Jingning Han [Fri, 2 Jan 2015 22:48:27 +0000 (14:48 -0800)]
Merge "Remove redundant local variable for segment_id"

9 years agoAdd help info for --enable-vp9-highbitdepth
Yaowu Xu [Fri, 2 Jan 2015 20:36:57 +0000 (12:36 -0800)]
Add help info for --enable-vp9-highbitdepth

This fixes issue# 903.

Change-Id: I649d8584898a93681073e1ac1b444ff66e240050

9 years agoRemove redundant local variable for segment_id
Jingning Han [Fri, 2 Jan 2015 20:21:44 +0000 (12:21 -0800)]
Remove redundant local variable for segment_id

Use mbmi->segment_id directly in vp9_pick_inter_mode. The value is
set outside this function, hence no need to assign it again.

Change-Id: I3d63cdd2e4fadf62ccdefada638b00d979eb3741

9 years agoMerge "Add bsize check condition in nonrd_use_partition"
Jingning Han [Fri, 2 Jan 2015 19:50:57 +0000 (11:50 -0800)]
Merge "Add bsize check condition in nonrd_use_partition"

9 years agoAdd bsize check condition in nonrd_use_partition
Jingning Han [Fri, 2 Jan 2015 18:10:49 +0000 (10:10 -0800)]
Add bsize check condition in nonrd_use_partition

Check if block size is below 8x8 for rectangular block coding. It
is added to support 4x8 and 8x4 block coding for RTC mode.

Change-Id: I760b328f45b98ae48adc45ed5a39fb643cd8aebd

9 years agoMerge "Use less tmp motion vectors in vp9_pick_inter_mode_sub8x8"
Jingning Han [Fri, 2 Jan 2015 18:00:45 +0000 (10:00 -0800)]
Merge "Use less tmp motion vectors in vp9_pick_inter_mode_sub8x8"

9 years agoMerge "Enable sub8x8 inter block search for RTC coding mode"
Jingning Han [Fri, 2 Jan 2015 18:00:35 +0000 (10:00 -0800)]
Merge "Enable sub8x8 inter block search for RTC coding mode"

9 years agoUse less tmp motion vectors in vp9_pick_inter_mode_sub8x8
Jingning Han [Tue, 30 Dec 2014 21:13:42 +0000 (13:13 -0800)]
Use less tmp motion vectors in vp9_pick_inter_mode_sub8x8

This commit simplifies the reference motion vector part for sub8x8
block coding in RTC mode and reduces the required local variables.

Change-Id: I470d1482092563b68af22404dc1f497e7457b0a8

9 years agoProperly set size based on actual buffer layout
Yaowu Xu [Tue, 30 Dec 2014 16:35:40 +0000 (08:35 -0800)]
Properly set size based on actual buffer layout

VP9FrameSizeTestsLarge.OneByOneVideo has been causing a failure in
jenkins libvpx__unit_tests-valgrind_long for "using of uninitialized
memory", the root cause was that the input image for this test was
not initialized with proper size, therefore plan U and V were not
initialized at all.

This commit fixes the size initialization, and resolves the issue.

Change-Id: Ic4dd1542b7bb0cb260a1e0aeeb505db21ae5edc8

9 years agoMerge "Set ref frame scaling factor in RTC inter mode decision"
Jingning Han [Mon, 29 Dec 2014 22:20:22 +0000 (14:20 -0800)]
Merge "Set ref frame scaling factor in RTC inter mode decision"

9 years agoMerge "WIP: Remove giant value cost table"
Jim Bankoski [Mon, 29 Dec 2014 19:24:42 +0000 (11:24 -0800)]
Merge "WIP: Remove giant value cost table"

9 years agoEnable sub8x8 inter block search for RTC coding mode
Jingning Han [Mon, 22 Dec 2014 21:38:34 +0000 (13:38 -0800)]
Enable sub8x8 inter block search for RTC coding mode

This commit enables sub8x8 inter block coding for RTC mode. The
use of sub8x8 blocks can be turned on by allowing
choose_partitioning function to select 4x4/4x8/8x4 block sizes.

Change-Id: Ifbf1fb3888fe4c094fc85158ac3aa89867d8494a

9 years agoWIP: Remove giant value cost table
Jim Bankoski [Tue, 23 Dec 2014 23:06:17 +0000 (15:06 -0800)]
WIP: Remove giant value cost table

Change-Id: Iabe8a8868a747626c24bb13f1796f4c7827af367

9 years agoSet ref frame scaling factor in RTC inter mode decision
Jingning Han [Tue, 23 Dec 2014 17:30:24 +0000 (09:30 -0800)]
Set ref frame scaling factor in RTC inter mode decision

Properly set the corresponding scaling factor of the reference
frame in the non-RD mode decision process. This allows the mode
search process to account for the scaled reference frame when
selecting coding mode.

Change-Id: I9d41bff6931c98e5a82b413e37ac5e6e14b93b23

9 years agoassert that the write writes the whole packet
Jim Bankoski [Tue, 23 Dec 2014 16:35:26 +0000 (08:35 -0800)]
assert that the write writes the whole packet

As a side effect this should avoid an unsigned signed failure in
jenkins.

Change-Id: I8e6a9c3dbd4252d37e6325f95fc80e49ce4cc59e

9 years agoMerge "make vp9_coef_encodings const"
Jim Bankoski [Mon, 22 Dec 2014 23:05:25 +0000 (15:05 -0800)]
Merge "make vp9_coef_encodings const"

9 years agoMerge "remove static initializers for partition tree"
Jim Bankoski [Mon, 22 Dec 2014 21:49:57 +0000 (13:49 -0800)]
Merge "remove static initializers for partition tree"

9 years agoMerge "Revert "Revert "Removal of legacy zbin_extra / zbin_oq_value."""
Jim Bankoski [Mon, 22 Dec 2014 21:43:56 +0000 (13:43 -0800)]
Merge "Revert "Revert "Removal of legacy zbin_extra / zbin_oq_value."""

9 years agoMerge "Tokenization without huge tables."
Jim Bankoski [Mon, 22 Dec 2014 21:36:38 +0000 (13:36 -0800)]
Merge "Tokenization without huge tables."

9 years agomake vp9_coef_encodings const
Jim Bankoski [Mon, 22 Dec 2014 21:35:56 +0000 (13:35 -0800)]
make vp9_coef_encodings const

Change-Id: I28a3d342a4a4b23e02a0f47bb8037c4403f71d61

9 years agoMerge "convert extra bit cat structure to const statics"
Jim Bankoski [Mon, 22 Dec 2014 20:53:50 +0000 (12:53 -0800)]
Merge "convert extra bit cat structure to const statics"

9 years agoMerge "Add multithread encodes to the encode perf test"
Frank Galligan [Mon, 22 Dec 2014 19:37:24 +0000 (11:37 -0800)]
Merge "Add multithread encodes to the encode perf test"

9 years agoRevert "Revert "Removal of legacy zbin_extra / zbin_oq_value.""
Jingning Han [Mon, 22 Dec 2014 17:35:29 +0000 (09:35 -0800)]
Revert "Revert "Removal of legacy zbin_extra / zbin_oq_value.""

This reverts commit 9946ee23e0a4c158e26a505b162a072f81b8a3be.

Fix the ssse3 asm function.

Change-Id: I07f77a63aa98087626e45c4e87aa5dcafc0b0b07

9 years agoTokenization without huge tables.
Jim Bankoski [Mon, 22 Dec 2014 16:42:52 +0000 (08:42 -0800)]
Tokenization without huge tables.

Change-Id: Iff528c4b7528cc70320343b3a7ce07a92b024dfd

9 years agoconvert extra bit cat structure to const statics
Jim Bankoski [Wed, 17 Dec 2014 22:08:42 +0000 (14:08 -0800)]
convert extra bit cat structure to const statics

Change-Id: Idb257e78dab2339ab1f41c3c82e537bc23e90b65

9 years agoRevert "remove vp8 unused uvstride parm in simple loop filter"
Jim Bankoski [Mon, 22 Dec 2014 01:57:26 +0000 (17:57 -0800)]
Revert "remove vp8 unused uvstride parm in simple loop filter"

This reverts commit 392a2c43c77242f05715bdac086f235e6cbbdf2e

Failing nexus build tests:
http://build.chromium.org/p/client.libvpx/builders/Nexus%207%20Builder/builds/224

Change-Id: I95ae2c894b70cef9c757334fcab7fdeca9003e9c

9 years agoMerge "Resolve several style issues in decode_perf_test"
Jim Bankoski [Mon, 22 Dec 2014 00:50:00 +0000 (16:50 -0800)]
Merge "Resolve several style issues in decode_perf_test"

9 years agoMerge "remove vp8 unused uvstride parm in simple loop filter"
Jim Bankoski [Mon, 22 Dec 2014 00:49:45 +0000 (16:49 -0800)]
Merge "remove vp8 unused uvstride parm in simple loop filter"

9 years agoResolve several style issues in decode_perf_test
Jim Bankoski [Fri, 19 Dec 2014 23:53:59 +0000 (15:53 -0800)]
Resolve several style issues in decode_perf_test

This allows us to track decode speed for new encodes so that we catch
problems like an encode change that makes decode really slow.

Change-Id: I7210196415c4e53d455e9c81246d9fb324913a06

9 years agoAdd multithread encodes to the encode perf test
Frank Galligan [Fri, 19 Dec 2014 19:21:52 +0000 (11:21 -0800)]
Add multithread encodes to the encode perf test

Encode the files with 1, 2, and 4 threads.

Explicitly turn on error resilient and frame parallel
decoding and turn off altref frames.

Change-Id: I02b66f72b7d35c666c3ba685b33015508e440209

9 years agoMerge "resolve visual studio warnings around initializers"
Jim Bankoski [Fri, 19 Dec 2014 23:18:04 +0000 (15:18 -0800)]
Merge "resolve visual studio warnings around initializers"

9 years agoresolve visual studio warnings around initializers
Jim Bankoski [Fri, 19 Dec 2014 15:50:54 +0000 (07:50 -0800)]
resolve visual studio warnings around initializers

Change-Id: Id2ad4fb24242f7ca8fa7a152f0889fded4113613

9 years agoMerge "vp9_ethread: add the multi-threaded encoder unit tests"
Yunqing Wang [Fri, 19 Dec 2014 20:33:27 +0000 (12:33 -0800)]
Merge "vp9_ethread: add the multi-threaded encoder unit tests"

9 years agoMerge "vpxdec: ignore GET_FRAME_CORRUPTED error w/--keep-going"
James Zern [Fri, 19 Dec 2014 19:51:19 +0000 (11:51 -0800)]
Merge "vpxdec: ignore GET_FRAME_CORRUPTED error w/--keep-going"

9 years agoMerge "Add a guard on intra mode skip control for RTC mode"
Jingning Han [Fri, 19 Dec 2014 19:03:00 +0000 (11:03 -0800)]
Merge "Add a guard on intra mode skip control for RTC mode"

9 years agoMerge "Remove ARF mode entries from THR_MODES array in non-RD mode"
Jingning Han [Fri, 19 Dec 2014 19:02:51 +0000 (11:02 -0800)]
Merge "Remove ARF mode entries from THR_MODES array in non-RD mode"

9 years agoMerge "Rework mode search threshold update for RTC coding mode"
Jingning Han [Fri, 19 Dec 2014 19:02:40 +0000 (11:02 -0800)]
Merge "Rework mode search threshold update for RTC coding mode"

9 years agoMerge "Properly store the tx_size of selected intra mode"
Jingning Han [Fri, 19 Dec 2014 19:02:37 +0000 (11:02 -0800)]
Merge "Properly store the tx_size of selected intra mode"

9 years agoMerge "Fix including test file twice."
Frank Galligan [Fri, 19 Dec 2014 18:31:30 +0000 (10:31 -0800)]
Merge "Fix including test file twice."

9 years agoMerge "Fix encode perf test"
Frank Galligan [Fri, 19 Dec 2014 16:11:36 +0000 (08:11 -0800)]
Merge "Fix encode perf test"

9 years agoRevert "Removal of legacy zbin_extra / zbin_oq_value."
Paul Wilkins [Fri, 19 Dec 2014 15:02:58 +0000 (15:02 +0000)]
Revert "Removal of legacy zbin_extra / zbin_oq_value."

This reverts commit e9b586e21bb899e247346e82bccf5afb42604910.

Change-Id: I5b36e6727da6c05278d97e2c37b80c109f79bed4

9 years agoMerge "Removal of legacy zbin_extra / zbin_oq_value."
Paul Wilkins [Fri, 19 Dec 2014 11:37:02 +0000 (03:37 -0800)]
Merge "Removal of legacy zbin_extra / zbin_oq_value."

9 years agoMerge "make vp9 encoder static initializers thread safe"
James Zern [Fri, 19 Dec 2014 02:48:30 +0000 (18:48 -0800)]
Merge "make vp9 encoder static initializers thread safe"

9 years agoMerge "tests/examples.sh: skip env. check for filtered tests"
James Zern [Fri, 19 Dec 2014 02:36:49 +0000 (18:36 -0800)]
Merge "tests/examples.sh: skip env. check for filtered tests"

9 years agovp9_ethread: add the multi-threaded encoder unit tests
Yunqing Wang [Tue, 16 Dec 2014 19:10:20 +0000 (11:10 -0800)]
vp9_ethread: add the multi-threaded encoder unit tests

The unit tests for VP9 multi-threaded encoder are added, which
carry out tests for all three modes(i.e. kTwoPassGood, kOnePassGood
and kRealTime), and speeds ranging from 1 to 8. A 1280x720 test
clip is used, which is encoded into multiple tiles. The number of
threads is num_of_tiles.

Change-Id: I04419eeca145ad841c9c527603668239a82e7fbd

9 years agoFix including test file twice.
Frank Galligan [Fri, 19 Dec 2014 00:03:27 +0000 (16:03 -0800)]
Fix including test file twice.

The test file niklas_1280_720_30.yuv may be included twice.

Change-Id: I44512073e9e430a8e10fbce5afd62041e0edea17

9 years agomake vp9 encoder static initializers thread safe
Jim Bankoski [Thu, 18 Dec 2014 23:50:46 +0000 (15:50 -0800)]
make vp9 encoder static initializers thread safe

Change-Id: If2d0888d13ebe52bc7c3b16f16319408a86ab6de

9 years agoFix encode perf test
Frank Galligan [Thu, 18 Dec 2014 23:19:21 +0000 (15:19 -0800)]
Fix encode perf test

The accepted range changed to -8..8.
BUG:https://code.google.com/p/webm/issues/detail?id=901

Change-Id: I53ac80b58f4819b82c76db61db5dc476f821191f

9 years agoAdd a guard on intra mode skip control for RTC mode
Jingning Han [Thu, 18 Dec 2014 19:54:13 +0000 (11:54 -0800)]
Add a guard on intra mode skip control for RTC mode

This commit adds a guard condition to the intra mode test skip
control in RTC coding mode. If all inter modes are skipped, force
the encoder to check intra mode. It avoids situations where the
encoder processes without properly assigning required mode
information.

Change-Id: Ibb349fee997d6584ce901d08b06e8df3ca9c01b1

9 years agoRemoval of legacy zbin_extra / zbin_oq_value.
Paul Wilkins [Wed, 17 Dec 2014 16:26:30 +0000 (16:26 +0000)]
Removal of legacy zbin_extra / zbin_oq_value.

zbin extra / zbin_oq_value was widely passed around,
hence removal touches a lot of code.

Change-Id: Idc94359735b60c38a160e4385ae09d5ca8b6b8e5

9 years agoRemove mode dependent zbin boost.
Paul Wilkins [Wed, 17 Dec 2014 15:35:23 +0000 (15:35 +0000)]
Remove mode dependent zbin boost.

Initial patch to remove get_zbin_mode_boost() and
cpi->zbin_mode_boost.

For now sets a dummy value of 0 for zbin extra pending
a further clean up patch.

Change-Id: I64a1e1eca2d39baa8ffb0871b515a0be05c9a6af

9 years agoMerge "Improve motion detection for low complexity regions."
Paul Wilkins [Thu, 18 Dec 2014 16:38:21 +0000 (08:38 -0800)]
Merge "Improve motion detection for low complexity regions."

9 years agovpxdec: ignore GET_FRAME_CORRUPTED error w/--keep-going
James Zern [Thu, 18 Dec 2014 03:20:00 +0000 (19:20 -0800)]
vpxdec: ignore GET_FRAME_CORRUPTED error w/--keep-going

this function may return an error if no frame is available; --keep-going
is meant to test decoder resilience, so simply warn in this case.

Change-Id: I6e6aed3e78eca21cca80d7d8a06a1a244685ba29

9 years agotests/examples.sh: skip env. check for filtered tests
James Zern [Thu, 18 Dec 2014 03:02:00 +0000 (19:02 -0800)]
tests/examples.sh: skip env. check for filtered tests

Change-Id: Ide670b00ae3ecd9e18f394905341bf793349f247

9 years agoLet YUV plane share the same dqcoeff buffer.
hkuang [Fri, 12 Dec 2014 19:31:23 +0000 (11:31 -0800)]
Let YUV plane share the same dqcoeff buffer.

Remove unnecessary dqcoeff from macroblockd which reduce macroblockd
size by 16384 bytes.

Change-Id: Ia379a703b4fee81c8fd4698b52488a85a90c9bc2

9 years agoRemove ARF mode entries from THR_MODES array in non-RD mode
Jingning Han [Thu, 18 Dec 2014 01:11:39 +0000 (17:11 -0800)]
Remove ARF mode entries from THR_MODES array in non-RD mode

The alternate reference frame is disabled in non-RD mode. No need
to keep the related entries in the THR_MODES array.

Change-Id: I53386f4bb1c6284f582801f27246c5edf55bc24b

9 years agoMerge "Corrected value range of --cpu-used for vp9"
Yaowu Xu [Thu, 18 Dec 2014 01:12:14 +0000 (17:12 -0800)]
Merge "Corrected value range of --cpu-used for vp9"

9 years agoRework mode search threshold update for RTC coding mode
Jingning Han [Wed, 17 Dec 2014 22:26:00 +0000 (14:26 -0800)]
Rework mode search threshold update for RTC coding mode

In RTC coding mode, the alternate reference frame modes and compound
inter prediction modes are disabled. This commit reworks the
related mode search threshold update process to skip interacting
with these coding modes. It provides about 1.5% speed-up for speed
-6 on average.

vidyo1
16551 b/f, 40.451 dB, 6261 ms -> 16550 b/f, 40.459 dB, 6190 ms

nik720p
33316 b/f, 38.795 dB, 6335 ms -> 33310 b/f, 38.798 dB, 6237 ms

mmmoving
33265 b/f, 41.055 dB, 7176 ms -> 33267 b/f, 41.064 dB, 7084 ms

dark720
33329 b/f, 39.729 dB, 11235 ms -> 33331 b/f, 39.733 dB, 10731 ms

Change-Id: If2a4090a371cd28f579be219c013b972d7d9b97f

9 years agoCorrected value range of --cpu-used for vp9
Yaowu Xu [Wed, 17 Dec 2014 23:15:33 +0000 (15:15 -0800)]
Corrected value range of --cpu-used for vp9

This commit removes undefined value options of cpu-used for VP9 and
changed vpxenc prompt to reflect the usable range of [-8,8]

Change-Id: Ib80fef3dbb6ec9aabac45ed13e8ab6fbaf94f55e

9 years agoMerge "Add rectangle block support for MFQE."
JackyChen [Wed, 17 Dec 2014 23:10:02 +0000 (15:10 -0800)]
Merge "Add rectangle block support for MFQE."

9 years agoMerge "Enhance the end to end psnr tests"
Deb Mukherjee [Wed, 17 Dec 2014 21:49:13 +0000 (13:49 -0800)]
Merge "Enhance the end to end psnr tests"

9 years agoEnhance the end to end psnr tests
Deb Mukherjee [Mon, 15 Dec 2014 19:58:43 +0000 (11:58 -0800)]
Enhance the end to end psnr tests

Includes more speed settings and also real-time mode now.

Change-Id: I71c77c4a2471d715c61cc30db092aa053cf012e1

9 years agoremove static initializers for partition tree
Jim Bankoski [Wed, 17 Dec 2014 19:41:06 +0000 (11:41 -0800)]
remove static initializers for partition tree

Could have problem with 2 encoders.

Change-Id: I92d326933c00fee688f77b54acf467ca5a8516bc
see: https://code.google.com/p/webm/issues/detail?id=900&thanks=900&ts=1418843841

9 years agoMerge "Improve the libvpx encoder test driver"
Yunqing Wang [Wed, 17 Dec 2014 18:06:33 +0000 (10:06 -0800)]
Merge "Improve the libvpx encoder test driver"

9 years agoMerge "Use bit_depth in VP9Common as the flag of highbit."
JackyChen [Wed, 17 Dec 2014 17:30:32 +0000 (09:30 -0800)]
Merge "Use bit_depth in VP9Common as the flag of highbit."

9 years agoProperly store the tx_size of selected intra mode
Jingning Han [Wed, 17 Dec 2014 00:02:58 +0000 (16:02 -0800)]
Properly store the tx_size of selected intra mode

Use a temporary variable to store the transform size associated
with the best intra mode and restore the mode_info if the overall
best mode is intra mode.

Change-Id: I2606e0061ad32f91b095462902b1eb734b128eea

9 years agoMerge "Remove reset mode_info array per frame"
Jingning Han [Wed, 17 Dec 2014 17:24:44 +0000 (09:24 -0800)]
Merge "Remove reset mode_info array per frame"

9 years agoMerge "Set second ref frame to be NONE in key frame coding"
Jingning Han [Wed, 17 Dec 2014 17:24:39 +0000 (09:24 -0800)]
Merge "Set second ref frame to be NONE in key frame coding"

9 years agoImprove the libvpx encoder test driver
Yunqing Wang [Fri, 12 Dec 2014 22:34:30 +0000 (14:34 -0800)]
Improve the libvpx encoder test driver

The encoder initialization is called in EncodeFrame(). Therefore,
in the unit tests, the set control is done when video->frame() is 1.
This didn't cause problem since current tests mainly test lag_frame
> 0 case, or no encoding option that needs to allocate memory before
1st frame is used. If use lag_frame = 0 and encoding multiple tiles,
the unit tests crash. The issue is fixed by doing the initialization
before encoding frames.

Change-Id: I43102048f88448bcf27e9c60e0ec06c176b02e5c

9 years agoUse bit_depth in VP9Common as the flag of highbit.
JackyChen [Tue, 16 Dec 2014 22:17:14 +0000 (14:17 -0800)]
Use bit_depth in VP9Common as the flag of highbit.

Change-Id: I881aefbe68f9c10bb4629a2a5ee1e42a225d5ab7

9 years agoVP9 common for ARMv8 by using NEON intrinsics 15
James Yu [Sat, 8 Feb 2014 04:06:21 +0000 (12:06 +0800)]
VP9 common for ARMv8 by using NEON intrinsics 15

Re-write
- vp9_lpf_horizontal_4_dual_neon
in vp9_loopfilter_16_neon.c

Change-Id: Ie14f63d352f9564ad01db3939a61d91cf6d21a31
Signed-off-by: James Yu <james.yu@linaro.org>
9 years agoMerge "Use defines for inline and __builtin_prefetch"
Johann [Wed, 17 Dec 2014 02:04:04 +0000 (18:04 -0800)]
Merge "Use defines for inline and __builtin_prefetch"

9 years agoMerge "Fix intra mode update process in vp9_pick_inter_mode"
Jingning Han [Wed, 17 Dec 2014 01:04:04 +0000 (17:04 -0800)]
Merge "Fix intra mode update process in vp9_pick_inter_mode"

9 years agoAdd rectangle block support for MFQE.
JackyChen [Tue, 16 Dec 2014 19:17:20 +0000 (11:17 -0800)]
Add rectangle block support for MFQE.

Only for the rectangle blocks larger than 16X16, SAD and Variance are
still based on the internal square blocks.

Change-Id: I3754da1b0254147313f86a0140dbf4f980f06a5a

9 years agoMerge "VP9 common for ARMv8 by using NEON intrinsics 16"
Johann [Wed, 17 Dec 2014 00:15:48 +0000 (16:15 -0800)]
Merge "VP9 common for ARMv8 by using NEON intrinsics 16"

9 years agoMerge "Allow building multi-res encoder with --shared"
Johann [Tue, 16 Dec 2014 23:54:36 +0000 (15:54 -0800)]
Merge "Allow building multi-res encoder with --shared"

9 years agoMerge "Silence -Werror=unused-parameter"
Johann [Tue, 16 Dec 2014 23:54:29 +0000 (15:54 -0800)]
Merge "Silence -Werror=unused-parameter"

9 years agoRemove reset mode_info array per frame
Jingning Han [Tue, 16 Dec 2014 17:21:22 +0000 (09:21 -0800)]
Remove reset mode_info array per frame

The mode_info array was unnecessarily reset to zero every frame
when error resilient mode turned on, given that the mode info
values per block will be assigned during mode search stage.

This commit removes this reset operation. It reduces the runtime
cost on memset operation to 1/3. The overall speed -6 runtime is
reduced by 2%.

Change-Id: I32ecb73338d8995cc0c5147de09357364f13d45b

9 years agoSet second ref frame to be NONE in key frame coding
Jingning Han [Tue, 16 Dec 2014 23:46:59 +0000 (15:46 -0800)]
Set second ref frame to be NONE in key frame coding

This commit explicitly set the second reference frame type to be
NONE in key frame coding mode. This fixes a subtle dependency of
reference motion vector used by next inter frame on mode_info
reset before key frame coding.

Change-Id: I5ff0359753fdc9992b0bfe889490f7a32d7d5f6a

9 years agoUse defines for inline and __builtin_prefetch
Johann [Tue, 16 Dec 2014 23:08:16 +0000 (15:08 -0800)]
Use defines for inline and __builtin_prefetch

These were established for compatibility. Make sure to use them.

Most frequently they manifest as issues on Visual Studio builds.

Change-Id: I39d764d2eb341b999d7a6132cb44b2acfc511160

9 years agoMerge "Revert "Revert "Add support for setting byte alignment."""
Frank Galligan [Tue, 16 Dec 2014 23:14:17 +0000 (15:14 -0800)]
Merge "Revert "Revert "Add support for setting byte alignment."""

9 years agoVP9 common for ARMv8 by using NEON intrinsics 16
James Yu [Sat, 8 Feb 2014 17:01:36 +0000 (01:01 +0800)]
VP9 common for ARMv8 by using NEON intrinsics 16

Add vp9_reconintra_neon.c
- vp9_v_predictor_4x4_neon
- vp9_v_predictor_8x8_neon
- vp9_v_predictor_16x16_neon
- vp9_v_predictor_32x32_neon
- vp9_h_predictor_4x4_neon
- vp9_h_predictor_8x8_neon
- vp9_h_predictor_16x16_neon
- vp9_h_predictor_32x32_neon
- vp9_tm_predictor_4x4_neon
- vp9_tm_predictor_8x8_neon
- vp9_tm_predictor_16x16_neon
- vp9_tm_predictor_32x32_neon

Change-Id: Ib5d54a4766a1b5127169045659974f33aa98376d
Signed-off-by: James Yu <james.yu@linaro.org>
9 years agoAllow building multi-res encoder with --shared
Johann [Tue, 16 Dec 2014 20:47:53 +0000 (12:47 -0800)]
Allow building multi-res encoder with --shared

Export vpx_codec_enc_init_multi_ver so the vp8 multi res encoder example
can see it when building shared.

Change-Id: Ic5222b1b6d949f39c7e50c3bc58fb76bece2a3f1

9 years agoSilence -Werror=unused-parameter
Johann [Tue, 16 Dec 2014 20:22:10 +0000 (12:22 -0800)]
Silence -Werror=unused-parameter

Cast away remaining issues so that new ones don't get lost in the noise.

Change-Id: Iacd6999b0686ce80f9835730d68db6382690fa92

9 years agoMerge "rtcd: handle armv7s architecture"
James Zern [Tue, 16 Dec 2014 20:22:55 +0000 (12:22 -0800)]
Merge "rtcd: handle armv7s architecture"

9 years agoVP9 common for ARMv8 by using NEON intrinsics 19
James Yu [Wed, 15 Jan 2014 08:20:34 +0000 (16:20 +0800)]
VP9 common for ARMv8 by using NEON intrinsics 19

Delete vp9_dc_only_idct_add_neon.c

The function was merged with vp9_short_idct4x4_1_add (later
vp9_idct4x4_1_add) in d2de1ca and should have been deleted then.

Change-Id: Ie58ba3dd9dc7330a8f1238dd7dd71c9ed4639b94
Signed-off-by: James Yu <james.yu@linaro.org>
9 years agoMerge "Fixed MFQE crash issue for highbit depth."
JackyChen [Tue, 16 Dec 2014 19:12:03 +0000 (11:12 -0800)]
Merge "Fixed MFQE crash issue for highbit depth."

9 years agoFixed MFQE crash issue for highbit depth.
JackyChen [Tue, 16 Dec 2014 18:02:47 +0000 (10:02 -0800)]
Fixed MFQE crash issue for highbit depth.

Check the flags, no MFQE for highbit now. Will add highbit support
latter.

Change-Id: I548c27593e0f47ab7f4c92b45f14fb037dc86591

9 years agoMerge "Initialize best_tx_size with invalid value"
Jingning Han [Tue, 16 Dec 2014 18:01:03 +0000 (10:01 -0800)]
Merge "Initialize best_tx_size with invalid value"

9 years agoMerge "Prevent decoder from using uninitialized entropy context."
Yaowu Xu [Tue, 16 Dec 2014 17:30:24 +0000 (09:30 -0800)]
Merge "Prevent decoder from using uninitialized entropy context."

9 years agoMerge "Use right shift to replace division in vp9_pick_inter_mode"
Jingning Han [Tue, 16 Dec 2014 17:26:51 +0000 (09:26 -0800)]
Merge "Use right shift to replace division in vp9_pick_inter_mode"

9 years agoImprove motion detection for low complexity regions.
Paul Wilkins [Thu, 11 Dec 2014 16:22:03 +0000 (16:22 +0000)]
Improve motion detection for low complexity regions.

Where there is very subtle motion, especially when combined
with low spatial complexity, the codec sometimes fails to quickly
pick up the ambient motion field.

Once it has been established though the field propagates well using
Nearest and Near MV.

This patch looks specifically at the case where the Nearest and Near
have not been established as non zero vectors and in this case
discounts the cost of searching for a new vector in the rd code.

This will almost certainly have some implications in terms of encode
speed but it should be possible to mitigate the impact in a subsequent
using first pass stats and the local spatial complexity.

Average results for test sets approximately neutral.

Change-Id: I44a29e20f11f7ab10f8c93ffbdc50183d9801524

9 years agoMerge "Fix for crash in highbitdepth rt mode"
Debargha Mukherjee [Tue, 16 Dec 2014 14:41:54 +0000 (06:41 -0800)]
Merge "Fix for crash in highbitdepth rt mode"

9 years agoMerge "Fix the comments."
Jim Bankoski [Tue, 16 Dec 2014 14:25:01 +0000 (06:25 -0800)]
Merge "Fix the comments."

9 years agoFix for crash in highbitdepth rt mode
Peter de Rivaz [Tue, 16 Dec 2014 10:55:49 +0000 (10:55 +0000)]
Fix for crash in highbitdepth rt mode

Change 72141 introduced a new use of vp9_avg_4x4.
This call needs to switch to using vp9_highbd_avg_4x4
when performing high bitdepth encodes.

Change-Id: I6a8ba4b62f8a75d0a917b365a55245e2f0438ea1

9 years agoMerge "iosbuild.sh: allow for out of tree builds"
James Zern [Tue, 16 Dec 2014 06:04:46 +0000 (22:04 -0800)]
Merge "iosbuild.sh: allow for out of tree builds"

9 years agoiosbuild.sh: allow for out of tree builds
James Zern [Tue, 16 Dec 2014 02:41:46 +0000 (18:41 -0800)]
iosbuild.sh: allow for out of tree builds

Change-Id: Id89ed4a4153dd6e02380c4b8ae8ad6c1f8d21944

9 years agortcd: handle armv7s architecture
James Zern [Tue, 16 Dec 2014 02:39:51 +0000 (18:39 -0800)]
rtcd: handle armv7s architecture

quiets build warnings about implicit (armv6) function declarations

Change-Id: I896a5ef3e367e5bb92777a60d34003eb3a040997

9 years agoFix intra mode update process in vp9_pick_inter_mode
Jingning Han [Mon, 15 Dec 2014 22:43:07 +0000 (14:43 -0800)]
Fix intra mode update process in vp9_pick_inter_mode

When multiple intra modes are tested, the previous mode info
update process may overwrite the selected best intra mode and make
the final selection use an inter mode. This commit fixes this
issue by moving the mode_info reset outside the intra mode search
loop.

Change-Id: I15ed4288a6b3cb0832104a5e6d5d9a25cd1a5b2b