Commit Graph

761 Commits

Author SHA1 Message Date
Vignesh Venkatasubramanian
5d91edf9f1 style_clean_up: Remove unnecessary parentheses
Change-Id: Ie3645319fa4d5a1fd254b4511a60ef6f6036afe5
2016-05-13 10:41:16 -07:00
hui su
a95aa4b294 vp9_level_stats: correct total_uncompressed_bits_ calculation
Only consider display frames.

Change-Id: I9061ad90775f0467a661b0ac5d11dc22e477a7c3
2016-05-06 15:37:09 -07:00
Tom Finegan
f46566f19a mkvreader: Fix shorten-64-to-32 warning in 32 bit builds.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1207

Change-Id: Ie1c97a314fefdf14dce455da16f5a29218ba4cf8
2016-05-06 11:40:48 -07:00
Tom Finegan
76630ca4a3 mkvwriter: Fix shorten-64-to-32 warning in 32 bit builds.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1207

Change-Id: I2dc1ce59ebf8051c9661b919813d5ab7cb115da0
2016-05-06 11:40:44 -07:00
Tom Finegan
a8ffbd4ed2 webm2pes: Fix format specifier warnings.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1207

Change-Id: If60866f8e60969bc6cbaef8eee72a805270bf65d
2016-05-06 11:40:38 -07:00
Frank Galligan
21015480f6 Merge "Add MaxLumaSampleRate grace percent to stats." 2016-05-02 22:00:22 +00:00
Frank Galligan
faf89d4ed1 Add MaxLumaSampleRate grace percent to stats.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1206

Change-Id: I29a956871bd5aa0c7b493601ed23b44a08414d32
2016-04-30 16:59:42 -07:00
Frank Galligan
d31e6c970d Fix profile 2 in vp9_header_parser.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1208

Change-Id: Ie31adef15eac965e3fb587825f63ff320c1d59fe
2016-04-29 17:11:29 -07:00
Frank Galligan
4fc66dab83 Merge "Add flag to estimate last frame's duration to stats." 2016-04-29 22:30:12 +00:00
Frank Galligan
bd3ab3abe6 Add flag to estimate last frame's duration to stats.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1204

Change-Id: Ie73e2981951f9eb6140bdfb0a6839320e009b7fe
2016-04-29 14:19:58 -07:00
Vignesh Venkatasubramanian
c89b968ce5 Merge "Fix lint issue in hdr_util.h" 2016-04-29 19:31:52 +00:00
Vignesh Venkatasubramanian
db5693d96b Merge "Add test for Cluster memory leak" 2016-04-29 19:31:40 +00:00
Vignesh Venkatasubramanian
c182ed97d1 Fix lint issue in hdr_util.h
Change-Id: Iba19ad153f9187c3942d406e41da04703f7dd5c7
2016-04-29 11:47:04 -07:00
Vignesh Venkatasubramanian
cc62ecd23f Add test for Cluster memory leak
Tests the scenario described in this CL:
https://chromium-review.googlesource.com/#/c/341251/

Change-Id: I4d732eebc11140691ed516321cf490905991720b
2016-04-29 11:42:36 -07:00
Frank Galligan
196708a95f Change MaxLumaSampleRate to be based on frame resolution.
MaxLumaSampleRate generation code now takes into account the frame
resolution of every frame.

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

Change-Id: I666fa2f21971ff4fb80219ef29dee3254cbb370c
2016-04-29 08:15:37 -07:00
Vignesh Venkatasubramanian
26d673e737 Merge "mkvmuxer: Fix leak when a Cluster isn't finalized" 2016-04-29 02:17:33 +00:00
Frank Galligan
eacb314525 Merge "Add parsing support for new features in CodecPrivate." 2016-04-29 00:17:28 +00:00
Vignesh Venkatasubramanian
cbd676bb66 mkvmuxer: Fix leak when a Cluster isn't finalized
There's a leak in the following scenario:
  * AccurateClusterDuration is set to true.
  * Add a few frames.
  * An error is encountered while adding a frame and the
    application bails without calling Cluster::Finalize
  * All the frames we queues in QueueOrWriteFrames now leak.

This patch fixes this scenario by delete'ing any left over frames
in the Cluster's destructor.

Change-Id: I104f6814db18a86fae9877decfe6cc75b8937fcb
2016-04-28 12:30:29 -07:00
Tom Finegan
9a235e0bc9 mkvmuxer: Set doctype to matroska when muxing non-WebM codecs.
Also, add some constants for WebVTT codec ID strings so they
won't cause doctype to incorrectly change to matroska.

Change-Id: I4740a3e45b28a22e462601b9ce051aa01817dace
2016-04-28 08:44:14 -07:00
Frank Galligan
47f2843e79 Add parsing support for new features in CodecPrivate.
Adds support for parsing bit depth and chroma subsampling features.

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

Change-Id: I8d11829f5d43a518cbe0e5c0bdd4fd37db7b6266
2016-04-27 09:27:24 -07:00
Frank Galligan
e3c9576716 Add VP9 level output to webm_info.
Removed building webm_info from Makefile.unix as it now requires c++11.

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

Change-Id: Ia142f0c3cd580f397449d2ffa8788f78fb7faff0
2016-04-26 22:16:31 -07:00
Frank Galligan
de3234a87f Merge "Add class to gather VP9 level stats." 2016-04-26 15:29:49 +00:00
Tom Finegan
5cf549f582 cmake: Log compiler flag at check time.
Output the flag being checked before checking the flag to make it easier
to determine exactly which check failed.

Change-Id: I692f5287f985acb4a3061dd54f7c5a8729def83b
2016-04-21 16:56:12 -07:00
Frank Galligan
bbaaf2da8d Add class to gather VP9 level stats.
See http://www.webmproject.org/vp9/profiles/ for more information
on VP9 levels.

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

Change-Id: I91448069bbd4740106a159014db6935365af75ca
2016-04-21 13:02:25 -07:00
Frank Galligan
8bb68c2b3e Add file to parse data from VP9 frames.
This class will parse and collect some data from VP9 frame
headers.

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

Change-Id: Ie19e0f4a2f7e89d0378a66ce2e8e939250ddc383
2016-04-18 12:21:58 -07:00
Frank Galligan
a004fefc56 Merge "Add support for setting VP9 profile and level to sample_muxer." 2016-04-18 19:20:17 +00:00
Frank Galligan
58e33b3329 Merge "Add support to parse VP9 profile." 2016-04-18 19:20:04 +00:00
Frank Galligan
296429a7dc Add support to parse VP9 profile.
This is the VP9 profile contained in the CodecPrivate data.

Change-Id: If5fd5667bfc86ff596354457539da363367128db
2016-04-18 12:15:59 -07:00
Frank Galligan
df3412f68d Add support for setting VP9 profile and level to sample_muxer.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1179

Change-Id: I20ffc213764c3c1c35563178b6e8e1e0031760b6
2016-04-18 12:13:45 -07:00
Vignesh Venkatasubramanian
87832d487a mkvmuxer: Fix Segment::Finalize in kLive mode
Do not call Cluster::Finalize in kLive mode unless
accurate_cluster_duration_ is set.

Change-Id: Id2627b5df9eaee065e12d08b494ee02ae0a33564
2016-04-15 20:32:19 -07:00
Tom Finegan
6df3e5630e mkvmuxerutil.hpp: Add using directives for overloaded size utils.
Some downstream code using the EBML element size requires that
EbmlElementSize and EbmlMasterElementSize are accessible in the global
namespace.

Change-Id: I9d110b683e434c90f96ae7b35b35e79eb6a2335f
2016-04-14 17:16:31 -07:00
Tom Finegan
ec479287ff mkvmuxerutil: Revert to using mkvmuxertypes.
- The direct change to stdint.h types causes too much downstream
  churn. Need an intermediate step or a wrapper because quite a
  bit of user code explicitly casts args passed to mkvmuxerutil
  functions to types defined in mkvmuxertypes.
- Update call sites in mkvmuxer to avoid ambiguity errors.

Change-Id: I018445b3d8ab1da776ecdb19a290ac00af63c2cf
2016-04-14 12:58:38 -07:00
Frank Galligan
7d674468bd Merge "Add support to output Colour elements to webm_info." 2016-04-13 16:15:30 +00:00
Frank Galligan
a1dc4f2f22 Fix parsing of VP9 level.
The VP9 level is contained in the CodecPrivate data.

Change-Id: I65475363ee230b422a8cdce8172f6262cb3329e7
2016-04-12 23:00:03 -07:00
Frank Galligan
4e3d037374 Add support to output Colour elements to webm_info.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1178

Change-Id: I50825e320a0c93dd565bf89c9478feb434277ddb
2016-04-12 21:46:00 -07:00
Tom Finegan
836591f4f5 Merge "Add TEST_TMPDIR environment variable" 2016-04-13 00:26:58 +00:00
Tom Finegan
d3656fdb8b muxer_tests: ignore iwyu re gtest-message.h
Just pull it in via gtest.h.

Change-Id: If04d569a74da925f8544858861057af497f3f2bf
2016-04-12 14:49:21 -07:00
Tom Finegan
e76dd5e3e2 Fix file name in mkvmuxertypes shim.
Change-Id: I78d3784139727b65a47aaf1eb987d8b9ab14de37
2016-04-12 13:27:57 -07:00
Tom Finegan
1be5889a6d Add temporary include shims at old file locations.
Helps ease the downstream transition to the new libwebm layout.

BUG=28069412

Change-Id: I0d4182e22a10fecdd5982b8aceba687dea9529d8
2016-04-11 23:25:20 +00:00
Tom Finegan
32d5ac4941 mkvmuxerutil: Fix MSVC build.
Avoid a couple implicit casts.

Change-Id: I3299272769d15c08c733ced1b0f95bdf75848e6f
2016-04-08 21:46:31 -07:00
Tom Finegan
6397597194 vpxpes_parser: Fix MSVC build.
Replace implicit cast with explicit cast.

Change-Id: I6e8948e46b7589af334eaea3b41e0bcb808b7825
2016-04-08 21:23:12 -07:00
Tom Finegan
784b6fe4fe mkvmuxer: Revert changes to IMkvWriter types.
- Restore integer typedefs in mkvmuxertypes.h.
- Revert integer type changes in IMkvWriter declaration.
- Revert integer type changes in mkvwriter.{cc,h}

Change-Id: I3e9f8a3d079f485a3ea051f7477c803f9c9087e4
2016-04-08 10:50:57 -07:00
Tom Finegan
030518edd3 webm_info: Fix implicit conversion warnings.
Fix warnings exposed by addition of -Wshorten-64-to-32 to compiler
flags.

Change-Id: I56f10e6c9af8c4fafebe8fbe00739f775cf31492
2016-04-08 10:45:33 -07:00
Tom Finegan
46d5dee461 sample_muxer: Fix implicit conversion warnings.
Fix warnings exposed by addition of -Wshorten-64-32 compiler flag.

Change-Id: I17fe8439a88f68fc4b8f7a6774132570dfe251da
2016-04-08 10:45:33 -07:00
Tom Finegan
22b0845686 webmts: Fix implicit conversion warnings.
Fix warnings exposed by addition of -Wshorten-64-32 compiler flag
in webmts sources.

Change-Id: I3104e7be2bf991d7e108b652857ecca8e82c5ef9
2016-04-08 10:44:35 -07:00
Tom Finegan
ef464c2a95 mkvparser: Fix implicit conversion warnings.
Fix warnings exposed by addition of compiler flag
-Wshorten-64-to-32.

Change-Id: I9adcfa97babbda1a5d94fe06ec84eab69eb8d842
2016-04-08 09:23:35 -07:00
James Zern
0e9767e29a Merge "rename mingw64_toolchain.cmake to mingw-w64_toolchain" 2016-04-08 05:33:15 +00:00
Tom Finegan
f47cbd50e9 cmake: Move cxx flag testing/setup into its own file.
- Move CXX flags stuff into build/cxx_flags.cmake.
- include CMake modules where they're used.
- Add ENABLE_WERROR flag-- enables warnings as errors.
- Add -Wshorten-64-to-32 and -Wnarrowing to CXX flags.

Change-Id: I5d93a39a3eff6ae81f9e094927b8f0cb9f36bbb0
2016-04-07 14:49:26 -07:00
Vignesh Venkatasubramanian
039df94e87 Add TEST_TMPDIR environment variable
Honor TEST_TMPDIR environment variable for creating temporary test
files in non-windows platforms. This helps in environments where
we cannot create a temporary file in the current directory.

Change-Id: I39e0a19580635d752171e0573dd21ec838cb81a4
2016-04-07 10:55:28 -07:00
James Zern
87443a6b8f rename mingw64_toolchain.cmake to mingw-w64_toolchain
Change-Id: I9101fd87d2eb5ef56c4441b4c46f35e85aff04d8
2016-04-07 10:46:24 -07:00