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
This allows users of the legacy makefile on older systems without
C++11 compiler support to continue using libwebm sample code.
Change-Id: I1dd9487e0d87e355d2394fedb12ec8628a955413
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
Add constants that allow users to determine when an element or value
was omitted from Colour and its child elements.
Change-Id: If909274850127938a456f2d0a1e490dcbb9c1bde
Abuse of vector::capacity and vector::reserve in combination with
abuse of vector::operator[] was a bad idea.
Change-Id: Id7bdb71888b9d0d174f5243f8cf2771d181888be
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
Some of the muxer tests have been failing because of incorrect
gold files. Updating the gold files and tweaking the tests so that
they pass in a sensible way.
Change-Id: I7d3dda6cacecda526880d6e7623f9a7678b71265
Fix the build and tidy up a couple things along the way.
- Add -std=c++11 to CMakeLists.txt CXX flags.
- Add missing include to libwebm_utils.h (<memory>).
- Setup CMAKE_CXX_FLAGS properly (allow user override).
- Add missing URL for gtest repo to README.libwebm.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1136
Change-Id: I894729216737ff92f58a7b7601484ba8fba73b25
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1125
Please see the bug description for more details. This patch fixes
parsing of the file attached in the bug.
Change-Id: I2e929b6ef0ee92ea6d034b501b44a62784edf9f1
Super frame index is at the end of the frame; not the beginning. Adjust
length to process instead of offsetting the start point for breaking up
the super frame.
Change-Id: I71910f24cc060934bb974548a29617b985985ed9
- PES depacketizers don't want anything but simple encoded frames.
- Large in this case means frame size + size of PES header
is > UINT16_MAX.
Change-Id: Ifb76caaa97a0dcf3600228a0cbc4d4f2533027a7
- Move class declarations to webm2pes.h.
- Add some visual demarcation between the method definitions for each
class in webm2pes.cc.
- Reorganize the output code to make further development simpler.
- Also, clang format noise.
Change-Id: Id6d156e1f255cefe30a62784a3eadde6b93ae614