third_party/libwebm: pull from upstream.
Upstream hash: a58c32339e06e5d672a58cdd5844cea0a661e735 Changes from upstream since last update: a58c323 mkvmuxer: Add codec id constant for VP10. 714f3c4 mkvparser: validate results in EBMLHeader::Parse. cec98d4 mkvparser: Correct the ReadID implementation. eb36ae4 Merge changes I029a268e,Ia272b150,I5c4d1bbc,Ia47a2478,I3a2e2226 229f493 Merge "mkvparser: Segment::AppendCluster asserts to error checks." 287faf9 Merge "mkvparser: Segment::DoLoadClusterUnknownSize asserts to error checks." 1a87b59 Merge "mkvparser: Segment assert clean up." d26ec69 mkvparser: Cluster::Parse clean up. f2029be mkvparser: Disallow EBML IDs equal to 0. 19f5694 mkvparser: Cluster::Load clean up. 27a07c1 mkvparser: Segment::Load asserts to error checks. d0313dd mkvparser: Segment::PreloadCluster asserts to error checks. b108695 mkvparser: Segment::AppendCluster asserts to error checks. 4630f80 mkvparser: Segment::DoLoadClusterUnknownSize asserts to error checks. 841a9b5 mkvparser: Segment assert clean up. 8c4ca2e Merge "mkvparser: Make mkvparser namespace usage uniform." 49ae6f0 Merge "mkvparser: Fix include order." 0735bb5 mkvparser: Make mkvparser namespace usage uniform. 93b24c4 mkvparser: Fix include order. a57d660 sample_muxer: fix Segment memory leak on error 1c5bd94 mkvparser: Cues, change asserts to error checks. 7f77201 Merge "mkvparser: Add ReadID." 795fd56 mkvparser: set kMaxAllocSize explicitly 23bb18b mkvparser: Add ReadID. 7b57e37 mkvparser: add SafeArrayAlloc. 83a1f68 mkvparser: Remove buf_t typedef. 5074714 Merge changes Ia1265a63,I799d54df,Icfc582e4,I3425f608 b181105 Merge changes Ie4318152,I1e65f30f 06b4337 Block::Parse: replace pos asserts w/checks b366a98 Cluster::ParseBlockGroup: replace pos asserts w/checks 2857b23 Tags::*::Parse: replace pos asserts w/checks f1b2cfa Chapters::*::Parse: replace pos asserts w/checks ca80629 Merge "mkvparser: Cues::PreloadCuePoint now returns bool." 6b4b297 Block::Parse: use int64 to aggregate laced frame sizes c0d2c98 UnserializeFloat: check result for Inf/NaN 1a6dc4f mkvparser: Cues::PreloadCuePoint now returns bool. 275ac22 mkvparser: Cluster::Create clean up. 064f2ee Segment::PreloadCluster(): return a bool status 3778408 Segment::AppendCluster(): return a bool status e86d046 mkvparser: check Cluster::Create() return f9885b5 mkvparser: check allocations 21ee398 mkvparser: Segment::Load fail w/missing info/tracks 08fb654 Merge changes I264e68b2,Ife6190a4,Ibf37245f,I06efadb5,I88b5dfec, ... c896095 mkvparser/Cluster: convert asserts to failure returns 680b4bf mkvparser/Tracks: convert asserts to failure returns 5889e6c mkvparser/Track: convert asserts to failure returns 5135c4c mkvparser/ContentEncoding: convert asserts to failure returns b0e4f32 mkvparser/Cues: convert asserts to failure returns 13ccc7f mkvparser/UnserializeInt: fix sign flip db3f9bb mkvparser/SeekHead: convert asserts to failure returns 8de3654 mkvparser/Segment: convert asserts to failure returns fa2aa7d SeekHead::Parse(): fix assertion failure d9bdade sample{,_muxer}: check SegmentInfo::GetInfo() return 07a9cf7 Merge "mkvparser: Remove some asserts." c56ee29 mkvparser: Remove some asserts. d901324 Merge "mkvparser: Remove some asserts from SegmentInfo::Parse." 7f7d898 Fix case sensitivity issue in iosbuild.sh. 42fe2cd mkvparser: Remove some asserts from SegmentInfo::Parse. 8bccd9c Merge "mkvparser: avoid rollover in UnserializeInt()." 7a2fa0d mkvparser: avoid rollover in UnserializeInt(). 44f5ce6 mkvparser: Disallow durations in seconds greater than LONG_LONG_MAX. b521e30 Merge "mkvparser: Segment::ParseHeaders() avoid rollover and bad int sizes." 7680e2a mkvparser: Check for errors in Match(). 39a315f mkvparser: Segment::ParseHeaders() avoid rollover and bad int sizes. f250ace mkvparser: Handle invalid lengths and rollover in ParseElementHeader(). cd96a76 mkvparser: Avoid rollover/truncation in UnserializeString(). 8e8b3db Merge "mkvparser: Add error checking in Block::Parse." 82b7e5f sample: correct mbstowcs() error check 04d7809 sample: check allocation return 986b64b mkvparser: Add error checking in Block::Parse. Change-Id: I39beef84962d6341f8ce53be06807b3e2068f777
This commit is contained in:
Родитель
09969ac9a2
Коммит
dd5510750a
|
@ -36,6 +36,8 @@ LIBYUV_SRCS += third_party/libyuv/include/libyuv/basic_types.h \
|
|||
third_party/libyuv/source/scale_neon64.cc \
|
||||
third_party/libyuv/source/scale_win.cc \
|
||||
|
||||
LIBWEBM_COMMON_SRCS += third_party/libwebm/webmids.hpp
|
||||
|
||||
LIBWEBM_MUXER_SRCS += third_party/libwebm/mkvmuxer.cpp \
|
||||
third_party/libwebm/mkvmuxerutil.cpp \
|
||||
third_party/libwebm/mkvwriter.cpp \
|
||||
|
@ -43,8 +45,7 @@ LIBWEBM_MUXER_SRCS += third_party/libwebm/mkvmuxer.cpp \
|
|||
third_party/libwebm/mkvmuxertypes.hpp \
|
||||
third_party/libwebm/mkvmuxerutil.hpp \
|
||||
third_party/libwebm/mkvparser.hpp \
|
||||
third_party/libwebm/mkvwriter.hpp \
|
||||
third_party/libwebm/webmids.hpp
|
||||
third_party/libwebm/mkvwriter.hpp
|
||||
|
||||
LIBWEBM_PARSER_SRCS = third_party/libwebm/mkvparser.cpp \
|
||||
third_party/libwebm/mkvreader.cpp \
|
||||
|
@ -68,6 +69,7 @@ ifeq ($(CONFIG_LIBYUV),yes)
|
|||
vpxdec.SRCS += $(LIBYUV_SRCS)
|
||||
endif
|
||||
ifeq ($(CONFIG_WEBM_IO),yes)
|
||||
vpxdec.SRCS += $(LIBWEBM_COMMON_SRCS)
|
||||
vpxdec.SRCS += $(LIBWEBM_PARSER_SRCS)
|
||||
vpxdec.SRCS += webmdec.cc webmdec.h
|
||||
endif
|
||||
|
@ -89,6 +91,7 @@ ifeq ($(CONFIG_LIBYUV),yes)
|
|||
vpxenc.SRCS += $(LIBYUV_SRCS)
|
||||
endif
|
||||
ifeq ($(CONFIG_WEBM_IO),yes)
|
||||
vpxenc.SRCS += $(LIBWEBM_COMMON_SRCS)
|
||||
vpxenc.SRCS += $(LIBWEBM_MUXER_SRCS)
|
||||
vpxenc.SRCS += webmenc.cc webmenc.h
|
||||
endif
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
URL: https://chromium.googlesource.com/webm/libwebm
|
||||
Version: 2dec09426ab62b794464cc9971bd135b4d313e65
|
||||
Version: a58c32339e06e5d672a58cdd5844cea0a661e735
|
||||
License: BSD
|
||||
License File: LICENSE.txt
|
||||
|
||||
Description:
|
||||
libwebm is used to handle WebM container I/O.
|
||||
|
||||
Local Changes:
|
||||
* <none>
|
||||
|
|
|
@ -528,7 +528,7 @@ class Tracks {
|
|||
public:
|
||||
// Audio and video type defined by the Matroska specs.
|
||||
enum { kVideo = 0x1, kAudio = 0x2 };
|
||||
// Opus, Vorbis, VP8, and VP9 codec ids defined by the Matroska specs.
|
||||
|
||||
static const char kOpusCodecId[];
|
||||
static const char kVorbisCodecId[];
|
||||
static const char kVp8CodecId[];
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -9,12 +9,13 @@
|
|||
#ifndef MKVPARSER_HPP
|
||||
#define MKVPARSER_HPP
|
||||
|
||||
#include <cstdlib>
|
||||
#include <cstdio>
|
||||
#include <cstddef>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
|
||||
namespace mkvparser {
|
||||
|
||||
const int E_PARSE_FAILED = -1;
|
||||
const int E_FILE_FORMAT_INVALID = -2;
|
||||
const int E_BUFFER_NOT_FULL = -3;
|
||||
|
||||
|
@ -27,8 +28,11 @@ class IMkvReader {
|
|||
virtual ~IMkvReader();
|
||||
};
|
||||
|
||||
template<typename Type> Type* SafeArrayAlloc(unsigned long long num_elements,
|
||||
unsigned long long element_size);
|
||||
long long GetUIntLength(IMkvReader*, long long, long&);
|
||||
long long ReadUInt(IMkvReader*, long long, long&);
|
||||
long long ReadID(IMkvReader* pReader, long long pos, long& len);
|
||||
long long UnserializeUInt(IMkvReader*, long long pos, long long size);
|
||||
|
||||
long UnserializeFloat(IMkvReader*, long long pos, long long size, double&);
|
||||
|
@ -833,7 +837,7 @@ class Cues {
|
|||
|
||||
private:
|
||||
bool Init() const;
|
||||
void PreloadCuePoint(long&, long long) const;
|
||||
bool PreloadCuePoint(long&, long long) const;
|
||||
|
||||
mutable CuePoint** m_cue_points;
|
||||
mutable long m_count;
|
||||
|
@ -999,8 +1003,8 @@ class Segment {
|
|||
long DoLoadClusterUnknownSize(long long&, long&);
|
||||
long DoParseNext(const Cluster*&, long long&, long&);
|
||||
|
||||
void AppendCluster(Cluster*);
|
||||
void PreloadCluster(Cluster*, ptrdiff_t);
|
||||
bool AppendCluster(Cluster*);
|
||||
bool PreloadCluster(Cluster*, ptrdiff_t);
|
||||
|
||||
// void ParseSeekHead(long long pos, long long size);
|
||||
// void ParseSeekEntry(long long pos, long long size);
|
||||
|
|
|
@ -41,6 +41,7 @@ enum MkvId {
|
|||
kMkvTimecodeScale = 0x2AD7B1,
|
||||
kMkvDuration = 0x4489,
|
||||
kMkvDateUTC = 0x4461,
|
||||
kMkvTitle = 0x7BA9,
|
||||
kMkvMuxingApp = 0x4D80,
|
||||
kMkvWritingApp = 0x5741,
|
||||
// Cluster
|
||||
|
@ -107,9 +108,16 @@ enum MkvId {
|
|||
kMkvContentEncodingOrder = 0x5031,
|
||||
kMkvContentEncodingScope = 0x5032,
|
||||
kMkvContentEncodingType = 0x5033,
|
||||
kMkvContentCompression = 0x5034,
|
||||
kMkvContentCompAlgo = 0x4254,
|
||||
kMkvContentCompSettings = 0x4255,
|
||||
kMkvContentEncryption = 0x5035,
|
||||
kMkvContentEncAlgo = 0x47E1,
|
||||
kMkvContentEncKeyID = 0x47E2,
|
||||
kMkvContentSignature = 0x47E3,
|
||||
kMkvContentSigKeyID = 0x47E4,
|
||||
kMkvContentSigAlgo = 0x47E5,
|
||||
kMkvContentSigHashAlgo = 0x47E6,
|
||||
kMkvContentEncAESSettings = 0x47E7,
|
||||
kMkvAESSettingsCipherMode = 0x47E8,
|
||||
kMkvAESSettingsCipherInitData = 0x47E9,
|
||||
|
|
Загрузка…
Ссылка в новой задаче