Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(99)

Side by Side Diff: ppapi/examples/video_encode/video_encode.cc

Issue 1769593002: Add 4 VP9 profiles to the media::VideoCodecProfile enum. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@hevc-codec-7
Patch Set: Use VP9 profile0 by default instead of profile3 Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <math.h> 5 #include <math.h>
6 #include <stdio.h> 6 #include <stdio.h>
7 #include <string.h> 7 #include <string.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <deque> 10 #include <deque>
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 AddVideoProfile(PP_VIDEOPROFILE_H264HIGH, "h264high"); 235 AddVideoProfile(PP_VIDEOPROFILE_H264HIGH, "h264high");
236 AddVideoProfile(PP_VIDEOPROFILE_H264HIGH10PROFILE, "h264high10"); 236 AddVideoProfile(PP_VIDEOPROFILE_H264HIGH10PROFILE, "h264high10");
237 AddVideoProfile(PP_VIDEOPROFILE_H264HIGH422PROFILE, "h264high422"); 237 AddVideoProfile(PP_VIDEOPROFILE_H264HIGH422PROFILE, "h264high422");
238 AddVideoProfile(PP_VIDEOPROFILE_H264HIGH444PREDICTIVEPROFILE, 238 AddVideoProfile(PP_VIDEOPROFILE_H264HIGH444PREDICTIVEPROFILE,
239 "h264high444predictive"); 239 "h264high444predictive");
240 AddVideoProfile(PP_VIDEOPROFILE_H264SCALABLEBASELINE, "h264scalablebaseline"); 240 AddVideoProfile(PP_VIDEOPROFILE_H264SCALABLEBASELINE, "h264scalablebaseline");
241 AddVideoProfile(PP_VIDEOPROFILE_H264SCALABLEHIGH, "h264scalablehigh"); 241 AddVideoProfile(PP_VIDEOPROFILE_H264SCALABLEHIGH, "h264scalablehigh");
242 AddVideoProfile(PP_VIDEOPROFILE_H264STEREOHIGH, "h264stereohigh"); 242 AddVideoProfile(PP_VIDEOPROFILE_H264STEREOHIGH, "h264stereohigh");
243 AddVideoProfile(PP_VIDEOPROFILE_H264MULTIVIEWHIGH, "h264multiviewhigh"); 243 AddVideoProfile(PP_VIDEOPROFILE_H264MULTIVIEWHIGH, "h264multiviewhigh");
244 AddVideoProfile(PP_VIDEOPROFILE_VP8_ANY, "vp8"); 244 AddVideoProfile(PP_VIDEOPROFILE_VP8_ANY, "vp8");
245 AddVideoProfile(PP_VIDEOPROFILE_VP9_ANY, "vp9"); 245 AddVideoProfile(PP_VIDEOPROFILE_VP9_PROFILE0, "vp9 profile0");
246 AddVideoProfile(PP_VIDEOPROFILE_VP9_PROFILE1, "vp9 profile1");
247 AddVideoProfile(PP_VIDEOPROFILE_VP9_PROFILE2, "vp9 profile2");
248 AddVideoProfile(PP_VIDEOPROFILE_VP9_PROFILE3, "vp9 profile3");
246 } 249 }
247 250
248 PP_VideoProfile VideoEncoderInstance::VideoProfileFromString( 251 PP_VideoProfile VideoEncoderInstance::VideoProfileFromString(
249 const std::string& str) { 252 const std::string& str) {
250 VideoProfileFromStringMap::iterator it = profile_from_string_.find(str); 253 VideoProfileFromStringMap::iterator it = profile_from_string_.find(str);
251 if (it == profile_from_string_.end()) 254 if (it == profile_from_string_.end())
252 return PP_VIDEOPROFILE_VP8_ANY; 255 return PP_VIDEOPROFILE_VP8_ANY;
253 return it->second; 256 return it->second;
254 } 257 }
255 258
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 551
549 void VideoEncoderInstance::PostDataMessage(const void* buffer, uint32_t size) { 552 void VideoEncoderInstance::PostDataMessage(const void* buffer, uint32_t size) {
550 pp::VarDictionary dictionary; 553 pp::VarDictionary dictionary;
551 554
552 dictionary.Set(pp::Var("name"), pp::Var("data")); 555 dictionary.Set(pp::Var("name"), pp::Var("data"));
553 556
554 pp::VarArrayBuffer array_buffer; 557 pp::VarArrayBuffer array_buffer;
555 uint8_t* data_ptr; 558 uint8_t* data_ptr;
556 uint32_t data_offset = 0; 559 uint32_t data_offset = 0;
557 if (video_profile_ == PP_VIDEOPROFILE_VP8_ANY || 560 if (video_profile_ == PP_VIDEOPROFILE_VP8_ANY ||
558 video_profile_ == PP_VIDEOPROFILE_VP9_ANY) { 561 video_profile_ == PP_VIDEOPROFILE_VP9_PROFILE0 ||
562 video_profile_ == PP_VIDEOPROFILE_VP9_PROFILE1 ||
563 video_profile_ == PP_VIDEOPROFILE_VP9_PROFILE2 ||
564 video_profile_ == PP_VIDEOPROFILE_VP9_PROFILE3) {
559 uint32_t frame_offset = 0; 565 uint32_t frame_offset = 0;
560 if (encoded_frames_ == 1) { 566 if (encoded_frames_ == 1) {
561 array_buffer = pp::VarArrayBuffer( 567 array_buffer = pp::VarArrayBuffer(
562 size + ivf_writer_.GetFileHeaderSize() + 568 size + ivf_writer_.GetFileHeaderSize() +
563 ivf_writer_.GetFrameHeaderSize()); 569 ivf_writer_.GetFrameHeaderSize());
564 data_ptr = static_cast<uint8_t*>(array_buffer.Map()); 570 data_ptr = static_cast<uint8_t*>(array_buffer.Map());
565 frame_offset = ivf_writer_.WriteFileHeader( 571 frame_offset = ivf_writer_.WriteFileHeader(
566 data_ptr, ToUpperString(VideoProfileToString(video_profile_)), 572 data_ptr, ToUpperString(VideoProfileToString(video_profile_)),
567 frame_size_.width(), frame_size_.height()); 573 frame_size_.width(), frame_size_.height());
568 } else { 574 } else {
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
609 } 615 }
610 616
611 } // anonymous namespace 617 } // anonymous namespace
612 618
613 namespace pp { 619 namespace pp {
614 // Factory function for your specialization of the Module object. 620 // Factory function for your specialization of the Module object.
615 Module* CreateModule() { 621 Module* CreateModule() {
616 return new VideoEncoderModule(); 622 return new VideoEncoderModule();
617 } 623 }
618 } // namespace pp 624 } // namespace pp
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698