platform/upstream/libvpx.git
9 years agoMerge "Cosmetic naming change"
Jingning Han [Wed, 10 Dec 2014 17:05:34 +0000 (09:05 -0800)]
Merge "Cosmetic naming change"

9 years agoMerge "Take out redundant setting of mode_info from set_block_size"
Jingning Han [Wed, 10 Dec 2014 17:05:26 +0000 (09:05 -0800)]
Merge "Take out redundant setting of mode_info from set_block_size"

9 years agoMerge "Remove unused rd cost calculation from nonrd_use_partition"
Jingning Han [Wed, 10 Dec 2014 17:05:18 +0000 (09:05 -0800)]
Merge "Remove unused rd cost calculation from nonrd_use_partition"

9 years agoMerge changes I92251a8b,I5d23a685
Jim Bankoski [Wed, 10 Dec 2014 14:42:08 +0000 (06:42 -0800)]
Merge changes I92251a8b,I5d23a685

* changes:
  Adds a decode perf test that builds a new file.
  Make the decoder Cfg available to encoder tests..

9 years agoVP9 common for ARMv8 by using NEON intrinsics 03
James Yu [Tue, 21 Jan 2014 09:23:27 +0000 (17:23 +0800)]
VP9 common for ARMv8 by using NEON intrinsics 03

Add vp9_copy_neon.c
- vp9_convolve_copy_neon

Change-Id: I291fc5423d06240876411bbceab03eae5ef585be
Signed-off-by: James Yu <james.yu@linaro.org>
9 years agoVP9 common for ARMv8 by using NEON intrinsics 02
Scott LaVarnway [Wed, 10 Sep 2014 16:49:34 +0000 (09:49 -0700)]
VP9 common for ARMv8 by using NEON intrinsics 02

Add vp9_avg_neon.c
- vp9_convolve_avg_neon

Change-Id: Id2c9d5bcfa37cff1a16417aba1656ff07bdf10fd
Signed-off-by: James Yu <james.yu@linaro.org>
9 years agoMerge "Fix clang ioc warning due to NULL src_mi pointer."
James Zern [Wed, 10 Dec 2014 02:31:46 +0000 (18:31 -0800)]
Merge "Fix clang ioc warning due to NULL src_mi pointer."

9 years agoMerge "Add convolve_copy and convolve_avg to the test"
Johann [Wed, 10 Dec 2014 00:51:35 +0000 (16:51 -0800)]
Merge "Add convolve_copy and convolve_avg to the test"

9 years agoFix clang ioc warning due to NULL src_mi pointer.
hkuang [Tue, 9 Dec 2014 22:32:48 +0000 (14:32 -0800)]
Fix clang ioc warning due to NULL src_mi pointer.

The warning only happens in VP9 encoder's first pass due to src_mi
is not set up yet. But it will not fail the encoder as left_mi and
above_mi are not used in the first_pass and they will be set up again
in the second pass.

Change-Id: I12dffcd5fb1002b2b2dabb083c8726650e4b5f08

9 years agoMerge "VP9 common for ARMv8 by using NEON intrinsics 01"
Johann [Tue, 9 Dec 2014 21:41:49 +0000 (13:41 -0800)]
Merge "VP9 common for ARMv8 by using NEON intrinsics 01"

9 years agoAdd convolve_copy and convolve_avg to the test
Johann [Tue, 9 Dec 2014 20:05:15 +0000 (12:05 -0800)]
Add convolve_copy and convolve_avg to the test

Change-Id: Ic9438031282e63e627550f7e4cdeda36e43e647b

9 years agoMerge "Disable neon assembly when neon is disabled"
Johann [Tue, 9 Dec 2014 20:47:12 +0000 (12:47 -0800)]
Merge "Disable neon assembly when neon is disabled"

9 years agoAdds a decode perf test that builds a new file.
Jim Bankoski [Tue, 9 Dec 2014 20:44:45 +0000 (12:44 -0800)]
Adds a decode perf test that builds a new file.

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: I92251a8b1f710b241f66e1042413df1b71b76038

9 years agoVP9 common for ARMv8 by using NEON intrinsics 01
James Yu [Tue, 21 Jan 2014 01:43:29 +0000 (09:43 +0800)]
VP9 common for ARMv8 by using NEON intrinsics 01

Add vp9_loopfilter_neon.c
- vp9_lpf_horizontal_4_neon
- vp9_lpf_vertical_4_neon
- vp9_lpf_horizontal_8_neon
- vp9_lpf_vertical_8_neon

Change-Id: I97a0d7b399a431c21ee77396be3d5f5a1f7ebccb
Signed-off-by: James Yu <james.yu@linaro.org>
9 years agoDisable neon assembly when neon is disabled
Johann [Mon, 8 Dec 2014 23:13:37 +0000 (15:13 -0800)]
Disable neon assembly when neon is disabled

Change-Id: Idde266cd7287bb6bee016c90efeafa67550f94c6

9 years agoCosmetic naming change
Jingning Han [Tue, 9 Dec 2014 18:30:39 +0000 (10:30 -0800)]
Cosmetic naming change

Rename set_modeinfo_offsets as set_mode_info_offsets, to be more
consistent with naming convention.

Change-Id: I68ca1f36c4a78127d9439a50c1506a2afd07927d

9 years agoTake out redundant setting of mode_info from set_block_size
Jingning Han [Tue, 9 Dec 2014 18:24:37 +0000 (10:24 -0800)]
Take out redundant setting of mode_info from set_block_size

The later encoding process will take the top-left block's
mode_info for pre-determined block size.

Change-Id: I76a90f9ce7f3b2dbc2975b52442114e461c465b5

9 years agoMerge "Clean up the logic of handling corrupted frame."
hkuang [Tue, 9 Dec 2014 18:23:18 +0000 (10:23 -0800)]
Merge "Clean up the logic of handling corrupted frame."

9 years agoRemove unused rd cost calculation from nonrd_use_partition
Jingning Han [Tue, 9 Dec 2014 02:43:36 +0000 (18:43 -0800)]
Remove unused rd cost calculation from nonrd_use_partition

The per block rd cost calculation is not needed when partition
size is preset.

Change-Id: Ie5575248bbffb584e908aa13097f697ace6ec747

9 years agoMerge "Extend x32 check by also checking for __x86_64__."
Johann [Mon, 8 Dec 2014 22:52:31 +0000 (14:52 -0800)]
Merge "Extend x32 check by also checking for __x86_64__."

9 years agoMerge "SSSE3 Optimization for Atom processors using new instruction selection and...
Yunqing Wang [Mon, 8 Dec 2014 21:34:53 +0000 (13:34 -0800)]
Merge "SSSE3 Optimization for Atom processors using new instruction selection and ordering"

9 years agoMerge "Changes to assembler for NASM on mac."
James Zern [Mon, 8 Dec 2014 20:55:06 +0000 (12:55 -0800)]
Merge "Changes to assembler for NASM on mac."

9 years agoSSSE3 Optimization for Atom processors using new instruction selection and ordering
levytamar82 [Fri, 5 Dec 2014 18:14:33 +0000 (11:14 -0700)]
SSSE3 Optimization for Atom processors using new instruction selection and ordering

The function vp9_filter_block1d16_h8_ssse3 uses the PSHUFB instruction which has a 3 cycle latency and slows execution when done in blocks of 5 or more on Atom processors.
By replacing the PSHUFB instructions with other more efficient single cycle instructions (PUNPCKLBW + PUNPCHBW + PALIGNR) performance can be improved.
In the original code, the PSHUBF uses every byte and is consecutively copied.
This is done more efficiently by PUNPCKLBW and PUNPCHBW, using PALIGNR to concatenate the intermediate result and then shift right the next consecutive 16 bytes for the final result.

For example:
filter = 0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8
Reg = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
REG1 = PUNPCKLBW Reg, Reg = 0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7
REG2 = PUNPCHBW Reg, Reg = 8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15
PALIGNR REG2, REG1, 1 = 0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8

This optimization improved the function performance by 23% and produced a 3% user level gain on 1080p content on Atom processors.
There was no observed performance impact on Core processors (expected).

Change-Id: I3cec701158993d95ed23ff04516942b5a4a461c0

9 years agoMerge "Improve the performance by caching the left_mi and right_mi in macroblockd."
hkuang [Mon, 8 Dec 2014 18:24:17 +0000 (10:24 -0800)]
Merge "Improve the performance by caching the left_mi and right_mi in macroblockd."

9 years agoMerge "Use average mb energy from first pass in AQ2 test."
Paul Wilkins [Mon, 8 Dec 2014 17:01:39 +0000 (09:01 -0800)]
Merge "Use average mb energy from first pass in AQ2 test."

9 years agoMerge "Fix potential integer overflow."
Frank Galligan [Mon, 8 Dec 2014 05:37:39 +0000 (21:37 -0800)]
Merge "Fix potential integer overflow."

9 years agoMake the decoder Cfg available to encoder tests..
Jim Bankoski [Sun, 7 Dec 2014 19:28:51 +0000 (11:28 -0800)]
Make the decoder Cfg available to encoder tests..

Adds decoder config as a changeable parameter to unit tests, and
changes end to end test to use commonly used parameters to enable
base test of tiles encoding and frame parallel decoding.

Change-Id: I5d23a6857303b4d68b92b15c3f2f04a1bcb4c2bb

9 years agoMerge "vp9 asserts: fix compile warning"
James Zern [Sat, 6 Dec 2014 05:09:42 +0000 (21:09 -0800)]
Merge "vp9 asserts: fix compile warning"

9 years agoMerge "fix building with --disable-spatial-resampling"
James Zern [Sat, 6 Dec 2014 04:36:44 +0000 (20:36 -0800)]
Merge "fix building with --disable-spatial-resampling"

9 years agofix building with --disable-spatial-resampling
James Zern [Sat, 6 Dec 2014 00:02:42 +0000 (16:02 -0800)]
fix building with --disable-spatial-resampling

vpx_scale.c is only used by the vp8 encoder when spatial resampling is
enabled.

Change-Id: If3d3ad81e9ee6e0b59f8c040b9624ef52598fe03

9 years agoMerge "vp9: fix frame-parallel encoding"
James Zern [Sat, 6 Dec 2014 03:00:48 +0000 (19:00 -0800)]
Merge "vp9: fix frame-parallel encoding"

9 years agoMerge "Some internal-stats, vp9-highbitdepth bug fixes"
Deb Mukherjee [Sat, 6 Dec 2014 01:49:52 +0000 (17:49 -0800)]
Merge "Some internal-stats, vp9-highbitdepth bug fixes"

9 years agovp9: fix frame-parallel encoding
James Zern [Sat, 6 Dec 2014 01:44:46 +0000 (17:44 -0800)]
vp9: fix frame-parallel encoding

the flag in the header wasn't being set based on the encoder
configuration in non-intra only mode

broken since:
fbc2fbf Adding oxcf temp variable.

Change-Id: Ib4cff9901889824bc4e68d7f0f6deb1e41df2f53

9 years agoMerge "Remove redundant rdcost reset"
Jingning Han [Sat, 6 Dec 2014 01:35:07 +0000 (17:35 -0800)]
Merge "Remove redundant rdcost reset"

9 years agoMerge "Fix a motion search skip condition in vp9_pick_inter_mode"
Jingning Han [Sat, 6 Dec 2014 01:35:04 +0000 (17:35 -0800)]
Merge "Fix a motion search skip condition in vp9_pick_inter_mode"

9 years agoMerge "Remove redundant MB_MODE_INFO reset from vp9_pick_mode_inter"
Jingning Han [Sat, 6 Dec 2014 00:59:50 +0000 (16:59 -0800)]
Merge "Remove redundant MB_MODE_INFO reset from vp9_pick_mode_inter"

9 years agoImprove the performance by caching the left_mi and right_mi in macroblockd.
hkuang [Fri, 5 Dec 2014 22:39:21 +0000 (14:39 -0800)]
Improve the performance by caching the left_mi and right_mi in macroblockd.

This improve the deocde performance by ~2% on Nexus 7 2013.

Change-Id: Ie9c4ba0371a149eb7fddc687a6a291c17298d6c3

9 years agovp9 asserts: fix compile warning
James Zern [Sat, 6 Dec 2014 00:20:42 +0000 (16:20 -0800)]
vp9 asserts: fix compile warning

string literal to int within an assert

Change-Id: I76a173f96b9add5bf27c3f5ad5d72c6f30e51629

9 years agoRemove redundant rdcost reset
Jingning Han [Sat, 6 Dec 2014 00:04:22 +0000 (16:04 -0800)]
Remove redundant rdcost reset

The initial reset of this_rdc in vp9_pick_inter_mode is not needed,
since it will be re-assign when used.

Change-Id: Ic0e12d741cbab292fc214c1eabb48b129af7839b

9 years agoFix a motion search skip condition in vp9_pick_inter_mode
Jingning Han [Fri, 5 Dec 2014 23:56:39 +0000 (15:56 -0800)]
Fix a motion search skip condition in vp9_pick_inter_mode

Compare the current best mode rate-distortion cost with the skip
threshold to decide if performing motion search.

Change-Id: Ia071824f8dd3b7db485f424692a485a2da6a1a9f

9 years agoRemove redundant MB_MODE_INFO reset from vp9_pick_mode_inter
Jingning Han [Fri, 5 Dec 2014 23:50:31 +0000 (15:50 -0800)]
Remove redundant MB_MODE_INFO reset from vp9_pick_mode_inter

Change-Id: I0222f7abc61202f4a83b117bbfb042ada6304562

9 years agoMerge "Merge set_prev_mi function into encoder function."
hkuang [Fri, 5 Dec 2014 23:12:50 +0000 (15:12 -0800)]
Merge "Merge set_prev_mi function into encoder function."

9 years agoSome internal-stats, vp9-highbitdepth bug fixes
Deb Mukherjee [Fri, 5 Dec 2014 21:40:50 +0000 (13:40 -0800)]
Some internal-stats, vp9-highbitdepth bug fixes

Change-Id: I0363d98f6f6558a43276aec48f27dca37c93f5ad

9 years agoMerge "Remove redundant vp9_zero in choose_partitioning"
Jingning Han [Fri, 5 Dec 2014 19:47:57 +0000 (11:47 -0800)]
Merge "Remove redundant vp9_zero in choose_partitioning"

9 years agoMerge "Enable conditional skip path in rd_pick_intra_sby_mode"
Jingning Han [Fri, 5 Dec 2014 19:25:30 +0000 (11:25 -0800)]
Merge "Enable conditional skip path in rd_pick_intra_sby_mode"

9 years agoMerge "Use hybrid RD and non-RD coding flow for key frame coding"
Jingning Han [Fri, 5 Dec 2014 19:25:19 +0000 (11:25 -0800)]
Merge "Use hybrid RD and non-RD coding flow for key frame coding"

9 years agoRemove redundant vp9_zero in choose_partitioning
Jingning Han [Fri, 5 Dec 2014 18:38:09 +0000 (10:38 -0800)]
Remove redundant vp9_zero in choose_partitioning

It makes the overall speed -6 about 2% faster with no compression
performance change.

Change-Id: I680a967b421caa2c5a5cdb821311c4726a2df45a

9 years agoEnable conditional skip path in rd_pick_intra_sby_mode
Jingning Han [Thu, 4 Dec 2014 22:53:36 +0000 (14:53 -0800)]
Enable conditional skip path in rd_pick_intra_sby_mode

These speed-up features for key frame coding are only turned on
in the settings of hybrid non-RD and RD mode decision. It provides
about 20% speed-up to the hybrid key frame coding at the expense
of certain compression performance loss. For vidyo1, the key frame
coding statistics are changed
9838F, 35.020 dB, 61677 us -> 9920F, 34.834 dB, 47556 us

Overall rtc set compression performance is down by -0.257%.

Change-Id: I0025447fda26bb7855e982955642b5f55d71b51f

9 years agoUse hybrid RD and non-RD coding flow for key frame coding
Jingning Han [Thu, 4 Dec 2014 17:29:24 +0000 (09:29 -0800)]
Use hybrid RD and non-RD coding flow for key frame coding

When block size is below 16x16, the encoder swap from non-RD to
RD mode for key frame coding. This largely brough back the key
frame compression performance. For vidyo1 at 1000 kbps, the key
frame coding statistics are changed

9978F, 34.183 dB, 36807 us -> 9838F, 35.020 dB, 61677 us

As compared to the full RD case
7187F, 34.930 dB, 214470 us

The overall rtc set coding performance (single key frame setting)
is improved by 1.5%.

Change-Id: I78a4ecf025d7b24ec911e85be94e01da05e77878

9 years agoMerge "vp9_ethread: the tile-based multi-threaded encoder"
Yunqing Wang [Fri, 5 Dec 2014 16:23:49 +0000 (08:23 -0800)]
Merge "vp9_ethread: the tile-based multi-threaded encoder"

9 years agoFix potential integer overflow.
Frank Galligan [Fri, 5 Dec 2014 00:26:47 +0000 (16:26 -0800)]
Fix potential integer overflow.

ioc found a potential integer overflow in the rate control.

This is related to https://code.google.com/p/webm/issues/detail?id=821

Change-Id: Ib6c4acd6e964972f932fce7490592eb134f2b7ea

9 years agoMerge "Increase strength of AQ1."
Paul Wilkins [Fri, 5 Dec 2014 12:11:43 +0000 (04:11 -0800)]
Merge "Increase strength of AQ1."

9 years agoMerge "Use the RTC optimizations when in high bitdepth mode."
Debargha Mukherjee [Fri, 5 Dec 2014 03:22:27 +0000 (19:22 -0800)]
Merge "Use the RTC optimizations when in high bitdepth mode."

9 years agoMerge "vp9_reader: reorder struct members"
James Zern [Fri, 5 Dec 2014 00:08:08 +0000 (16:08 -0800)]
Merge "vp9_reader: reorder struct members"

9 years agoMerge "Corrected the renaming of CONFIG_VP9_HIGH ro CONFIG_VP9_HIGHBITDEPTH."
Debargha Mukherjee [Thu, 4 Dec 2014 23:52:35 +0000 (15:52 -0800)]
Merge "Corrected the renaming of CONFIG_VP9_HIGH ro CONFIG_VP9_HIGHBITDEPTH."

9 years agoUse the RTC optimizations when in high bitdepth mode.
Peter de Rivaz [Thu, 4 Dec 2014 10:51:10 +0000 (10:51 +0000)]
Use the RTC optimizations when in high bitdepth mode.

Change 72193 made the encoder behave differently
when configured with and without high bitdepth.
This change means the same algorithm is used for both.

Change-Id: I707a44a94afca773a9e0c2f7ebeeea83030257c5

9 years agoMerge "Loop filter test fix"
James Zern [Thu, 4 Dec 2014 23:14:20 +0000 (15:14 -0800)]
Merge "Loop filter test fix"

9 years agoClean up the logic of handling corrupted frame.
hkuang [Thu, 4 Dec 2014 23:06:31 +0000 (15:06 -0800)]
Clean up the logic of handling corrupted frame.

No more checking of corrupted reference frame as we skip
decoding any non-intra frame in case of frame corrupted.

Change-Id: I77d41bbb02fc5f61972740e2d411441eb6a17073

9 years agoMerge set_prev_mi function into encoder function.
hkuang [Thu, 4 Dec 2014 22:44:23 +0000 (14:44 -0800)]
Merge set_prev_mi function into encoder function.

Change-Id: Ifcf2efbb232ea4cabcdebbe77e0820d121e4a6da

9 years agovp9_ethread: the tile-based multi-threaded encoder
Yunqing Wang [Tue, 2 Dec 2014 23:47:41 +0000 (15:47 -0800)]
vp9_ethread: the tile-based multi-threaded encoder

Currently, VP9 supports column-tile encoding, which allows a frame
to be encoded in multiple column tiles independently. The number of
column tiles are set by encoder option "--tile-columns". This
provides a way to encode a frame in parallel.

Based on previous set of patches, this patch implemented the tile-
based multi-threaded encoder. Each thread processes one or more
tiles.

Usage:
For HD clips:
--tile-columns=2 --threads=1/2/3/4

While using 4 threads, tests showed that the encoder achieved
2.3X - 2.5X speedup at good-quality speed 3, and 2X speedup at
realtime speed 5.

Change-Id: Ied987f8f2618b1283a8643ad255e88341733c9d4

9 years agoMerge "Fixes a missing highbitdepth convolve call bug"
Deb Mukherjee [Thu, 4 Dec 2014 19:19:59 +0000 (11:19 -0800)]
Merge "Fixes a missing highbitdepth convolve call bug"

9 years agoMerge "Free motion vector array before re-allocating"
Adrian Grange [Thu, 4 Dec 2014 15:08:37 +0000 (07:08 -0800)]
Merge "Free motion vector array before re-allocating"

9 years agoCorrected the renaming of CONFIG_VP9_HIGH ro CONFIG_VP9_HIGHBITDEPTH.
Peter de Rivaz [Thu, 4 Dec 2014 11:01:46 +0000 (11:01 +0000)]
Corrected the renaming of CONFIG_VP9_HIGH ro CONFIG_VP9_HIGHBITDEPTH.

Change 71789 renamed CONFIG_VP9_HIGH to CONFIG_VP9_HIGHBITDEPTH.
However, one use of CONFIG_VP9_HIGH was missed.

Change-Id: I0ebb9c71380c6d810a25708d15471abf9533e695

9 years agoLoop filter test fix
Deb Mukherjee [Thu, 4 Dec 2014 00:26:48 +0000 (16:26 -0800)]
Loop filter test fix

Related to fixing random number range.

Change-Id: I84d004600e1f6918badf08d08da421b4e8cc4826

9 years agoMerge "Various updates to vp8."
Marco [Thu, 4 Dec 2014 02:12:47 +0000 (18:12 -0800)]
Merge "Various updates to vp8."

9 years agoMerge "acm_random: provide full range for Rand16()"
James Zern [Thu, 4 Dec 2014 02:05:36 +0000 (18:05 -0800)]
Merge "acm_random: provide full range for Rand16()"

9 years agoMerge "sse2 visual studio build fix"
Tom Finegan [Thu, 4 Dec 2014 02:05:03 +0000 (18:05 -0800)]
Merge "sse2 visual studio build fix"

9 years agoFixes a missing highbitdepth convolve call bug
Deb Mukherjee [Thu, 4 Dec 2014 01:48:50 +0000 (17:48 -0800)]
Fixes a missing highbitdepth convolve call bug

Bug was introduced in https://gerrit.chromium.org/gerrit/#/c/72122/

Change-Id: Idb500ea619a30e7bc50e22fb8ee03be5282f41db

9 years agoacm_random: provide full range for Rand16()
James Zern [Mon, 1 Dec 2014 23:10:00 +0000 (15:10 -0800)]
acm_random: provide full range for Rand16()

the gtest implementation used only returns values between 0 and 2^31-1

+ temporarily disable some tests in fdct8x8_test which misbehave with the
  new range

Change-Id: I45381076f0bea3317cc6728305890e4fd2f2facd

9 years agoMerge "acm_random: provide full range for Rand8()"
James Zern [Thu, 4 Dec 2014 00:58:42 +0000 (16:58 -0800)]
Merge "acm_random: provide full range for Rand8()"

9 years agoMerge "Use memset for initialization to 0"
Adrian Grange [Thu, 4 Dec 2014 00:50:39 +0000 (16:50 -0800)]
Merge "Use memset for initialization to 0"

9 years agosse2 visual studio build fix
Deb Mukherjee [Wed, 3 Dec 2014 23:18:44 +0000 (15:18 -0800)]
sse2 visual studio build fix

Change-Id: Id8c8c3be882bcd92afea3ccec6ebdf3f208d28ef

9 years agoFree motion vector array before re-allocating
Adrian Grange [Tue, 2 Dec 2014 00:05:22 +0000 (16:05 -0800)]
Free motion vector array before re-allocating

Change-Id: I0c39136d67e1e83020d61f86b062a04182ec9b00

9 years agoMerge "Increase delta-qp for aq=3 mode, after key frame."
Marco [Thu, 4 Dec 2014 00:03:06 +0000 (16:03 -0800)]
Merge "Increase delta-qp for aq=3 mode, after key frame."

9 years agoVarious updates to vp8.
Marco [Mon, 10 Nov 2014 21:07:05 +0000 (13:07 -0800)]
Various updates to vp8.

Change-Id: Icc7a816491897107764e4c936288e9000e6319b8

9 years agoMerge "Fix indent in source_var_based_partition_search_method"
Jingning Han [Wed, 3 Dec 2014 23:43:40 +0000 (15:43 -0800)]
Merge "Fix indent in source_var_based_partition_search_method"

9 years agoUse memset for initialization to 0
Adrian Grange [Mon, 1 Dec 2014 21:58:44 +0000 (13:58 -0800)]
Use memset for initialization to 0

Change-Id: I714ca22b5d51016bf8b035cf457616c707257641

9 years agoMerge "vp9: sync threads after a longjmp"
James Zern [Wed, 3 Dec 2014 22:30:55 +0000 (14:30 -0800)]
Merge "vp9: sync threads after a longjmp"

9 years agoExtend x32 check by also checking for __x86_64__.
Dim Temp [Wed, 3 Dec 2014 21:06:46 +0000 (22:06 +0100)]
Extend x32 check by also checking for __x86_64__.

Currently, the configure script checks for x32 by testing just the
__ILP32__ define.  However, on "plain" i386, __ILP32__ can also be
defined, for example by clang 3.5.0 and higher.  (That gcc does not
define it there, is another issue, but not for this tracker.)

Therefore, extend the check by also checking for __x86_64__, which will
also be defined for x32.

BUG=887

Change-Id: I90ac1d6843caff0416e1dd360c0be3dbaa85c2ae

9 years agoIncrease delta-qp for aq=3 mode, after key frame.
Marco [Wed, 3 Dec 2014 18:19:54 +0000 (10:19 -0800)]
Increase delta-qp for aq=3 mode, after key frame.

For a few refresh periods after key frame, use large qp-delta
to increase quality ramp-up.

Change-Id: Ib5a150fb2dfa6bafd0d4e6b5d28dfd0724b61319

9 years agoacm_random: provide full range for Rand8()
James Zern [Wed, 26 Nov 2014 23:17:49 +0000 (15:17 -0800)]
acm_random: provide full range for Rand8()

the gtest implementation used only returns values between 0 and 2^31-1

+ temporarily disable some tests in lpf_8_test which misbehave with the
  new range

Change-Id: I8a026680c4b8c12dc14d4f24c33edb2315963114

9 years agoFix indent in source_var_based_partition_search_method
Jingning Han [Wed, 3 Dec 2014 20:37:36 +0000 (12:37 -0800)]
Fix indent in source_var_based_partition_search_method

Change-Id: I6e5e0571d6967b9b992966336715e35bb97f187e

9 years agoMerge "Remove unused ONE_LOOP entry from speed feature"
Jingning Han [Wed, 3 Dec 2014 19:34:42 +0000 (11:34 -0800)]
Merge "Remove unused ONE_LOOP entry from speed feature"

9 years agoMerge "Rework coeff probability model update for rtc coding"
Jingning Han [Wed, 3 Dec 2014 19:34:35 +0000 (11:34 -0800)]
Merge "Rework coeff probability model update for rtc coding"

9 years agoEnable non-rd mode coding on key frame, for speed 6.
Marco [Wed, 12 Nov 2014 22:51:49 +0000 (14:51 -0800)]
Enable non-rd mode coding on key frame, for speed 6.

For key frame at speed 6: enable the non-rd mode selection in speed setting
and use the (non-rd) variance_based partition.

Adjust some logic/thresholds in variance partition selection for key frame only (no change to delta frames),
mainly to bias to selecting smaller prediction blocks, and also set max tx size of 16x16.

Loss in key frame quality (~0.6-0.7dB) compared to rd coding,
but speeds up key frame encoding by at least 6x.
Average PNSR/SSIM metrics over RTC clips go down by ~1-2% for speed 6.

Change-Id: Ie4845e0127e876337b9c105aa37e93b286193405

9 years agoRemove unused ONE_LOOP entry from speed feature
Jingning Han [Wed, 3 Dec 2014 02:26:03 +0000 (18:26 -0800)]
Remove unused ONE_LOOP entry from speed feature

Change-Id: I56ead0ebc2491144c4e79e5859b05e126176702c

9 years agoRework coeff probability model update for rtc coding
Jingning Han [Wed, 3 Dec 2014 02:16:06 +0000 (18:16 -0800)]
Rework coeff probability model update for rtc coding

This commit reworks the ONE_LOOP_REDUCED coefficient probability
model update process. It allows model update for every coefficient
across the spectrum at a coarser resolution, instead of performing
precise update only for certain subset of probability models.

The overall runtime remains nearly same (<1% change) for speed -6.
The compression performance is improved by 7.5% in PSNR for speed
-5 and 4.57% for speed -6, respectively.

Change-Id: Ifb17136382ee7e39a9f34ff4a4f09a753125c8d1

9 years agovp9: sync threads after a longjmp
James Zern [Wed, 3 Dec 2014 00:51:27 +0000 (16:51 -0800)]
vp9: sync threads after a longjmp

Synchronize all threads immediately as a subsequent decode call may
cause a resize invalidating some allocations.

fixes one aspect of crbug.com/437655

Change-Id: Ie993b62c2756478543206ddbe43ec6268d90a470

9 years agoMerge "Reinsert macro to fix issue 884."
Debargha Mukherjee [Tue, 2 Dec 2014 23:32:24 +0000 (15:32 -0800)]
Merge "Reinsert macro to fix issue 884."

9 years agoMerge "Fix a warning related to VPX_EFLAG_FORCE_KF check"
Deb Mukherjee [Tue, 2 Dec 2014 22:03:55 +0000 (14:03 -0800)]
Merge "Fix a warning related to VPX_EFLAG_FORCE_KF check"

9 years agoReinsert macro to fix issue 884.
Peter de Rivaz [Tue, 2 Dec 2014 12:14:52 +0000 (12:14 +0000)]
Reinsert macro to fix issue 884.

Change 72056 unfolded some macro definitions,
but lost some alternative behaviour required for
high bitdepth encodes.
This causes the encoder to crash, see issue 884.

Change-Id: I8ce4d73c9fe0a3c10ccb86fba210fabc8b2f0ccc

9 years agoMerge "Added high bitdepth sse2 transform functions"
Debargha Mukherjee [Tue, 2 Dec 2014 20:29:21 +0000 (12:29 -0800)]
Merge "Added high bitdepth sse2 transform functions"

9 years agoFix a warning related to VPX_EFLAG_FORCE_KF check
Deb Mukherjee [Tue, 2 Dec 2014 19:35:52 +0000 (11:35 -0800)]
Fix a warning related to VPX_EFLAG_FORCE_KF check

Fixes a warning in chrome build.

Change-Id: I8fa0fd3e7ba1aecf89e5f79ce94cd64ed6a9567c

9 years agoAdded high bitdepth sse2 transform functions
Peter de Rivaz [Fri, 24 Oct 2014 07:48:02 +0000 (08:48 +0100)]
Added high bitdepth sse2 transform functions

Also removes some spurious changes in common/vp9_blockd.h which
was introduced by a rebase issue between nextgen and master branches.

Change-Id: If359f0e9a71bca9c2ba685a87a355873536bb282
(cherry picked from commit 005d80cd05269a299cd2f7ddbc3d4d8b791aebba)
(cherry picked from commit 08d2f548007fd8d6fd41da8ef7fdb488b6485af3)
(cherry picked from commit 4230c2306c194c058f56433a5275aa02a2e71d56)

9 years agoEnforce error resilient mode on in temporal svc real-time mode
Jingning Han [Tue, 2 Dec 2014 18:50:39 +0000 (10:50 -0800)]
Enforce error resilient mode on in temporal svc real-time mode

This commit makes the codec automatically turn on error resilient
mode when using real-time mode for temporal scalable coding. It
fixes an enc/dec mismatch issue and re-enables the corresponding
unit test.

Change-Id: Ie1f7134e9a78ddd43e9b1555b3ee991c8a3afd0d

9 years agoMerge "Cyclic refresh: factor segment delta-q into rate control."
Marco Paniconi [Tue, 2 Dec 2014 17:14:48 +0000 (09:14 -0800)]
Merge "Cyclic refresh: factor segment delta-q into rate control."

9 years agoUse average mb energy from first pass in AQ2 test.
Paul Wilkins [Tue, 25 Nov 2014 14:54:55 +0000 (14:54 +0000)]
Use average mb energy from first pass in AQ2 test.

AQ2 modified to use mb_av_energy in defining variance
thresholds used alongside complexity when defining the
segment to be used for an SB64.

Slight improvements in metrics (ssim and PSNR).

Change-Id: Idb9cb73f7d9c4f7118cd7e84ac77b0f25cacbf81

9 years agoMerge "Turn off temporal svc unit test in RTC setting"
Jingning Han [Tue, 2 Dec 2014 01:35:11 +0000 (17:35 -0800)]
Merge "Turn off temporal svc unit test in RTC setting"

9 years agoCyclic refresh: factor segment delta-q into rate control.
Marco Paniconi [Thu, 3 Apr 2014 01:37:04 +0000 (18:37 -0700)]
Cyclic refresh: factor segment delta-q into rate control.

Incorporate segment delta-q into estimated bits.
This generally improves the rate control under cyclic refresh (aq=3) mode.

Change-Id: I1dc60fb230e7d08357fae18909d8ed27bf58e037

9 years agoTurn off temporal svc unit test in RTC setting
Jingning Han [Mon, 1 Dec 2014 01:40:58 +0000 (17:40 -0800)]
Turn off temporal svc unit test in RTC setting

A hidden enc/dec mismatch bug was accidentally triggered by
https://gerrit.chromium.org/gerrit/#/c/72247/
Adaptively adjust mode test kick-off thresholds in RTC coding

This commit temporarily turns off the broken unit tests to avoid
blocking other CLs while fixing.

Change-Id: I0a0f195030321190ce10879cd833187680576367