native_avcodec_base.h
Overview
The native_avcodec_base.h file declares the common structs, character constants, and enums for running OH_AVCodec instances.
Since
9
Related Modules
Summary
Structs
Name | Description |
---|---|
OH_AVCodecBufferAttr | Defines the description information about the buffer of an OH_AVCodec instance. |
OH_AVCodecAsyncCallback | Defines all the asynchronous callback function pointers of an OH_AVCodec instance. |
Types
Name | Description |
---|---|
OH_AVCodecBufferFlags | Defines an enum that enumerates the flags for the buffer of an OH_AVCodec instance. |
OH_AVOutputFormat | Defines an enum that enumerates the output file formats of a muxer. |
OH_AVCodecBufferAttr | Defines a struct for the description information about the buffer of an OH_AVCodec instance. |
(*OH_AVCodecOnError) (OH_AVCodec *codec, int32_t errorCode, void *userData) | Defines the pointer to the function that is called to report error information when an error occurs during the running of an OH_AVCodec instance. |
(*OH_AVCodecOnStreamChanged) (OH_AVCodec *codec, OH_AVFormat *format, void *userData) | Defines the pointer to the function that is called to report the new stream description when the output stream changes. |
(*OH_AVCodecOnNeedInputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, void *userData) | Defines the pointer to the function that is called when new input data is required during the running of an OH_AVCodec instance. The function carries a buffer to fill in new input data. |
(*OH_AVCodecOnNewOutputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, OH_AVCodecBufferAttr *attr, void *userData) | Defines the pointer to the function that is called when new output data is generated during the running of an OH_AVCodec instance. The function carries a buffer filled with new output data. |
OH_AVCodecAsyncCallback | Defines a struct for all the asynchronous callback function pointers of an OH_AVCodec instance. |
OH_MediaType | Defines an enum that enumerates the media types. |
OH_AVCProfile | Defines an enum that enumerates the Advanced Video Coding (AVC) profiles. |
OH_HEVCProfile | Defines an enum that enumerates the High Efficiency Video Coding (HEVC) profiles. |
OH_AACProfile | Defines an enum that enumerates the Advanced Audio Coding (AAC) profiles. |
OH_AVSeekMode | Defines an enum that enumerates the seek modes. |
OH_ColorPrimary | Defines an enum that enumerates the primary colors. |
OH_TransferCharacteristic | Defines an enum that enumerates the transfer characteristics. |
OH_MatrixCoefficient | Defines an enum that enumerates the matrix coefficients. |
OH_BitsPerSample | Defines an enum that enumerates the number of audio bits for each coded sample. |
Enums
Name | Description |
---|---|
OH_AVCodecBufferFlags { AVCODEC_BUFFER_FLAGS_NONE = 0, AVCODEC_BUFFER_FLAGS_EOS = 1 << 0, AVCODEC_BUFFER_FLAGS_SYNC_FRAME = 1 << 1, AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME = 1 << 2, AVCODEC_BUFFER_FLAGS_CODEC_DATA = 1 << 3 } |
Enumerates the flags for the buffer of an OH_AVCodec instance. |
OH_AVOutputFormat { AV_OUTPUT_FORMAT_DEFAULT = 0, AV_OUTPUT_FORMAT_MPEG_4 = 2, AV_OUTPUT_FORMAT_M4A = 6 } |
Enumerates the output file formats of a muxer. |
OH_MediaType { MEDIA_TYPE_AUD = 0, MEDIA_TYPE_VID = 1 } |
Enumerates the media types. |
OH_AVCProfile { AVC_PROFILE_BASELINE = 0, AVC_PROFILE_HIGH = 4, AVC_PROFILE_MAIN = 8 } |
Enumerates the AVC profiles. |
OH_HEVCProfile { HEVC_PROFILE_MAIN = 0, HEVC_PROFILE_MAIN_10 = 1, HEVC_PROFILE_MAIN_STILL = 2, HEVC_PROFILE_MAIN_10_HDR10 = 3, HEVC_PROFILE_MAIN_10_HDR10_PLUS = 4 } |
Enumerates the HEVC profiles. |
OH_AACProfile { AAC_PROFILE_LC = 0 } |
Enumerates the AAC profiles. |
OH_AVSeekMode { SEEK_MODE_NEXT_SYNC = 0, SEEK_MODE_PREVIOUS_SYNC, SEEK_MODE_CLOSEST_SYNC } |
Enumerates the seek modes. |
OH_ColorPrimary { COLOR_PRIMARY_BT709 = 1, COLOR_PRIMARY_UNSPECIFIED = 2, COLOR_PRIMARY_BT470_M = 4, COLOR_PRIMARY_BT601_625 = 5, COLOR_PRIMARY_BT601_525 = 6, COLOR_PRIMARY_SMPTE_ST240 = 7, COLOR_PRIMARY_GENERIC_FILM = 8, COLOR_PRIMARY_BT2020 = 9, COLOR_PRIMARY_SMPTE_ST428 = 10, COLOR_PRIMARY_P3DCI = 11, COLOR_PRIMARY_P3D65 = 12 } |
Enumerates the primary colors. |
OH_TransferCharacteristic { TRANSFER_CHARACTERISTIC_BT709 = 1, TRANSFER_CHARACTERISTIC_UNSPECIFIED = 2, TRANSFER_CHARACTERISTIC_GAMMA_2_2 = 4, TRANSFER_CHARACTERISTIC_GAMMA_2_8 = 5, TRANSFER_CHARACTERISTIC_BT601 = 6, TRANSFER_CHARACTERISTIC_SMPTE_ST240 = 7, TRANSFER_CHARACTERISTIC_LINEAR = 8, TRANSFER_CHARACTERISTIC_LOG = 9, TRANSFER_CHARACTERISTIC_LOG_SQRT = 10, TRANSFER_CHARACTERISTIC_IEC_61966_2_4 = 11, TRANSFER_CHARACTERISTIC_BT1361 = 12, TRANSFER_CHARACTERISTIC_IEC_61966_2_1 = 13, TRANSFER_CHARACTERISTIC_BT2020_10BIT = 14, TRANSFER_CHARACTERISTIC_BT2020_12BIT = 15, TRANSFER_CHARACTERISTIC_PQ = 16, TRANSFER_CHARACTERISTIC_SMPTE_ST428 = 17, TRANSFER_CHARACTERISTIC_HLG = 18 } |
Enumerates the transfer characteristics. |
OH_MatrixCoefficient { MATRIX_COEFFICIENT_IDENTITY = 0, MATRIX_COEFFICIENT_BT709 = 1, MATRIX_COEFFICIENT_UNSPECIFIED = 2, MATRIX_COEFFICIENT_FCC = 4, MATRIX_COEFFICIENT_BT601_625 = 5, MATRIX_COEFFICIENT_BT601_525 = 6, MATRIX_COEFFICIENT_SMPTE_ST240 = 7, MATRIX_COEFFICIENT_YCGCO = 8, MATRIX_COEFFICIENT_BT2020_NCL = 9, MATRIX_COEFFICIENT_BT2020_CL = 10, MATRIX_COEFFICIENT_SMPTE_ST2085 = 11, MATRIX_COEFFICIENT_CHROMATICITY_NCL = 12, MATRIX_COEFFICIENT_CHROMATICITY_CL = 13, MATRIX_COEFFICIENT_ICTCP = 14 } |
Enumerates the matrix coefficients. |
OH_BitsPerSample { SAMPLE_U8 = 0, SAMPLE_S16LE = 1, SAMPLE_S24LE = 2, SAMPLE_S32LE = 3, SAMPLE_F32LE = 4,i SAMPLE_U8P = 5, SAMPLE_S16P = 6, SAMPLE_S24P = 7, SAMPLE_S32P = 8, SAMPLE_F32P = 9, INVALID_WIDTH = -1 } |
Enumerates the number of audio bits for each coded sample. |
Variables
Name | Description |
---|---|
OH_AVCodecBufferAttr::pts | Defines the display timestamp of the buffer, in microseconds. |
OH_AVCodecBufferAttr::size | Defines the size of data contained in the buffer, in bytes. |
OH_AVCodecBufferAttr::offset | Defines the offset of valid data in the buffer. |
OH_AVCodecBufferAttr::flags | Defines the flags of the buffer. It is a combination of multiple OH_AVCodecBufferFlags. |
OH_AVCodecAsyncCallback::onError | Defines the callback used to report a codec operation error. For details, see OH_AVCodecOnError. |
OH_AVCodecAsyncCallback::onStreamChanged | Defines the callback used to report a codec stream change. For details, see OH_AVCodecOnStreamChanged. |
OH_AVCodecAsyncCallback::onNeedInputData | Defines the callback used to report input data required. For details, see OH_AVCodecOnNeedInputData. |
OH_AVCodecAsyncCallback::onNeedOutputData | Defines the callback used to report output data generated. For details, see OH_AVCodecOnNewOutputData. |
*OH_AVCODEC_MIMETYPE_VIDEO_AVC | Defines the pointer to the Multipurpose Internet Mail Extension (MIME) type for AVC video codec. |
*OH_AVCODEC_MIMETYPE_AUDIO_AAC | Defines the pointer to the MIME type for AAC audio codec. |
*OH_AVCODEC_MIMETYPE_VIDEO_MPEG4 | Defines the pointer to the MIME type for MPEG4 video codec. |
*OH_AVCODEC_MIMETYPE_VIDEO_HEVC | Defines the pointer to the MIME type for HEVC video codec. |
*OH_AVCODEC_MIMETYPE_AUDIO_MPEG | Defines the pointer to the MIME type for MPEG audio codec. |
*OH_AVCODEC_MIMETYPE_IMAGE_JPG | Defines the pointer to the MIME type for JPG image codec. |
*OH_AVCODEC_MIMETYPE_IMAGE_PNG | Defines the pointer to the MIME type for PNG image codec. |
*OH_AVCODEC_MIMETYPE_IMAGE_BMP | Defines the pointer to the MIME type for BMP image codec. |
*OH_AVCODEC_MIMETYPE_AUDIO_FLAC | Defines the pointer to the MIME type for FLAC audio codec. |
*OH_AVCODEC_MIMETYPE_AUDIO_VORBIS | Defines the pointer to the MIME type for VORBIS audio codec. |
*OH_ED_KEY_TIME_STAMP | Defines the pointer to the timestamp in the extra data of the surface. The value type is int64. |
*OH_ED_KEY_EOS | Defines the pointer to the end of stream (EOS) in the extra data of the surface. The value type is Boolean. |
*OH_MD_KEY_TRACK_TYPE | Defines the pointer to a container for storing media descriptions. |
*OH_MD_KEY_CODEC_MIME | Define the pointer to the MIME type of codec. The value is a string. |
*OH_MD_KEY_DURATION | Defines the pointer to the duration. The value type is int64_t. |
*OH_MD_KEY_BITRATE | Defines the pointer to the bit rate. The value type is uint32_t. |
*OH_MD_KEY_MAX_INPUT_SIZE | Defines the pointer to the maximum input size. The value type is uint32_t. |
*OH_MD_KEY_WIDTH | Defines the pointer to the video width. The value type is uint32_t. |
*OH_MD_KEY_HEIGHT | Defines the pointer to the video height. The value type is uint32_t. |
*OH_MD_KEY_PIXEL_FORMAT | Defines the pointer to the video pixel format. The value type is int32_t. For details, see OH_AVPixelFormat. |
*OH_MD_KEY_RANGE_FLAG | Defines the pointer to the video YUV value range flag. The value type is Boolean. |
*OH_MD_KEY_COLOR_PRIMARIES | Defines the pointer to the primary color of the video. The value type is int32_t. |
*OH_MD_KEY_TRANSFER_CHARACTERISTICS | Defines the pointer to the video transfer characteristics. The value type is int32_t. |
*OH_MD_KEY_MATRIX_COEFFICIENTS | Defines the pointer to the video matrix coefficient. The value type is int32_t. |
*OH_MD_KEY_AUDIO_SAMPLE_FORMAT | Defines the pointer to the original audio format. The value type is uint32_t. |
*OH_MD_KEY_FRAME_RATE | Defines the pointer to the video frame rate. The value is a double-precision floating point number. |
*OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE | Defines the pointer to the video encoding bit rate mode. The value type is int32_t. For details, see OH_VideoEncodeBitrateMode. |
*OH_MD_KEY_PROFILE | Defines the pointer to the encoding template. The value is a number. For details, see OH_AVCProfile, OH_AACProfile, or CodecBase. |
*OH_MD_KEY_AUD_CHANNEL_COUNT | Defines the pointer to the number of audio channels. The value type is uint32_t. |
*OH_MD_KEY_AUD_SAMPLE_RATE | Defines the pointer to the audio sampling rate. The value type is uint32_t. |
*OH_MD_KEY_I_FRAME_INTERVAL | Defines the pointer to the key frame interval, in milliseconds. The value type is int32_t. |
*OH_MD_KEY_ROTATION | Defines the pointer to the rotation angle of the surface. The value type is int32_t, and the value range is {0, 90, 180, 270}. The default value is 0. |
*OH_MD_KEY_CODEC_CONFIG | Defines the pointer to the codec-specific data. The value type is uint8_t*. |
*OH_MD_KEY_REQUEST_I_FRAME | Defines the pointer to the request for immediate encoding of I-frames. The value type is Boolean. |
*OH_MD_KEY_QUALITY | Defines the pointer to the required encoding quality. The value type is uint32_t. This key applies only to encoders configured in constant quality mode. |
*OH_MD_KEY_CHANNEL_LAYOUT | Defines the pointer to the required encoding channel layout. The value type is int64_t. This key applies only to encoders. |
*OH_MD_KEY_BITS_PER_CODED_SAMPLE | Defines the pointer to the number of bits for each coded sample. The value type is uint32_t. This key applies to FLAC encoders. |
*OH_MD_KEY_AAC_IS_ADTS | Defines the pointer to the AAC format. The value type is uint32_t. This key applies to AAC decoders. |
*OH_MD_KEY_SBR | Defines the pointer to the AAC SBR format. The value type is uint32_t. This key applies to AAC encoders. |
*OH_MD_KEY_COMPLIANCE_LEVEL | Defines the pointer to the FLAC compliance level. The value type is int32_t. |
*OH_MD_KEY_IDENTIFICATION_HEADER | Defines the pointer to the VORBIS identification header. The value type is uint8_t*. This key applies only to VORBIS decoders. |
*OH_MD_KEY_SETUP_HEADER | Defines the pointer to the VORBIS setup header. The value type is uint8_t*. This key applies only to VORBIS decoders. |
*OH_MD_KEY_TITLE | Defines the pointer to the title of the input media. The value is a string. |
*OH_MD_KEY_ARTIST | Defines the pointer to the artist of the input media. The value is a string. |
*OH_MD_KEY_ALBUM | Defines the pointer to the album of the input media. The value is a string. |
*OH_MD_KEY_ALBUM_ARTIST | Defines the pointer to the album_artist of the input media. The value is a string. |
*OH_MD_KEY_DATE | Defines the pointer to the date of the input media. The value is a string. |
*OH_MD_KEY_COMMENT | Defines the pointer to the comment of the input media. The value is a string. |
*OH_MD_KEY_GENRE | Defines the pointer to the genre of the input media. The value is a string. |
*OH_MD_KEY_COPYRIGHT | Defines the pointer to the copyright of the input media. The value is a string. |
*OH_MD_KEY_LANGUAGE | Defines the pointer to the language of the input media. The value is a string. |
*OH_MD_KEY_DESCRIPTION | Defines the pointer to the description of the input media. The value is a string. |
*OH_MD_KEY_LYRICS | Defines the pointer to the lyrics of the input media. The value is a string. |
*OH_MD_KEY_TRACK_COUNT | Defines the pointer to the track count of the input media. The value type is uint32_t. |
*OH_MD_MAX_INPUT_BUFFER_COUNT | Defines the pointer to the maximum number of input buffers. The value type is int32_t. |
*OH_MD_MAX_OUTPUT_BUFFER_COUNT | Defines the pointer to the maximum number of output buffers. The value type is int32_t. |