write correct codecID for vp10 webm file

Change-Id: Ifeb6073c4a687a73540a0f8aef0d834f4712c193
This commit is contained in:
Yaowu Xu 2015-08-14 12:30:10 -07:00
Родитель 72889a2a60
Коммит 3d1bb97b1b
4 изменённых файлов: 20 добавлений и 1 удалений

1
third_party/libwebm/mkvmuxer.cpp поставляемый
Просмотреть файл

@ -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) {}

1
third_party/libwebm/mkvmuxer.hpp поставляемый
Просмотреть файл

@ -533,6 +533,7 @@ class Tracks {
static const char kVorbisCodecId[];
static const char kVp8CodecId[];
static const char kVp9CodecId[];
static const char kVp10CodecId[];
Tracks();
~Tracks();

Просмотреть файл

@ -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;

Просмотреть файл

@ -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.