Commit Graph

592 Commits

Author SHA1 Message Date
Tom Finegan
b9dc4ac09c test_util: Don't pass NULL to std::string() in GetTestDataDir().
Change-Id: Iaafa78a17580d962e260d9553b11d2cd3cb4726f
Also: quiet MSVC warnings that suggest making code non-portable.
2016-03-08 11:15:43 -08:00
Tom Finegan
1f74651b5b webmts: Move PES/TS sources to m2ts sub directory.
Change-Id: I5c02b62460a6bf8dd73fb9274d1668a5a13af373
2016-03-07 14:32:08 -08:00
Tom Finegan
1b895e97d0 Rename libwebm_utils to libwebm_util.
Use a single naming convention.

Change-Id: Ia48089b05e5a453a402d4b4e7f258a56bee8a001
2016-03-07 14:27:07 -08:00
Tom Finegan
2fabcd344e sample_muxer: Replace std::tmpnam() with libwebm::GetTempFileName().
Change-Id: I3f26cb1ff286613de02c6017fa1246ca5c32d1e9
2016-03-07 14:27:07 -08:00
Tom Finegan
e6a0033a8c Add file_util.
Move file utility classes and functions from testing/test_util to
common/file_util, and make them part of libwebm.

Change-Id: If5b25a63b20efacc16b0fecaa8876ade4ecc4b26
2016-03-07 14:27:03 -08:00
Tom Finegan
87f9beae01 Move hdr_util to common.
Change-Id: I383680b79d798fd77bb385e1b8087967962eb230
2016-03-07 11:32:02 -08:00
Tom Finegan
1f64aaf180 cmake: Expand C++11 tests.
Change-Id: I80e0372ebe0374c3931f65c8de6410b95fb112d1
2016-03-02 13:40:32 -08:00
Tom Finegan
6dc81c1648 muxer_tests: Die immediately when unable to prep for file writing.
Change-Id: I42c4294b3089cf1a785eac3ce5ec7e47d534ea36
2016-02-29 13:44:27 -08:00
Tom Finegan
521ce4d819 webm2pes: Fix type limit warning.
Change-Id: Ic4c554209b2833e26f3e0e415693255ab2219db2
2016-02-29 13:39:26 -08:00
Tom Finegan
64c4163a15 vpxpes2ts: Fix sign-compare and type-limits warnings.
Change-Id: I18419ee5040fb2c22853d566e082369f487726e4
2016-02-29 13:38:07 -08:00
Tom Finegan
741ba686b9 muxer_tests: Replace std::tmpnam() with GetTempFileName().
Change-Id: I58d66666ba0a1ef27608265b53613dd046e7c1a3
2016-02-29 15:24:21 -05:00
Tom Finegan
6159e837e9 Merge "test_util: add missing include for close()" 2016-02-29 19:51:24 +00:00
Tom Finegan
ff81c74c97 parser_tests: Fix sign compare warnings.
Change-Id: I656f05407b88a3878920c779d49ebf89231f09f1
2016-02-29 11:33:43 -08:00
James Zern
163f57d232 test_util: add missing include for close()
Change-Id: I3825d3613e35dfdb0a5a2460a207f2d0662328f6
2016-02-27 11:11:39 -08:00
Tom Finegan
7c89eb576e Merge "test_util: Remove tmpnam() usage on non-MSVC targets." 2016-02-27 01:11:29 +00:00
Tom Finegan
c4b8686542 Merge "webm2pes_tests: Fix sign compare warnings." 2016-02-27 00:34:42 +00:00
Tom Finegan
9c9f546b25 Merge "muxer_tests: Fix sign compare warnings." 2016-02-27 00:34:07 +00:00
Tom Finegan
0fbefefb36 webm2pes: Silence sign compare warnings.
Change-Id: Ie6ce68507c35b8ec4888fe87c042e3b8371d534a
2016-02-26 16:30:24 -08:00
Tom Finegan
599e4e8bd2 cmake: Silence clang/gcc deprecation warnings.
Parts of libwebm continue to use std::auto_ptr for support of older
compilers and target systems. Silence the warnings its use causes.

Change-Id: Iac8f35c9fdaaeb1cbb637d0777b46cdad54843ed
2016-02-26 16:21:54 -08:00
Tom Finegan
82f376f356 test_util: Remove tmpnam() usage on non-MSVC targets.
Change-Id: Icd3a68fa4e52401a41f4afe52a6206d6092bc8fb
2016-02-26 11:45:35 -08:00
Tom Finegan
4d31d6bc16 webm2pes_tests: Fix sign compare warnings.
Change-Id: I92f4c18c51f26beea45246a9fa2f56a6369b9ecf
2016-02-26 11:44:06 -08:00
Tom Finegan
07ed7e01d1 muxer_tests: Fix sign compare warnings.
Change-Id: Icb549aeeb146b6dca4a89bf2b70f6fa50a893d38
2016-02-26 12:14:48 -05:00
Tom Finegan
ae2fbfe0cf parser_tests: Silence sign compare warning.
Change-Id: I5286cf99129cc8fd5336e792990886f43332b720
2016-02-26 08:57:43 -08:00
Tom Finegan
f4885281b0 libwebm_utils: Silence sign compare warning.
Change-Id: I5b8cab857f7a8a48979ee8be6bd156b854952c61
2016-02-26 08:57:43 -08:00
Tom Finegan
777247b505 Add C++11 detection to cmake file.
Disable test and webmts targets when not C++11 and/or
std::unique_ptr are unavailable.

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

Change-Id: I717631bc6adea90c91e59862378328089e9aeec6
2016-02-25 09:09:24 -08:00
Tom Finegan
9b89187db0 Add missing include to libwebm_utils.h.
Was missing cstdint and breaking builds on less forgiving
target systems. Also, make std namespace usage consistent.

Change-Id: I961b3ad66f8650fdebbb76a957c914c1b06e2de5
2016-02-24 14:48:41 -08:00
Tom Finegan
421874a4b5 Merge "mkvmuxer: Fix GCC build." 2016-02-22 23:50:39 +00:00
Neil Birkbeck
dd6ab35d85 Set the mastering metadata on the muxers colour
Change-Id: I456ce8409303e06a4e832cbf80cb290ad9539abc
2016-02-22 10:54:58 -08:00
Tom Finegan
8b61ef5727 mkvmuxer: Fix GCC build.
Define __STDC_LIMIT_MACROS before <climits> include.

Change-Id: I4c9c9560db1c57d177c8a7aa023c313aba5fe847
2016-02-22 09:25:19 -08:00
Tom Finegan
353b050071 Add hdr_util.
Move the Colour element utility functions out of sample_muxer and
into a place where they can be utilized by libwebm users.

Change-Id: I7e2bfd02d6f4aa4f26fb0d0a697cb68e20698655
2016-02-18 13:13:54 -08:00
Tom Finegan
c92e080f3a mkvmuxer: Use kValueNotPresent in Colour/MasteringMetadata.
Consistent with parser/no reason for unique names.

Change-Id: Ic38bc8c14413dc85fbdc28d69aa89fa0bfa7382f
2016-02-18 12:11:53 -08:00
Tom Finegan
2d0912837c Colour element: TransferFunction renamed to TransferCharacteristics.
Change-Id: I02e8d9b375d3aeba26d99866df90e25e1605143f
2016-02-18 12:03:41 -08:00
Tom Finegan
f2fc28e044 Colour element: Matrix renamed to MatrixCoefficients.
Change-Id: I148e81be6c23f0d0e61dc5820a1ae80f685af57f
2016-02-18 12:03:36 -08:00
Tom Finegan
e0b11351fb cmake: Minor CMakeLists.txt refactor.
Reduce repetition/verbosity.

Change-Id: Id2e7e0c7a6c01ee1fb118d83aa0334f71088a2af
2016-02-17 11:25:15 -08:00
Tom Finegan
1e1872bc7b Revert change from auto_ptr to unique_ptr in sample code.
This allows users of the legacy makefile on older systems without
C++11 compiler support to continue using libwebm sample code.

Change-Id: I1dd9487e0d87e355d2394fedb12ec8628a955413
2016-02-17 11:22:40 -08:00
Tom Finegan
d7fc382dea Track updates to the proposed Matroska Colour spec.
https://mailarchive.ietf.org/arch/msg/cellar/cCjxCohD-2xM93ijoFVaYYMLFas

Changes:
- ChromaSubsampling replaced by ChromaSubsamplingHorz,
  and ChromaSubsamplingVert.
- CbSubsamplingHorz and CbSubsamplingVert added.

Change-Id: I0848f9f41b3162afb5485b82704620d9e03f9b5e
2016-02-12 11:28:30 -08:00
Tom Finegan
99981ee7b9 sample(mkvparser): Output Colour element when present.
Change-Id: I6591345a4a61b909a3b5e01dbc6aba3768465717
2016-02-12 09:19:37 -08:00
Tom Finegan
375e416336 mkvmuxer: Fix Colour element support.
Colour and MasteringMetadata were treating payload size and total
size as equal:

- Internally both must use actual payload size (sum of child elements).
- External users need sum of child elements and the size of the
  respective ID.

Change-Id: Idefb193b9de394bfc6a0044f1673a62be61c6b12
2016-02-11 18:37:43 -08:00
Tom Finegan
eaeca3415d mkvmuxer: Fix bits per channel in the colour element.
Never written: copy/paste error + patch size eye glazing.

Change-Id: I2c5295b26427e0ce254b88c8b4cb5106a5f37258
2016-02-11 18:37:43 -08:00
Tom Finegan
1dab7f34ff mkvparser: Avoid crash when encountering a Colour element.
Change-Id: Iadf55bf2a7cd5535a8c2309c2d8cb6c834d30aee
2016-02-11 16:43:00 -08:00
Tom Finegan
a1517aa526 sample_muxer: copy the Colour element.
Change-Id: Ib4e8fc55351e371dd7c95abaee6f51e900c5edad
2016-02-11 10:45:51 -08:00
Vignesh Venkatasubramanian
ea9dd943b8 Merge "webm2pes: Fix tests." 2016-02-11 01:27:12 +00:00
Tom Finegan
8635c5b0a3 Merge "mkvparser: Make omitted values detectable in the Colour element." 2016-02-10 19:31:18 +00:00
Tom Finegan
ae4ae7ef77 mkvparser: Make omitted values detectable in the Colour element.
Add constants that allow users to determine when an element or value
was omitted from Colour and its child elements.

Change-Id: If909274850127938a456f2d0a1e490dcbb9c1bde
2016-02-10 09:14:34 -08:00
Tom Finegan
8c8cba6af6 webm2pes: Fix tests.
Abuse of vector::capacity and vector::reserve in combination with
abuse of vector::operator[] was a bad idea.

Change-Id: Id7bdb71888b9d0d174f5243f8cf2771d181888be
2016-02-09 20:05:32 -08:00
Tom Finegan
a281a22955 mkvmuxer: Add support for the Colour element and its children.
Change-Id: I8026a2ba6c664cbf0ce0a6602a79942283b194b1
2016-02-09 18:21:44 -08:00
Tom Finegan
41a9147f2a sample_muxer: clang-format include order fix.
Change-Id: I57ddb1d1251a1c431370a47fc5ce33996d95b973
2016-02-09 09:01:18 -08:00
Vignesh Venkatasubramanian
939a64dc2d Signal E_BUFFER_NOT_FULL in EBMLHeader::Parse
When trying to read the ebml id, signal E_BUFFER_NOT_FULL if it
occurs rather than returning E_FILE_FORMAT_INVALID (helps in case
of incremental parsing). Makes this return path consistent with
other return paths in the function.

Change-Id: I4b6ce3f0ba856959fa97f0f6ffb61994f3f2ffc6
2016-02-08 16:10:50 -08:00
Tom Finegan
fb1406ec3b mkvparser: Add support for the Colour element and its children.
Change-Id: Idffafaee221e2949c21f56c81df6e4d1c3e959a5
2016-02-08 09:23:57 -08:00
Tom Finegan
22bfdf7d99 Merge "parser_tests: Add validation of cues." 2016-02-05 18:37:15 +00:00