codec_type.h

Overview

Related Modules:

Codec

Description:

Declares custom data types used in API declarations for the Codec module, including the codec types, audio and video parameters, input and output data, and callbacks.

Since:

1.0

Version:

1.0

Summary

Data Structures

Data Structure Name Description
Param Describes the dynamic parameter structure, which is mainly used by CodecCreate and CodecSetParameter.
BufferHandle Defines the buffer handle type. The virtual address of a handle maps to its physical address.
CodecBufferInfo Describes buffer information.
InputInfo Describes input information.
OutputInfo Describes output information.
ResizableArray Defines a variable-length queue.
Alginment Defines the alignment.
Rect Defines a rectangle.
Capbility Defines the codec capability.
CodecCallback Defines callbacks and their parameters.

Macros

Macro Name and Value Description
ELEMENT_MAX_LEN 50 Indicates the maximum number of reserved parameters in the array.

Typedefs

Typedef Name Description
CODEC_HANDLETYPE typedef void Defines the pointer to the codec handle, which is the context information for function calls.
ValueType typedef void Defines the pointer to the type of the dynamic parameter value.
BufferHandle typedef struct BufferHandle Defines the buffer handle type. The virtual address of a handle maps to its physical address.
BufferType typedef enum BufferType Enumerates buffer types.
OutputInfo typedef struct OutputInfo Describes output information.
AllocateBufferMode typedef enum AllocateBufferMode Enumerates allocation modes of input and output buffers.
CapsMask typedef enum CapsMask Enumerates playback capabilities.
CodecCapbility typedef struct Capbility Defines the codec capability.
UINTPTR typedef uintptr_t Redefines the unsigned pointer type, which is used for pointer conversion.

Enumerations

Enumeration Name Description
CodecType { VIDEO_DECODER, VIDEO_ENCODER, AUDIO_DECODER, AUDIO_ENCODER, INVALID_TYPE } Enumerates codec types.
ParamKey { KEY_MIMETYPE = 0x01, KEY_BUFFERSIZE, KEY_LEFT_STREAM_FRAMES, KEY_CODEC_TYPE, KEY_DIRECTION_TYPE, KEY_BITRATE = 0x500, KEY_WIDTH = 0x1000, KEY_HEIGHT, KEY_STRIDE, KEY_VIDEO_FIELD, KEY_PIXEL_FORMAT, KEY_VIDEO_RC_MODE, KEY_VIDEO_GOP_MODE, KEY_VIDEO_PIC_SIZE, KEY_VIDEO_PROFILE, KEY_VIDEO_FRAME_RATE, KEY_SAMPLE_RATE = 0x1500, KEY_AUDIO_PROFILE, KEY_CHANNEL_COUNT, KEY_BITWITH, KEY_SOUND_MODE, KEY_POINT_NUM_PER_FRAME, KEY_DEVICE_ID } Enumerates indexes of parameter types.
VenCodeRcMode { VENCOD_RC_CBR = 0, VENCOD_RC_VBR, VENCOD_RC_AVBR, VENCOD_RC_QVBR, VENCOD_RC_CVBR, VENCOD_RC_QPMAP, VENCOD_RC_FIXQP } Enumerates control modes of the channel encoding rate.
PicSize { Resolution_CIF, Resolution_360P, Resolution_D1_PAL, Resolution_D1_NTSC, Resolution_720P, Resolution_1080P, Resolution_INVALID } Enumerates resolutions.
VenCodeGopMode { VENCOD_GOPMODE_NORMALP = 0, VENCOD_GOPMODE_DUALP = 1, VENCOD_GOPMODE_SMARTP = 2, VENCOD_GOPMODE_ADVSMARTP = 3, VENCOD_GOPMODE_BIPREDB = 4, VENCOD_GOPMODE_LOWDELAYB = 5, VENCOD_GOPMODE_INVALID } Enumerates types of group of pictures (GOP).
VideoField { VID_FIELD_TOP = 0x1, VID_FIELD_BOTTOM = 0x2, VID_FIELD_INTERLACED = 0x3, VID_FIELD_FRAME = 0x4, VID_FIELD_INVALID } Enumerates video frame fields.
PixelFormat { YVU_SEMIPLANAR_420 = 0, YVU_SEMIPLANAR_420_TILE, PIX_FORMAT_INVALID } Enumerates pixel formats.
AudioSoundMode { AUD_SOUND_MODE_MONO = 0, AUD_SOUND_MODE_STEREO = 1, AUD_SOUND_MODE_INVALID } Enumerates audio channel modes.
AudioSampleRate { AUD_SAMPLE_RATE_8000 = 8000, AUD_SAMPLE_RATE_12000 = 12000, AUD_SAMPLE_RATE_11025 = 11025, AUD_SAMPLE_RATE_16000 = 16000, AUD_SAMPLE_RATE_22050 = 22050, AUD_SAMPLE_RATE_24000 = 24000, AUD_SAMPLE_RATE_32000 = 32000, AUD_SAMPLE_RATE_44100 = 44100, AUD_SAMPLE_RATE_48000 = 48000, AUD_SAMPLE_RATE_64000 = 64000, AUD_SAMPLE_RATE_96000 = 96000, AUD_SAMPLE_RATE_INVALID } Enumerates audio sampling rates.
AudioBitRate { AUD_AAC_BPS_8K = 8000, AUD_AAC_BPS_16K = 16000, AUD_AAC_BPS_22K = 22000, AUD_AAC_BPS_24K = 24000, AUD_AAC_BPS_32K = 32000, AUD_AAC_BPS_48K = 48000, AUD_AAC_BPS_64K = 64000, AUD_AAC_BPS_96K = 96000, AUD_AAC_BPS_128K = 128000, AUD_AAC_BPS_256K = 256000, AUD_AAC_BPS_320K = 320000 } Enumerates audio bit rates.
StreamFlagType { STREAM_FLAG_KEYFRAME = 1, STREAM_FLAG_CODEC_SPECIFIC_INF = 2, STREAM_FLAG_EOS = 4, STREAM_FLAG_PART_OF_FRAME = 8, STREAM_FLAG_END_OF_FRAME = 16 } Enumerates stream flags.
BufferType { BUFFER_TYPE_VIRTUAL = 0, BUFFER_TYPE_FD, BUFFER_TYPE_HANDLE } Enumerates buffer types.
AvCodecMime { MEDIA_MIMETYPE_IMAGE_JPEG = 0, MEDIA_MIMETYPE_VIDEO_AVC, MEDIA_MIMETYPE_VIDEO_HEVC, MEDIA_MIMETYPE_AUDIO_AAC, MEDIA_MIMETYPE_INVALID } Enumerates MIME types.
Profile { INVALID_PROFILE = 0, AAC_LC_PROFILE = 0x1000, AAC_MAIN_PROFILE, AAC_HE_V1_PROFILE, AAC_HE_V2_PROFILE, AAC_LD_PROFILE, AAC_ELD_PROFILE, AVC_BASELINE_PROFILE = 0x2000, AVC_MAIN_PROFILE, AVC_HIGH_PROFILE, HEVC_MAIN_PROFILE = 0x3000, HEVC_MAIN_10_PROFILE } Enumerates codec profiles.
Level { INVALID_LEVEL = 0, AVC_LEVEL_1 = 0x1000, HEVC_LEVEL_MAIN_1 = 0x2000, HEVC_LEVEL_MAIN_2 } Enumerates codec levels.
AllocateBufferMode { ALLOCATE_INPUT_BUFFER_CODEC = 0x1, ALLOCATE_INPUT_BUFFER_USER = 0x2, ALLOCATE_OUTPUT_BUFFER_CODEC = 0x4, ALLOCATE_OUTPUT_BUFFER_USER = 0x8 } Enumerates allocation modes of input and output buffers.
CapsMask { ADAPTIVE_PLAYBACK = 0x1, SECURE_PLAYBACK = 0x2 } Enumerates playback capabilities.
EventType { EventError, EventFlushCompelte, EventStopCompelte, EventOutFormatChanged, EventMax = 0x1FFFFFFF } Enumerates event types.
DirectionType { INPUT_TYPE, OUTPUT_TYPE, ALL_TYPE } Enumerates input and output types.
BufferMode { INTERNAL, EXTERNAL } Enumerates allocation types.
{ CODEC_ERR_STREAM_BUF_FULL = 100, CODEC_ERR_FRAME_BUF_EMPTY, CODEC_RECEIVE_EOS, CODEC_ERR_INVALID_OP } Enumerates codec error types.