| Index: content/renderer/pepper/video_encoder_shim.cc
|
| diff --git a/content/renderer/pepper/video_encoder_shim.cc b/content/renderer/pepper/video_encoder_shim.cc
|
| index 2684c89166ba82b80bd4de15d7e6dc222f074f81..c19e4b1b3a29b22b7a00ef3cdb299c4a9339809a 100644
|
| --- a/content/renderer/pepper/video_encoder_shim.cc
|
| +++ b/content/renderer/pepper/video_encoder_shim.cc
|
| @@ -74,7 +74,9 @@ void GetVpxCodecParameters(media::VideoCodecProfile codec,
|
| *max_quantizer = kVp8DefaultMaxQuantizer;
|
| *cpu_used = kVp8DefaultCpuUsed;
|
| break;
|
| - case media::VP9PROFILE_ANY:
|
| + // Only VP9 profile 0 is supported by PPAPI at the moment. VP9 profiles 1-3
|
| + // are not supported due to backward compatibility.
|
| + case media::VP9PROFILE_PROFILE0:
|
| *vpx_codec = vpx_codec_vp9_cx();
|
| *min_quantizer = kVp9DefaultMinQuantizer;
|
| *max_quantizer = kVp9DefaultMaxQuantizer;
|
| @@ -165,6 +167,12 @@ void VideoEncoderShim::EncoderImpl::Initialize(
|
| gfx::Size coded_size =
|
| media::VideoFrame::PlaneSize(input_format, 0, input_visible_size);
|
|
|
| + // Only VP9 profile 0 is supported by PPAPI at the moment. VP9 profiles 1-3
|
| + // are not supported due to backward compatibility.
|
| + DCHECK_NE(output_profile, media::VP9PROFILE_PROFILE1);
|
| + DCHECK_NE(output_profile, media::VP9PROFILE_PROFILE2);
|
| + DCHECK_NE(output_profile, media::VP9PROFILE_PROFILE3);
|
| +
|
| vpx_codec_iface_t* vpx_codec;
|
| int32_t min_quantizer, max_quantizer, cpu_used;
|
| GetVpxCodecParameters(output_profile, &vpx_codec, &min_quantizer,
|
| @@ -196,7 +204,7 @@ void VideoEncoderShim::EncoderImpl::Initialize(
|
| // Use Q/CQ mode if no target bitrate is given. Note that in the VP8/CQ case
|
| // the meaning of rc_target_bitrate changes to target maximum rate.
|
| if (initial_bitrate == 0) {
|
| - if (output_profile == media::VP9PROFILE_ANY) {
|
| + if (output_profile == media::VP9PROFILE_PROFILE0) {
|
| config_.rc_end_usage = VPX_Q;
|
| } else if (output_profile == media::VP8PROFILE_ANY) {
|
| config_.rc_end_usage = VPX_CQ;
|
| @@ -223,7 +231,7 @@ void VideoEncoderShim::EncoderImpl::Initialize(
|
| return;
|
| }
|
|
|
| - if (output_profile == media::VP9PROFILE_ANY) {
|
| + if (output_profile == media::VP9PROFILE_PROFILE0) {
|
| if (vpx_codec_control(&encoder_, VP9E_SET_AQ_MODE,
|
| kVp9AqModeCyclicRefresh) != VPX_CODEC_OK) {
|
| NotifyError(media::VideoEncodeAccelerator::kPlatformFailureError);
|
| @@ -389,10 +397,10 @@ VideoEncoderShim::GetSupportedProfiles() {
|
| ret = vpx_codec_enc_config_default(vpx_codec_vp9_cx(), &config, 0);
|
| if (ret == VPX_CODEC_OK) {
|
| media::VideoEncodeAccelerator::SupportedProfile profile;
|
| - profile.profile = media::VP9PROFILE_ANY;
|
| profile.max_resolution = gfx::Size(kMaxWidth, kMaxHeight);
|
| profile.max_framerate_numerator = config.g_timebase.den;
|
| profile.max_framerate_denominator = config.g_timebase.num;
|
| + profile.profile = media::VP9PROFILE_PROFILE0;
|
| profiles.push_back(profile);
|
| }
|
|
|
| @@ -412,7 +420,7 @@ bool VideoEncoderShim::Initialize(
|
| return false;
|
|
|
| if (output_profile != media::VP8PROFILE_ANY &&
|
| - output_profile != media::VP9PROFILE_ANY)
|
| + output_profile != media::VP9PROFILE_PROFILE0)
|
| return false;
|
|
|
| media_task_runner_->PostTask(
|
|
|