heif  3.7.0
About: HEIF (High Efficiency Image File Format) is a visual media container format for images and image sequences (MPEG-standard). This HEIF engine demonstrates its powerful features and capabilities (under Nokia HEIF license).
  Fossies Dox: heif-3.7.0.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

HEIF Namespace Reference

Namespaces

namespace  anonymous_namespace{heifreaderaccessors.cpp}
 
namespace  anonymous_namespace{heifreaderimpl.cpp}
 
namespace  anonymous_namespace{writerimpl.cpp}
 
namespace  anonymous_namespace{writerimpl.hpp}
 
namespace  anonymous_namespace{writermetaimpl.cpp}
 
namespace  anonymous_namespace{writermoovimpl.cpp}
 
namespace  FileFeatureEnum
 
namespace  ItemFeatureEnum
 
namespace  MetaBoxFeatureEnum
 
namespace  TrackFeatureEnum
 

Classes

struct  AccessibilityText
 Data of Accessibility text descriptive item property. More...
 
class  AlternateGroupId
 
struct  Array
 
struct  AudioParams
 
struct  AuxiliaryType
 
struct  CleanAperture
 Data of transformative item property Clean aperture 'clap.'. More...
 
struct  CodingConstraints
 
struct  ColourInformation
 Data of descriptive item property Colour information 'colr'. More...
 
class  ConstSegments
 
struct  CreationTimeInformation
 Data of Creation time information descriptive item property. More...
 
class  CustomAllocator
 
struct  Data
 
class  DecoderConfigId
 
struct  DecoderConfiguration
 
struct  DecoderSpecificInfo
 
struct  Dimensions
 
struct  DirectReferenceSamples
 
struct  EditList
 Edit list for tracks. More...
 
struct  EditUnit
 A single edit EditList unit. More...
 
struct  EntityGroup
 
struct  EntityGrouping
 
struct  EquivalenceTimeOffset
 
class  FileFeature
 
struct  FileInformation
 
struct  FileInformationInternal
 Overall File Property definition which contains file's properties. More...
 
class  FileOutputStream
 
class  FileStream
 
struct  FourCC
 
struct  FourCCToIds
 
struct  Grid
 
class  GroupId
 
class  HeifReaderImpl
 Implementation for reading an HEIF image file from the filesystem. More...
 
struct  ImageCollection
 
class  ImageId
 
struct  ImageSequence
 
struct  ImageSize
 Image size for handling 'ispe' properties. More...
 
struct  InitTrackInfo
 Track Property definition which contain sample properties. More...
 
class  InternalStream
 
struct  ItemDescription
 
class  ItemFeature
 Each item in a MetaBox has different features. More...
 
struct  ItemInformation
 
struct  ItemPropertyInfo
 Information about a single property associated to an image item. More...
 
class  LinuxStream
 
struct  MediaData
 Data of one image/sample/frame. More...
 
class  MediaDataId
 
class  MetaBoxFeature
 Represents the features of entities in Meta Box at file, moov or track level. More...
 
struct  MetaBoxInformation
 
struct  MetaBoxProperties
 MetaBox Property definition that contains image and item features. More...
 
class  MetadataItemId
 
struct  Mirror
 Data of transformative item property Image mirroring 'imir'. More...
 
struct  ModificationTimeInformation
 Data of Modification time information descriptive item property. More...
 
class  MoovFeature
 'MOOV' level features flag enumeration. More...
 
struct  MoovProperties
 Moov Property definition. More...
 
struct  OutputConfig
 
class  OutputStreamInterface
 
struct  Overlay
 
struct  PixelAspectRatio
 Data of descriptive item property Pixel aspect ratio 'pasp'. More...
 
struct  PixelInformation
 Data of descriptive item property Pixel information 'pixi'. More...
 
struct  PropertyAssociation
 
class  PropertyId
 
struct  PropertyInformation
 
struct  Rational
 
struct  RawProperty
 Data of raw/custom item property. More...
 
class  Reader
 
struct  RelativeLocation
 Data of descriptive item property Relative location 'rloc'. More...
 
struct  RequiredReferenceTypes
 Data of Required reference types descriptive item property. More...
 
struct  Rotate
 Data of transformative item property Image rotation 'irot'. More...
 
struct  SampleAndEntryIds
 
class  SampleDescriptionIndex
 
union  SampleFlags
 
struct  SampleFlagsType
 
struct  SampleGrouping
 
struct  SampleInfo
 
struct  SampleInformation
 
struct  SampleProperties
 Sample Property definition. More...
 
struct  SampleSizeInPixels
 
struct  SampleToMetadataItem
 
struct  SampleVisualEquivalence
 
struct  Scale
 Data of Image scaling transformative item property 'iscl'. More...
 
class  SegmentId
 
struct  SegmentInformation
 
struct  SegmentProperties
 
class  Segments
 
class  Sequence
 
class  SequenceId
 
class  SequenceImageId
 
class  StreamInterface
 
struct  StreamIO
 
struct  TimestampIDPair
 
class  TrackFeature
 
struct  TrackGroup
 
class  TrackGroupId
 
struct  TrackGroupInfo
 
class  TrackId
 
struct  TrackInfoInSegment
 Information about samples of a track in a segment. More...
 
struct  TrackInformation
 
struct  TrackTypeInformation
 
struct  UserDescription
 Data of User description descriptive item property. More...
 
class  Writer
 
class  WriterImpl
 

Typedefs

typedef uint32_t FeatureBitMask
 
typedef std::int64_t Timestamp
 
typedef Vector< TimestampIDPairDecodingOrderVector
 
typedef Vector< std::uint8_t > DataVector
 
typedef Map< FourCC, Vector< SequenceId > > TypeToIdsMap
 
typedef Vector< EntityGroupingGroupings
 
typedef Map< DecoderSpecInfoType, DataVectorParameterSetMap
 
typedef Vector< ItemPropertyInfoPropertyTypeVector
 
typedef std::pair< SegmentId, SequenceIdSegmentTrackId
 
typedef std::pair< SequenceId, SampleDescriptionIndexTrackSampleEntryIndex
 
typedef std::pair< SequenceId, SequenceImageIdSequenceImageIdPair
 Unique identifier for an sample/sequence image in a sequence. More...
 
typedef Map< ImageId, ItemFeatureItemFeaturesMap
 
typedef Map< std::uint32_t, SamplePropertiesSamplePropertiesMap
 
typedef Map< SequenceId, InitTrackInfoInitTrackInfoMap
 
typedef std::pair< SequenceImageId, TimestampItemIdTimestampPair
 Pair of Item/sample ID and timestamp. More...
 
typedef Map< SequenceImageIdPair, SampleDescriptionIndexSampleToParameterSetMap
 
typedef Array< SegmentInformationSegmentIndex
 
using TrackGroupInfoMap = Map< FourCCInt, TrackGroupInfo >
 
typedef Vector< SamplePropertiesSamplePropertyVector
 
typedef Map< SegmentId, SegmentPropertiesSegmentPropertiesMap
 
typedef Map< Sequence, SegmentIdSequenceToSegmentMap
 
typedef uint16_t PropertyIndex
 Propery index in the ipco box. More...
 

Enumerations

enum class  ErrorCode {
  OK = 0 , ALLOCATOR_ALREADY_SET , ALREADY_INITIALIZED , BRANDS_NOT_SET ,
  BUFFER_SIZE_TOO_SMALL , DECODER_CONFIGURATION_ERROR , FILE_HEADER_ERROR , FILE_OPEN_ERROR ,
  FILE_READ_ERROR , FTYP_ALREADY_WRITTEN , HIDDEN_PRIMARY_ITEM , INVALID_FUNCTION_PARAMETER ,
  INVALID_GROUP_ID , INVALID_ITEM_ID , INVALID_MEDIADATA_ID , INVALID_METADATAITEM_ID ,
  INVALID_MEDIA_FORMAT , INVALID_PROPERTY_INDEX , INVALID_REFERENCE_COUNT , INVALID_SAMPLE_DESCRIPTION_INDEX ,
  INVALID_SEGMENT , INVALID_SEQUENCE_ID , INVALID_DECODER_CONFIG_ID , INVALID_SEQUENCE_IMAGE_ID ,
  MEDIA_PARSING_ERROR , MEMORY_TOO_SMALL_BUFFER , NOT_APPLICABLE , PRIMARY_ITEM_NOT_SET ,
  PROTECTED_ITEM , UNINITIALIZED , UNPROTECTED_ITEM , UNSUPPORTED_CODE_TYPE
}
 HEIF file reader and writer ErrorCode enumeration. More...
 
enum class  DecoderSpecInfoType : uint8_t {
  AVC_SPS = 7 , AVC_PPS = 8 , HEVC_VPS = 32 , HEVC_SPS = 33 ,
  HEVC_PPS = 34 , PREFIX_SEI_NUT = 39 , SUFFIX_SEI_NUT = 40 , AudioSpecificConfig = 63 ,
  JPEG = 108
}
 
enum class  EditType { EMPTY , DWELL , SHIFT , RAW }
 
enum  TrackSampleType {
  out_ref , out_non_ref , non_out_ref , display ,
  samples
}
 
enum class  ItemPropertyType {
  INVALID = 0 , RAW , ALTT , AUXC ,
  AVCC , CLAP , COLR , CRTT ,
  HVCC , IMIR , IROT , ISCL ,
  ISPE , JPGC , MDFT , PASP ,
  PIXI , RLOC , RREF , UDES
}
 Item Property type identifiers. More...
 
enum  SampleType { OUTPUT_NON_REFERENCE_FRAME , OUTPUT_REFERENCE_FRAME , NON_OUTPUT_REFERENCE_FRAME }
 SampleType enumeration to indicate the type of the frame. More...
 
enum class  MediaFormat {
  INVALID = 0 , AVC , HEVC , JPEG ,
  EXIF , XMP , MPEG7 , AAC
}
 

Functions

bool operator< (const GroupId &a, const GroupId &b)
 
bool operator> (const GroupId &a, const GroupId &b)
 
bool operator!= (const GroupId &a, const GroupId &b)
 
bool operator== (const GroupId &a, const GroupId &b)
 
bool operator< (const ImageId &a, const ImageId &b)
 
bool operator> (const ImageId &a, const ImageId &b)
 
bool operator!= (const ImageId &a, const ImageId &b)
 
bool operator== (const ImageId &a, const ImageId &b)
 
bool operator< (const SegmentId &a, const SegmentId &b)
 
bool operator> (const SegmentId &a, const SegmentId &b)
 
bool operator!= (const SegmentId &a, const SegmentId &b)
 
bool operator== (const SegmentId &a, const SegmentId &b)
 
bool operator< (const SequenceImageId &a, const SequenceImageId &b)
 
bool operator> (const SequenceImageId &a, const SequenceImageId &b)
 
bool operator!= (const SequenceImageId &a, const SequenceImageId &b)
 
bool operator== (const SequenceImageId &a, const SequenceImageId &b)
 
bool operator< (const SequenceId &a, const SequenceId &b)
 
bool operator> (const SequenceId &a, const SequenceId &b)
 
bool operator!= (const SequenceId &a, const SequenceId &b)
 
bool operator== (const SequenceId &a, const SequenceId &b)
 
bool operator< (const DecoderConfigId &a, const DecoderConfigId &b)
 
bool operator> (const DecoderConfigId &a, const DecoderConfigId &b)
 
bool operator!= (const DecoderConfigId &a, const DecoderConfigId &b)
 
bool operator== (const DecoderConfigId &a, const DecoderConfigId &b)
 
bool operator< (const PropertyId &a, const PropertyId &b)
 
bool operator> (const PropertyId &a, const PropertyId &b)
 
bool operator!= (const PropertyId &a, const PropertyId &b)
 
bool operator== (const PropertyId &a, const PropertyId &b)
 
bool operator< (const MetadataItemId &a, const MetadataItemId &b)
 
bool operator> (const MetadataItemId &a, const MetadataItemId &b)
 
bool operator!= (const MetadataItemId &a, const MetadataItemId &b)
 
bool operator== (const MetadataItemId &a, const MetadataItemId &b)
 
bool operator< (const TrackGroupId &a, const TrackGroupId &b)
 
bool operator> (const TrackGroupId &a, const TrackGroupId &b)
 
bool operator!= (const TrackGroupId &a, const TrackGroupId &b)
 
bool operator== (const TrackGroupId &a, const TrackGroupId &b)
 
OutputStreamInterfaceConstructFileStream (const char *aFilename)
 
bool operator< (const MediaDataId &a, const MediaDataId &b)
 
bool operator> (const MediaDataId &a, const MediaDataId &b)
 
bool operator!= (const MediaDataId &a, const MediaDataId &b)
 
bool operator== (const MediaDataId &a, const MediaDataId &b)
 
bool operator< (const Sequence &a, const Sequence &b)
 
bool operator> (const Sequence &a, const Sequence &b)
 
bool operator!= (const Sequence &a, const Sequence &b)
 
bool operator== (const Sequence &a, const Sequence &b)
 
bool operator< (const SampleDescriptionIndex &a, const SampleDescriptionIndex &b)
 
bool operator> (const SampleDescriptionIndex &a, const SampleDescriptionIndex &b)
 
bool operator!= (const SampleDescriptionIndex &a, const SampleDescriptionIndex &b)
 
bool operator== (const SampleDescriptionIndex &a, const SampleDescriptionIndex &b)
 
static ItemPropertyType itemPropertyTypeFromPropertyType (const ItemPropertiesBox::PropertyType &aType)
 
ErrorCode getRawItemType (const MetaBox &metaBox, const ImageId itemId, FourCCInt &type)
 
CleanAperture makeClap (const CleanApertureBox *clapBox)
 Convert CleanAperture to Reader::CleanAperture. More...
 
AuxiliaryType makeAuxi (const AuxiliaryTypeInfoBox *auxiBox)
 Convert AuxiliaryTypeInfoBox to Reader::AuxProperty. More...
 
bool doReferencesFromItemIdExist (const MetaBox &metaBox, ImageId itemId, const FourCCInt &referenceType)
 Check if one or more references from an item exists. More...
 
bool doReferencesToItemIdExist (const MetaBox &metaBox, ImageId itemId, const FourCCInt &referenceType)
 Check if one or more references to an item exists. More...
 
template<typename T , typename Container >
Array< T > makeArray (const Container &container)
 
template Array< ImageIdmakeArray (const Vector< ImageId > &container)
 
template Array< ImageIdmakeArray (const Vector< uint32_t > &container)
 
template Array< ItemPropertyInfomakeArray (const Vector< ItemPropertyInfo > &container)
 
template Array< SampleGroupingmakeArray (const Vector< SampleGrouping > &container)
 
template Array< SequenceIdmakeArray (const Vector< SequenceId > &container)
 
template Array< SequenceImageIdmakeArray (const Vector< SequenceImageId > &container)
 
template Array< TimestampIDPairmakeArray (const Vector< TimestampIDPair > &container)
 
template Array< char > makeArray (const String &container)
 
template Array< std::int32_t > makeArray (const Vector< std::int32_t > &container)
 
template Array< std::uint32_t > makeArray (const Vector< std::uint32_t > &container)
 
template Array< std::int64_t > makeArray (const Vector< std::int64_t > &container)
 
template Array< std::uint64_t > makeArray (const Vector< std::uint64_t > &container)
 
template Array< std::uint8_t > makeArray (const Vector< std::uint8_t > &container)
 
template Array< EditUnitmakeArray (const Vector< EditUnit > &container)
 
template Array< FourCCmakeArray (const Vector< FourCC > &container)
 
StreamInterfaceopenFile (const char *filename)
 
bool operator< (const TrackId &a, const TrackId &b)
 
bool operator> (const TrackId &a, const TrackId &b)
 
bool operator!= (const TrackId &a, const TrackId &b)
 
bool operator== (const TrackId &a, const TrackId &b)
 
bool operator< (const AlternateGroupId &a, const AlternateGroupId &b)
 
bool operator> (const AlternateGroupId &a, const AlternateGroupId &b)
 
bool operator!= (const AlternateGroupId &a, const AlternateGroupId &b)
 
bool operator== (const AlternateGroupId &a, const AlternateGroupId &b)
 

Typedef Documentation

◆ DataVector

typedef Vector<std::uint8_t> HEIF::DataVector

Definition at line 180 of file heiffiledatatypesinternal.hpp.

◆ DecodingOrderVector

◆ FeatureBitMask

typedef uint32_t HEIF::FeatureBitMask

Definition at line 155 of file heifreaderdatatypes.h.

◆ Groupings

◆ InitTrackInfoMap

◆ ItemFeaturesMap

◆ ItemIdTimestampPair

Pair of Item/sample ID and timestamp.

Definition at line 201 of file heiffiledatatypesinternal.hpp.

◆ ParameterSetMap

◆ PropertyIndex

typedef uint16_t HEIF::PropertyIndex

Propery index in the ipco box.

Definition at line 149 of file writerdatatypesinternal.hpp.

◆ PropertyTypeVector

◆ SamplePropertiesMap

Definition at line 198 of file heiffiledatatypesinternal.hpp.

◆ SamplePropertyVector

◆ SampleToParameterSetMap

◆ SegmentIndex

◆ SegmentPropertiesMap

◆ SegmentTrackId

Definition at line 189 of file heiffiledatatypesinternal.hpp.

◆ SequenceImageIdPair

Unique identifier for an sample/sequence image in a sequence.

Definition at line 193 of file heiffiledatatypesinternal.hpp.

◆ SequenceToSegmentMap

◆ Timestamp

typedef std::int64_t HEIF::Timestamp

Definition at line 178 of file heiffiledatatypesinternal.hpp.

◆ TrackGroupInfoMap

◆ TrackSampleEntryIndex

◆ TypeToIdsMap

Enumeration Type Documentation

◆ DecoderSpecInfoType

enum class HEIF::DecoderSpecInfoType : uint8_t
strong
Enumerator
AVC_SPS 

H.264/AVC Sequence Parameter Set (SPS) nal unit, bytestream header (0001) if any is stripped internally.

AVC_PPS 

H.264/AVC Picture Parameter Set (PPS) nal unit, bytestream header (0001) if any is stripped internally.

HEVC_VPS 

H.265/HEVC Video Parameter Set (VPS) nal unit, bytestream header (0001) if any is stripped internally.

HEVC_SPS 

H.265/HEVC Sequence Parameter Set (SPS) nal unit, bytestream header (0001) if any is stripped internally.

HEVC_PPS 

H.265/HEVC Picture Parameter Set (PPS) nal unit, bytestream header (0001) if any is stripped internally.

PREFIX_SEI_NUT 
SUFFIX_SEI_NUT 
AudioSpecificConfig 

As defined in 1.6.2.1 AudioSpecificConfig of ISO/IEC 14496-3:200X(E)

JPEG 

This number probably comes from ISO/IEC 10918-1.

Definition at line 215 of file heifcommondatatypes.h.

◆ EditType

enum class HEIF::EditType
strong
Enumerator
EMPTY 
DWELL 
SHIFT 
RAW 

Definition at line 433 of file heifcommondatatypes.h.

◆ ErrorCode

enum class HEIF::ErrorCode
strong

HEIF file reader and writer ErrorCode enumeration.

Enumerator
OK 
ALLOCATOR_ALREADY_SET 
ALREADY_INITIALIZED 
BRANDS_NOT_SET 
BUFFER_SIZE_TOO_SMALL 
DECODER_CONFIGURATION_ERROR 
FILE_HEADER_ERROR 
FILE_OPEN_ERROR 
FILE_READ_ERROR 
FTYP_ALREADY_WRITTEN 
HIDDEN_PRIMARY_ITEM 
INVALID_FUNCTION_PARAMETER 
INVALID_GROUP_ID 
INVALID_ITEM_ID 
INVALID_MEDIADATA_ID 
INVALID_METADATAITEM_ID 
INVALID_MEDIA_FORMAT 
INVALID_PROPERTY_INDEX 
INVALID_REFERENCE_COUNT 
INVALID_SAMPLE_DESCRIPTION_INDEX 
INVALID_SEGMENT 
INVALID_SEQUENCE_ID 
INVALID_DECODER_CONFIG_ID 
INVALID_SEQUENCE_IMAGE_ID 
MEDIA_PARSING_ERROR 
MEMORY_TOO_SMALL_BUFFER 
NOT_APPLICABLE 
PRIMARY_ITEM_NOT_SET 
PROTECTED_ITEM 
UNINITIALIZED 
UNPROTECTED_ITEM 
UNSUPPORTED_CODE_TYPE 

Definition at line 33 of file heifcommondatatypes.h.

◆ ItemPropertyType

enum class HEIF::ItemPropertyType
strong

Item Property type identifiers.

Enumerator
INVALID 

Can be used for error checking. Not a valid property type.

RAW 

Property of an unrecognized/unknown type. It is accessible only as raw data.

ALTT 

Accessibility text.

AUXC 

Image properties for auxiliary images.

AVCC 

AVC configuration.

CLAP 

Clean aperture (crop)

COLR 

Colour information.

CRTT 

Creation time information.

HVCC 

HEVC configuration.

IMIR 

Image mirror.

IROT 

Image rotation.

ISCL 

Image scaling.

ISPE 

Image spatial extents.

JPGC 

JPEG configuration.

MDFT 

Modification time information.

PASP 

Pixel aspect ratio.

PIXI 

Pixel information.

RLOC 

Relative location.

RREF 

Required reference types.

UDES 

User description.

Definition at line 42 of file heifreaderdatatypes.h.

◆ MediaFormat

enum class HEIF::MediaFormat
strong
Enumerator
INVALID 

Undefined MediaForamt, invalid value used internal error checking.

AVC 

Image(s) encoded with AVC/H.264 encoder (Annex E in HEIF ISO/IEC 23008-12:2017(E) spec for details).

HEVC 

Image(s) encoded with HEVC/H.265 encoder (Annex B in HEIF ISO/IEC 23008-12:2017(E) spec for details).

JPEG 

Image(s) encoded with JPEG encoder (Annex H in HEIF ISO/IEC 23008-12:2017(E) spec for details).

EXIF 

EXIF Metadata binary data (ExifDataBlock() as defined in Annex A.2.1 in HEIF ISO/IEC 23008-12:2017(E)).

XMP 

XMP Metadata binary data (Annex A.3 in HEIF ISO/IEC 23008-12:2017(E) spec for details).

MPEG7 

MPEG-7 Metadata binary data (Annex A.4 in HEIF ISO/IEC 23008-12:2017(E) spec for details).

AAC 

AAC-LC audio track data.

Definition at line 68 of file heifwriterdatatypes.h.

◆ SampleType

SampleType enumeration to indicate the type of the frame.

Enumerator
OUTPUT_NON_REFERENCE_FRAME 
OUTPUT_REFERENCE_FRAME 
NON_OUTPUT_REFERENCE_FRAME 

Definition at line 298 of file heifreaderdatatypes.h.

◆ TrackSampleType

Enumerator
out_ref 

output reference frames

out_non_ref 

output non-reference frames

non_out_ref 

non-output reference frame

display 

all frame samples in the track which are displayed and in display order

samples 

all samples in the track in track's entry order

Definition at line 30 of file heifreaderdatatypes.h.

Function Documentation

◆ ConstructFileStream()

OutputStreamInterface * HEIF::ConstructFileStream ( const char *  aFilename)

Definition at line 75 of file fileoutputstream_std.cpp.

◆ doReferencesFromItemIdExist()

bool HEIF::doReferencesFromItemIdExist ( const MetaBox metaBox,
ImageId  itemId,
const FourCCInt referenceType 
)

Check if one or more references from an item exists.

Parameters
metaBoxMetaBox containing the item and possible references
itemIdID of the item to search references for
referenceType4CC reference type
Returns
True if one or more referenceType references from the item exists.

Definition at line 3669 of file heifreaderimpl.cpp.

References MetaBox::getItemReferenceBox(), and ItemReferenceBox::getReferencesOfType().

Referenced by HEIF::HeifReaderImpl::extractMetaBoxItemPropertiesMap(), and HEIF::HeifReaderImpl::getMasterImages().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ doReferencesToItemIdExist()

bool HEIF::doReferencesToItemIdExist ( const MetaBox metaBox,
ImageId  itemId,
const FourCCInt referenceType 
)

Check if one or more references to an item exists.

Parameters
metaBoxMetaBox containing the item and possible references
itemIdID of the item to search references for
referenceType4CC reference type
Returns
True if one or more referenceType references to the item exists.

Definition at line 3683 of file heifreaderimpl.cpp.

References MetaBox::getItemReferenceBox(), and ItemReferenceBox::getReferencesOfType().

Referenced by HEIF::HeifReaderImpl::extractMetaBoxItemPropertiesMap().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getRawItemType()

ErrorCode HEIF::getRawItemType ( const MetaBox metaBox,
ImageId  itemId,
FourCCInt type 
)

Helper function to get item type from the Item Information Box inside a MetaBox

Parameters
[in]metaBoxPointer to the MetaBox
[in]itemIdID of the item
[out]typetype name
Returns
ErrorCode: OK, INVALID_ITEM_ID

Definition at line 3582 of file heifreaderimpl.cpp.

References HEIF::ImageId::get(), ItemInfoBox::getItemById(), MetaBox::getItemInfoBox(), ItemInfoEntry::getItemType(), INVALID_ITEM_ID, and OK.

Referenced by HEIF::HeifReaderImpl::getItemData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ itemPropertyTypeFromPropertyType()

static ItemPropertyType HEIF::itemPropertyTypeFromPropertyType ( const ItemPropertiesBox::PropertyType aType)
static

Definition at line 1543 of file heifreaderimpl.cpp.

References ALTT, AUXC, AVCC, CLAP, COLR, CRTT, HVCC, IMIR, IROT, ISCL, ISPE, JPGC, MDFT, PASP, PIXI, PROPERTY_MAPPING, RAW, RLOC, RREF, and UDES.

Referenced by HEIF::HeifReaderImpl::processItemProperties().

Here is the caller graph for this function:

◆ makeArray() [1/16]

template<typename T , typename Container >
Array< T > HEIF::makeArray ( const Container &  container)

Template for making Array for the public API from a container.

Definition at line 3700 of file heifreaderimpl.cpp.

References HEIF::Array< T >::elements.

◆ makeArray() [2/16]

template Array< char > HEIF::makeArray ( const String container)

◆ makeArray() [3/16]

template Array< EditUnit > HEIF::makeArray ( const Vector< EditUnit > &  container)

◆ makeArray() [4/16]

template Array< FourCC > HEIF::makeArray ( const Vector< FourCC > &  container)

◆ makeArray() [5/16]

template Array< ImageId > HEIF::makeArray ( const Vector< ImageId > &  container)

◆ makeArray() [6/16]

template Array< ItemPropertyInfo > HEIF::makeArray ( const Vector< ItemPropertyInfo > &  container)

◆ makeArray() [7/16]

template Array< SampleGrouping > HEIF::makeArray ( const Vector< SampleGrouping > &  container)

◆ makeArray() [8/16]

template Array< SequenceId > HEIF::makeArray ( const Vector< SequenceId > &  container)

◆ makeArray() [9/16]

template Array< SequenceImageId > HEIF::makeArray ( const Vector< SequenceImageId > &  container)

◆ makeArray() [10/16]

template Array< std::int32_t > HEIF::makeArray ( const Vector< std::int32_t > &  container)

◆ makeArray() [11/16]

template Array< std::int64_t > HEIF::makeArray ( const Vector< std::int64_t > &  container)

◆ makeArray() [12/16]

template Array< std::uint32_t > HEIF::makeArray ( const Vector< std::uint32_t > &  container)

◆ makeArray() [13/16]

template Array< std::uint64_t > HEIF::makeArray ( const Vector< std::uint64_t > &  container)

◆ makeArray() [14/16]

template Array< std::uint8_t > HEIF::makeArray ( const Vector< std::uint8_t > &  container)

◆ makeArray() [15/16]

template Array< TimestampIDPair > HEIF::makeArray ( const Vector< TimestampIDPair > &  container)

◆ makeArray() [16/16]

template Array< ImageId > HEIF::makeArray ( const Vector< uint32_t > &  container)

◆ makeAuxi()

AuxiliaryType HEIF::makeAuxi ( const AuxiliaryTypeInfoBox auxiBox)

Convert AuxiliaryTypeInfoBox to Reader::AuxProperty.

Parameters
auxiBoxPointer to input AuxiliaryTypeInfoBox
Returns
A AuxProperty filled with data from AuxiliaryTypeInfoBox

Definition at line 3613 of file heifreaderimpl.cpp.

References HEIF::AuxiliaryType::auxType, AuxiliaryTypeInfoBox::getAuxType(), and HEIF::AuxiliaryType::subType.

Referenced by HEIF::HeifReaderImpl::fillSampleEntryMap().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeClap()

CleanAperture HEIF::makeClap ( const CleanApertureBox clapBox)

Convert CleanAperture to Reader::CleanAperture.

Parameters
clapBoxPointer to input CleanAperture
Returns
A CleanAperture filled with data from CleanAperture

Definition at line 3596 of file heifreaderimpl.cpp.

References CleanApertureBox::Fraction::denominator, CleanApertureBox::getHeight(), CleanApertureBox::getHorizOffset(), CleanApertureBox::getVertOffset(), CleanApertureBox::getWidth(), CleanApertureBox::Fraction::numerator, and HEIF::CleanAperture::widthN.

Referenced by HEIF::HeifReaderImpl::fillSampleEntryMap(), and HEIF::HeifReaderImpl::getProperty().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ openFile()

StreamInterface * HEIF::openFile ( const char *  filename)

Definition at line 25 of file heifstreamgeneric.cpp.

References CUSTOM_NEW.

Referenced by HEIF::HeifReaderImpl::initialize().

Here is the caller graph for this function:

◆ operator!=() [1/14]

bool HEIF::operator!= ( const AlternateGroupId a,
const AlternateGroupId b 
)
inline

Definition at line 24 of file writerdatatypesinternal.hpp.

◆ operator!=() [2/14]

bool HEIF::operator!= ( const DecoderConfigId a,
const DecoderConfigId b 
)
inline

Definition at line 204 of file heifcommondatatypes.h.

◆ operator!=() [3/14]

bool HEIF::operator!= ( const GroupId a,
const GroupId b 
)
inline

Definition at line 199 of file heifcommondatatypes.h.

◆ operator!=() [4/14]

bool HEIF::operator!= ( const ImageId a,
const ImageId b 
)
inline

Definition at line 200 of file heifcommondatatypes.h.

◆ operator!=() [5/14]

bool HEIF::operator!= ( const MediaDataId a,
const MediaDataId b 
)
inline

Definition at line 28 of file heifwriterdatatypes.h.

◆ operator!=() [6/14]

bool HEIF::operator!= ( const MetadataItemId a,
const MetadataItemId b 
)
inline

Definition at line 206 of file heifcommondatatypes.h.

◆ operator!=() [7/14]

bool HEIF::operator!= ( const PropertyId a,
const PropertyId b 
)
inline

Definition at line 205 of file heifcommondatatypes.h.

◆ operator!=() [8/14]

bool HEIF::operator!= ( const SampleDescriptionIndex a,
const SampleDescriptionIndex b 
)
inline

Definition at line 187 of file heiffiledatatypesinternal.hpp.

◆ operator!=() [9/14]

bool HEIF::operator!= ( const SegmentId a,
const SegmentId b 
)
inline

Definition at line 201 of file heifcommondatatypes.h.

◆ operator!=() [10/14]

bool HEIF::operator!= ( const Sequence a,
const Sequence b 
)
inline

Definition at line 186 of file heiffiledatatypesinternal.hpp.

◆ operator!=() [11/14]

bool HEIF::operator!= ( const SequenceId a,
const SequenceId b 
)
inline

Definition at line 203 of file heifcommondatatypes.h.

◆ operator!=() [12/14]

bool HEIF::operator!= ( const SequenceImageId a,
const SequenceImageId b 
)
inline

Definition at line 202 of file heifcommondatatypes.h.

◆ operator!=() [13/14]

bool HEIF::operator!= ( const TrackGroupId a,
const TrackGroupId b 
)
inline

Definition at line 207 of file heifcommondatatypes.h.

◆ operator!=() [14/14]

bool HEIF::operator!= ( const TrackId a,
const TrackId b 
)
inline

Definition at line 23 of file writerdatatypesinternal.hpp.

◆ operator<() [1/14]

bool HEIF::operator< ( const AlternateGroupId a,
const AlternateGroupId b 
)
inline

Definition at line 24 of file writerdatatypesinternal.hpp.

◆ operator<() [2/14]

bool HEIF::operator< ( const DecoderConfigId a,
const DecoderConfigId b 
)
inline

Definition at line 204 of file heifcommondatatypes.h.

◆ operator<() [3/14]

bool HEIF::operator< ( const GroupId a,
const GroupId b 
)
inline

Definition at line 199 of file heifcommondatatypes.h.

◆ operator<() [4/14]

bool HEIF::operator< ( const ImageId a,
const ImageId b 
)
inline

Definition at line 200 of file heifcommondatatypes.h.

◆ operator<() [5/14]

bool HEIF::operator< ( const MediaDataId a,
const MediaDataId b 
)
inline

Definition at line 28 of file heifwriterdatatypes.h.

◆ operator<() [6/14]

bool HEIF::operator< ( const MetadataItemId a,
const MetadataItemId b 
)
inline

Definition at line 206 of file heifcommondatatypes.h.

◆ operator<() [7/14]

bool HEIF::operator< ( const PropertyId a,
const PropertyId b 
)
inline

Definition at line 205 of file heifcommondatatypes.h.

◆ operator<() [8/14]

bool HEIF::operator< ( const SampleDescriptionIndex a,
const SampleDescriptionIndex b 
)
inline

Definition at line 187 of file heiffiledatatypesinternal.hpp.

◆ operator<() [9/14]

bool HEIF::operator< ( const SegmentId a,
const SegmentId b 
)
inline

Definition at line 201 of file heifcommondatatypes.h.

◆ operator<() [10/14]

bool HEIF::operator< ( const Sequence a,
const Sequence b 
)
inline

Definition at line 186 of file heiffiledatatypesinternal.hpp.

◆ operator<() [11/14]

bool HEIF::operator< ( const SequenceId a,
const SequenceId b 
)
inline

Definition at line 203 of file heifcommondatatypes.h.

◆ operator<() [12/14]

bool HEIF::operator< ( const SequenceImageId a,
const SequenceImageId b 
)
inline

Definition at line 202 of file heifcommondatatypes.h.

◆ operator<() [13/14]

bool HEIF::operator< ( const TrackGroupId a,
const TrackGroupId b 
)
inline

Definition at line 207 of file heifcommondatatypes.h.

◆ operator<() [14/14]

bool HEIF::operator< ( const TrackId a,
const TrackId b 
)
inline

Definition at line 23 of file writerdatatypesinternal.hpp.

◆ operator==() [1/14]

bool HEIF::operator== ( const AlternateGroupId a,
const AlternateGroupId b 
)
inline

Definition at line 24 of file writerdatatypesinternal.hpp.

◆ operator==() [2/14]

bool HEIF::operator== ( const DecoderConfigId a,
const DecoderConfigId b 
)
inline

Definition at line 204 of file heifcommondatatypes.h.

◆ operator==() [3/14]

bool HEIF::operator== ( const GroupId a,
const GroupId b 
)
inline

Definition at line 199 of file heifcommondatatypes.h.

◆ operator==() [4/14]

bool HEIF::operator== ( const ImageId a,
const ImageId b 
)
inline

Definition at line 200 of file heifcommondatatypes.h.

◆ operator==() [5/14]

bool HEIF::operator== ( const MediaDataId a,
const MediaDataId b 
)
inline

Definition at line 28 of file heifwriterdatatypes.h.

◆ operator==() [6/14]

bool HEIF::operator== ( const MetadataItemId a,
const MetadataItemId b 
)
inline

Definition at line 206 of file heifcommondatatypes.h.

◆ operator==() [7/14]

bool HEIF::operator== ( const PropertyId a,
const PropertyId b 
)
inline

Definition at line 205 of file heifcommondatatypes.h.

◆ operator==() [8/14]

bool HEIF::operator== ( const SampleDescriptionIndex a,
const SampleDescriptionIndex b 
)
inline

Definition at line 187 of file heiffiledatatypesinternal.hpp.

◆ operator==() [9/14]

bool HEIF::operator== ( const SegmentId a,
const SegmentId b 
)
inline

Definition at line 201 of file heifcommondatatypes.h.

◆ operator==() [10/14]

bool HEIF::operator== ( const Sequence a,
const Sequence b 
)
inline

Definition at line 186 of file heiffiledatatypesinternal.hpp.

◆ operator==() [11/14]

bool HEIF::operator== ( const SequenceId a,
const SequenceId b 
)
inline

Definition at line 203 of file heifcommondatatypes.h.

◆ operator==() [12/14]

bool HEIF::operator== ( const SequenceImageId a,
const SequenceImageId b 
)
inline

Definition at line 202 of file heifcommondatatypes.h.

◆ operator==() [13/14]

bool HEIF::operator== ( const TrackGroupId a,
const TrackGroupId b 
)
inline

Definition at line 207 of file heifcommondatatypes.h.

◆ operator==() [14/14]

bool HEIF::operator== ( const TrackId a,
const TrackId b 
)
inline

Definition at line 23 of file writerdatatypesinternal.hpp.

◆ operator>() [1/14]

bool HEIF::operator> ( const AlternateGroupId a,
const AlternateGroupId b 
)
inline

Definition at line 24 of file writerdatatypesinternal.hpp.

◆ operator>() [2/14]

bool HEIF::operator> ( const DecoderConfigId a,
const DecoderConfigId b 
)
inline

Definition at line 204 of file heifcommondatatypes.h.

◆ operator>() [3/14]

bool HEIF::operator> ( const GroupId a,
const GroupId b 
)
inline

Definition at line 199 of file heifcommondatatypes.h.

◆ operator>() [4/14]

bool HEIF::operator> ( const ImageId a,
const ImageId b 
)
inline

Definition at line 200 of file heifcommondatatypes.h.

◆ operator>() [5/14]

bool HEIF::operator> ( const MediaDataId a,
const MediaDataId b 
)
inline

Definition at line 28 of file heifwriterdatatypes.h.

◆ operator>() [6/14]

bool HEIF::operator> ( const MetadataItemId a,
const MetadataItemId b 
)
inline

Definition at line 206 of file heifcommondatatypes.h.

◆ operator>() [7/14]

bool HEIF::operator> ( const PropertyId a,
const PropertyId b 
)
inline

Definition at line 205 of file heifcommondatatypes.h.

◆ operator>() [8/14]

bool HEIF::operator> ( const SampleDescriptionIndex a,
const SampleDescriptionIndex b 
)
inline

Definition at line 187 of file heiffiledatatypesinternal.hpp.

◆ operator>() [9/14]

bool HEIF::operator> ( const SegmentId a,
const SegmentId b 
)
inline

Definition at line 201 of file heifcommondatatypes.h.

◆ operator>() [10/14]

bool HEIF::operator> ( const Sequence a,
const Sequence b 
)
inline

Definition at line 186 of file heiffiledatatypesinternal.hpp.

◆ operator>() [11/14]

bool HEIF::operator> ( const SequenceId a,
const SequenceId b 
)
inline

Definition at line 203 of file heifcommondatatypes.h.

◆ operator>() [12/14]

bool HEIF::operator> ( const SequenceImageId a,
const SequenceImageId b 
)
inline

Definition at line 202 of file heifcommondatatypes.h.

◆ operator>() [13/14]

bool HEIF::operator> ( const TrackGroupId a,
const TrackGroupId b 
)
inline

Definition at line 207 of file heifcommondatatypes.h.

◆ operator>() [14/14]

bool HEIF::operator> ( const TrackId a,
const TrackId b 
)
inline

Definition at line 23 of file writerdatatypesinternal.hpp.