InStreamDrcToFileFormatDrc
IntroductionUse the links in the table of contents to the left to access the documentation.
Functions
createStaticDrcDataFromAudioTrackMP4Err createStaticDrcDataFromAudioTrack ( MP4Track trak, StaticDrcData *staticDrcData); ParametersReturn ValueAn MP4Err, which is defined libisomediafile.a; MP4NoErr if nothing fails DiscussionCollects the static drc data contained inside an audio track initDrcBitstreamMP4Err initDrcBitstream ( StaticDrcData *staticDrcData, DrcBitstreamHandle *drcBitStreamHandle); ParametersReturn ValueAn MP4Err, which is defined libisomediafile.a; MP4NoErr if nothing fails DiscussionInitializes the buffer for the drc output file prepareDrcBitStreamHelperMP4Err prepareDrcBitStreamHelper ( DrcBitStreamHelper *drcBitStreamHelper, DrcBitstreamHandle *drcBitStreamHandle, StaticDrcData *staticDrcData); ParametersReturn ValueAn MP4Err, which is defined libisomediafile.a; MP4NoErr if nothing fails DiscussionPrepares a DrcBitStreamHelper by checking static drc data and set buffer position and offset correctly * writeDrcGainToBitstreamMP4Err writeDrcGainToBitstream ( MP4Handle packetH, DrcBitstreamHandle *drcBitStreamHandle, DrcBitStreamHelper *drcBitStreamHelper); ParametersReturn ValueAn MP4Err, which is defined libisomediafile.a; MP4NoErr if nothing fails DiscussionWrites 0 for uniDrcLoudnessInfoSetPresent flag and checks the uniDrcGain() contained in the packetH. It then writes the bits of the gain to the bitstreamBuffer. Additional buffersize will be allocated and the padding bits will be dropped. * writeStaticDrcDataToBitstreamMP4Err writeStaticDrcDataToBitstream ( StaticDrcData *staticDrcData, DrcBitstreamHandle *drcBitStreamHandle); ParametersReturn ValueAn MP4Err, which is defined libisomediafile.a; MP4NoErr if nothing fails DiscussionConverts the file format syntax to in stream syntax for static drc data and writes the in stream data in the drc buffer. * Typedefs
DrcBitstreamHandleContains information to control a writeonlybitbuf, which operates on bit level. * typedef struct DrcBitstreamHandle { int totalBufferSizeInBytes; int currentBytePosition; int offsetInBits; unsigned char *bitstreamBuffer; wobitbufHandle bitstream; } DrcBitstreamHandle; Fields
DrcBitStreamHelperContains handles for the DrcBitstreamDecoderLib. Will be used for checking written drc data and to obtain the exact size in bits for specific drc parts. * typedef struct DrcBitStreamHelper { HANDLE_UNI_DRC_BS_DEC_STRUCT hUniDrcBsDecStruct; HANDLE_UNI_DRC_CONFIG hUniDrcConfig; HANDLE_LOUDNESS_INFO_SET hLoudnessInfoSet; HANDLE_UNI_DRC_GAIN hUniDrcGain; int gainCount; } DrcBitStreamHelper; FieldsStaticDrcDataRepresents the static drc data in file format syntax. Contains all drc related atoms and fields. * typedef struct StaticDrcData { int channelCount; int sampleRate; int bytesPerSample; int drcLocation; MP4LoudnessAtomPtr loudnessAtom; MP4ChannelLayoutAtomPtr channelLayoutAtom; MP4LinkedList downMixInstructionsAtoms; MP4LinkedList drcCoefficientsBasicAtoms; MP4LinkedList drcInstructionsBasicAtoms; MP4LinkedList drcCoefficientsUniDrcAtoms; MP4LinkedList drcInstructionsUniDrcAtoms; } StaticDrcData; Fields
|