Crate openh264_sys [] [src]

Structs

ISVCDecoderVtbl
ISVCEncoderVtbl
SFrameBSInfo

@brief Frame bit stream info

SLTRConfig

@brief Structure for LTR configuration

SLTRMarkingFeedback

@brief Structure for LTR marking feedback

SLTRRecoverRequest

@brief Structure for LTR recover request

SLayerBSInfo

@brief Bitstream inforamtion of a layer being encoded

SRateThresholds

@brief thresholds of the initial, maximal and minimal rate

SSliceArgument

@brief Structure for slice argument

SSpatialLayerConfig

@brief Structure for spatial layer configuration

SVideoProperty

@brief Define a new struct to show the property of video bitstream.

SliceInformation

@brief Information of coded Slice(=NAL)(s)

Source_Picture_s

@brief Structure for source picture

TagBitrateInfo

@brief Structure for bit rate info

TagBufferInfo

@brief Buffer info

TagDecoderCapability

@brief The capability of decoder, for SDP negotiation

TagDeliveryStatus

@brief Structure for dilivery status

TagDumpLayer

@brief Structure for dump layer info

TagEncParamBase

@brief SVC Encoding Parameters

TagEncParamExt

@brief SVC Encoding Parameters extention

TagLevelInfo

@brief Structure for level info in layer

TagParserBsInfo

@brief Structure for parse only output

TagProfileInfo

@brief Structure for profile info in layer

TagSVCDecodingParam

@brief SVC Decoding Parameters, reserved here and potential applicable in the future

TagSysMemBuffer

@brief Structure for decoder memery

TagVideoDecoderStatistics

@brief Structure for decoder statistics

TagVideoEncoderStatistics

@brief Structure for encoder statistics

TagVuiSarInfo

@brief Structure for sample aspect ratio (SAR) info in VUI

_tagVersion

@brief Struct of OpenH264 version / /// /// E.g. SDK version is 1.2.0.0, major version number is 1, minor version number is 2, and revision number is 0.

Constants

ASP_10x11
ASP_12x11
ASP_15x11
ASP_160x99
ASP_16x11
ASP_18x11
ASP_1x1
ASP_20x11
ASP_24x11
ASP_32x11
ASP_40x33
ASP_64x33
ASP_80x33
ASP_EXT_SAR
ASP_UNSPECIFIED
AUTO_REF_PIC_COUNT
AVERAGE_RTP_PAYLOAD_LEN
CAMERA_VIDEO_NON_REAL_TIME
CAMERA_VIDEO_REAL_TIME

< camera video for real-time communication

CM_BT709
CM_BT2020C
CM_BT2020NC
CM_BT470BG
CM_FCC
CM_GBR
CM_NUM_ENUM
CM_RESERVED3
CM_SMPTE170M
CM_SMPTE240M
CM_UNDEF
CM_YCGCO
CONSTANT_ID

< constant id in SPS/PPS

CP_BT709
CP_BT2020
CP_BT470BG
CP_BT470M
CP_FILM
CP_NUM_ENUM
CP_RESERVED0
CP_RESERVED3
CP_SMPTE170M
CP_SMPTE240M
CP_UNDEF
DEBLOCKING_IDC_0
DEBLOCKING_IDC_1
DEBLOCKING_IDC_2
DEBLOCKING_OFFSET
DEBLOCKING_OFFSET_MINUS
DECODER_OPTION_END_OF_STREAM

< end of stream flag

DECODER_OPTION_ERROR_CON_IDC

< indicate decoder error concealment method

DECODER_OPTION_FRAME_NUM

< feedback current decoded frame number

DECODER_OPTION_GET_SAR_INFO

< feedback decoder Sample Aspect Ratio info in Vui

DECODER_OPTION_GET_STATISTICS

< feedback decoder statistics

DECODER_OPTION_IDR_PIC_ID

< feedback current frame belong to which IDR period

DECODER_OPTION_LEVEL

< get current AU level info,only is used in GetOption

DECODER_OPTION_LTR_MARKED_FRAME_NUM

< feedback frame num marked by current Frame

DECODER_OPTION_LTR_MARKING_FLAG

< feedback wether current frame mark a LTR

DECODER_OPTION_PROFILE

< get current AU profile info, only is used in GetOption

DECODER_OPTION_STATISTICS_LOG_INTERVAL

< set log output interval

DECODER_OPTION_TEMPORAL_ID

< feedback temporal id for application layer

DECODER_OPTION_TRACE_CALLBACK

< a void ()(void context, int level, const char* message) function which receives log messages

DECODER_OPTION_TRACE_CALLBACK_CONTEXT

< context info of trace callbac

DECODER_OPTION_TRACE_LEVEL
DECODER_OPTION_VCL_NAL

< feedback whether or not have VCL NAL in current AU for application layer

ENCODER_LTR_MARKING_FEEDBACK
ENCODER_LTR_MARKING_PERIOD
ENCODER_LTR_RECOVERY_REQUEST
ENCODER_OPTION_BITRATE
ENCODER_OPTION_BITS_VARY_PERCENTAGE

< bit vary percentage

ENCODER_OPTION_COMPLEXITY
ENCODER_OPTION_CURRENT_PATH
ENCODER_OPTION_DATAFORMAT
ENCODER_OPTION_DELIVERY_STATUS

< the delivery info which is a feedback from app level

ENCODER_OPTION_DUMP_FILE

< dump layer reconstruct frame to a specified file

ENCODER_OPTION_ENABLE_PREFIX_NAL_ADDING

< enable prefix: true--enable prefix; false--disable prefix

ENCODER_OPTION_ENABLE_SSEI

< enable SSEI: true--enable ssei; false--disable ssei

ENCODER_OPTION_FRAME_RATE

< maximal input frame rate, current supported range: MAX_FRAME_RATE = 30,MIN_FRAME_RATE = 1

ENCODER_OPTION_GET_STATISTICS

< read only

ENCODER_OPTION_IDR_INTERVAL

< IDR period,0/-1 means no Intra period (only the first frame); lager than 0 means the desired IDR period, must be multiple of (2^temporal_layer)

ENCODER_OPTION_INTER_SPATIAL_PRED
ENCODER_OPTION_IS_LOSSLESS_LINK

< advanced algorithmetic settings

ENCODER_OPTION_LEVEL

< assgin the level for each layer

ENCODER_OPTION_LTR

< 0:disable LTR;larger than 0 enable LTR; LTR number is fixed to be 2 in current encoder

ENCODER_OPTION_MAX_BITRATE
ENCODER_OPTION_NUMBER_REF

< the number of refererence frame

ENCODER_OPTION_PROFILE

< assgin the profile for each layer

ENCODER_OPTION_RC_FRAME_SKIP
ENCODER_OPTION_RC_MODE
ENCODER_OPTION_SPS_PPS_ID_STRATEGY

< different stategy in adjust ID in SPS/PPS: 0- constant ID, 1-additional ID, 6-mapping and additional

ENCODER_OPTION_STATISTICS_LOG_INTERVAL

< log interval in millisecond

ENCODER_OPTION_SVC_ENCODE_PARAM_BASE

< structure of Base Param

ENCODER_OPTION_SVC_ENCODE_PARAM_EXT

< structure of Extension Param

ENCODER_OPTION_TRACE_CALLBACK

< a void ()(void context, int level, const char* message) function which receives log messages

ENCODER_OPTION_TRACE_CALLBACK_CONTEXT

< context info of trace callback

ENCODER_OPTION_TRACE_LEVEL

< trace info based on the trace level

ENCODER_PADDING_PADDING

< 0:disable padding;1:padding

ERROR_CON_DISABLE
ERROR_CON_FRAME_COPY
ERROR_CON_FRAME_COPY_CROSS_IDR
ERROR_CON_SLICE_COPY
ERROR_CON_SLICE_COPY_CROSS_IDR
ERROR_CON_SLICE_COPY_CROSS_IDR_FREEZE_RES_CHANGE
ERROR_CON_SLICE_MV_COPY_CROSS_IDR
ERROR_CON_SLICE_MV_COPY_CROSS_IDR_FREEZE_RES_CHANGE
ET_FEC_FULL

< Forward Error Correction in 100% redundency mode

ET_FEC_HALF

< Forward Error Correction in 50% redundency mode

ET_FMO

< Flexible Macroblock Ordering

ET_IP_SCALE

< IP Scalable

ET_IR_R1

< Intra Refresh in predifined 2% MB

ET_IR_R2

< Intra Refresh in predifined 5% MB

ET_IR_R3

< Intra Refresh in predifined 10% MB

ET_NONE

< NONE Error Tools

ET_RFS

< Reference Frame Selection

FEEDBACK_NON_VCL_NAL
FEEDBACK_UNKNOWN_NAL
FEEDBACK_VCL_NAL
FRAME_NUM_IDR
FRAME_NUM_PARAM_SET
HIGH_COMPLEXITY

< high complexity, lowest speed, high quality

IDR_RECOVERY_REQUEST
INCREASING_ID

< SPS/PPS id increases at each IDR

LEVEL_1_0
LEVEL_1_1
LEVEL_1_2
LEVEL_1_3
LEVEL_1_B
LEVEL_2_0
LEVEL_2_1
LEVEL_2_2
LEVEL_3_0
LEVEL_3_1
LEVEL_3_2
LEVEL_4_0
LEVEL_4_1
LEVEL_4_2
LEVEL_5_0
LEVEL_5_1
LEVEL_5_2
LEVEL_UNKNOWN
LOW_COMPLEXITY

< the lowest compleixty,the fastest speed,

LTR_MARKING_FAILED
LTR_MARKING_SUCCESS
LTR_RECOVERY_REQUEST
MAX_LAYER_NUM_OF_FRAME
MAX_NAL_UNITS_IN_LAYER
MAX_QUALITY_LAYER_NUM
MAX_RTP_PAYLOAD_LEN
MAX_SLICES_NUM_TMP
MAX_SPATIAL_LAYER_NUM
MAX_TEMPORAL_LAYER_NUM
MEDIUM_COMPLEXITY

< medium complexity, medium speed,medium quality

NAL_PPS
NAL_PRIORITY_DISPOSABLE
NAL_PRIORITY_HIGH
NAL_PRIORITY_HIGHEST
NAL_PRIORITY_LOW
NAL_SEI

< ref_idc == 0

NAL_SLICE
NAL_SLICE_DPA
NAL_SLICE_DPB
NAL_SLICE_DPC
NAL_SLICE_IDR

< ref_idc != 0

NAL_SPS
NAL_UNKNOWN
NON_VIDEO_CODING_LAYER
NO_LTR_MARKING_FEEDBACK
NO_RECOVERY_REQUSET
OPENH264_MAJOR
OPENH264_MINOR
OPENH264_RESERVED
OPENH264_REVISION
PRO_BASELINE
PRO_CAVLC444
PRO_EXTENDED
PRO_HIGH
PRO_HIGH10
PRO_HIGH422
PRO_HIGH444
PRO_MAIN
PRO_SCALABLE_BASELINE
PRO_SCALABLE_HIGH
PRO_UNKNOWN
RC_BITRATE_MODE

< bitrate mode

RC_BITRATE_MODE_POST_SKIP

< this is in-building RC MODE, WILL BE DELETED after algorithm tuning!

RC_BUFFERBASED_MODE

< no bitrate control,only using buffer status,adjust the video quality

RC_OFF_MODE

< rate control off mode

RC_QUALITY_MODE

< quality mode

RC_TIMESTAMP_MODE
SAVED_NALUNIT_NUM_TMP
SCREEN_CONTENT_REAL_TIME

< screen content signal

SM_FIXEDSLCNUM_SLICE

< | according to SliceNum | enabled dynamic slicing for multi-thread

SM_RASTER_SLICE

< | according to SlicesAssign | need input of MB numbers each slice. In addition, if other constraint in SSliceArgument is presented, need to follow the constraints. Typically if MB num and slice size are both constrained, re-encoding may be involved.

SM_RESERVED
SM_SINGLE_SLICE

< | SliceNum==1

SM_SIZELIMITED_SLICE

< | according to SliceSize | slicing according to size, the slicing will be dynamic(have no idea about slice_nums until encoding current frame)

SPATIAL_LAYER_0
SPATIAL_LAYER_1
SPATIAL_LAYER_2
SPATIAL_LAYER_3
SPATIAL_LAYER_ALL
SPS_LISTING

< using SPS in the existing list if possible

SPS_LISTING_AND_PPS_INCREASING
SPS_PPS_LISTING
TRC_BT709
TRC_BT1361E
TRC_BT2020_10
TRC_BT2020_12
TRC_BT470BG
TRC_BT470M
TRC_IEC61966_2_1
TRC_IEC61966_2_4
TRC_LINEAR
TRC_LOG100
TRC_LOG316
TRC_NUM_ENUM
TRC_RESERVED0
TRC_RESERVED3
TRC_SMPTE170M
TRC_SMPTE240M
TRC_UNDEF
UNSPECIFIED_BIT_RATE
VF_COMPONENT
VF_MAC
VF_NTSC
VF_NUM_ENUM
VF_PAL
VF_SECAM
VF_UNDEF
VIDEO_BITSTREAM_AVC
VIDEO_BITSTREAM_DEFAULT
VIDEO_BITSTREAM_SVC
VIDEO_CODING_LAYER
WELS_LOG_DEBUG

< debug log, critical algo log

WELS_LOG_DEFAULT

< default log iLevel in Wels codec

WELS_LOG_DETAIL

< per packet/frame log

WELS_LOG_ERROR

< error log iLevel

WELS_LOG_INFO

< information log iLevel

WELS_LOG_LEVEL_COUNT
WELS_LOG_QUIET

< quiet mode

WELS_LOG_RESV

< resversed log iLevel

WELS_LOG_WARNING

< Warning log iLevel

__bool_true_false_are_defined
cmInitExpected

< initial action is expected

cmInitParaError

< parameters are invalid

cmMallocMemeError

< malloc a memory error

cmResultSuccess

< successful

cmUnknownReason
cmUnsupportedData
dsBitstreamError

< error bitstreams(maybe broken internal frame) the decoder cared

dsDataErrorConcealed

< current data error concealed specified

dsDepLayerLost

< dependented layer is ever lost

dsDstBufNeedExpan

< actual picture size exceeds size of dst pBuffer feed in decoder, so need expand its size

dsErrorFree

< bit stream error-free

dsFramePending

< need more throughput to generate a frame output,

dsInitialOptExpected

< initializing operation is expected

dsInvalidArgument

< invalid argument specified

dsNoParamSets

< no parameter set NALs involved

dsOutOfMemory

< out of memory due to new request

dsRefLost

< layer lost at reference frame with temporal id 0

false_
true_
videoFormatABGR
videoFormatARGB
videoFormatBGR
videoFormatBGRA
videoFormatI420

< the same as IYUV

videoFormatInternal

< only used in SVC decoder testbed

videoFormatNV12

< new format for output by DXVA decoding

videoFormatRGB

< rgb color formats

videoFormatRGB555
videoFormatRGB565
videoFormatRGBA
videoFormatUYVY
videoFormatVFlip
videoFormatYUY2

< yuv color formats

videoFormatYV12
videoFormatYVYU
videoFrameTypeI

< I frame type

videoFrameTypeIDR

< IDR frame in H.264

videoFrameTypeIPMixed

< a frame where I and P slices are mixing, not supported yet

videoFrameTypeInvalid

< encoder not ready or parameters are invalidate

videoFrameTypeP

< P frame type

videoFrameTypeSkip

< skip the frame based encoder kernel

Statics

g_stCodecVersion
g_strCodecVer
kiKeyNumMultiple

Functions

WelsCreateDecoder

@brief Create decoder @param ppDecoder decoder @return 0 - success; otherwise - failed;

WelsCreateSVCEncoder

@brief Create encoder @param ppEncoder encoder @return 0 - success; otherwise - failed;

WelsDestroyDecoder

@brief Destroy decoder @param pDecoder decoder @return void

WelsDestroySVCEncoder

@brief Destroy encoder @param pEncoder encoder @return void

WelsGetCodecVersion

@brief Get codec version Note, old versions of Mingw (GCC < 4.7) are buggy and use an incorrect/different ABI for calling this function, making it incompatible with MSVC builds. @return The linked codec version

WelsGetCodecVersionEx

@brief Get codec version @param pVersion struct to fill in with the version

WelsGetDecoderCapability

@brief Get the capability of decoder @param pDecCapability decoder capability @return 0 - success; otherwise - failed;

Type Definitions

CM_RETURN

@brief Enumerate return type

DECODER_OPTION

@brief Option types introduced in decoder application

DECODING_STATE

@brief Decoding status

ECOMPLEXITY_MODE

@brief Enumulate the complexity mode

EColorMatrix

@brief Enumerate the type of color matrix

EColorPrimaries

@brief Enumerate the type of color primaries

ELevelIdc

@brief Enumerate the type of level id

ENCODER_OPTION

@brief Option types introduced in SVC encoder application

ENalPriority

@brief NRI: eNalRefIdc

ENalUnitType

@brief Enumulate the nal unit type

EParameterSetStrategy

@brief Enumulate for the stategy of SPS/PPS strategy

EProfileIdc

@brief Enumerate the type of profile id

ERROR_CON_IDC

@brief Enumerate the type of error concealment methods

ERR_TOOL
ESampleAspectRatio

@brief Enumerate the type of sample aspect ratio

ETransferCharacteristics

@brief Enumerate the type of transfer characteristics

EUsageType

@brief Encoder usage type

EVideoFormatSPS

@brief Enumerate the type of video format

EVideoFormatType

@brief Enumerate the type of video format

EVideoFrameType

@brief Enumerate video frame type

FEEDBACK_VCL_NAL_IN_AU

@brief Feedback that whether or not have VCL NAL in current AU

ISVCDecoder
ISVCEncoder
KEY_FRAME_REQUEST_TYPE

@brief Enumerate the type of key frame request

LAYER_NUM

@brief Spatial layer num

LAYER_TYPE

@brief Type of layer being encoded

OpenH264Version
PDecodingParam
PEncParamBase
PFrameBSInfo
PLayerBSInfo
PParserBsInfo
PRateThresholds
PSliceInfo
PVuiSarInfo
RC_MODES

@brief Enumerate the type of rate control mode

SBitrateInfo
SBufferInfo
SDecoderCapability
SDecoderStatistics
SDecodingParam
SDeliveryStatus
SDumpLayer
SEncParamBase
SEncParamExt
SEncoderStatistics
SLevelInfo
SParserBsInfo
SProfileInfo
SSourcePicture
SSysMEMBuffer
SVuiSarInfo
SliceInfo
SliceModeEnum

@brief Enumerate the type of slice mode

VIDEO_BITSTREAM_TYPE

@brief Enumerate the type of video bitstream which is provided to decoder

WelsTraceCallback
_bindgen_ty_1

@brief eDeblockingIdc

_bindgen_ty_2

@brief to do

_bindgen_ty_3

@brief Enumerate the type of wels log

Unions

TagBufferInfo__bindgen_ty_1