]> granicus.if.org Git - libvpx/log
libvpx
8 years agoMerge "vpxdec: return fail if frame fails to decode."
James Bankoski [Tue, 25 Oct 2016 18:34:06 +0000 (18:34 +0000)]
Merge "vpxdec: return fail if frame fails to decode."

8 years agoChange 2 motion search counts to be tile data
Yunqing Wang [Tue, 25 Oct 2016 16:00:58 +0000 (09:00 -0700)]
Change 2 motion search counts to be tile data

This patch modified the motion search counts used in:
https://chromium-review.googlesource.com/#/c/305640/

These 2 counts were originally added as thread data, and used to
make decisions in motion search. The tile encoding order can be
inconsistent while using different number of threads, which can
cause bitstream mismatch. Here moved them to tile data to solve
the issue.

BUG=webm:1322

Change-Id: Iedc4477aef1746aa0a4f84d88a1156296fd3ba87

8 years agovpxdec: return fail if frame fails to decode.
Jim Bankoski [Mon, 24 Oct 2016 19:05:59 +0000 (12:05 -0700)]
vpxdec: return fail if frame fails to decode.

A failure to decode is most likely equivalent to a corrupt
frame for the purpose of returning a failure.

Change-Id: Ie53db2b8130b40b725841f5f7a299d63aa56913d

8 years agoMerge "remove idct32x32*_add_neon.asm"
James Zern [Sat, 22 Oct 2016 02:29:55 +0000 (02:29 +0000)]
Merge "remove idct32x32*_add_neon.asm"

8 years agoMerge "vpx_highbd_convolve_copy_neon: use multi reg loads"
James Zern [Sat, 22 Oct 2016 02:28:15 +0000 (02:28 +0000)]
Merge "vpx_highbd_convolve_copy_neon: use multi reg loads"

8 years agoMerge "vp9_bitstream: Encode tiles in parallel"
Vignesh Venkatasubramanian [Sat, 22 Oct 2016 02:23:05 +0000 (02:23 +0000)]
Merge "vp9_bitstream: Encode tiles in parallel"

8 years agovp9_bitstream: Encode tiles in parallel
Vignesh Venkatasubramanian [Wed, 19 Oct 2016 18:07:41 +0000 (11:07 -0700)]
vp9_bitstream: Encode tiles in parallel

Re-use the tile worker threads to pack the bitstream in parallel
on a per-tile basis.  Restricting this to real-time only for now
(further testing is needed to ensure this does not make 2-pass
worse in any case).

BUG=webm:1309

Change-Id: I8a80da7c5089b837d0df79a5c49d5e3022dfc8ec

8 years agovp9: Nonrd variance partition: increase threshold for using 4x4 avg.
Marco [Fri, 21 Oct 2016 18:11:34 +0000 (11:11 -0700)]
vp9: Nonrd variance partition: increase threshold for using 4x4 avg.

In variance partition low resolutions may use varianace based on
4x4 average for better partitioning.
Increase the threshold for doing this at speed = 8.

Improves speed by ~5%, with little loss, < 1%, on RTC_derf set.

Change-Id: Ib5ec420832ccff887a06cb5e1d2c73199b093941

8 years agoremove idct32x32*_add_neon.asm
James Zern [Thu, 20 Oct 2016 04:04:12 +0000 (21:04 -0700)]
remove idct32x32*_add_neon.asm

the intrinsics are neutral to ~20% faster on cros/android
devices when using gcc-4.9/clang-3.8.1 and gcc-4.9/clang-3.8.x from the
r13 ndk. neutral results typically came with gcc-4.9 while larger
positive gains were achieved with clang 3.8.x.

BUG=webm:1303

Change-Id: I4d31f9c017944681b881493525d4573a7a5b1e16

8 years agovp9: Speed=8 real-time: Keep the bias_golden feature on.
Marco [Fri, 21 Oct 2016 00:02:16 +0000 (17:02 -0700)]
vp9: Speed=8 real-time: Keep the bias_golden feature on.

Small/no change in metrics on RTC set, speed increase by 2-3%.

Change-Id: Iee997bd7433e8e508216e9267b1c31c5a9aa5121

8 years agoMerge "vp8: Apply gf target-size boost only when refresh_golden_frame = 1."
Marco Paniconi [Thu, 20 Oct 2016 22:38:55 +0000 (22:38 +0000)]
Merge "vp8: Apply gf target-size boost only when refresh_golden_frame = 1."

8 years agoAdd vp9cx_set_ref to .gitignore
Vignesh Venkatasubramanian [Thu, 20 Oct 2016 19:07:30 +0000 (12:07 -0700)]
Add vp9cx_set_ref to .gitignore

Get rid of the 'git status' clutter when building with examples.

Change-Id: I20b715ddfc6c8ccb4993de7ebb2b4ad6df9ea437

8 years agovp8: Apply gf target-size boost only when refresh_golden_frame = 1.
Marco [Thu, 20 Oct 2016 18:28:48 +0000 (11:28 -0700)]
vp8: Apply gf target-size boost only when refresh_golden_frame = 1.

Change only affects 1 pass cbr, error resilience off.

Change-Id: I68b896b09d722995a71c44331233e97bd862bcfc

8 years agoMerge "third_party: roll libwebm snapshot"
James Zern [Wed, 19 Oct 2016 22:34:25 +0000 (22:34 +0000)]
Merge "third_party: roll libwebm snapshot"

8 years agovp8: Adjust threshold to set the gf_noboost flag.
Marco [Wed, 19 Oct 2016 19:54:32 +0000 (12:54 -0700)]
vp8: Adjust threshold to set the gf_noboost flag.

Change only affects 1 pass cbr, with error_resilient off.

Change-Id: Ibf254d8772fa2a8f188c9932d37b2f42362d8003

8 years agovp8: Add control for gf boost for 1 pass cbr.
Marco [Mon, 17 Oct 2016 21:32:28 +0000 (14:32 -0700)]
vp8: Add control for gf boost for 1 pass cbr.

Control already exists for vp9, adding it to vp8.
Usage is only when error_resilient is off.
Added a datarate unittest for non-zero boost.

Change-Id: I4296055ebe2f4f048e8210f344531f6486ac9e35

8 years agoRevert "vp9_bitstream: Encode tiles in parallel"
James Zern [Wed, 19 Oct 2016 05:46:06 +0000 (22:46 -0700)]
Revert "vp9_bitstream: Encode tiles in parallel"

This reverts commit 9e8efa5b189a5abf78b1bcbc8076893728129d1e.

this change causes ubsan warnings, failures in
vpxenc_vp9_webm_rt_multithread_tiled

BUG=webm:1309

Change-Id: I020c7be985c771bfff4b3de1afe51cc8edb980da

8 years agothird_party: roll libwebm snapshot
James Zern [Wed, 19 Oct 2016 01:11:36 +0000 (18:11 -0700)]
third_party: roll libwebm snapshot

git log --no-merges 32d5ac4..9732ae9
9732ae9 EbmlElementSize: quiet uint64->int32 conv warning
da04eba SetProjectionPrivate: quiet uint64->size_t conv warning
6db32d5 mkvparser,Projection::Parse: fix int->bool conv
3bb0dfa cosmetics: fix a couple lint warnings
0e179d6 update .clang-format
fc5f88d Fix temp files being left on system.
c04a134 Add support for overriding PixelWidth and PixelHeight.
c0160e0 Add support to explicitly set segment duration.
02bc809 Add support to estimate file duration.
c97e3e7 Add support to output sub-sample encryption information.
26f4344 MakeUID: quiet unused param warning in Android builds
d6af52a Change check to fix compile error.
1720020 webm_parser: Add Mesh value for ProjectionType
78f2c5a webm_parser: Use ./ prefix for includes
da62f65 webm_parser: Remove webm/ prefix from public includes
e15e8f2 webm_parser: Update README build instructions
5023f2b mkvmuxer: Fix Colour::Valid()
cf16204 mkvmuxer_tests: Actually test cue points in the cue point test.
93e9fb3 Validate Colour element values.
8036925 mkvparser_tests: Add Projection element test.
f52d38c mkvparser_tests: Add Colour element test.
826436a mkvparser: minor SeekHead::Entry clean up.
24fb44a mkvmuxer_tests: Add Projection element test.
1e0a8ea mkvmuxer_tests: Add Colour element test.
0278616 mkvmuxer: Colour accessors/mutators.
2346f8f Add mkvparser wrapper functions.
54d6b6b webm_info: Add Projection element support.
65fee06 mkvmuxer_sample: Add support for Projection element.
9a3f2b5 mkvparser_sample: Add support for Projection element.
41e814a mkvparser: Add Projection element support.
483a0ff mkvmuxer: Add Projection element support.
676a713 Add support for the Projection element
725f362 mkvmuxer: Fix memory leak when Colour is set multiple times.
fa182de mkvparser_sample: Add output of audio track codec private size.
8f521f2 mkvparser_tests: Add invalid BlockGroup test.
39137d7 Remove docs saying binary elements default to 0
80685d3 Do not skip over unknown elements at the root level
c147504 Fix legacy Makefile.
58711e8 mkvparser_sample: Fix version info string.
837746f mkvparser_tests: Add invalid block test.
207cd80 Disambiguate sample sources and targets.
a112d71 mkvparser_tests: Refactor invalid file loading code.
5dea33e Disambiguate test source and target names.
125049e parser_tests: Add another truncated chapter string test.
1de8d4c parser_tests: Add truncated chapter string test.
ff8c2b6 parser_tests: Move cue validation to test_util.
4b0690f parser_tests: Add invalid lacing test.
9828e39 mkvmuxer: Set default doc type version to 4.
5495a59 webm_parser: Reference more files in CMakeLists.txt.
0c0ecd0 vpxpes_parser: Add start code emulation prevention support.
639a4bc webm2pes: Remove debug printfs().
9a51102 webm2pes: fflush() in the correct conversion function.
dc7f155 webm2pes: Track total bytes written.
d518128 webm_parser: Enable usage of werror.
e1fe762 webm2pes: Add test for mux/demux of large input.
1b24a79 vpxpes_parser: Read and store PTS when present.
6cf0a0f vpxpes_parser: Store frame payloads.
25d2602 webm_parser: Convert style to match the rest of libwebm
24be76d webm2pes: Replace VpxFrame with VideoFrame.
b451c3b Add a basic video frame storage class.
05c90eb libwebm_util: Clarify error text in superframe parser.
e6415af webm2pes: Make WritePesPacket() a public method.
8f840dd webm2pes: Move frame read out of PES packet write method.
448af97 webm2pes: Restore frame fragmentation support.
f8bb714 cmake: Integrate new parsing API and tests.
cb8ce0b Add a new incremental parsing API
900d322 vpxpes_parser/webm2pes: BCMV and PTS fixes.
4b73545 webm2pes: Add start code emulation prevention.
82903f3 Add column tiles and frame parallel to webm_info
5d91edf style_clean_up: Remove unnecessary parentheses
a95aa4b vp9_level_stats: correct total_uncompressed_bits_ calculation
f46566f mkvreader: Fix shorten-64-to-32 warning in 32 bit builds.
76630ca mkvwriter: Fix shorten-64-to-32 warning in 32 bit builds.
a8ffbd4 webm2pes: Fix format specifier warnings.
faf89d4 Add MaxLumaSampleRate grace percent to stats.
d31e6c9 Fix profile 2 in vp9_header_parser.
bd3ab3a Add flag to estimate last frame's duration to stats.
c182ed9 Fix lint issue in hdr_util.h
cc62ecd Add test for Cluster memory leak
196708a Change MaxLumaSampleRate to be based on frame resolution.
cbd676b mkvmuxer: Fix leak when a Cluster isn't finalized
9a235e0 mkvmuxer: Set doctype to matroska when muxing non-WebM codecs.
47f2843 Add parsing support for new features in CodecPrivate.
e3c9576 Add VP9 level output to webm_info.
5cf549f cmake: Log compiler flag at check time.
bbaaf2d Add class to gather VP9 level stats.
8bb68c2 Add file to parse data from VP9 frames.
296429a Add support to parse VP9 profile.
df3412f Add support for setting VP9 profile and level to sample_muxer.
87832d4 mkvmuxer: Fix Segment::Finalize in kLive mode
6df3e56 mkvmuxerutil.hpp: Add using directives for overloaded size utils.
ec47928 mkvmuxerutil: Revert to using mkvmuxertypes.
a1dc4f2 Fix parsing of VP9 level.
4e3d037 Add support to output Colour elements to webm_info.
d3656fd muxer_tests: ignore iwyu re gtest-message.h
e76dd5e Fix file name in mkvmuxertypes shim.
1be5889 Add temporary include shims at old file locations.
039df94 Add TEST_TMPDIR environment variable

Change-Id: I84bc1401b0aad71ad6727b687f1bede9953a7a08

8 years agoMerge "Fix warnings reported by -Wshadow: Part1: vpx_dsp directory"
James Zern [Tue, 18 Oct 2016 22:09:29 +0000 (22:09 +0000)]
Merge "Fix warnings reported by -Wshadow: Part1: vpx_dsp directory"

8 years agoMerge "Revert "third_party: Roll libwebm snapshot.""
James Zern [Tue, 18 Oct 2016 20:06:47 +0000 (20:06 +0000)]
Merge "Revert "third_party: Roll libwebm snapshot.""

8 years agoMerge "Optimize sad_64width_x4d_msa function"
Kaustubh Raste [Tue, 18 Oct 2016 07:46:01 +0000 (07:46 +0000)]
Merge "Optimize sad_64width_x4d_msa function"

8 years agoRevert "third_party: Roll libwebm snapshot."
James Zern [Tue, 18 Oct 2016 06:23:59 +0000 (23:23 -0700)]
Revert "third_party: Roll libwebm snapshot."

This reverts commit 808a560be6a71dd0d27f29c26f9fefb5e809d373.

causes build warnings under visual studio

Change-Id: I2e49a75d72469f316e8b01929b783e6f727f756c

8 years agoOptimize sad_64width_x4d_msa function
Kaustubh Raste [Mon, 10 Oct 2016 10:45:06 +0000 (16:15 +0530)]
Optimize sad_64width_x4d_msa function

Reduced HADD_UH_U32 macro calls

Change-Id: Ie089b9a443de516646b46e8f72156aa826ca8cfa

8 years agoFix warnings reported by -Wshadow: Part1: vpx_dsp directory
Urvang Joshi [Thu, 14 Jul 2016 18:40:38 +0000 (11:40 -0700)]
Fix warnings reported by -Wshadow: Part1: vpx_dsp directory

While we are at it:
- Rename some variables to more meaningful names
- Reuse some common consts from a header instead of redefining them.

Change-Id: I75c4248cb75aa54c52111686f139b096dc119328
(cherry picked from aomedia 09eea21)

8 years agovpx_highbd_convolve_copy_neon: use multi reg loads
James Zern [Sat, 15 Oct 2016 18:04:37 +0000 (11:04 -0700)]
vpx_highbd_convolve_copy_neon: use multi reg loads

for copy16/32/64

BUG=webm:1299

Change-Id: I5080d736bde7e487c80ef3d7024dda1e96a57eaf

8 years agoMerge "vp9: Non-rd variance partition: add condition for 64x64 split."
Marco Paniconi [Tue, 18 Oct 2016 00:03:17 +0000 (00:03 +0000)]
Merge "vp9: Non-rd variance partition: add condition for 64x64 split."

8 years agoMerge "add vpx high bitdepth convolve8 NEON intrinsics optimization"
Linfeng Zhang [Mon, 17 Oct 2016 23:57:13 +0000 (23:57 +0000)]
Merge "add vpx high bitdepth convolve8 NEON intrinsics optimization"

8 years agoadd vpx high bitdepth convolve8 NEON intrinsics optimization
Linfeng Zhang [Thu, 13 Oct 2016 00:20:53 +0000 (17:20 -0700)]
add vpx high bitdepth convolve8 NEON intrinsics optimization

BUG=webm:1299

Change-Id: I236bfa0441e357b6ff05add8269a2cfb543924d1

8 years agovp9: Non-rd variance partition: add condition for 64x64 split.
Marco [Fri, 14 Oct 2016 17:02:49 +0000 (10:02 -0700)]
vp9: Non-rd variance partition: add condition for 64x64 split.

Add stronger condition for splitting 64x64, for low noise content.
This reduces dragging artifact near moving head.

Little/no change in metrics on RTC set.

Change-Id: I39b38cfd20f2ece53ff49c2aaf76ba9f82761be1

8 years agothird_party: Roll libwebm snapshot.
Frank Galligan [Mon, 17 Oct 2016 19:41:39 +0000 (12:41 -0700)]
third_party: Roll libwebm snapshot.

fc5f88d Fix temp files being left on system.
c04a134 Add support for overriding PixelWidth and PixelHeight.
c0160e0 Add support to explicitly set segment duration.
02bc809 Add support to estimate file duration.
c97e3e7 Add support to output sub-sample encryption information.
26f4344 MakeUID: quiet unused param warning in Android builds
d6af52a Change check to fix compile error.
1720020 webm_parser: Add Mesh value for ProjectionType
78f2c5a webm_parser: Use ./ prefix for includes
da62f65 webm_parser: Remove webm/ prefix from public includes
e15e8f2 webm_parser: Update README build instructions
5023f2b mkvmuxer: Fix Colour::Valid()
cf16204 mkvmuxer_tests: Actually test cue points in the cue point test.
93e9fb3 Validate Colour element values.
8036925 mkvparser_tests: Add Projection element test.
f52d38c mkvparser_tests: Add Colour element test.
826436a mkvparser: minor SeekHead::Entry clean up.
24fb44a mkvmuxer_tests: Add Projection element test.
1e0a8ea mkvmuxer_tests: Add Colour element test.
0278616 mkvmuxer: Colour accessors/mutators.
2346f8f Add mkvparser wrapper functions.
54d6b6b webm_info: Add Projection element support.
65fee06 mkvmuxer_sample: Add support for Projection element.
9a3f2b5 mkvparser_sample: Add support for Projection element.
41e814a mkvparser: Add Projection element support.
483a0ff mkvmuxer: Add Projection element support.
676a713 Add support for the Projection element
725f362 mkvmuxer: Fix memory leak when Colour is set multiple times.
fa182de mkvparser_sample: Add output of audio track codec private size.
8f521f2 mkvparser_tests: Add invalid BlockGroup test.
39137d7 Remove docs saying binary elements default to 0
c147504 Fix legacy Makefile.
80685d3 Do not skip over unknown elements at the root level
58711e8 mkvparser_sample: Fix version info string.
837746f mkvparser_tests: Add invalid block test.
207cd80 Disambiguate sample sources and targets.
a112d71 mkvparser_tests: Refactor invalid file loading code.
5dea33e Disambiguate test source and target names.
125049e parser_tests: Add another truncated chapter string test.
1de8d4c parser_tests: Add truncated chapter string test.
ff8c2b6 parser_tests: Move cue validation to test_util.
4b0690f parser_tests: Add invalid lacing test.
9828e39 mkvmuxer: Set default doc type version to 4.
5495a59 webm_parser: Reference more files in CMakeLists.txt.
0c0ecd0 vpxpes_parser: Add start code emulation prevention support.
639a4bc webm2pes: Remove debug printfs().
9a51102 webm2pes: fflush() in the correct conversion function.
dc7f155 webm2pes: Track total bytes written.
d518128 webm_parser: Enable usage of werror.
e1fe762 webm2pes: Add test for mux/demux of large input.
1b24a79 vpxpes_parser: Read and store PTS when present.
6cf0a0f vpxpes_parser: Store frame payloads.
25d2602 webm_parser: Convert style to match the rest of libwebm
24be76d webm2pes: Replace VpxFrame with VideoFrame.
b451c3b Add a basic video frame storage class.
05c90eb libwebm_util: Clarify error text in superframe parser.
e6415af webm2pes: Make WritePesPacket() a public method.
8f840dd webm2pes: Move frame read out of PES packet write method.
448af97 webm2pes: Restore frame fragmentation support.
f8bb714 cmake: Integrate new parsing API and tests.
cb8ce0b Add a new incremental parsing API
900d322 vpxpes_parser/webm2pes: BCMV and PTS fixes.
4b73545 webm2pes: Add start code emulation prevention.
82903f3 Add column tiles and frame parallel to webm_info
5d91edf style_clean_up: Remove unnecessary parentheses
a95aa4b vp9_level_stats: correct total_uncompressed_bits_ calculation
f46566f mkvreader: Fix shorten-64-to-32 warning in 32 bit builds.
76630ca mkvwriter: Fix shorten-64-to-32 warning in 32 bit builds.
a8ffbd4 webm2pes: Fix format specifier warnings.
faf89d4 Add MaxLumaSampleRate grace percent to stats.
d31e6c9 Fix profile 2 in vp9_header_parser.
bd3ab3a Add flag to estimate last frame's duration to stats.
c182ed9 Fix lint issue in hdr_util.h
cc62ecd Add test for Cluster memory leak
196708a Change MaxLumaSampleRate to be based on frame resolution.
cbd676b mkvmuxer: Fix leak when a Cluster isn't finalized
47f2843 Add parsing support for new features in CodecPrivate.
9a235e0 mkvmuxer: Set doctype to matroska when muxing non-WebM codecs.
e3c9576 Add VP9 level output to webm_info.
bbaaf2d Add class to gather VP9 level stats.
5cf549f cmake: Log compiler flag at check time.
8bb68c2 Add file to parse data from VP9 frames.
df3412f Add support for setting VP9 profile and level to sample_muxer.
296429a Add support to parse VP9 profile.
87832d4 mkvmuxer: Fix Segment::Finalize in kLive mode
6df3e56 mkvmuxerutil.hpp: Add using directives for overloaded size utils.
ec47928 mkvmuxerutil: Revert to using mkvmuxertypes.
4e3d037 Add support to output Colour elements to webm_info.
a1dc4f2 Fix parsing of VP9 level.
039df94 Add TEST_TMPDIR environment variable
d3656fd muxer_tests: ignore iwyu re gtest-message.h
e76dd5e Fix file name in mkvmuxertypes shim.
1be5889 Add temporary include shims at old file locations.

Change-Id: I6a1026814560be80d604a5ecb9b66406a1186dd9

8 years agovp9_bitstream: Encode tiles in parallel
Vignesh Venkatasubramanian [Fri, 7 Oct 2016 17:24:50 +0000 (10:24 -0700)]
vp9_bitstream: Encode tiles in parallel

Re-use the tile worker threads to pack the bitstream in parallel
on a per-tile basis.  Restricting this to real-time only for now
(further testing is needed to ensure this does not make 2-pass
worse in any case).

BUG=webm:1309

Change-Id: Ia2c982da56697756e12f02643f589189b3271d98

8 years agoMerge "VP8: Add realtime speed to datarate_test.cc"
Jerome Jiang [Sat, 15 Oct 2016 06:01:40 +0000 (06:01 +0000)]
Merge "VP8: Add realtime speed to datarate_test.cc"

8 years agoVP8: Add realtime speed to datarate_test.cc
Jerome Jiang [Thu, 13 Oct 2016 22:27:47 +0000 (15:27 -0700)]
VP8: Add realtime speed to datarate_test.cc

Change-Id: Ia56f0e8dfba20143be3e69666d9184dd3ca5b563

8 years agoMerge "add vpx_highbd_convolve_{copy,avg}_neon()"
Linfeng Zhang [Fri, 14 Oct 2016 23:04:59 +0000 (23:04 +0000)]
Merge "add vpx_highbd_convolve_{copy,avg}_neon()"

8 years agoMerge "Drop empty frames."
James Bankoski [Fri, 14 Oct 2016 16:38:56 +0000 (16:38 +0000)]
Merge "Drop empty frames."

8 years agoDrop empty frames.
Jim Bankoski [Fri, 14 Oct 2016 13:28:14 +0000 (06:28 -0700)]
Drop empty frames.

Change-Id: I2d45a6eb3aaca97eb61e8e7ef9e5114221091244

8 years agoadd vpx_highbd_convolve_{copy,avg}_neon()
Linfeng Zhang [Wed, 12 Oct 2016 23:32:37 +0000 (16:32 -0700)]
add vpx_highbd_convolve_{copy,avg}_neon()

BUG=webm:1299

Change-Id: Ib87ac466ada63251eb06ae2abd1e13e61e0d1538

8 years agovp8: Adjust thresholds in VP8/DatarateTestLarge tests.
Marco [Thu, 13 Oct 2016 16:26:38 +0000 (09:26 -0700)]
vp8: Adjust thresholds in VP8/DatarateTestLarge tests.

Fix unit_tests_ubsan failure VP8/DatarateTestLarge.BasicBufferModel.
Failure was triggered by commit: df66f8e8.

Change-Id: I2c49e5cc24094b15063161bab27b09ec7e6f2045

8 years agoMerge "cosmetics,*loopfilter_neon.c: s/tranpose/transpose/"
James Zern [Thu, 13 Oct 2016 07:12:50 +0000 (07:12 +0000)]
Merge "cosmetics,*loopfilter_neon.c: s/tranpose/transpose/"

8 years agoMerge "vp9_bitstream: Parameterize interp_filter_selected"
Vignesh Venkatasubramanian [Thu, 13 Oct 2016 06:33:30 +0000 (06:33 +0000)]
Merge "vp9_bitstream: Parameterize interp_filter_selected"

8 years agovp9_bitstream: Parameterize interp_filter_selected
Vignesh Venkatasubramanian [Wed, 12 Oct 2016 19:06:58 +0000 (12:06 -0700)]
vp9_bitstream: Parameterize interp_filter_selected

Facilitates encoding tiles in parallel.

BUG=webm:1309

Change-Id: I37aa336d47babffc8352188dc767eebdb8a99474

8 years agoMerge "Optimize vpx_mbpost_proc_across_ip_msa function"
Kaustubh Raste [Thu, 13 Oct 2016 02:12:33 +0000 (02:12 +0000)]
Merge "Optimize vpx_mbpost_proc_across_ip_msa function"

8 years agoMerge "Optimize vpx_get4x4sse_cs_msa function"
Kaustubh Raste [Thu, 13 Oct 2016 02:11:59 +0000 (02:11 +0000)]
Merge "Optimize vpx_get4x4sse_cs_msa function"

8 years agocosmetics,*loopfilter_neon.c: s/tranpose/transpose/
James Zern [Wed, 12 Oct 2016 23:12:56 +0000 (16:12 -0700)]
cosmetics,*loopfilter_neon.c: s/tranpose/transpose/

Change-Id: I267d6a9d715ddb6110f0881c2e820c37fc673fe1

8 years agoMerge "vp9_bitstream: Parameterize max_mv_magnitude"
Vignesh Venkatasubramanian [Wed, 12 Oct 2016 21:52:41 +0000 (21:52 +0000)]
Merge "vp9_bitstream: Parameterize max_mv_magnitude"

8 years agovp9_bitstream: Parameterize max_mv_magnitude
Vignesh Venkatasubramanian [Mon, 10 Oct 2016 21:45:39 +0000 (14:45 -0700)]
vp9_bitstream: Parameterize max_mv_magnitude

Facilitates encoding tiles in parallel.

BUG=webm:1309

Change-Id: I614a5a492c30b6773c30e7294cd6a6f456e02ab4

8 years agoMerge "[vpx highbd lpf NEON 6/6] vertical 16"
Linfeng Zhang [Wed, 12 Oct 2016 19:31:39 +0000 (19:31 +0000)]
Merge "[vpx highbd lpf NEON 6/6] vertical 16"

8 years agoMerge "[vpx highbd lpf NEON 5/6] horizontal 16"
Linfeng Zhang [Wed, 12 Oct 2016 19:31:24 +0000 (19:31 +0000)]
Merge "[vpx highbd lpf NEON 5/6] horizontal 16"

8 years agoMerge "[vpx highbd lpf NEON 4/6] vertical 8"
Linfeng Zhang [Wed, 12 Oct 2016 19:31:06 +0000 (19:31 +0000)]
Merge "[vpx highbd lpf NEON 4/6] vertical 8"

8 years ago[vpx highbd lpf NEON 6/6] vertical 16
Linfeng Zhang [Wed, 5 Oct 2016 18:33:52 +0000 (11:33 -0700)]
[vpx highbd lpf NEON 6/6] vertical 16

BUG=webm:1300

Change-Id: I29d0b482d66f05e278325ddebcf108fbf0b6e222

8 years ago[vpx highbd lpf NEON 5/6] horizontal 16
Linfeng Zhang [Wed, 5 Oct 2016 18:29:15 +0000 (11:29 -0700)]
[vpx highbd lpf NEON 5/6] horizontal 16

BUG=webm:1300

Change-Id: I21da32d6cfb8a1a6f58bc9756d17f48f13a59a12

8 years ago[vpx highbd lpf NEON 4/6] vertical 8
Linfeng Zhang [Wed, 5 Oct 2016 18:08:58 +0000 (11:08 -0700)]
[vpx highbd lpf NEON 4/6] vertical 8

BUG=webm:1300

Change-Id: If06b12bc081bab60059b100414dd7018f83ac62d

8 years agoMerge "Optimize vp8 loopfilter msa functions"
Kaustubh Raste [Wed, 12 Oct 2016 05:44:10 +0000 (05:44 +0000)]
Merge "Optimize vp8 loopfilter msa functions"

8 years agoMerge "[vpx highbd lpf NEON 3/6] horizontal 8"
James Zern [Wed, 12 Oct 2016 05:35:48 +0000 (05:35 +0000)]
Merge "[vpx highbd lpf NEON 3/6] horizontal 8"

8 years ago[vpx highbd lpf NEON 3/6] horizontal 8
Linfeng Zhang [Wed, 5 Oct 2016 17:59:10 +0000 (10:59 -0700)]
[vpx highbd lpf NEON 3/6] horizontal 8

BUG=webm:1300

Change-Id: Ica2379e294be60b7f80fcfcec110dca4c3b59d81

8 years agovp8: Adjust threshold on VP8/DatarateTestLarge.DenoiserOffOn.
Marco [Tue, 11 Oct 2016 23:12:46 +0000 (16:12 -0700)]
vp8: Adjust threshold on VP8/DatarateTestLarge.DenoiserOffOn.

Fix unit_tests_ubsan failure for VP8/DatarateTestLarge.DenoiserOffOn.
Failure was triggered by commit: df66f8e8.

Change-Id: I7cc5bd309e85950cfc5755e01d0eb942d9ca6984

8 years ago1 pass vbr: Allow for lookahead alt-ref in real-time mode.
Marco [Wed, 3 Aug 2016 00:37:32 +0000 (17:37 -0700)]
1 pass vbr: Allow for lookahead alt-ref in real-time mode.

For 1 pass vbr real-time mode:
Allow for the usage of alt-ref frame when non-zero lag-in-frames is used.
Use non-filtered alt-ref, and select usage based on fast scene/content
analysis/detection within the lag of frames.

Positive gains on ytlive set: overall avgPSNR ~3-4%.
Several clips are up between 5-14%, a few clips are neutral/small change.

Current speed decrease is about ~5-10%.

Use the flag USE_ALTREF_FOR_ONE_PASS to enable this feature
(off by default for now).

Change-Id: I802d2bf3d44f9cf01f6d15c76be9c90192314769

8 years agovp9: 1 pass vbr: some adjustments to gf interval.
Marco [Mon, 10 Oct 2016 18:42:47 +0000 (11:42 -0700)]
vp9: 1 pass vbr: some adjustments to gf interval.

Put limit on gf interval based on lag, and allow
for the adjustment on next gf group also on key frame.

Small/neutral change on ytlive metrics.

Change only affects 1 pass vbr real-time mode.

Change-Id: I339c8f4398848698b6e10fe9482c52ca661b94a5

8 years agoMerge "vp8: Change default gf behavior for 1 pass cbr."
Marco Paniconi [Mon, 10 Oct 2016 23:06:30 +0000 (23:06 +0000)]
Merge "vp8: Change default gf behavior for 1 pass cbr."

8 years agoMerge "[vpx highbd lpf NEON 2/6] vertical 4"
Linfeng Zhang [Mon, 10 Oct 2016 16:57:50 +0000 (16:57 +0000)]
Merge "[vpx highbd lpf NEON 2/6] vertical 4"

8 years agoMerge "[vpx highbd lpf NEON 1/6] horizontal 4"
Linfeng Zhang [Mon, 10 Oct 2016 16:56:22 +0000 (16:56 +0000)]
Merge "[vpx highbd lpf NEON 1/6] horizontal 4"

8 years agoOptimize vpx_mbpost_proc_across_ip_msa function
Kaustubh Raste [Mon, 10 Oct 2016 12:33:28 +0000 (18:03 +0530)]
Optimize vpx_mbpost_proc_across_ip_msa function

Removed HADD_SW_S32 calculation

Change-Id: I7384dc881451d197404d09beb7c27b222e1d6875

8 years agoOptimize vpx_get4x4sse_cs_msa function
Kaustubh Raste [Mon, 10 Oct 2016 11:01:57 +0000 (16:31 +0530)]
Optimize vpx_get4x4sse_cs_msa function

Reuse CALC_MSE_B macro

Change-Id: I39f0a92ac2dbb5fa8628df1a5d556cfdc42a3648

8 years agoMerge "Optimize vp9 loopfilter msa functions"
Kaustubh Raste [Sat, 8 Oct 2016 05:05:15 +0000 (05:05 +0000)]
Merge "Optimize vp9 loopfilter msa functions"

8 years agoOptimize vp9 loopfilter msa functions
Kaustubh Raste [Fri, 7 Oct 2016 13:13:31 +0000 (18:43 +0530)]
Optimize vp9 loopfilter msa functions

Updated code to process in 8bit as saturation/clipping takes care of
overflow
Removed unused macro

Change-Id: I113df60286fb28b216df800d95b2d3695ef71440

8 years agovp8: Change default gf behavior for 1 pass cbr.
Marco [Thu, 6 Oct 2016 23:01:04 +0000 (16:01 -0700)]
vp8: Change default gf behavior for 1 pass cbr.

In 1 pass CBR, with error_resilience off, allow for
special logic to change the default gf behaviour.
In this CL: boost is turned off and the gf period
is set to a multiple of cyclic refresh period.

Change only affect 1 pass CBR mode, i.e, when the flag
gf_update_onepass_cbr is set.

Including the previous change (3ec8e11: to allow cyclic refresh
for error_resilience off), comparing metrics on RTC set for
error_resilience off vs on: avgPSNR/SSIM up by ~6%.

Change-Id: Id5b3fb62a4f04de5a805bd1b418f2b349574e0bc

8 years agoMerge "write_modes: add MACROBLOCKD as a parameter"
Vignesh Venkatasubramanian [Fri, 7 Oct 2016 18:09:08 +0000 (18:09 +0000)]
Merge "write_modes: add MACROBLOCKD as a parameter"

8 years agowrite_modes: add MACROBLOCKD as a parameter
Vignesh Venkatasubramanian [Tue, 4 Oct 2016 20:50:32 +0000 (13:50 -0700)]
write_modes: add MACROBLOCKD as a parameter

This will enable bit stream packing of each tile column in
parallel.

BUG=webm:1309

Change-Id: Ie349d8cc5825326218ffda893a50730b2e68ed34

8 years agoOptimize vp8 loopfilter msa functions
Kaustubh Raste [Fri, 7 Oct 2016 10:18:31 +0000 (15:48 +0530)]
Optimize vp8 loopfilter msa functions

Updated code to process in 8bit as saturation/clipping takes care of overflow

Change-Id: I35fb2c0e702fd91309cc391c5a7745a3b619a64c

8 years agoMerge "Fix build failure in libvpx_example_test-multi-target."
James Zern [Fri, 7 Oct 2016 01:53:40 +0000 (01:53 +0000)]
Merge "Fix build failure in libvpx_example_test-multi-target."

8 years ago[vpx highbd lpf NEON 2/6] vertical 4
Linfeng Zhang [Wed, 5 Oct 2016 17:45:03 +0000 (10:45 -0700)]
[vpx highbd lpf NEON 2/6] vertical 4

BUG=webm:1300

Change-Id: Ia33a9f2d6c7e2e6b3497ad6f1a09439a85b33983

8 years ago[vpx highbd lpf NEON 1/6] horizontal 4
Linfeng Zhang [Wed, 5 Oct 2016 17:15:07 +0000 (10:15 -0700)]
[vpx highbd lpf NEON 1/6] horizontal 4

BUG=webm:1300

Change-Id: Idf441806e6bf397ff5ecd8776146b3f781f50c40

8 years agoMerge changes from topic '8bit-hbd-idct'
James Zern [Thu, 6 Oct 2016 19:37:18 +0000 (19:37 +0000)]
Merge changes from topic '8bit-hbd-idct'

* changes:
  vpx_dsp/idct*_neon.asm: simplify immediate loads
  enable idct*_1_add_neon in high-bitdepth builds

8 years agoFix build failure in libvpx_example_test-multi-target.
Marco [Thu, 6 Oct 2016 19:11:37 +0000 (12:11 -0700)]
Fix build failure in libvpx_example_test-multi-target.

Due to change in command line to sample encoder from:
7eff8f3 Update to vpx_temporal_svc_encoder command line.

This caused the tests in vpx_temporal_svc_encoder.sh to fail.

Change-Id: Ic667da81955ad117d04610af21877fed1d4f188f

8 years agoMerge "Remove vpx_realloc()"
Alex Converse [Thu, 6 Oct 2016 18:42:05 +0000 (18:42 +0000)]
Merge "Remove vpx_realloc()"

8 years agoMerge "Modify vp8 idct msa functions store method"
Kaustubh Raste [Thu, 6 Oct 2016 02:25:42 +0000 (02:25 +0000)]
Merge "Modify vp8 idct msa functions store method"

8 years agovpx_dsp/idct*_neon.asm: simplify immediate loads
James Zern [Wed, 5 Oct 2016 18:50:06 +0000 (11:50 -0700)]
vpx_dsp/idct*_neon.asm: simplify immediate loads

mov supports 0-65535

Change-Id: I019de0d784836d7bd60e6b36f2cdeefb541cb3fd

8 years agoenable idct*_1_add_neon in high-bitdepth builds
James Zern [Sat, 1 Oct 2016 18:59:31 +0000 (11:59 -0700)]
enable idct*_1_add_neon in high-bitdepth builds

these are compatible as they only load one element of the input so the
larger size of tran_low_t makes no difference in little endian builds.
note the asm is incompatible with big-endian, but there are other points of
failure there so currently it's considered unsupported.

BUG=webm:1294

Change-Id: Icd2665a0699bccae92d1bea43a95b0a83fb17028

8 years agoRevert "Revert "vp8/encoder/onyx_if.c: apply clang-format""
Marco Paniconi [Wed, 5 Oct 2016 17:59:55 +0000 (17:59 +0000)]
Revert "Revert "vp8/encoder/onyx_if.c: apply clang-format""

This reverts commit a7456144ce0ab98e015548dd7cda4165ad2a800c.

Change-Id: I400987fb26a09e9b9ea42c91f48ea12f7bc37356

8 years agoRemove vpx_realloc()
Alex Converse [Wed, 5 Oct 2016 17:51:30 +0000 (10:51 -0700)]
Remove vpx_realloc()

It only handles the realloc constraint (preserving low elements) by
serendipity, and we don't actually rely on that behavior anyway.
Meanwhile the calls may do extra copying that gets immediately clobbered
by the callers.

Change-Id: I8dfa89e4a81084b084889c27bd272fdf85184e8d

8 years agoRevert "vp8/encoder/onyx_if.c: apply clang-format"
Marco Paniconi [Wed, 5 Oct 2016 15:45:48 +0000 (15:45 +0000)]
Revert "vp8/encoder/onyx_if.c: apply clang-format"

This reverts commit 891a87dccddfbb9fd625f4b32aa17ae3501f30a6.

Change-Id: I067b3b6a3cfb5bc760166999948b8087d4c5cb80

8 years agoModify vp8 idct msa functions store method
Kaustubh Raste [Wed, 5 Oct 2016 04:42:12 +0000 (10:12 +0530)]
Modify vp8 idct msa functions store method

vp8_short_inv_walsh4x4_msa - Optimized to process in short vector type
Updated below functions to store exact number of bytes in output rather than complete vector
idct4x4_addblk_msa
idct4x4_addconst_msa
dequant_idct4x4_addblk_msa
dequant_idct4x4_addblk_2x_msa
dequant_idct_addconst_2x_msa

Change-Id: Ic1b3752e2421dc7d70a082dcdaab9d140d7e5d9c

8 years agovp8/encoder/onyx_if.c: apply clang-format
clang-format [Wed, 5 Oct 2016 04:12:06 +0000 (21:12 -0700)]
vp8/encoder/onyx_if.c: apply clang-format

after:
955b3b6 vp8: Allow for cyclic refresh even if error_resilience it off.

Change-Id: Iba189b18c84be8f5140754280c6801cfc387cfcd

8 years agovp8: Allow for cyclic refresh even if error_resilience it off.
Marco [Tue, 4 Oct 2016 21:13:17 +0000 (14:13 -0700)]
vp8: Allow for cyclic refresh even if error_resilience it off.

cyclic_refresh was tied to error_resilience mode.
Allow it to be on also for 1 pass CBR mode even if
error_resilience is off.

Other option to use new control for this, but prefer to avoid
that for now.

Change-Id: I3625b292ee059a890e31338b514e211bf0ab5c3e

8 years agoMerge "Remove rate deviation metric from vp8"
Sarah Parker [Tue, 4 Oct 2016 18:56:14 +0000 (18:56 +0000)]
Merge "Remove rate deviation metric from vp8"

8 years agoRemove rate deviation metric from vp8
Sarah Parker [Wed, 21 Sep 2016 18:01:06 +0000 (11:01 -0700)]
Remove rate deviation metric from vp8

BUG=b/31780679

Change-Id: I2b2a43b154eeacb4f51a11f6362cc535cfe318da

8 years agoMerge "Connect partial IDCT tests"
Johann Koenig [Tue, 4 Oct 2016 18:01:19 +0000 (18:01 +0000)]
Merge "Connect partial IDCT tests"

8 years agoConnect partial IDCT tests
Johann [Mon, 3 Oct 2016 22:27:28 +0000 (15:27 -0700)]
Connect partial IDCT tests

Change-Id: Ie8d5d9123f5a9d39db4ec9c74f77ee979ae4e685

8 years agoMerge "Move highbd txfm input range check from 2d iht transform to 1d idct/iadst"
Angie Chiang [Tue, 4 Oct 2016 16:57:36 +0000 (16:57 +0000)]
Merge "Move highbd txfm input range check from 2d iht transform to 1d idct/iadst"

8 years agoMerge "Fix vpx_plane_add_noise_msa functionality bit-mismatch"
Kaustubh Raste [Tue, 4 Oct 2016 06:35:46 +0000 (06:35 +0000)]
Merge "Fix vpx_plane_add_noise_msa functionality bit-mismatch"

8 years agoMove highbd txfm input range check from 2d iht transform to 1d idct/iadst
Angie Chiang [Fri, 30 Sep 2016 23:53:20 +0000 (16:53 -0700)]
Move highbd txfm input range check from 2d iht transform to 1d idct/iadst

This change will make the highbd txfm input range check more comprehensive

The 25-bit highbd input range is composed by
12 signal input bits + 7 bits for 2D forward transform amplification + 5 bits for
1D inverse transform amplification + 1 bit for contingency in rounding and quantizing

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1286
BUG=https://bugs.chromium.org/p/chromium/issues/detail?id=651625

Change-Id: I04c0796edd7653f8d463fba5dc418132986131e7

8 years agoMerge "invalid_file_test: quiet unused const warning"
James Zern [Mon, 3 Oct 2016 22:51:06 +0000 (22:51 +0000)]
Merge "invalid_file_test: quiet unused const warning"

8 years agoMerge "Fix warning when building with GCC 5."
James Zern [Mon, 3 Oct 2016 22:42:51 +0000 (22:42 +0000)]
Merge "Fix warning when building with GCC 5."

8 years agoMerge "cosmetics,*_neon.c: rm redundant return from void fns"
James Zern [Mon, 3 Oct 2016 22:40:42 +0000 (22:40 +0000)]
Merge "cosmetics,*_neon.c: rm redundant return from void fns"

8 years agoFix vpx_plane_add_noise_msa functionality bit-mismatch
Kaustubh Raste [Mon, 3 Oct 2016 10:14:17 +0000 (15:44 +0530)]
Fix vpx_plane_add_noise_msa functionality bit-mismatch

Change-Id: I04961afb592ae6a67fdcfd8c9066e920dd4b30e7

8 years agoUpdate to vpx_temporal_svc_encoder command line.
Marco [Mon, 3 Oct 2016 16:47:21 +0000 (09:47 -0700)]
Update to vpx_temporal_svc_encoder command line.

Set the  #threads at command line.

Change-Id: Id0daa2393880c3da2d903c11a793072d3008b34b

8 years agoMerge "vpx_convolve8_neon,load/store*: correct param type"
James Zern [Sat, 1 Oct 2016 23:52:14 +0000 (23:52 +0000)]
Merge "vpx_convolve8_neon,load/store*: correct param type"

8 years agoFix warning when building with GCC 5.
Geza Lore [Wed, 13 Apr 2016 09:45:16 +0000 (10:45 +0100)]
Fix warning when building with GCC 5.

These caused the following warning with GCC 5:
     warning: logical not is only applied to the left hand side of
     comparison [-Wlogical-not-parentheses]
     assert(!is_compound == (cm->reference_mode == SINGLE_REFERENCE));

Change-Id: If296aabb2311ceb7d903b395c1549ef81c2cbf9b
(cherry picked from commit c6cf7a6111f6539f01a34865aaedd179a5ae062c)

8 years agoinvalid_file_test: quiet unused const warning
James Zern [Sat, 1 Oct 2016 18:49:02 +0000 (11:49 -0700)]
invalid_file_test: quiet unused const warning

with --disable-vp9

Change-Id: I81bd603b02ee5d1b45a50aa9e7534f9da498b0e0

8 years agovpx_convolve8_neon,load/store*: correct param type
James Zern [Sat, 1 Oct 2016 18:03:29 +0000 (11:03 -0700)]
vpx_convolve8_neon,load/store*: correct param type

stride/pitch in convolve is expressed with a ptrdiff_t

Change-Id: Ia5a6732dc509f06ccf7035386fa8ae721b4b1a71