Crate openh264_sys2[][src]

Expand description

Latest Version docs BSD-2 Rust

Low level crate used by openh264.

Structs

@brief Frame bit stream info

@brief Structure for LTR configuration

@brief Structure for LTR marking feedback

@brief Structure for LTR recover request

@brief Bitstream inforamtion of a layer being encoded

@brief thresholds of the initial, maximal and minimal rate

@brief Structure for slice argument

@brief Structure for spatial layer configuration

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

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

@brief Structure for source picture

@brief Structure for bit rate info

@brief Buffer info

@brief The capability of decoder, for SDP negotiation

@brief Structure for dilivery status

@brief Structure for dump layer info

@brief SVC Encoding Parameters

@brief SVC Encoding Parameters extention

@brief Structure for level info in layer

@brief Structure for parse only output

@brief Structure for profile info in layer

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

@brief Structure for decoder memery

@brief Structure for decoder statistics

@brief Structure for encoder statistics

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

@brief Struct of OpenH264 version

Constants

< camera video for real-time communication

< constant id in SPS/PPS

< end of stream flag

< indicate decoder error concealment method

< feedback current decoded frame number

< feedback decoder Sample Aspect Ratio info in Vui

< feedback decoder statistics

< feedback current frame belong to which IDR period

< feedback current frame is ref pic or not

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

< feedback frame num marked by current Frame

< feedback wether current frame mark a LTR

< number of frames remaining in decoder buffer when pictures are required to re-ordered into display-order.

< number of decoding threads. The maximum thread count is equal or less than lesser of (cpu core counts and 16).

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

< set log output interval

< feedback temporal id for application layer

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

< context info of trace callbac

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

< bit vary percentage

< the delivery info which is a feedback from app level

< dump layer reconstruct frame to a specified file

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

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

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

< read only

< 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)

< advanced algorithmetic settings

< assgin the level for each layer

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

< the number of refererence frame

< assgin the profile for each layer

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

< log interval in millisecond

< structure of Base Param

< structure of Extension Param

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

< context info of trace callback

< trace info based on the trace level

< 0:disable padding;1:padding

< Forward Error Correction in 100% redundency mode

< Forward Error Correction in 50% redundency mode

< Flexible Macroblock Ordering

< IP Scalable

< Intra Refresh in predifined 2% MB

< Intra Refresh in predifined 5% MB

< Intra Refresh in predifined 10% MB

< NONE Error Tools

< Reference Frame Selection

< high complexity, lowest speed, high quality

< SPS/PPS id increases at each IDR

< the lowest compleixty,the fastest speed,

< medium complexity, medium speed,medium quality

< ref_idc == 0

< ref_idc != 0

< bitrate mode

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

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

< rate control off mode

< quality mode

< screen content signal

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

< | 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.

< | SliceNum==1

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

< using SPS in the existing list if possible

< debug log, critical algo log

< default log iLevel in Wels codec

< per packet/frame log

< error log iLevel

< information log iLevel

< quiet mode

< resversed log iLevel

< Warning log iLevel

< initial action is expected

< parameters are invalid

< malloc a memory error

< successful

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

< current data error concealed specified

< dependented layer is ever lost

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

< bit stream error-free

< need more throughput to generate a frame output,

< initializing operation is expected

< invalid argument specified

< no parameter set NALs involved

< out of memory due to new request

<ref picure list contains null ptrs within uiRefCount range

< layer lost at reference frame with temporal id 0

< the same as IYUV

< only used in SVC decoder testbed

< new format for output by DXVA decoding

< rgb color formats

< yuv color formats

< I frame type

< IDR frame in H.264

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

< encoder not ready or parameters are invalidate

< P frame type

< skip the frame based encoder kernel

Statics

Functions

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

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

@brief Destroy decoder @param pDecoder decoder @return void

@brief Destroy encoder @param pEncoder encoder @return void

@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

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

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

Type Definitions

@brief Enumerate return type

@brief Option types introduced in decoder application

@brief Decoding status

@brief Enumulate the complexity mode

@brief Enumerate the type of color matrix

@brief Enumerate the type of color primaries

@brief Enumerate the type of level id

@brief Option types introduced in SVC encoder application

@brief NRI: eNalRefIdc

@brief Enumulate the nal unit type

@brief Enumulate for the stategy of SPS/PPS strategy

@brief Enumerate the type of profile id

@brief Enumerate the type of error concealment methods

@brief Enumerate the type of sample aspect ratio

@brief Enumerate the type of transfer characteristics

@brief Encoder usage type

@brief Enumerate the type of video format

@brief Enumerate the type of video format

@brief Enumerate video frame type

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

@brief Enumerate the type of key frame request

@brief Spatial layer num

@brief Type of layer being encoded

@brief Struct of OpenH264 version

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

@brief SVC Encoding Parameters

@brief Frame bit stream info

@brief Bitstream inforamtion of a layer being encoded

@brief Structure for parse only output

@brief thresholds of the initial, maximal and minimal rate

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

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

@brief Enumerate the type of rate control mode

@brief Structure for bit rate info

@brief Buffer info

@brief The capability of decoder, for SDP negotiation

@brief Structure for decoder statistics

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

@brief Structure for dilivery status

@brief Structure for dump layer info

@brief SVC Encoding Parameters

@brief SVC Encoding Parameters extention

@brief Structure for encoder statistics

@brief Structure for level info in layer

@brief Structure for parse only output

@brief Structure for profile info in layer

@brief Structure for source picture

@brief Structure for decoder memery

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

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

@brief Enumerate the type of slice mode

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

@brief eDeblockingIdc

@brief to do

@brief Enumerate the type of wels log

Unions