OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "media/formats/mp4/box_definitions.h" | 5 #include "media/formats/mp4/box_definitions.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
11 #include "base/logging.h" | 11 #include "base/logging.h" |
12 #include "base/strings/string_number_conversions.h" | 12 #include "base/strings/string_number_conversions.h" |
13 #include "media/base/media_switches.h" | 13 #include "media/base/media_switches.h" |
14 #include "media/base/video_types.h" | 14 #include "media/base/video_types.h" |
15 #include "media/base/video_util.h" | 15 #include "media/base/video_util.h" |
| 16 #include "media/filters/h264_parser.h" |
16 #include "media/formats/mp4/avc.h" | 17 #include "media/formats/mp4/avc.h" |
17 #include "media/formats/mp4/es_descriptor.h" | 18 #include "media/formats/mp4/es_descriptor.h" |
18 #include "media/formats/mp4/rcheck.h" | 19 #include "media/formats/mp4/rcheck.h" |
19 #include "media/media_features.h" | 20 #include "media/media_features.h" |
20 | 21 |
21 #if BUILDFLAG(ENABLE_HEVC_DEMUXING) | 22 #if BUILDFLAG(ENABLE_HEVC_DEMUXING) |
22 #include "media/formats/mp4/hevc.h" | 23 #include "media/formats/mp4/hevc.h" |
23 #endif | 24 #endif |
24 | 25 |
25 namespace media { | 26 namespace media { |
(...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
658 const FourCC actual_format = | 659 const FourCC actual_format = |
659 format == FOURCC_ENCV ? sinf.format.format : format; | 660 format == FOURCC_ENCV ? sinf.format.format : format; |
660 switch (actual_format) { | 661 switch (actual_format) { |
661 case FOURCC_AVC1: | 662 case FOURCC_AVC1: |
662 case FOURCC_AVC3: { | 663 case FOURCC_AVC3: { |
663 DVLOG(2) << __FUNCTION__ | 664 DVLOG(2) << __FUNCTION__ |
664 << " reading AVCDecoderConfigurationRecord (avcC)"; | 665 << " reading AVCDecoderConfigurationRecord (avcC)"; |
665 std::unique_ptr<AVCDecoderConfigurationRecord> avcConfig( | 666 std::unique_ptr<AVCDecoderConfigurationRecord> avcConfig( |
666 new AVCDecoderConfigurationRecord()); | 667 new AVCDecoderConfigurationRecord()); |
667 RCHECK(reader->ReadChild(avcConfig.get())); | 668 RCHECK(reader->ReadChild(avcConfig.get())); |
| 669 video_codec = kCodecH264; |
| 670 video_codec_profile = H264Parser::ProfileIDCToVideoCodecProfile( |
| 671 avcConfig->profile_indication); |
668 frame_bitstream_converter = | 672 frame_bitstream_converter = |
669 make_scoped_refptr(new AVCBitstreamConverter(std::move(avcConfig))); | 673 make_scoped_refptr(new AVCBitstreamConverter(std::move(avcConfig))); |
670 video_codec = kCodecH264; | |
671 video_codec_profile = H264PROFILE_MAIN; | |
672 break; | 674 break; |
673 } | 675 } |
674 #if BUILDFLAG(ENABLE_HEVC_DEMUXING) | 676 #if BUILDFLAG(ENABLE_HEVC_DEMUXING) |
675 case FOURCC_HEV1: | 677 case FOURCC_HEV1: |
676 case FOURCC_HVC1: { | 678 case FOURCC_HVC1: { |
677 DVLOG(2) << __FUNCTION__ | 679 DVLOG(2) << __FUNCTION__ |
678 << " parsing HEVCDecoderConfigurationRecord (hvcC)"; | 680 << " parsing HEVCDecoderConfigurationRecord (hvcC)"; |
679 std::unique_ptr<HEVCDecoderConfigurationRecord> hevcConfig( | 681 std::unique_ptr<HEVCDecoderConfigurationRecord> hevcConfig( |
680 new HEVCDecoderConfigurationRecord()); | 682 new HEVCDecoderConfigurationRecord()); |
681 RCHECK(reader->ReadChild(hevcConfig.get())); | 683 RCHECK(reader->ReadChild(hevcConfig.get())); |
(...skipping 590 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1272 SampleDependsOn IndependentAndDisposableSamples::sample_depends_on( | 1274 SampleDependsOn IndependentAndDisposableSamples::sample_depends_on( |
1273 size_t i) const { | 1275 size_t i) const { |
1274 if (i >= sample_depends_on_.size()) | 1276 if (i >= sample_depends_on_.size()) |
1275 return kSampleDependsOnUnknown; | 1277 return kSampleDependsOnUnknown; |
1276 | 1278 |
1277 return sample_depends_on_[i]; | 1279 return sample_depends_on_[i]; |
1278 } | 1280 } |
1279 | 1281 |
1280 } // namespace mp4 | 1282 } // namespace mp4 |
1281 } // namespace media | 1283 } // namespace media |
OLD | NEW |