Chromium Code Reviews| Index: media/formats/mp2t/es_parser_h264.cc |
| diff --git a/media/formats/mp2t/es_parser_h264.cc b/media/formats/mp2t/es_parser_h264.cc |
| index 793e2aa993a88d64957215ca41262c2da8c0a707..b64d4c728e7b11322a7c0e5ac01c23e48bdb2420 100644 |
| --- a/media/formats/mp2t/es_parser_h264.cc |
| +++ b/media/formats/mp2t/es_parser_h264.cc |
| @@ -18,6 +18,38 @@ |
| namespace media { |
| namespace mp2t { |
| +namespace { |
| + |
| +VideoCodecProfile ProfileIDCToVideoCodecProfile(int profile_idc) { |
| + switch (profile_idc) { |
| + case H264SPS::kProfileIDCBaseline: |
| + return H264PROFILE_BASELINE; |
| + case H264SPS::kProfileIDCMain: |
| + return H264PROFILE_MAIN; |
| + case H264SPS::kProfileIDCHigh: |
| + return H264PROFILE_HIGH; |
| + case H264SPS::kProfileIDHigh10: |
| + return H264PROFILE_HIGH10PROFILE; |
| + case H264SPS::kProfileIDHigh422: |
| + return H264PROFILE_HIGH422PROFILE; |
| + case H264SPS::kProfileIDHigh444Predictive: |
| + return H264PROFILE_HIGH444PREDICTIVEPROFILE; |
| + case H264SPS::kProfileIDScalableBaseline: |
| + return H264PROFILE_SCALABLEBASELINE; |
| + case H264SPS::kProfileIDScalableHigh: |
| + return H264PROFILE_SCALABLEHIGH; |
| + case H264SPS::kProfileIDStereoHigh: |
| + return H264PROFILE_STEREOHIGH; |
| + case H264SPS::kProfileIDSMultiviewHigh: |
| + return H264PROFILE_MULTIVIEWHIGH; |
| + default: |
| + DVLOG(1) << "unknown video profile: " << profile_idc; |
| + } |
| + return VIDEO_CODEC_PROFILE_UNKNOWN; |
|
xhwang
2016/01/26 17:18:50
nit:
Remove the default so that if this list is n
erickung1
2016/01/26 19:44:34
Done.
|
| +} |
| + |
| +} // namespace |
| + |
| // An AUD NALU is at least 4 bytes: |
| // 3 bytes for the start code + 1 byte for the NALU type. |
| const int kMinAUDSize = 4; |
| @@ -281,9 +313,9 @@ bool EsParserH264::UpdateVideoDecoderConfig(const H264SPS* sps) { |
| return false; |
| VideoDecoderConfig video_decoder_config( |
| - kCodecH264, VIDEO_CODEC_PROFILE_UNKNOWN, PIXEL_FORMAT_YV12, |
| - COLOR_SPACE_HD_REC709, coded_size, visible_rect, natural_size, |
| - std::vector<uint8_t>(), false); |
| + kCodecH264, ProfileIDCToVideoCodecProfile(sps->profile_idc), |
| + PIXEL_FORMAT_YV12, COLOR_SPACE_HD_REC709, coded_size, visible_rect, |
| + natural_size, std::vector<uint8_t>(), false); |
| if (!video_decoder_config.Matches(last_video_decoder_config_)) { |
| DVLOG(1) << "Profile IDC: " << sps->profile_idc; |