ref: 3d1bb97b1b8018c6ba3524473fa4f99032f35397
parent: 72889a2a60926e1b3f9aa765707b0d369a1706ab
author: Yaowu Xu <[email protected]>
date: Fri Aug 14 08:30:10 EDT 2015
write correct codecID for vp10 webm file Change-Id: Ifeb6073c4a687a73540a0f8aef0d834f4712c193
--- a/third_party/libwebm/mkvmuxer.cpp
+++ b/third_party/libwebm/mkvmuxer.cpp
@@ -1045,6 +1045,7 @@
const char Tracks::kVorbisCodecId[] = "A_VORBIS";
const char Tracks::kVp8CodecId[] = "V_VP8";
const char Tracks::kVp9CodecId[] = "V_VP9";
+const char Tracks::kVp10CodecId[] = "V_VP10";
Tracks::Tracks() : track_entries_(NULL), track_entries_size_(0) {}
--- a/third_party/libwebm/mkvmuxer.hpp
+++ b/third_party/libwebm/mkvmuxer.hpp
@@ -533,6 +533,7 @@
static const char kVorbisCodecId[];
static const char kVp8CodecId[];
static const char kVp9CodecId[];
+ static const char kVp10CodecId[];
Tracks();
~Tracks();
--- a/webmdec.cc
+++ b/webmdec.cc
@@ -103,6 +103,8 @@
vpx_ctx->fourcc = VP8_FOURCC;
} else if (!strncmp(video_track->GetCodecId(), "V_VP9", 5)) {
vpx_ctx->fourcc = VP9_FOURCC;
+ } else if (!strncmp(video_track->GetCodecId(), "V_VP10", 6)) {
+ vpx_ctx->fourcc = VP10_FOURCC;
} else {
rewind_and_reset(webm_ctx, vpx_ctx);
return 0;
--- a/webmenc.cc
+++ b/webmenc.cc
@@ -49,7 +49,22 @@
static_cast<mkvmuxer::VideoTrack*>(
segment->GetTrackByNumber(video_track_id));
video_track->SetStereoMode(stereo_fmt);
- video_track->set_codec_id(fourcc == VP8_FOURCC ? "V_VP8" : "V_VP9");
+ const char *codec_id;
+ switch (fourcc) {
+ case VP8_FOURCC:
+ codec_id = "V_VP8";
+ break;
+ case VP9_FOURCC:
+ codec_id = "V_VP9";
+ break;
+ case VP10_FOURCC:
+ codec_id = "V_VP10";
+ break;
+ default:
+ codec_id = "V_VP10";
+ break;
+ }
+ video_track->set_codec_id(codec_id);
if (par->numerator > 1 || par->denominator > 1) {
// TODO(fgalligan): Add support of DisplayUnit, Display Aspect Ratio type
// to WebM format.