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

Side by Side Diff: media/formats/mp4/hevc.h

Issue 2317273003: Use the correct HEVC profile in VideoDecoderConfig (Closed)
Patch Set: Added a comment to explain where general_profile_idc values are from Created 4 years, 3 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
« no previous file with comments | « media/formats/mp4/box_definitions.cc ('k') | media/formats/mp4/hevc.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef MEDIA_FORMATS_MP4_HEVC_H_ 5 #ifndef MEDIA_FORMATS_MP4_HEVC_H_
6 #define MEDIA_FORMATS_MP4_HEVC_H_ 6 #define MEDIA_FORMATS_MP4_HEVC_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
11 #include <memory> 11 #include <memory>
12 #include <vector> 12 #include <vector>
13 13
14 #include "media/base/media_export.h" 14 #include "media/base/media_export.h"
15 #include "media/base/video_codecs.h"
15 #include "media/formats/mp4/bitstream_converter.h" 16 #include "media/formats/mp4/bitstream_converter.h"
16 #include "media/formats/mp4/box_definitions.h" 17 #include "media/formats/mp4/box_definitions.h"
17 18
18 namespace media { 19 namespace media {
19 20
20 struct SubsampleEntry; 21 struct SubsampleEntry;
21 22
22 namespace mp4 { 23 namespace mp4 {
23 24
24 struct MEDIA_EXPORT HEVCDecoderConfigurationRecord : Box { 25 struct MEDIA_EXPORT HEVCDecoderConfigurationRecord : Box {
(...skipping 28 matching lines...) Expand all
53 typedef std::vector<uint8_t> HVCCNALUnit; 54 typedef std::vector<uint8_t> HVCCNALUnit;
54 struct HVCCNALArray { 55 struct HVCCNALArray {
55 HVCCNALArray(); 56 HVCCNALArray();
56 HVCCNALArray(const HVCCNALArray& other); 57 HVCCNALArray(const HVCCNALArray& other);
57 ~HVCCNALArray(); 58 ~HVCCNALArray();
58 uint8_t first_byte; 59 uint8_t first_byte;
59 std::vector<HVCCNALUnit> units; 60 std::vector<HVCCNALUnit> units;
60 }; 61 };
61 std::vector<HVCCNALArray> arrays; 62 std::vector<HVCCNALArray> arrays;
62 63
64 VideoCodecProfile GetVideoProfile() const;
65
63 private: 66 private:
64 bool ParseInternal(BufferReader* reader, 67 bool ParseInternal(BufferReader* reader,
65 const scoped_refptr<MediaLog>& media_log); 68 const scoped_refptr<MediaLog>& media_log);
66 }; 69 };
67 70
68 class MEDIA_EXPORT HEVC { 71 class MEDIA_EXPORT HEVC {
69 public: 72 public:
70 static bool ConvertConfigToAnnexB( 73 static bool ConvertConfigToAnnexB(
71 const HEVCDecoderConfigurationRecord& hevc_config, 74 const HEVCDecoderConfigurationRecord& hevc_config,
72 std::vector<uint8_t>* buffer); 75 std::vector<uint8_t>* buffer);
(...skipping 29 matching lines...) Expand all
102 105
103 private: 106 private:
104 ~HEVCBitstreamConverter() override; 107 ~HEVCBitstreamConverter() override;
105 std::unique_ptr<HEVCDecoderConfigurationRecord> hevc_config_; 108 std::unique_ptr<HEVCDecoderConfigurationRecord> hevc_config_;
106 }; 109 };
107 110
108 } // namespace mp4 111 } // namespace mp4
109 } // namespace media 112 } // namespace media
110 113
111 #endif // MEDIA_FORMATS_MP4_HEVC_H_ 114 #endif // MEDIA_FORMATS_MP4_HEVC_H_
OLDNEW
« no previous file with comments | « media/formats/mp4/box_definitions.cc ('k') | media/formats/mp4/hevc.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698