| Index: media/formats/mp4/box_definitions.h
|
| diff --git a/media/formats/mp4/box_definitions.h b/media/formats/mp4/box_definitions.h
|
| index 39a19b7fa0192376fe8377953f4a9c401c34387a..828d67a7acde97e243cd8f737eaebafeb010920d 100644
|
| --- a/media/formats/mp4/box_definitions.h
|
| +++ b/media/formats/mp4/box_definitions.h
|
| @@ -12,6 +12,7 @@
|
| #include "base/compiler_specific.h"
|
| #include "media/base/media_export.h"
|
| #include "media/base/media_log.h"
|
| +#include "media/base/video_decoder_config.h"
|
| #include "media/formats/mp4/aac.h"
|
| #include "media/formats/mp4/avc.h"
|
| #include "media/formats/mp4/box_reader.h"
|
| @@ -189,6 +190,51 @@ struct MEDIA_EXPORT AVCDecoderConfigurationRecord : Box {
|
| const scoped_refptr<MediaLog>& media_log);
|
| };
|
|
|
| +#if defined(ENABLE_HEVC_DEMUXING)
|
| +struct MEDIA_EXPORT HEVCDecoderConfigurationRecord : Box {
|
| + DECLARE_BOX_METHODS(HEVCDecoderConfigurationRecord);
|
| +
|
| + // Parses HEVCDecoderConfigurationRecord data encoded in |data|.
|
| + // Note: This method is intended to parse data outside the MP4StreamParser
|
| + // context and therefore the box header is not expected to be present
|
| + // in |data|.
|
| + // Returns true if |data| was successfully parsed.
|
| + bool Parse(const uint8* data, int data_size);
|
| +
|
| + uint8 configurationVersion;
|
| + uint8 general_profile_space;
|
| + uint8 general_tier_flag;
|
| + uint8 general_profile_idc;
|
| + uint32 general_profile_compatibility_flags;
|
| + uint64 general_constraint_indicator_flags;
|
| + uint8 general_level_idc;
|
| + uint16 min_spatial_segmentation_idc;
|
| + uint8 parallelismType;
|
| + uint8 chromaFormat;
|
| + uint8 bitDepthLumaMinus8;
|
| + uint8 bitDepthChromaMinus8;
|
| + uint16 avgFrameRate;
|
| + uint8 constantFrameRate;
|
| + uint8 numTemporalLayers;
|
| + uint8 temporalIdNested;
|
| + uint8 lengthSizeMinusOne;
|
| + uint8 numOfArrays;
|
| +
|
| + typedef std::vector<uint8> HVCCNALUnit;
|
| + struct HVCCNALArray {
|
| + HVCCNALArray();
|
| + ~HVCCNALArray();
|
| + uint8 first_byte;
|
| + std::vector<HVCCNALUnit> units;
|
| + };
|
| + std::vector<HVCCNALArray> arrays;
|
| +
|
| + private:
|
| + bool ParseInternal(BufferReader* reader,
|
| + const scoped_refptr<MediaLog>& media_log);
|
| +};
|
| +#endif
|
| +
|
| struct MEDIA_EXPORT PixelAspectRatioBox : Box {
|
| DECLARE_BOX_METHODS(PixelAspectRatioBox);
|
|
|
| @@ -207,6 +253,9 @@ struct MEDIA_EXPORT VideoSampleEntry : Box {
|
| PixelAspectRatioBox pixel_aspect;
|
| ProtectionSchemeInfo sinf;
|
|
|
| + VideoCodec video_codec;
|
| + VideoCodecProfile video_codec_profile;
|
| +
|
| bool IsFormatValid() const;
|
|
|
| scoped_refptr<BitstreamConverter> frame_bitstream_converter;
|
|
|