write correct codecID for vp10 webm file
authorYaowu Xu <yaowu@google.com>
Fri, 14 Aug 2015 19:30:10 +0000 (12:30 -0700)
committerYaowu Xu <yaowu@google.com>
Fri, 14 Aug 2015 19:54:59 +0000 (12:54 -0700)
Change-Id: Ifeb6073c4a687a73540a0f8aef0d834f4712c193

third_party/libwebm/mkvmuxer.cpp
third_party/libwebm/mkvmuxer.hpp
webmdec.cc
webmenc.cc

index fe7eb2f..9be3119 100644 (file)
@@ -1045,6 +1045,7 @@ const char Tracks::kOpusCodecId[] = "A_OPUS";
 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) {}
 
index ecd8a74..497ad4c 100644 (file)
@@ -533,6 +533,7 @@ class Tracks {
   static const char kVorbisCodecId[];
   static const char kVp8CodecId[];
   static const char kVp9CodecId[];
+  static const char kVp10CodecId[];
 
   Tracks();
   ~Tracks();
index e152f5e..1020d04 100644 (file)
@@ -103,6 +103,8 @@ int file_is_webm(struct WebmInputContext *webm_ctx,
     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;
index 8212ee3..d41e700 100644 (file)
@@ -49,7 +49,22 @@ void write_webm_file_header(struct EbmlGlobal *glob,
       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.