#[repr(C)]
pub struct TagVideoDecoderStatistics {
Show 26 fields pub uiWidth: c_uint, pub uiHeight: c_uint, pub fAverageFrameSpeedInMs: f32, pub fActualAverageFrameSpeedInMs: f32, pub uiDecodedFrameCount: c_uint, pub uiResolutionChangeTimes: c_uint, pub uiIDRCorrectNum: c_uint, pub uiAvgEcRatio: c_uint, pub uiAvgEcPropRatio: c_uint, pub uiEcIDRNum: c_uint, pub uiEcFrameNum: c_uint, pub uiIDRLostNum: c_uint, pub uiFreezingIDRNum: c_uint, pub uiFreezingNonIDRNum: c_uint, pub iAvgLumaQp: c_int, pub iSpsReportErrorNum: c_int, pub iSubSpsReportErrorNum: c_int, pub iPpsReportErrorNum: c_int, pub iSpsNoExistNalNum: c_int, pub iSubSpsNoExistNalNum: c_int, pub iPpsNoExistNalNum: c_int, pub uiProfile: c_uint, pub uiLevel: c_uint, pub iCurrentActiveSpsId: c_int, pub iCurrentActivePpsId: c_int, pub iStatisticsLogInterval: c_uint,
}
Expand description

@brief Structure for decoder statistics

Fields

uiWidth: c_uint

< the width of encode/decode frame

uiHeight: c_uint

< the height of encode/decode frame

fAverageFrameSpeedInMs: f32

< average_Decoding_Time

fActualAverageFrameSpeedInMs: f32

< actual average_Decoding_Time, including freezing pictures

uiDecodedFrameCount: c_uint

< number of frames

uiResolutionChangeTimes: c_uint

< uiResolutionChangeTimes

uiIDRCorrectNum: c_uint

< number of correct IDR received

uiAvgEcRatio: c_uint

< when EC is on, the average ratio of total EC areas, can be an indicator of reconstruction quality

uiAvgEcPropRatio: c_uint

< when EC is on, the rough average ratio of propogate EC areas, can be an indicator of reconstruction quality

uiEcIDRNum: c_uint

< number of actual unintegrity IDR or not received but eced

uiEcFrameNum: c_uint

<

uiIDRLostNum: c_uint

< number of whole lost IDR

uiFreezingIDRNum: c_uint

< number of freezing IDR with error (partly received), under resolution change

uiFreezingNonIDRNum: c_uint

< number of freezing non-IDR with error

iAvgLumaQp: c_int

< average luma QP. default: -1, no correct frame outputted

iSpsReportErrorNum: c_int

< number of Sps Invalid report

iSubSpsReportErrorNum: c_int

< number of SubSps Invalid report

iPpsReportErrorNum: c_int

< number of Pps Invalid report

iSpsNoExistNalNum: c_int

< number of Sps NoExist Nal

iSubSpsNoExistNalNum: c_int

< number of SubSps NoExist Nal

iPpsNoExistNalNum: c_int

< number of Pps NoExist Nal

uiProfile: c_uint

< Profile idc in syntax

uiLevel: c_uint

< level idc according to Annex A-1

iCurrentActiveSpsId: c_int

< current active SPS id

iCurrentActivePpsId: c_int

< current active PPS id

iStatisticsLogInterval: c_uint

< frame interval of statistics log

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.