platform/upstream/libvpx.git
8 years agoMerge "vp9: Fix to active_best for GF/ARF in 1 pass vbr."
Marco Paniconi [Tue, 12 Apr 2016 21:18:41 +0000 (21:18 +0000)]
Merge "vp9: Fix to active_best for GF/ARF in 1 pass vbr."

8 years agoMerge "Step towards making the 2-pass cq mode perceptual"
Debargha Mukherjee [Tue, 12 Apr 2016 19:42:06 +0000 (19:42 +0000)]
Merge "Step towards making the 2-pass cq mode perceptual"

8 years agovp9: Fix to active_best for GF/ARF in 1 pass vbr.
Marco [Fri, 8 Apr 2016 00:20:16 +0000 (17:20 -0700)]
vp9: Fix to active_best for GF/ARF in 1 pass vbr.

Correct the setting of Q basis of GF/ARF in 1 pass vbr.

Existing logic would switch to using avg_QP of key frame if
avg_QP of inter is less than active worst (even if key frame is
not last frame).

Instead fix the logic (as per the comment) to use the lower of
active_worst_quality and avg_Q for inter as basis for GF/ARF
active_best_quality (unless last frame was key frame).

Increase in metrics: AvgPSNR/SSIM up by ~0.7/0.3 on ytlive set.

Change-Id: I9a628378ec6684bfda9457ebfc2384ef6d8579f7

8 years agopickmode: only cost the skip flag once per prediction block
Alex Converse [Mon, 11 Apr 2016 21:02:34 +0000 (14:02 -0700)]
pickmode: only cost the skip flag once per prediction block

RTC speed 6:
File    Match   Avg     BDRate  Low     Mid     High
OVERALL ✔       -0.040  -0.045  -0.031  -0.084  0.004

Screencast speed 6:
File     Match   Avg     BDRate  Low     Mid     High
OVERALL ✔       1.115   -0.162  0.203   2.470   0.541

Change-Id: I46bbc11c89301015b5d3eac25294c709f23f0897

8 years agoMerge "Remove obsolete segment skip checks from tokenization."
Alex Converse [Mon, 11 Apr 2016 18:58:32 +0000 (18:58 +0000)]
Merge "Remove obsolete segment skip checks from tokenization."

8 years agoMerge "Adjust motion component of prediction decay."
Paul Wilkins [Mon, 11 Apr 2016 10:27:29 +0000 (10:27 +0000)]
Merge "Adjust motion component of prediction decay."

8 years agoMerge "Trap very short arf group just before a kf."
Paul Wilkins [Mon, 11 Apr 2016 10:27:12 +0000 (10:27 +0000)]
Merge "Trap very short arf group just before a kf."

8 years agoMerge "VP9: Combine TileData with TileWorkerData"
Scott LaVarnway [Sun, 10 Apr 2016 22:17:45 +0000 (22:17 +0000)]
Merge "VP9: Combine TileData with TileWorkerData"

8 years agoStep towards making the 2-pass cq mode perceptual
Debargha Mukherjee [Sat, 9 Apr 2016 13:24:18 +0000 (06:24 -0700)]
Step towards making the 2-pass cq mode perceptual

Uses a metric on fraction of smooth blocks derived from first pass
stats in a frame to adjust down the cq_level modestly in the cq mode.
The current implementation does not add much complexity, and is
fairly light in the adaptation.

Change-Id: Ic484e810d5bd51b7bb6b8945f378c7c3d9d27053

8 years agothird_party: Roll libwebm snapshot.
Tom Finegan [Thu, 24 Mar 2016 20:12:51 +0000 (13:12 -0700)]
third_party: Roll libwebm snapshot.

32d5ac4 mkvmuxerutil: Fix MSVC build.
6397597 vpxpes_parser: Fix MSVC build.
784b6fe mkvmuxer: Revert changes to IMkvWriter types.
030518e webm_info: Fix implicit conversion warnings.
46d5dee sample_muxer: Fix implicit conversion warnings.
22b0845 webmts: Fix implicit conversion warnings.
ef464c2 mkvparser: Fix implicit conversion warnings.
0e9767e Merge "rename mingw64_toolchain.cmake to mingw-w64_toolchain"
f47cbd5 cmake: Move cxx flag testing/setup into its own file.
87443a6 rename mingw64_toolchain.cmake to mingw-w64_toolchain
2aee04f msvc_runtime.cmake: Check for MSVC, not WIN32.
eb50da8 Option to write timecode using fixed # of bytes
c1991fe mkvmuxer: Add missing Segment member initializer.
10aed96 Android.mk: Make libwebm easier to build downstream.
5c50e31 Add support for parsing VPx track codec private data.
4cbdbf1 Fix Android build.
bb48a3f mkvmuxerutil: remove stray 'int32'
a1cba34 Support cross compile for windows via mingw64.
596f5e0 Add webm_info.
ccf75f6 msvc/muxer_tests: Silence integer conversion warnings.
2ff2954 msvc/webm2pes: Silence integer and floating point conversion warnings.
1f24323 msvc/hdr_util: Silence double to float conversion warnings.
0744563 msvc/vpxpes_parser: Silence integer conversion warning.
59614b8 msvc/libwebm_util: Fix floating point to int conversion warning.
6481c24 webvtt: Fix include in vttreader.
e6ed0f4 msvc/vpxpes2ts: Fix MSVC integer conversion warning.
da64396 cmake/msvc: Disable C4996 project wide.
6ef8264 Merge "mkvparser::BlockEntry: inline EOS()"
3fa6aec mkvparser::BlockEntry: inline EOS()
26306f9 mkvmuxer: Remove unused Cluster ctor overload.
0d76597 mkvmuxer: Fix build with GCC 5.3.
0ba80bc mkvparser/sample: Minor clean up.
2e0e906 iosbuild.sh: Fix build.
918440a Makefile.unix: allow CXXFLAGS to be easily overridden
4ff5785 cmake: Add C++11 move ctor and member initializer tests.
402ef4d cmake: remove argc and argv from C++11 test main fns.
cbe5c40 Restore original namespaces for mkvmuxer and mkvparser.
504e0f2 Mass file extension update.
79cb980 Android.mk: Update source file locations.
01db4c2 webmids: Move to common/ sub dir.
235ce59 mkvparser: Explicitly reference internal sources in includes.
f578419 mkvmuxer: Move sources to mkvmuxer/ sub dir.
5f1065e webvtt: Organize and clean up webvtt support.
7abe8ac cmake: Add missing dumpvtt target.
f2f87e2 Makefile.unix: Tidy things up.
12f6dc3 Use <stdint.h> types instead of custom typedefs.
0407360 mkvmuxer: Write last block in each Cluster with Duration
008aa63 mkvparser: move to mkvparser sub dir.
e64bf75 Namespace reorg: Make everything a child of libwebm.
5fdb386 cmake: move c++11 checks into build/cxx11_tests.cmake.
3672488 Copy reference block values in Frame::CopyFrom()
91ca780 reapply clang-format
8d34215 Merge "Clean up AddAudioTrack in muxer_tests"
90861d4 Clean up AddAudioTrack in muxer_tests
a9dfb3d Un-ignore webm files in testdata
c5b76d8 Extract PES parser from WebM2Pes tests.
16524e8 cmake: Add include-what-you-use integration.
7015af5 iwyu/vpxpes2ts: Update includes.
c1d6a70 iwyu/webm2pes: Update includes.
110e797 iwyu/libwebm_util: Update includes.
44e31fb iwyu/webm2pes_tests: Update includes.
d919f96 iwyu/mkvwriter: Update includes.
75790e1 iwyu/mkvparser: Update includes.
5f673ca iwyu/webm2pes_main: Update includes.
747244a iwyu/vpxpes2ts_main: Update includes.
94c985f iwyu/mkvmuxerutil: Update includes.
c365630 iwyu/mkvmuxer: Update includes.
b15b8ef iwyu/file_util: Update includes.
3dfba95 iwyu/hdr_util: Update includes.
baba8b1 iwyu/vttdemux: Update includes.
3212ec1 iwyu/webvttparser: Update includes.
b6d8d92 iwyu/sample_muxer_metadata: Update includes.
a9a1a01 iwyu/sample_muxer: Update includes.
e020ffd iwyu/sample: Update includes.
18834bc iwyu/parser_tests: Update includes.
9c00ae3 iwyu/muxer_tests: Update includes.
41a17eb iwyu/test_util: Update includes
b6174be muxer_tests: Fix windows brokenness.
e092515 file_util: Remove tmpnam() usage in MSVC.
b9dc4ac test_util: Don't pass NULL to std::string() in GetTestDataDir().
1f74651 webmts: Move PES/TS sources to m2ts sub directory.
1b895e9 Rename libwebm_utils to libwebm_util.
2fabcd3 sample_muxer: Replace std::tmpnam() with libwebm::GetTempFileName().
e6a0033 Add file_util.
87f9bea Move hdr_util to common.
1f64aaf cmake: Expand C++11 tests.
6dc81c1 muxer_tests: Die immediately when unable to prep for file writing.
521ce4d webm2pes: Fix type limit warning.
64c4163 vpxpes2ts: Fix sign-compare and type-limits warnings.
741ba68 muxer_tests: Replace std::tmpnam() with GetTempFileName().
6159e83 Merge "test_util: add missing include for close()"
ff81c74 parser_tests: Fix sign compare warnings.
163f57d test_util: add missing include for close()
7c89eb5 Merge "test_util: Remove tmpnam() usage on non-MSVC targets."
c4b8686 Merge "webm2pes_tests: Fix sign compare warnings."
9c9f546 Merge "muxer_tests: Fix sign compare warnings."
0fbefef webm2pes: Silence sign compare warnings.
599e4e8 cmake: Silence clang/gcc deprecation warnings.
82f376f test_util: Remove tmpnam() usage on non-MSVC targets.
4d31d6b webm2pes_tests: Fix sign compare warnings.
07ed7e0 muxer_tests: Fix sign compare warnings.
ae2fbfe parser_tests: Silence sign compare warning.
f488528 libwebm_utils: Silence sign compare warning.
777247b Add C++11 detection to cmake file.
9b89187 Add missing include to libwebm_utils.h.
421874a Merge "mkvmuxer: Fix GCC build."
dd6ab35 Set the mastering metadata on the muxers colour
8b61ef5 mkvmuxer: Fix GCC build.
353b050 Add hdr_util.
c92e080 mkvmuxer: Use kValueNotPresent in Colour/MasteringMetadata.
2d09128 Colour element: TransferFunction renamed to TransferCharacteristics.
f2fc28e Colour element: Matrix renamed to MatrixCoefficients.
e0b1135 cmake: Minor CMakeLists.txt refactor.
1e1872b Revert change from auto_ptr to unique_ptr in sample code.
d7fc382 Track updates to the proposed Matroska Colour spec.
99981ee sample(mkvparser): Output Colour element when present.
375e416 mkvmuxer: Fix Colour element support.
eaeca34 mkvmuxer: Fix bits per channel in the colour element.
1dab7f3 mkvparser: Avoid crash when encountering a Colour element.
a1517aa sample_muxer: copy the Colour element.
ea9dd94 Merge "webm2pes: Fix tests."
8635c5b Merge "mkvparser: Make omitted values detectable in the Colour element."
ae4ae7e mkvparser: Make omitted values detectable in the Colour element.
8c8cba6 webm2pes: Fix tests.
a281a22 mkvmuxer: Add support for the Colour element and its children.
41a9147 sample_muxer: clang-format include order fix.
939a64d Signal E_BUFFER_NOT_FULL in EBMLHeader::Parse
fb1406e mkvparser: Add support for the Colour element and its children.
22bfdf7 Merge "parser_tests: Add validation of cues."
b873000 parser_tests: Add validation of cues.
799891e Update .gitignore to include some new binaries
e051c60 Merge "Update muxer test gold files"
b81d5f0 Update muxer test gold files
48b1e9a mkvparser: clang format run
93c4690 webm2pes: Add PES packet parsing tests.
65ca38f Merge "test_util: Fix gcc build."
520ca6c Merge "parser_tests: Fix gcc build."
37a38ca test_util: Fix gcc build.
ee0ebba parser_tests: Fix gcc build.
c32f970 Replace auto_ptr usage with unique_ptr.
e569ab0 webm2pes/ts: Fix gcc build.
2e55d6c Merge "add bitcode embedding support for ios"
0cfb2dc add bitcode embedding support for ios
bb8cefd webm2ts: Converts WebM VPx video to a MPEG TS.
453bf44 webm2pes: Begin addition of tests.
9299bbb libwebm: Googletest integration.
3bec1ba Merge changes I7bcb5b3e,I8ce733be,I98a928ff,I71910f24
5c83bbe Fix ParseElementHeader to support 0 payload elements
be35869 libwebm_utils: Add FileDeleter.
d6db1e1 webm2pes: Add a WebM parser init method.
aa3593e webm2pes: Rename Convert to ConvertToFile().
e8fca12 webm2pes: Fix super frame splitting.
3cb96b6 webm2pes: Move main() and helper functions into their own files.
021432b webm2pes: Fix the linux build.
82ac5fc Remove RELEASE.TXT.
852e173 webm2pes: Split super frames and packetize large frames.
faf85c2 webm2pes: Refactor header/optional header writing.
7c19266 Add Webm2Pes.
01fdee4 mkvmuxer: Disallow AddTrack() after Tracks element is output.
1ad314e mkvparser: EBMLHeader::Parse: remove dead init

Change-Id: I542bd5e34586f29d4d15771ec4bd728defe0769e

8 years agoconfigure: Disable webm_io when target is VS 7/8/9.
Tom Finegan [Sat, 9 Apr 2016 00:10:28 +0000 (17:10 -0700)]
configure: Disable webm_io when target is VS 7/8/9.

libwebm now requires stdint.h, and the noted Visual Studio versions
omit it.

Change-Id: I7e5de131c357cb7a99c33452b2b623882817df0f

8 years agoRemove obsolete segment skip checks from tokenization.
Alex Converse [Fri, 8 Apr 2016 18:38:25 +0000 (11:38 -0700)]
Remove obsolete segment skip checks from tokenization.

Change-Id: Iac7bc0d0eba459a04688aae224d34ae9b59742db

8 years agoMerge "Correct comments for scan order neighbors"
Hui Su [Fri, 8 Apr 2016 18:03:21 +0000 (18:03 +0000)]
Merge "Correct comments for scan order neighbors"

8 years agoMerge "vp9-denoiser: Avoid copy-block when denoising is at LowLow level."
Marco Paniconi [Fri, 8 Apr 2016 17:51:54 +0000 (17:51 +0000)]
Merge "vp9-denoiser: Avoid copy-block when denoising is at LowLow level."

8 years agoMerge "vp8-denoiser: Avoid doing the mcomp if we don't denoise."
Marco Paniconi [Fri, 8 Apr 2016 17:51:25 +0000 (17:51 +0000)]
Merge "vp8-denoiser: Avoid doing the mcomp if we don't denoise."

8 years agoAdjust motion component of prediction decay.
paulwilkins [Fri, 8 Apr 2016 09:28:40 +0000 (10:28 +0100)]
Adjust motion component of prediction decay.

Adjust the motion decay component to account for image size.
This has very little impact for smaller image sizes.

Average bdrate results for our HD test sets:-

Hdres set:  opsnr +0,92%,  Fast SSIM +1.6%
Netflix hd set:  opsnr + 1.5%, Fast SSIM +3.1%

There are a couple of notable -ve clips such as cyclist and sunflower
which seem to be better with a shorter interval but also a few very big
wins such as Jets >12% psnr 22% Fast SSIM and from the Netflix
Netflix set PierSeaside 9.7% psnr and 18.2% Fast SSIM.

Change-Id: Ie43aaedaa74331ed83d624a13548094ac64fed9e

8 years agoMerge "vp9: Some adjustments to scene-cut detection."
Marco Paniconi [Thu, 7 Apr 2016 22:00:46 +0000 (22:00 +0000)]
Merge "vp9: Some adjustments to scene-cut detection."

8 years agovp9: Some adjustments to scene-cut detection.
Marco [Thu, 7 Apr 2016 18:57:49 +0000 (11:57 -0700)]
vp9: Some adjustments to scene-cut detection.

Change only affects 1 pass vbr mode, speed >=5.
Increase min_thresh, decrease boost, and set a min/max
value for gf_interval.

Change-Id: I9c1e1a1ab0c5780064eb62714ee39a72ea4d2107

8 years agoRevert "third_party: Roll libwebm snapshot."
Tom Finegan [Thu, 7 Apr 2016 18:47:54 +0000 (11:47 -0700)]
Revert "third_party: Roll libwebm snapshot."

This reverts commit 31b975713cf69879bcfd66bc653791112a8c3644. It breaks
the VS10_x64 and VS11_ARM builds.

Change-Id: Ifc1146a98daa5b4ef52f49a191bef98932d51f06

8 years agoVP9: Combine TileData with TileWorkerData
Scott LaVarnway [Thu, 7 Apr 2016 18:44:27 +0000 (11:44 -0700)]
VP9: Combine TileData with TileWorkerData

Change-Id: I83536734a54ef7b85f90f56a51878d94fac7ff22

8 years agoCorrect comments for scan order neighbors
hui su [Thu, 7 Apr 2016 18:04:40 +0000 (11:04 -0700)]
Correct comments for scan order neighbors

Change-Id: I5e2dc39bf0ee8e501e4dd358be2e92ae50934593

8 years agoMerge "vp9-1 pass vbr: Use average QP for active_worst_quality, for inter-frames."
Marco Paniconi [Thu, 7 Apr 2016 16:31:12 +0000 (16:31 +0000)]
Merge "vp9-1 pass vbr: Use average QP for active_worst_quality, for inter-frames."

8 years agoTrap very short arf group just before a kf.
paulwilkins [Thu, 7 Apr 2016 13:55:26 +0000 (14:55 +0100)]
Trap very short arf group just before a kf.

Trap the case where we end up with a very short arf group just before
a key frame. Such a group often has poor quality and may cause pulsing.

For example if the KF is 17 frames away we are better doing two mid-size
groups of 9 and 8 than a group of 15 followed by a group of 2.

This becomes more and more important when coding with a short forced
kf interval though it may not impact our standard tests much.

Change-Id: I29d83d6637b203eac69be320dd35a7401a4678c1

8 years agothird_party: Roll libwebm snapshot.
Tom Finegan [Thu, 24 Mar 2016 20:12:51 +0000 (13:12 -0700)]
third_party: Roll libwebm snapshot.

eb50da8 Option to write timecode using fixed # of bytes
c1991fe mkvmuxer: Add missing Segment member initializer.
10aed96 Android.mk: Make libwebm easier to build downstream.
5c50e31 Add support for parsing VPx track codec private data.
4cbdbf1 Fix Android build.
bb48a3f mkvmuxerutil: remove stray 'int32'
a1cba34 Support cross compile for windows via mingw64.
596f5e0 Add webm_info.
ccf75f6 msvc/muxer_tests: Silence integer conversion warnings.
2ff2954 msvc/webm2pes: Silence integer and floating point conversion warnings.
1f24323 msvc/hdr_util: Silence double to float conversion warnings.
0744563 msvc/vpxpes_parser: Silence integer conversion warning.
59614b8 msvc/libwebm_util: Fix floating point to int conversion warning.
6481c24 webvtt: Fix include in vttreader.
e6ed0f4 msvc/vpxpes2ts: Fix MSVC integer conversion warning.
da64396 cmake/msvc: Disable C4996 project wide.
6ef8264 Merge "mkvparser::BlockEntry: inline EOS()"
3fa6aec mkvparser::BlockEntry: inline EOS()
26306f9 mkvmuxer: Remove unused Cluster ctor overload.
0d76597 mkvmuxer: Fix build with GCC 5.3.
0ba80bc mkvparser/sample: Minor clean up.
2e0e906 iosbuild.sh: Fix build.
918440a Makefile.unix: allow CXXFLAGS to be easily overridden
4ff5785 cmake: Add C++11 move ctor and member initializer tests.
402ef4d cmake: remove argc and argv from C++11 test main fns.
cbe5c40 Restore original namespaces for mkvmuxer and mkvparser.
504e0f2 Mass file extension update.
79cb980 Android.mk: Update source file locations.
01db4c2 webmids: Move to common/ sub dir.
235ce59 mkvparser: Explicitly reference internal sources in includes.
f578419 mkvmuxer: Move sources to mkvmuxer/ sub dir.
5f1065e webvtt: Organize and clean up webvtt support.
7abe8ac cmake: Add missing dumpvtt target.
f2f87e2 Makefile.unix: Tidy things up.
12f6dc3 Use <stdint.h> types instead of custom typedefs.
0407360 mkvmuxer: Write last block in each Cluster with Duration
008aa63 mkvparser: move to mkvparser sub dir.
e64bf75 Namespace reorg: Make everything a child of libwebm.
5fdb386 cmake: move c++11 checks into build/cxx11_tests.cmake.
3672488 Copy reference block values in Frame::CopyFrom()
91ca780 reapply clang-format
8d34215 Merge "Clean up AddAudioTrack in muxer_tests"
90861d4 Clean up AddAudioTrack in muxer_tests
a9dfb3d Un-ignore webm files in testdata
c5b76d8 Extract PES parser from WebM2Pes tests.
16524e8 cmake: Add include-what-you-use integration.
7015af5 iwyu/vpxpes2ts: Update includes.
c1d6a70 iwyu/webm2pes: Update includes.
110e797 iwyu/libwebm_util: Update includes.
44e31fb iwyu/webm2pes_tests: Update includes.
d919f96 iwyu/mkvwriter: Update includes.
75790e1 iwyu/mkvparser: Update includes.
5f673ca iwyu/webm2pes_main: Update includes.
747244a iwyu/vpxpes2ts_main: Update includes.
94c985f iwyu/mkvmuxerutil: Update includes.
c365630 iwyu/mkvmuxer: Update includes.
b15b8ef iwyu/file_util: Update includes.
3dfba95 iwyu/hdr_util: Update includes.
baba8b1 iwyu/vttdemux: Update includes.
3212ec1 iwyu/webvttparser: Update includes.
b6d8d92 iwyu/sample_muxer_metadata: Update includes.
a9a1a01 iwyu/sample_muxer: Update includes.
e020ffd iwyu/sample: Update includes.
18834bc iwyu/parser_tests: Update includes.
9c00ae3 iwyu/muxer_tests: Update includes.
41a17eb iwyu/test_util: Update includes
b6174be muxer_tests: Fix windows brokenness.
e092515 file_util: Remove tmpnam() usage in MSVC.
b9dc4ac test_util: Don't pass NULL to std::string() in GetTestDataDir().
1f74651 webmts: Move PES/TS sources to m2ts sub directory.
1b895e9 Rename libwebm_utils to libwebm_util.
2fabcd3 sample_muxer: Replace std::tmpnam() with libwebm::GetTempFileName().
e6a0033 Add file_util.
87f9bea Move hdr_util to common.
1f64aaf cmake: Expand C++11 tests.
6dc81c1 muxer_tests: Die immediately when unable to prep for file writing.
521ce4d webm2pes: Fix type limit warning.
64c4163 vpxpes2ts: Fix sign-compare and type-limits warnings.
741ba68 muxer_tests: Replace std::tmpnam() with GetTempFileName().
6159e83 Merge "test_util: add missing include for close()"
ff81c74 parser_tests: Fix sign compare warnings.
163f57d test_util: add missing include for close()
7c89eb5 Merge "test_util: Remove tmpnam() usage on non-MSVC targets."
c4b8686 Merge "webm2pes_tests: Fix sign compare warnings."
9c9f546 Merge "muxer_tests: Fix sign compare warnings."
0fbefef webm2pes: Silence sign compare warnings.
599e4e8 cmake: Silence clang/gcc deprecation warnings.
82f376f test_util: Remove tmpnam() usage on non-MSVC targets.
4d31d6b webm2pes_tests: Fix sign compare warnings.
07ed7e0 muxer_tests: Fix sign compare warnings.
ae2fbfe parser_tests: Silence sign compare warning.
f488528 libwebm_utils: Silence sign compare warning.
777247b Add C++11 detection to cmake file.
9b89187 Add missing include to libwebm_utils.h.
421874a Merge "mkvmuxer: Fix GCC build."
dd6ab35 Set the mastering metadata on the muxers colour
8b61ef5 mkvmuxer: Fix GCC build.
353b050 Add hdr_util.
c92e080 mkvmuxer: Use kValueNotPresent in Colour/MasteringMetadata.
2d09128 Colour element: TransferFunction renamed to TransferCharacteristics.
f2fc28e Colour element: Matrix renamed to MatrixCoefficients.
e0b1135 cmake: Minor CMakeLists.txt refactor.
1e1872b Revert change from auto_ptr to unique_ptr in sample code.
d7fc382 Track updates to the proposed Matroska Colour spec.
99981ee sample(mkvparser): Output Colour element when present.
375e416 mkvmuxer: Fix Colour element support.
eaeca34 mkvmuxer: Fix bits per channel in the colour element.
1dab7f3 mkvparser: Avoid crash when encountering a Colour element.
a1517aa sample_muxer: copy the Colour element.
ea9dd94 Merge "webm2pes: Fix tests."
8635c5b Merge "mkvparser: Make omitted values detectable in the Colour element."
ae4ae7e mkvparser: Make omitted values detectable in the Colour element.
8c8cba6 webm2pes: Fix tests.
a281a22 mkvmuxer: Add support for the Colour element and its children.
41a9147 sample_muxer: clang-format include order fix.
939a64d Signal E_BUFFER_NOT_FULL in EBMLHeader::Parse
fb1406e mkvparser: Add support for the Colour element and its children.
22bfdf7 Merge "parser_tests: Add validation of cues."
b873000 parser_tests: Add validation of cues.
799891e Update .gitignore to include some new binaries
e051c60 Merge "Update muxer test gold files"
b81d5f0 Update muxer test gold files
48b1e9a mkvparser: clang format run
93c4690 webm2pes: Add PES packet parsing tests.
65ca38f Merge "test_util: Fix gcc build."
520ca6c Merge "parser_tests: Fix gcc build."
37a38ca test_util: Fix gcc build.
ee0ebba parser_tests: Fix gcc build.
c32f970 Replace auto_ptr usage with unique_ptr.
e569ab0 webm2pes/ts: Fix gcc build.
2e55d6c Merge "add bitcode embedding support for ios"
0cfb2dc add bitcode embedding support for ios
bb8cefd webm2ts: Converts WebM VPx video to a MPEG TS.
453bf44 webm2pes: Begin addition of tests.
9299bbb libwebm: Googletest integration.
3bec1ba Merge changes I7bcb5b3e,I8ce733be,I98a928ff,I71910f24
5c83bbe Fix ParseElementHeader to support 0 payload elements
be35869 libwebm_utils: Add FileDeleter.
d6db1e1 webm2pes: Add a WebM parser init method.
aa3593e webm2pes: Rename Convert to ConvertToFile().
e8fca12 webm2pes: Fix super frame splitting.
3cb96b6 webm2pes: Move main() and helper functions into their own files.
021432b webm2pes: Fix the linux build.
82ac5fc Remove RELEASE.TXT.
852e173 webm2pes: Split super frames and packetize large frames.
faf85c2 webm2pes: Refactor header/optional header writing.
7c19266 Add Webm2Pes.
01fdee4 mkvmuxer: Disallow AddTrack() after Tracks element is output.
1ad314e mkvparser: EBMLHeader::Parse: remove dead init

Change-Id: I13637ceacab953786064b7f8f6ecf1495b7475d0

8 years agoRevert "third_party: Roll libwebm snapshot."
Tom Finegan [Wed, 6 Apr 2016 21:26:32 +0000 (14:26 -0700)]
Revert "third_party: Roll libwebm snapshot."

This reverts commit 74aaa2389ec056f9dd8631eeed42fe7a757daf32. Unstable
under valgrind because of uninitialized reads. Limiting the bad bisect range.

Change-Id: I45b32f0ee0ba45795e7efb9947fb805830c8ce0e

8 years agoMerge "VP9: refactor read_switchable_interp_filter()"
Scott LaVarnway [Wed, 6 Apr 2016 20:51:26 +0000 (20:51 +0000)]
Merge "VP9: refactor read_switchable_interp_filter()"

8 years agoMerge "Fix crash when mkvparser returns a NULL BlockEntry."
Tom Finegan [Wed, 6 Apr 2016 15:03:09 +0000 (15:03 +0000)]
Merge "Fix crash when mkvparser returns a NULL BlockEntry."

8 years agoVP9: refactor read_switchable_interp_filter()
Scott LaVarnway [Wed, 6 Apr 2016 11:53:43 +0000 (04:53 -0700)]
VP9: refactor read_switchable_interp_filter()

Change-Id: I8f88b7ff21a0991297860c4a744a014629b0fa05

8 years agoMerge changes I7a1c0cba,Ie02b5caf,I2cbd85d7,I644f35b0
James Zern [Wed, 6 Apr 2016 02:51:53 +0000 (02:51 +0000)]
Merge changes I7a1c0cba,Ie02b5caf,I2cbd85d7,I644f35b0

* changes:
  vpx_fdct16x16_1_sse2: improve load pattern
  vpx_fdct16x16_1_c/msa: fix accumulator overflow
  vpx_fdctNxN_1_sse2: reduce store size
  dct32x32_test: add PartialTrans32x32Test, Random

8 years agoMerge "Fix high bit depth mask and variance reference function"
Yi Luo [Tue, 5 Apr 2016 18:26:55 +0000 (18:26 +0000)]
Merge "Fix high bit depth mask and variance reference function"

8 years agoFix high bit depth mask and variance reference function
Yi Luo [Mon, 4 Apr 2016 16:44:56 +0000 (09:44 -0700)]
Fix high bit depth mask and variance reference function

- Use arithmetic AND (&) instead of logical AND (&&) to
  generate correct testing input.
- Fix variance reference function to be consistent with
  our codebase implementation.
- Refer to the following issue:
https://bugs.chromium.org/p/webm/issues/detail?id=1166

Change-Id: I8c1ebb03e22dc9e1dcd96bdf935fc126cee71307

8 years agothird_party: Roll libwebm snapshot.
Tom Finegan [Thu, 24 Mar 2016 20:12:51 +0000 (13:12 -0700)]
third_party: Roll libwebm snapshot.

5c50e31 Add support for parsing VPx track codec private data.
4cbdbf1 Fix Android build.
bb48a3f mkvmuxerutil: remove stray 'int32'
a1cba34 Support cross compile for windows via mingw64.
596f5e0 Add webm_info.
ccf75f6 msvc/muxer_tests: Silence integer conversion warnings.
2ff2954 msvc/webm2pes: Silence integer and floating point conversion warnings.
1f24323 msvc/hdr_util: Silence double to float conversion warnings.
0744563 msvc/vpxpes_parser: Silence integer conversion warning.
59614b8 msvc/libwebm_util: Fix floating point to int conversion warning.
6481c24 webvtt: Fix include in vttreader.
e6ed0f4 msvc/vpxpes2ts: Fix MSVC integer conversion warning.
da64396 cmake/msvc: Disable C4996 project wide.
6ef8264 Merge "mkvparser::BlockEntry: inline EOS()"
3fa6aec mkvparser::BlockEntry: inline EOS()
26306f9 mkvmuxer: Remove unused Cluster ctor overload.
0d76597 mkvmuxer: Fix build with GCC 5.3.
0ba80bc mkvparser/sample: Minor clean up.
2e0e906 iosbuild.sh: Fix build.
918440a Makefile.unix: allow CXXFLAGS to be easily overridden
4ff5785 cmake: Add C++11 move ctor and member initializer tests.
402ef4d cmake: remove argc and argv from C++11 test main fns.
cbe5c40 Restore original namespaces for mkvmuxer and mkvparser.
504e0f2 Mass file extension update.
79cb980 Android.mk: Update source file locations.
01db4c2 webmids: Move to common/ sub dir.
235ce59 mkvparser: Explicitly reference internal sources in includes.
f578419 mkvmuxer: Move sources to mkvmuxer/ sub dir.
5f1065e webvtt: Organize and clean up webvtt support.
7abe8ac cmake: Add missing dumpvtt target.
f2f87e2 Makefile.unix: Tidy things up.
12f6dc3 Use <stdint.h> types instead of custom typedefs.
0407360 mkvmuxer: Write last block in each Cluster with Duration
008aa63 mkvparser: move to mkvparser sub dir.
e64bf75 Namespace reorg: Make everything a child of libwebm.
5fdb386 cmake: move c++11 checks into build/cxx11_tests.cmake.
3672488 Copy reference block values in Frame::CopyFrom()
91ca780 reapply clang-format
8d34215 Merge "Clean up AddAudioTrack in muxer_tests"
90861d4 Clean up AddAudioTrack in muxer_tests
a9dfb3d Un-ignore webm files in testdata
c5b76d8 Extract PES parser from WebM2Pes tests.
16524e8 cmake: Add include-what-you-use integration.
7015af5 iwyu/vpxpes2ts: Update includes.
c1d6a70 iwyu/webm2pes: Update includes.
110e797 iwyu/libwebm_util: Update includes.
44e31fb iwyu/webm2pes_tests: Update includes.
d919f96 iwyu/mkvwriter: Update includes.
75790e1 iwyu/mkvparser: Update includes.
5f673ca iwyu/webm2pes_main: Update includes.
747244a iwyu/vpxpes2ts_main: Update includes.
94c985f iwyu/mkvmuxerutil: Update includes.
c365630 iwyu/mkvmuxer: Update includes.
b15b8ef iwyu/file_util: Update includes.
3dfba95 iwyu/hdr_util: Update includes.
baba8b1 iwyu/vttdemux: Update includes.
3212ec1 iwyu/webvttparser: Update includes.
b6d8d92 iwyu/sample_muxer_metadata: Update includes.
a9a1a01 iwyu/sample_muxer: Update includes.
e020ffd iwyu/sample: Update includes.
18834bc iwyu/parser_tests: Update includes.
9c00ae3 iwyu/muxer_tests: Update includes.
41a17eb iwyu/test_util: Update includes
b6174be muxer_tests: Fix windows brokenness.
e092515 file_util: Remove tmpnam() usage in MSVC.
b9dc4ac test_util: Don't pass NULL to std::string() in GetTestDataDir().
1f74651 webmts: Move PES/TS sources to m2ts sub directory.
1b895e9 Rename libwebm_utils to libwebm_util.
2fabcd3 sample_muxer: Replace std::tmpnam() with libwebm::GetTempFileName().
e6a0033 Add file_util.
87f9bea Move hdr_util to common.
1f64aaf cmake: Expand C++11 tests.
6dc81c1 muxer_tests: Die immediately when unable to prep for file writing.
521ce4d webm2pes: Fix type limit warning.
64c4163 vpxpes2ts: Fix sign-compare and type-limits warnings.
741ba68 muxer_tests: Replace std::tmpnam() with GetTempFileName().
6159e83 Merge "test_util: add missing include for close()"
ff81c74 parser_tests: Fix sign compare warnings.
163f57d test_util: add missing include for close()
7c89eb5 Merge "test_util: Remove tmpnam() usage on non-MSVC targets."
c4b8686 Merge "webm2pes_tests: Fix sign compare warnings."
9c9f546 Merge "muxer_tests: Fix sign compare warnings."
0fbefef webm2pes: Silence sign compare warnings.
599e4e8 cmake: Silence clang/gcc deprecation warnings.
82f376f test_util: Remove tmpnam() usage on non-MSVC targets.
4d31d6b webm2pes_tests: Fix sign compare warnings.
07ed7e0 muxer_tests: Fix sign compare warnings.
ae2fbfe parser_tests: Silence sign compare warning.
f488528 libwebm_utils: Silence sign compare warning.
777247b Add C++11 detection to cmake file.
9b89187 Add missing include to libwebm_utils.h.
421874a Merge "mkvmuxer: Fix GCC build."
dd6ab35 Set the mastering metadata on the muxers colour
8b61ef5 mkvmuxer: Fix GCC build.
353b050 Add hdr_util.
c92e080 mkvmuxer: Use kValueNotPresent in Colour/MasteringMetadata.
2d09128 Colour element: TransferFunction renamed to TransferCharacteristics.
f2fc28e Colour element: Matrix renamed to MatrixCoefficients.
e0b1135 cmake: Minor CMakeLists.txt refactor.
1e1872b Revert change from auto_ptr to unique_ptr in sample code.
d7fc382 Track updates to the proposed Matroska Colour spec.
99981ee sample(mkvparser): Output Colour element when present.
375e416 mkvmuxer: Fix Colour element support.
eaeca34 mkvmuxer: Fix bits per channel in the colour element.
1dab7f3 mkvparser: Avoid crash when encountering a Colour element.
a1517aa sample_muxer: copy the Colour element.
ea9dd94 Merge "webm2pes: Fix tests."
8635c5b Merge "mkvparser: Make omitted values detectable in the Colour element."
ae4ae7e mkvparser: Make omitted values detectable in the Colour element.
8c8cba6 webm2pes: Fix tests.
a281a22 mkvmuxer: Add support for the Colour element and its children.
41a9147 sample_muxer: clang-format include order fix.
939a64d Signal E_BUFFER_NOT_FULL in EBMLHeader::Parse
fb1406e mkvparser: Add support for the Colour element and its children.
22bfdf7 Merge "parser_tests: Add validation of cues."
b873000 parser_tests: Add validation of cues.
799891e Update .gitignore to include some new binaries
e051c60 Merge "Update muxer test gold files"
b81d5f0 Update muxer test gold files
48b1e9a mkvparser: clang format run
93c4690 webm2pes: Add PES packet parsing tests.
65ca38f Merge "test_util: Fix gcc build."
520ca6c Merge "parser_tests: Fix gcc build."
37a38ca test_util: Fix gcc build.
ee0ebba parser_tests: Fix gcc build.
c32f970 Replace auto_ptr usage with unique_ptr.
e569ab0 webm2pes/ts: Fix gcc build.
2e55d6c Merge "add bitcode embedding support for ios"
0cfb2dc add bitcode embedding support for ios
bb8cefd webm2ts: Converts WebM VPx video to a MPEG TS.
453bf44 webm2pes: Begin addition of tests.
9299bbb libwebm: Googletest integration.
3bec1ba Merge changes I7bcb5b3e,I8ce733be,I98a928ff,I71910f24
5c83bbe Fix ParseElementHeader to support 0 payload elements
be35869 libwebm_utils: Add FileDeleter.
d6db1e1 webm2pes: Add a WebM parser init method.
aa3593e webm2pes: Rename Convert to ConvertToFile().
e8fca12 webm2pes: Fix super frame splitting.
3cb96b6 webm2pes: Move main() and helper functions into their own files.
021432b webm2pes: Fix the linux build.
82ac5fc Remove RELEASE.TXT.
852e173 webm2pes: Split super frames and packetize large frames.
faf85c2 webm2pes: Refactor header/optional header writing.
7c19266 Add Webm2Pes.
01fdee4 mkvmuxer: Disallow AddTrack() after Tracks element is output.
1ad314e mkvparser: EBMLHeader::Parse: remove dead init

Change-Id: I49c1d6dbfab2855af886dc8af53cf6cf5ca382c2

8 years agovp9-denoiser: Avoid copy-block when denoising is at LowLow level.
Marco [Mon, 4 Apr 2016 18:05:21 +0000 (11:05 -0700)]
vp9-denoiser: Avoid copy-block when denoising is at LowLow level.

Avoid copy-block when denoising is at LowLow level (i.e., no denoising is done).
Instead, don't enter denoiser at all, and when level goes back up over kLowLow
do a reset in denoiser.

Change-Id: I0544adf58f4dd51ecc4a4607fcb0353bfbbb7a59

8 years agovpx_fdct16x16_1_sse2: improve load pattern
James Zern [Fri, 1 Apr 2016 19:40:14 +0000 (12:40 -0700)]
vpx_fdct16x16_1_sse2: improve load pattern

load the full row rather than doing 2 8-wide columns

Change-Id: I7a1c0cba06b0dc1ae86046410922b1efccb95c95

8 years agovpx_fdct16x16_1_c/msa: fix accumulator overflow
James Zern [Wed, 30 Mar 2016 04:04:38 +0000 (21:04 -0700)]
vpx_fdct16x16_1_c/msa: fix accumulator overflow

tran_low_t is only signed 16-bits in non-high-bitdepth mode

Change-Id: Ie02b5caf2658e8e71f995c17dd5ce666a4d64918

8 years agovpx_fdctNxN_1_sse2: reduce store size
James Zern [Fri, 1 Apr 2016 19:35:33 +0000 (12:35 -0700)]
vpx_fdctNxN_1_sse2: reduce store size

only output[0] needs to be set, store_output is more involved than a
movdqa in the high bitdepth case

Change-Id: I2cbd85d7cf74688bdf47eb767934fe42e02bff67

8 years agovp8-denoiser: Avoid doing the mcomp if we don't denoise.
Marco [Mon, 4 Apr 2016 20:00:15 +0000 (13:00 -0700)]
vp8-denoiser: Avoid doing the mcomp if we don't denoise.

Avoid doing the mcomp in denoiser if we don't denoise the
block (because of motion/SSE/skin threshold, etc).
This can reduce encoding time (with denoiser enabled) by ~1.5-2%.

Change-Id: Ia699b68dfd37b89cdf3a82b8aa40e8c8f98a3d4f

8 years agovp9-noise estimate: Adhust threshold for Low level detection.
Marco [Mon, 4 Apr 2016 19:30:50 +0000 (12:30 -0700)]
vp9-noise estimate: Adhust threshold for Low level detection.

Change-Id: I1c78255c81cb4ac218964c80f8ecaf29f95b875b

8 years agoFix crash when mkvparser returns a NULL BlockEntry.
Tom Finegan [Mon, 4 Apr 2016 18:49:42 +0000 (11:49 -0700)]
Fix crash when mkvparser returns a NULL BlockEntry.

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

Change-Id: I64b7b19581f15d53048e3026c3f8946e344fbe26

8 years agoMerge "vp9-noise estimation: Increase threshold for Low-level."
Marco Paniconi [Mon, 4 Apr 2016 17:33:34 +0000 (17:33 +0000)]
Merge "vp9-noise estimation: Increase threshold for Low-level."

8 years agovp9-noise estimation: Increase threshold for Low-level.
Marco [Mon, 4 Apr 2016 16:25:59 +0000 (09:25 -0700)]
vp9-noise estimation: Increase threshold for Low-level.

This make it more likely clean/low-noise content will
be set as LowLow, and hence no denoising will be done.
Also set early exit on denoising for small blocks.

Change-Id: I4a72bba3e6c5e2d523d304c39deacc9c39bf216c

8 years agovp9-denoiser. Code cleanup and bugfix.
Marco [Mon, 4 Apr 2016 16:11:00 +0000 (09:11 -0700)]
vp9-denoiser. Code cleanup and bugfix.

Some cleanup and bugfix: pass mi_row/mi_col (not mv_col/mv_row)
to build_inter_predictors. This only affects case where
the frame is resized, but since denoising is not done on resized
frames, the fix has not effect currently.

Change-Id: I36617a7f0b43b6f49976745f15d400977e6ffa46

8 years agoMerge "dct32x32_test: create fn pointers w/'&' ref"
James Zern [Sat, 2 Apr 2016 19:38:36 +0000 (19:38 +0000)]
Merge "dct32x32_test: create fn pointers w/'&' ref"

8 years agodct32x32_test: create fn pointers w/'&' ref
James Zern [Sat, 2 Apr 2016 18:17:29 +0000 (11:17 -0700)]
dct32x32_test: create fn pointers w/'&' ref

this helps some toolchains (vs9) resolve the type of the parameter

Change-Id: I116030361fc956e10de82b64c81d5917cddbcd5a

8 years agovpx_fdct32x32_1_msa: fix accumulator overflow
James Zern [Sat, 2 Apr 2016 18:04:38 +0000 (11:04 -0700)]
vpx_fdct32x32_1_msa: fix accumulator overflow

Change-Id: I33a5432eda3416382e1cea06b45082c0c65faa75

8 years agodct32x32_test: add PartialTrans32x32Test, Random
James Zern [Sat, 2 Apr 2016 02:44:23 +0000 (19:44 -0700)]
dct32x32_test: add PartialTrans32x32Test, Random

Change-Id: I644f35b0b0a540bf5b6ebb6dbc05b3c95736f42b

8 years agoMerge changes I8e9692fc,Ifc06110c
James Zern [Fri, 1 Apr 2016 23:12:51 +0000 (23:12 +0000)]
Merge changes I8e9692fc,Ifc06110c

* changes:
  vpx_fdctNxN_1_c: remove unnecessary store
  vpx_fdct32x32_1_c: fix accumulator overflow

8 years agoMerge "vp9-denoiser: Adjust usage of skin and consec_zeromv."
Marco Paniconi [Fri, 1 Apr 2016 21:26:08 +0000 (21:26 +0000)]
Merge "vp9-denoiser: Adjust usage of skin and consec_zeromv."

8 years agovpx_fdctNxN_1_c: remove unnecessary store
James Zern [Fri, 1 Apr 2016 19:21:59 +0000 (12:21 -0700)]
vpx_fdctNxN_1_c: remove unnecessary store

only output[0] needs to be set, the other values will be ignored in this
case.

Change-Id: I8e9692fc0d6d85700ba46f70c2e899a956023910

8 years agovp9-denoiser: Adjust usage of skin and consec_zeromv.
Marco [Fri, 1 Apr 2016 18:41:29 +0000 (11:41 -0700)]
vp9-denoiser: Adjust usage of skin and consec_zeromv.

Change-Id: I250258fc70ec0fcf1b501708c5d4b84685cf882e

8 years agovp8 denoiser: Some adjustments to usage of skin and motion.
Marco [Tue, 19 Jan 2016 20:57:29 +0000 (12:57 -0800)]
vp8 denoiser: Some adjustments to usage of skin and motion.

Switch to use new skin model.

And fix condition for denoising skin block.
Previous condition did not denoise skin blocks if the selected
mode was non-zero motion in current frame. Modify condition to
also force no denoising if that mode was not selected as zero motion
now and for at least "x" past frames in a row (x = 2).

Change-Id: I00753e3fe45b9a308a7ef43c58f11868e3bfc6b0

8 years agoVP9: Refactor vp9_decode_block_tokens()
Scott LaVarnway [Tue, 29 Mar 2016 22:03:12 +0000 (15:03 -0700)]
VP9: Refactor vp9_decode_block_tokens()

Change-Id: I30ab27808ec903f9490f36621fb16c197bd35d16

8 years agoMerge "disable vp9_diamond_search_sad_avx"
James Zern [Fri, 1 Apr 2016 03:33:51 +0000 (03:33 +0000)]
Merge "disable vp9_diamond_search_sad_avx"

8 years agoMerge "vpx_ports/mem_ops.h: clear some -Wconversion warnings"
James Zern [Fri, 1 Apr 2016 03:31:29 +0000 (03:31 +0000)]
Merge "vpx_ports/mem_ops.h: clear some -Wconversion warnings"

8 years agoFix some static analysis issues with resize
Debargha Mukherjee [Wed, 30 Mar 2016 20:53:37 +0000 (13:53 -0700)]
Fix some static analysis issues with resize

Change-Id: I2e8ada1ae95bd5577344d6f898e6ad4723e38fbd

8 years agovp9-1 pass vbr: Use average QP for active_worst_quality, for inter-frames.
Marco [Wed, 30 Mar 2016 23:27:25 +0000 (16:27 -0700)]
vp9-1 pass vbr: Use average QP for active_worst_quality, for inter-frames.

And replace some operation with shift.

Change-Id: If1ea874ee05b7238d5f954e55bb3ceda804a091a

8 years agodisable vp9_diamond_search_sad_avx
James Zern [Wed, 30 Mar 2016 22:28:42 +0000 (15:28 -0700)]
disable vp9_diamond_search_sad_avx

this results in different output than C, observed with 1080p input at
speed 2.

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

Change-Id: Ie58cf20057f4531d1b1d19c7b7eae9e642587ce5

8 years agovpx_ports/mem_ops.h: clear some -Wconversion warnings
James Zern [Thu, 31 Mar 2016 00:02:10 +0000 (17:02 -0700)]
vpx_ports/mem_ops.h: clear some -Wconversion warnings

not strictly necessary, but allows projects using '-Wconversion
-Wno-sign-conversion' to reuse these headers.

Change-Id: Id1398d726c90173ccba9aea66798fcef6f20fa23

8 years agoMerge "VP9: Eliminate up_available and left_available"
Scott LaVarnway [Wed, 30 Mar 2016 23:21:07 +0000 (23:21 +0000)]
Merge "VP9: Eliminate up_available and left_available"

8 years agovpx_fdct32x32_1_c: fix accumulator overflow
James Zern [Wed, 30 Mar 2016 04:04:38 +0000 (21:04 -0700)]
vpx_fdct32x32_1_c: fix accumulator overflow

tran_low_t is only 16-bits in non-high-bitdepth mode

Change-Id: Ifc06110c95e86e6d790c44250d52a538b2e9713b

8 years agoVP9: Eliminate up_available and left_available
Scott LaVarnway [Wed, 30 Mar 2016 11:47:39 +0000 (04:47 -0700)]
VP9: Eliminate up_available and left_available

Use above_mi and left_mi instead.

Change-Id: I0b50e232c31d11da30aa2fb6f91a695aaf725e0c

8 years agoMerge "vp8_peek_si_internal: quiet static analysis warning"
James Zern [Wed, 30 Mar 2016 05:38:59 +0000 (05:38 +0000)]
Merge "vp8_peek_si_internal: quiet static analysis warning"

8 years agoMerge "Properly propagate out of memory errors."
Johann Koenig [Tue, 29 Mar 2016 22:36:42 +0000 (22:36 +0000)]
Merge "Properly propagate out of memory errors."

8 years agoMerge "Increase min-max q range for normal inter frames."
Paul Wilkins [Tue, 29 Mar 2016 14:02:21 +0000 (14:02 +0000)]
Merge "Increase min-max q range for normal inter frames."

8 years agoProperly propagate out of memory errors.
Jean-Yves Avenard [Sat, 11 Jul 2015 10:47:39 +0000 (20:47 +1000)]
Properly propagate out of memory errors.

It would otherwise result in an infinite loop.

Change-Id: Ic03fb220cc048538bd62dee599653187f2093079

8 years agovp9-denoiser: Incorporate consec_zeromv in skin detection for denoising.
Marco [Thu, 24 Mar 2016 22:29:58 +0000 (15:29 -0700)]
vp9-denoiser: Incorporate consec_zeromv in skin detection for denoising.

Change-Id: Ibe4e1207c0db1779e1358f4566da67c9a07bdb15

8 years agoMerge "vp8-denoiser: Use the same skin detection for model=1 as in vp9."
Marco Paniconi [Mon, 28 Mar 2016 16:05:46 +0000 (16:05 +0000)]
Merge "vp8-denoiser: Use the same skin detection for model=1 as in vp9."

8 years agoRevert "third_party: Roll libwebm snapshot."
James Zern [Sat, 26 Mar 2016 19:52:49 +0000 (12:52 -0700)]
Revert "third_party: Roll libwebm snapshot."

This reverts commit 80ddeb281a0d4b3d9a6d39a7ef91370f52845b39.

breaks Android build and causes valgrind failures in the examples

Change-Id: Ie13ceed2f9f8970af87339b807032a52083f27fe

8 years agoMerge "third_party: Roll libwebm snapshot."
Tom Finegan [Sat, 26 Mar 2016 01:41:49 +0000 (01:41 +0000)]
Merge "third_party: Roll libwebm snapshot."

8 years agovp9: 1 pass vbr mode at speed 5: switch to use mv.search to NSTEP.
Marco [Fri, 25 Mar 2016 18:34:56 +0000 (11:34 -0700)]
vp9: 1 pass vbr mode at speed 5: switch to use mv.search to NSTEP.

Change only affects 1 pass, vbr, speed = 5 (real-time mode).

Some improvement for high motion content.
AvgPSNR/SSIM metrics for ytlive set all up, on average ~2%,
some clips (high motion ones) up 4/5%.

Encoder speed down: on mynintendo_x1.1280_720.y4m: 47fps -> 44fps.

Change-Id: I9e3eaa6392dcb6b5b44ee6f43004f97ba859bc11

8 years agothird_party: Roll libwebm snapshot.
Tom Finegan [Thu, 24 Mar 2016 20:12:51 +0000 (13:12 -0700)]
third_party: Roll libwebm snapshot.

4ff5785 cmake: Add C++11 move ctor and member initializer tests.
402ef4d cmake: remove argc and argv from C++11 test main fns.
cbe5c40 Restore original namespaces for mkvmuxer and mkvparser.
504e0f2 Mass file extension update.
79cb980 Android.mk: Update source file locations.
01db4c2 webmids: Move to common/ sub dir.
235ce59 mkvparser: Explicitly reference internal sources in includes.
f578419 mkvmuxer: Move sources to mkvmuxer/ sub dir.
5f1065e webvtt: Organize and clean up webvtt support.
7abe8ac cmake: Add missing dumpvtt target.
f2f87e2 Makefile.unix: Tidy things up.
12f6dc3 Use <stdint.h> types instead of custom typedefs.
0407360 mkvmuxer: Write last block in each Cluster with Duration
008aa63 mkvparser: move to mkvparser sub dir.
e64bf75 Namespace reorg: Make everything a child of libwebm.
5fdb386 cmake: move c++11 checks into build/cxx11_tests.cmake.
3672488 Copy reference block values in Frame::CopyFrom()
91ca780 reapply clang-format
8d34215 Merge "Clean up AddAudioTrack in muxer_tests"
90861d4 Clean up AddAudioTrack in muxer_tests
a9dfb3d Un-ignore webm files in testdata
c5b76d8 Extract PES parser from WebM2Pes tests.
16524e8 cmake: Add include-what-you-use integration.
7015af5 iwyu/vpxpes2ts: Update includes.
c1d6a70 iwyu/webm2pes: Update includes.
110e797 iwyu/libwebm_util: Update includes.
44e31fb iwyu/webm2pes_tests: Update includes.
d919f96 iwyu/mkvwriter: Update includes.
75790e1 iwyu/mkvparser: Update includes.
5f673ca iwyu/webm2pes_main: Update includes.
747244a iwyu/vpxpes2ts_main: Update includes.
94c985f iwyu/mkvmuxerutil: Update includes.
c365630 iwyu/mkvmuxer: Update includes.
b15b8ef iwyu/file_util: Update includes.
3dfba95 iwyu/hdr_util: Update includes.
baba8b1 iwyu/vttdemux: Update includes.
3212ec1 iwyu/webvttparser: Update includes.
b6d8d92 iwyu/sample_muxer_metadata: Update includes.
a9a1a01 iwyu/sample_muxer: Update includes.
e020ffd iwyu/sample: Update includes.
18834bc iwyu/parser_tests: Update includes.
9c00ae3 iwyu/muxer_tests: Update includes.
41a17eb iwyu/test_util: Update includes
b6174be muxer_tests: Fix windows brokenness.
e092515 file_util: Remove tmpnam() usage in MSVC.
b9dc4ac test_util: Don't pass NULL to std::string() in GetTestDataDir().
1f74651 webmts: Move PES/TS sources to m2ts sub directory.
1b895e9 Rename libwebm_utils to libwebm_util.
2fabcd3 sample_muxer: Replace std::tmpnam() with libwebm::GetTempFileName().
e6a0033 Add file_util.
87f9bea Move hdr_util to common.
1f64aaf cmake: Expand C++11 tests.
6dc81c1 muxer_tests: Die immediately when unable to prep for file writing.
521ce4d webm2pes: Fix type limit warning.
64c4163 vpxpes2ts: Fix sign-compare and type-limits warnings.
741ba68 muxer_tests: Replace std::tmpnam() with GetTempFileName().
6159e83 Merge "test_util: add missing include for close()"
ff81c74 parser_tests: Fix sign compare warnings.
163f57d test_util: add missing include for close()
7c89eb5 Merge "test_util: Remove tmpnam() usage on non-MSVC targets."
c4b8686 Merge "webm2pes_tests: Fix sign compare warnings."
9c9f546 Merge "muxer_tests: Fix sign compare warnings."
0fbefef webm2pes: Silence sign compare warnings.
599e4e8 cmake: Silence clang/gcc deprecation warnings.
82f376f test_util: Remove tmpnam() usage on non-MSVC targets.
4d31d6b webm2pes_tests: Fix sign compare warnings.
07ed7e0 muxer_tests: Fix sign compare warnings.
ae2fbfe parser_tests: Silence sign compare warning.
f488528 libwebm_utils: Silence sign compare warning.
777247b Add C++11 detection to cmake file.
9b89187 Add missing include to libwebm_utils.h.
421874a Merge "mkvmuxer: Fix GCC build."
dd6ab35 Set the mastering metadata on the muxers colour
8b61ef5 mkvmuxer: Fix GCC build.
353b050 Add hdr_util.
c92e080 mkvmuxer: Use kValueNotPresent in Colour/MasteringMetadata.
2d09128 Colour element: TransferFunction renamed to TransferCharacteristics.
f2fc28e Colour element: Matrix renamed to MatrixCoefficients.
e0b1135 cmake: Minor CMakeLists.txt refactor.
1e1872b Revert change from auto_ptr to unique_ptr in sample code.
d7fc382 Track updates to the proposed Matroska Colour spec.
99981ee sample(mkvparser): Output Colour element when present.
375e416 mkvmuxer: Fix Colour element support.
eaeca34 mkvmuxer: Fix bits per channel in the colour element.
1dab7f3 mkvparser: Avoid crash when encountering a Colour element.
a1517aa sample_muxer: copy the Colour element.
ea9dd94 Merge "webm2pes: Fix tests."
8635c5b Merge "mkvparser: Make omitted values detectable in the Colour element."
ae4ae7e mkvparser: Make omitted values detectable in the Colour element.
8c8cba6 webm2pes: Fix tests.
a281a22 mkvmuxer: Add support for the Colour element and its children.
41a9147 sample_muxer: clang-format include order fix.
939a64d Signal E_BUFFER_NOT_FULL in EBMLHeader::Parse
fb1406e mkvparser: Add support for the Colour element and its children.
22bfdf7 Merge "parser_tests: Add validation of cues."
b873000 parser_tests: Add validation of cues.
799891e Update .gitignore to include some new binaries
e051c60 Merge "Update muxer test gold files"
b81d5f0 Update muxer test gold files
48b1e9a mkvparser: clang format run
93c4690 webm2pes: Add PES packet parsing tests.
65ca38f Merge "test_util: Fix gcc build."
520ca6c Merge "parser_tests: Fix gcc build."
37a38ca test_util: Fix gcc build.
ee0ebba parser_tests: Fix gcc build.
c32f970 Replace auto_ptr usage with unique_ptr.
e569ab0 webm2pes/ts: Fix gcc build.
2e55d6c Merge "add bitcode embedding support for ios"
0cfb2dc add bitcode embedding support for ios
bb8cefd webm2ts: Converts WebM VPx video to a MPEG TS.
453bf44 webm2pes: Begin addition of tests.
9299bbb libwebm: Googletest integration.
3bec1ba Merge changes I7bcb5b3e,I8ce733be,I98a928ff,I71910f24
5c83bbe Fix ParseElementHeader to support 0 payload elements
be35869 libwebm_utils: Add FileDeleter.
d6db1e1 webm2pes: Add a WebM parser init method.
aa3593e webm2pes: Rename Convert to ConvertToFile().
e8fca12 webm2pes: Fix super frame splitting.
3cb96b6 webm2pes: Move main() and helper functions into their own files.
021432b webm2pes: Fix the linux build.
82ac5fc Remove RELEASE.TXT.
852e173 webm2pes: Split super frames and packetize large frames.
faf85c2 webm2pes: Refactor header/optional header writing.
7c19266 Add Webm2Pes.
01fdee4 mkvmuxer: Disallow AddTrack() after Tracks element is output.
1ad314e mkvparser: EBMLHeader::Parse: remove dead init

Change-Id: I4026f52f59c6f7644af49b0393af502079b2fbec

8 years agovp8_peek_si_internal: quiet static analysis warning
James Zern [Fri, 25 Mar 2016 16:57:53 +0000 (09:57 -0700)]
vp8_peek_si_internal: quiet static analysis warning

the vpx_decoder layer guarantees that when called directly this won't
receive NULL data and the reuse via decode() is protected by a NULL data
check and 0 size check (NULL data and non-zero data size is protected by
the vpx_decoder layer).

Change-Id: I7437fb5ca4e4aa431963d55b909d4d920f339be3

8 years agovp8-denoiser: Use the same skin detection for model=1 as in vp9.
Marco [Thu, 24 Mar 2016 22:42:28 +0000 (15:42 -0700)]
vp8-denoiser: Use the same skin detection for model=1 as in vp9.

Keep setting for model = 0 for now in vp8.

Change-Id: I79c5fa24d5d16b14651f44db9526aa01dbd70ec9

8 years agoMerge changes Id0a490bc,I1b4a0504
James Zern [Thu, 24 Mar 2016 22:04:11 +0000 (22:04 +0000)]
Merge changes Id0a490bc,I1b4a0504

* changes:
  vp9/inverse_transform_block_inter: move eob check
  vp9/inverse_transform_block_intra: move eob check

8 years agoMerge "Force recode for bad rate misses."
Paul Wilkins [Thu, 24 Mar 2016 18:05:24 +0000 (18:05 +0000)]
Merge "Force recode for bad rate misses."

8 years agoMerge "Fix some HBD scaling bugs."
Paul Wilkins [Thu, 24 Mar 2016 18:04:52 +0000 (18:04 +0000)]
Merge "Fix some HBD scaling bugs."

8 years agoVP9: Eliminate extra mv clamp in decoder
Scott LaVarnway [Wed, 10 Feb 2016 13:06:13 +0000 (05:06 -0800)]
VP9: Eliminate extra mv clamp in decoder

The mv is clamped in dec_find_mv_refs() to a smaller region
than the clamp in dec_find_best_ref_mvs().  See clamp_mv_ref
and clamp_mv2.

Change-Id: I47dd5f7fa8b42f2cc593559b4d7c782fe7bcb1db

8 years agoMerge "Add a TODO for using tile rows while encoding with multiple threads"
James Zern [Thu, 24 Mar 2016 03:57:28 +0000 (03:57 +0000)]
Merge "Add a TODO for using tile rows while encoding with multiple threads"

8 years agovp9/inverse_transform_block_inter: move eob check
James Zern [Thu, 24 Mar 2016 03:32:12 +0000 (20:32 -0700)]
vp9/inverse_transform_block_inter: move eob check

1 level up. the function is a no-op for eob == 0 and shouldn't be called

Change-Id: Id0a490bcce78c2b2ec6ea24d942191eb9b2bc16e

8 years agovp9/inverse_transform_block_intra: move eob check
James Zern [Thu, 24 Mar 2016 03:24:17 +0000 (20:24 -0700)]
vp9/inverse_transform_block_intra: move eob check

1 level up. the function is a no-op for eob == 0 and shouldn't be called

Change-Id: I1b4a050424cf2d0ea820120c8e7c4fb3065e39e7

8 years agoMerge "Allows sub-second frame rates in vp9"
Johann Koenig [Wed, 23 Mar 2016 20:04:59 +0000 (20:04 +0000)]
Merge "Allows sub-second frame rates in vp9"

8 years agoAdd a TODO for using tile rows while encoding with multiple threads
Yunqing Wang [Wed, 23 Mar 2016 19:23:02 +0000 (12:23 -0700)]
Add a TODO for using tile rows while encoding with multiple threads

Added a TODO in vp9_cx_iface.c.

Change-Id: Ib987f20cab8417340a23ae676616de1df48e8a12

8 years agoMerge "Prevent encoder crash caused by row tile dependencies"
Yunqing Wang [Wed, 23 Mar 2016 15:52:35 +0000 (15:52 +0000)]
Merge "Prevent encoder crash caused by row tile dependencies"

8 years agoMerge "vp9: Non-rd partition selection: use consec_zeromv to set sb_is_skin."
Marco Paniconi [Wed, 23 Mar 2016 01:06:57 +0000 (01:06 +0000)]
Merge "vp9: Non-rd partition selection: use consec_zeromv to set sb_is_skin."

8 years agoMerge "Simplify the loopfilter synchronization logic in VP8 encoder"
Yaowu Xu [Tue, 22 Mar 2016 23:45:28 +0000 (23:45 +0000)]
Merge "Simplify the loopfilter synchronization logic in VP8 encoder"

8 years agoPrevent encoder crash caused by row tile dependencies
Yunqing Wang [Tue, 22 Mar 2016 17:54:43 +0000 (10:54 -0700)]
Prevent encoder crash caused by row tile dependencies

In multi-thread case, the encoder may crash if using encoder option
tile-rows > 0. To prevent that, force tile-rows=0 in this situation.
This is a workaround for WebM issue 1095:
https://bugs.chromium.org/p/webm/issues/detail?id=1095

The further fix can be done by adding synchronizations after a tile
row is encoded. But this will hurt multi-threaded encoder performance.
So, it is recommended to use tile-rows=0 while encoding with threads
> 1.

Change-Id: I656cbcc200f8d0410d09530e7981ad8f32fe7bc9

8 years agoSimplify the loopfilter synchronization logic in VP8 encoder
Yunqing Wang [Tue, 22 Mar 2016 21:13:18 +0000 (14:13 -0700)]
Simplify the loopfilter synchronization logic in VP8 encoder

This patch was to fix a reported Hangouts deadlock/freezing issue
in VP8 encoder(issue 27232610). The original encoder loopfilter
synchronization happened in the following frame, which was prone
to causing problems in some complex use cases. This patch simplified
the synchronization logic.

More testing needs to be done.

Change-Id: I38fd3f35d11f98fae1e44546aa5e4c6d6e19c4be

8 years agoIncrease min-max q range for normal inter frames.
Paul Wilkins [Tue, 22 Mar 2016 19:56:05 +0000 (12:56 -0700)]
Increase min-max q range for normal inter frames.

Allow the encode loop to select from a wider range of Q values
when encoding normal (non arf or kf) frames.

This change is targeted at improving psycho-visual quality in some
easy sections that are currently not getting enough bits.
This is likely to be a little worse from a metrics perspective  and may also
have a small impact on encode speed in cases where extra recode
iterations are triggered.

Change-Id: I667eebf33c753bcbcf8b93596467369e5708b889

8 years agoForce recode for bad rate misses.
Paul Wilkins [Tue, 15 Mar 2016 19:54:52 +0000 (12:54 -0700)]
Force recode for bad rate misses.

Adds a second threshold for recodes even on frames where
recode is normally disabled if there is a big rate miss.

Change-Id: Ifd4a34707da55ec15eb7cfb87de4644b8d76deb2

8 years agoFix some HBD scaling bugs.
Paul Wilkins [Fri, 18 Mar 2016 17:25:46 +0000 (10:25 -0700)]
Fix some HBD scaling bugs.

Fixed a bug for HBD in stats output and scaling of a threshold
within the first pass code.

Change-Id: Icd0463d78cc9ce4661b027b0612c55c0628d212f

8 years agovp9: Non-rd partition selection: use consec_zeromv to set sb_is_skin.
Marco [Tue, 22 Mar 2016 00:10:23 +0000 (17:10 -0700)]
vp9: Non-rd partition selection: use consec_zeromv to set sb_is_skin.

Change-Id: I084360cdeabfc63e146a969053d91baee27f4001

8 years agoMerge "vp9: Improvement to skin detection."
Marco Paniconi [Fri, 18 Mar 2016 17:58:03 +0000 (17:58 +0000)]
Merge "vp9: Improvement to skin detection."

8 years agovp8-denoiser: Update on the sum_diff threshold.
Marco [Fri, 18 Mar 2016 15:38:29 +0000 (08:38 -0700)]
vp8-denoiser: Update on the sum_diff threshold.

Change-Id: I0d459c7ba358da287aff1c706279603d6d4d3c48

8 years agoMerge "altref_test: mark AltRefForcedKeyTest as large"
James Zern [Fri, 18 Mar 2016 02:38:14 +0000 (02:38 +0000)]
Merge "altref_test: mark AltRefForcedKeyTest as large"

8 years agoaltref_test: mark AltRefForcedKeyTest as large
James Zern [Fri, 18 Mar 2016 01:46:10 +0000 (18:46 -0700)]
altref_test: mark AltRefForcedKeyTest as large

Change-Id: I2bbd7cd2f3b22d3dbfd40d9af430a5d276cd1855

8 years agovp9: Improvement to skin detection.
Marco [Mon, 14 Mar 2016 18:14:41 +0000 (11:14 -0700)]
vp9: Improvement to skin detection.

Add consec_zeromv to skin detection.
Reduces false detection in steady background areas.

Change-Id: Ic31c831537d29f082f58477f82ed78f313d7dd30

8 years agovp9: Fix the threshold for gf update in cyclic refresh.
Marco [Thu, 17 Mar 2016 19:17:32 +0000 (12:17 -0700)]
vp9: Fix the threshold for gf update in cyclic refresh.

Fix the threshold for forcing refresh of golden frame based
on high motion. The current comparison was incorrect and
prevented this (force update of gf on high motion) from being used.
For now keep this logic under a flag (and off for now) so as to
not change behavior, until further testing.

Change-Id: Ib5f0082159a428b0603b9534e4bcb6f83e4ccb25

8 years agoMerge "Use whole pixel only at speed 8 screen content."
Alex Converse [Thu, 17 Mar 2016 16:25:28 +0000 (16:25 +0000)]
Merge "Use whole pixel only at speed 8 screen content."

8 years agoMerge "Reuse computation in build_nmv_component_cost_table."
Alex Converse [Thu, 17 Mar 2016 16:25:01 +0000 (16:25 +0000)]
Merge "Reuse computation in build_nmv_component_cost_table."

8 years agoMerge "Fix using screen content tuning in all the cpu speed tests."
Alex Converse [Thu, 17 Mar 2016 16:24:48 +0000 (16:24 +0000)]
Merge "Fix using screen content tuning in all the cpu speed tests."