Commit Graph

737 Commits

Author SHA1 Message Date
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
Tom Finegan
2aee04fb23 msvc_runtime.cmake: Check for MSVC, not WIN32.
- The flag change here is supposed to target only MSVC builds,
  and not all Windows builds.
- Style tweak to match other CMake files.

Change-Id: I664705e13d810e2d41422eae655b5a68ff244308
2016-04-07 10:36:07 -07:00
Vignesh Venkatasubramanian
eb50da8e38 Option to write timecode using fixed # of bytes
Add an option to write the cluster timecode using exactly 8 bytes
irrespective of the actual number of bytes required to write it as
an ebml integer.

This could be useful for players that want to rewrite the timecode
in-place (e.g. live streaming).

Change-Id: I1a049251f00ab65591d71e169129f5145a8c8863
2016-04-06 15:09:19 -07:00
Tom Finegan
c1991fea81 mkvmuxer: Add missing Segment member initializer.
Change-Id: If8d6e12de3671e864ecb6c5ca0873a1fc69c3820
Segment::accurate_cluster_duration_ init missing from ctor.
2016-04-06 13:37:07 -07:00
Tom Finegan
10aed96a9c Android.mk: Make libwebm easier to build downstream.
- Explicitly add the libwebm path as an include directory, and export
  it to ensure the include path propagates to other builds depending
  on libwebm.
- Disable clang/gcc warning extern-c-compat; it's triggered in Android builds
  by built-in includes.

Change-Id: I631f5a6f3b50a73519ae436033257de7e25afb16
2016-04-06 13:36:19 -07:00
Tom Finegan
5c50e310e7 Add support for parsing VPx track codec private data.
Currently only the VP9 profile level is supported.

http://www.webmproject.org/vp9/profiles/

Change-Id: Iff7238e104621b53fdd51a67d752bd72b2dbbacb
2016-04-04 11:16:33 -07:00
Tom Finegan
4cbdbf1978 Fix Android build.
- Missing STDC_{CONSTANT,FORMAT,LIMIT}_MACROS.
- Missed an int32 during conversion to stdint.h types.

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

Change-Id: I744449dc5fef53827f0caa837a15aafe30d6e553
2016-04-04 11:16:22 -07:00
James Zern
bb48a3fc63 mkvmuxerutil: remove stray 'int32'
fixes Android compilation of this file

Change-Id: Ib469c750baf05837f6475487a6f03465e56a9013
2016-04-02 11:45:32 -07:00
Tom Finegan
a1cba3409a Support cross compile for windows via mingw64.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1170

Change-Id: I8430600ceb610fbf1ecff34f0a2d2c1a57627692
2016-04-01 19:11:12 -04:00
Tom Finegan
596f5e0544 Add webm_info.
Migrated from the webm-tools repository with minor tweaks to
fix its build in the new location.

Last location/revision:
https://chromium.googlesource.com/webm/webm-tools
a7e97e8f0a913ddd97444392bb8816f44a4821a1

Change-Id: Icfad43d9fdd37fc413a6a28b57b370c97c7c28df
2016-04-01 12:07:38 -04:00
Tom Finegan
ccf75f67a0 msvc/muxer_tests: Silence integer conversion warnings.
Change-Id: Ic11a83968aa5a70ca364ebce97d465f74cda5eee
2016-03-31 10:43:10 -07:00
Tom Finegan
2ff2954fa9 msvc/webm2pes: Silence integer and floating point conversion warnings.
Change-Id: I5379b5a3896b316327f35ebfaa3b2fc8545f002b
2016-03-31 10:43:10 -07:00
Tom Finegan
1f2432397f msvc/hdr_util: Silence double to float conversion warnings.
- Use float instead of double for Colour children in mkvparser.
- Add casts where appropriate.

Change-Id: Ia0f7e4dc25536cd43bc5e9439c58770dc3d79bc5
2016-03-31 10:43:05 -07:00
Tom Finegan
074456386e msvc/vpxpes_parser: Silence integer conversion warning.
Change-Id: I968693578f5596ebef6f576765a19f8210db5f4a
2016-03-31 10:32:37 -07:00
Tom Finegan
59614b8fae msvc/libwebm_util: Fix floating point to int conversion warning.
Change-Id: I3f813df344989b0200a49215ab0562d896577425
2016-03-31 10:32:35 -07:00
Tom Finegan
6481c24a19 webvtt: Fix include in vttreader.
Change-Id: I270acebca3e38114362af4d682d5034fda942c84
2016-03-30 12:32:23 -07:00
Tom Finegan
e6ed0f4817 msvc/vpxpes2ts: Fix MSVC integer conversion warning.
Change-Id: Ia2613f160b76f664cbdfeb314026f056f4be2fcc
2016-03-30 12:32:22 -07:00
Tom Finegan
da6439685d cmake/msvc: Disable C4996 project wide.
MSVC C4996 triggers upon use of functions like fopen, and suggests
use of non-portable Microsoft replacements. Disable it project wide,
and remove the pragmas littered throughout the tree.

Change-Id: I8b890bbfd3cd7224c25350bd28f334facd8b7783
2016-03-30 12:32:22 -07:00
James Zern
6ef8264fcc Merge "mkvparser::BlockEntry: inline EOS()" 2016-03-30 00:30:11 +00:00
James Zern
3fa6aecb7f mkvparser::BlockEntry: inline EOS()
Change-Id: I1cd5ef4e438a285c733c9246411513f670c2c9c4
2016-03-29 16:55:42 -07:00
Tom Finegan
26306f9214 mkvmuxer: Remove unused Cluster ctor overload.
Remove Cluster ctor overload unintentionally added during a merge
because the default ctor is causing an uninit'd memory error in
valgrind.

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

Change-Id: I21b8110488bc6def0a3b5d07cbede37170087e6d
2016-03-29 14:32:43 -07:00
Tom Finegan
0d765974cd mkvmuxer: Fix build with GCC 5.3.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1160

Change-Id: I7d8a0a7fa1aef2e459e54effd448186c850453be
2016-03-29 12:21:10 -07:00
Tom Finegan
0ba80bcbf4 mkvparser/sample: Minor clean up.
- Return EXIT_FAILURE/EXIT_SUCCESS from main().
- Fix usage.

Change-Id: Id22d9c5cff9c8e220b4d19c519bf35f8b69ed2df
2016-03-29 09:02:52 -07:00
Tom Finegan
2e0e906eac iosbuild.sh: Fix build.
Update the framework build script to support the new
layout of the libwebm repo.

Change-Id: I4852eb116b7a4b891e570cad3be830fc961ba2f8
2016-03-23 10:09:59 -07:00
James Zern
918440adaf Makefile.unix: allow CXXFLAGS to be easily overridden
separate out required flags allowing CXXFLAGS to append them

Change-Id: I2ecd68c7c153da5f17e3b53e1c8ae4e739c65f4c
2016-03-22 20:55:33 -07:00