#[repr(C)]pub struct AVCodecParserContext {Show 35 fields
pub priv_data: *mut c_void,
pub parser: *const AVCodecParser,
pub frame_offset: i64,
pub cur_offset: i64,
pub next_frame_offset: i64,
pub pict_type: i32,
pub repeat_pict: i32,
pub pts: i64,
pub dts: i64,
pub last_pts: i64,
pub last_dts: i64,
pub fetch_timestamp: i32,
pub cur_frame_start_index: i32,
pub cur_frame_offset: [i64; 4],
pub cur_frame_pts: [i64; 4],
pub cur_frame_dts: [i64; 4],
pub flags: i32,
pub offset: i64,
pub cur_frame_end: [i64; 4],
pub key_frame: i32,
pub dts_sync_point: i32,
pub dts_ref_dts_delta: i32,
pub pts_dts_delta: i32,
pub cur_frame_pos: [i64; 4],
pub pos: i64,
pub last_pos: i64,
pub duration: i32,
pub field_order: u32,
pub picture_structure: u32,
pub output_picture_number: i32,
pub width: i32,
pub height: i32,
pub coded_width: i32,
pub coded_height: i32,
pub format: i32,
}Fields§
§priv_data: *mut c_void§parser: *const AVCodecParser§frame_offset: i64§cur_offset: i64§next_frame_offset: i64§pict_type: i32§repeat_pict: i32This field is used for proper frame duration computation in lavf. It signals, how much longer the frame duration of the current frame is compared to normal frame duration.
frame_duration = (1 + repeat_pict) * time_base
It is used by codecs like H.264 to display telecined material.
pts: i64§dts: i64§last_pts: i64§last_dts: i64§fetch_timestamp: i32§cur_frame_start_index: i32§cur_frame_offset: [i64; 4]§cur_frame_pts: [i64; 4]§cur_frame_dts: [i64; 4]§flags: i32§offset: i64< byte offset from starting packet start
cur_frame_end: [i64; 4]§key_frame: i32Set by parser to 1 for key frames and 0 for non-key frames. It is initialized to -1, so if the parser doesn’t set this flag, old-style fallback using AV_PICTURE_TYPE_I picture type as key frames will be used.
dts_sync_point: i32Synchronization point for start of timestamp generation.
Set to >0 for sync point, 0 for no sync point and <0 for undefined (default).
For example, this corresponds to presence of H.264 buffering period SEI message.
dts_ref_dts_delta: i32Offset of the current timestamp against last timestamp sync point in units of AVCodecContext.time_base.
Set to INT_MIN when dts_sync_point unused. Otherwise, it must contain a valid timestamp offset.
Note that the timestamp of sync point has usually a nonzero dts_ref_dts_delta, which refers to the previous sync point. Offset of the next frame after timestamp sync point will be usually 1.
For example, this corresponds to H.264 cpb_removal_delay.
pts_dts_delta: i32Presentation delay of current frame in units of AVCodecContext.time_base.
Set to INT_MIN when dts_sync_point unused. Otherwise, it must contain valid non-negative timestamp delta (presentation time of a frame must not lie in the past).
This delay represents the difference between decoding and presentation time of the frame.
For example, this corresponds to H.264 dpb_output_delay.
cur_frame_pos: [i64; 4]Position of the packet in file.
Analogous to cur_frame_pts/dts
pos: i64Byte position of currently parsed frame in stream.
last_pos: i64Previous frame byte position.
duration: i32Duration of the current frame. For audio, this is in units of 1 / AVCodecContext.sample_rate. For all other types, this is in units of AVCodecContext.time_base.
field_order: u32§picture_structure: u32Indicate whether a picture is coded as a frame, top field or bottom field.
For example, H.264 field_pic_flag equal to 0 corresponds to AV_PICTURE_STRUCTURE_FRAME. An H.264 picture with field_pic_flag equal to 1 and bottom_field_flag equal to 0 corresponds to AV_PICTURE_STRUCTURE_TOP_FIELD.
output_picture_number: i32Picture number incremented in presentation or output order. This field may be reinitialized at the first picture of a new sequence.
For example, this corresponds to H.264 PicOrderCnt.
width: i32Dimensions of the decoded video intended for presentation.
height: i32§coded_width: i32Dimensions of the coded video.
coded_height: i32§format: i32The format of the coded data, corresponds to enum AVPixelFormat for video and for enum AVSampleFormat for audio.
Note that a decoder can have considerable freedom in how exactly it decodes the data, so the format reported here might be different from the one returned by a decoder.
Trait Implementations§
Source§impl Clone for AVCodecParserContext
impl Clone for AVCodecParserContext
Source§fn clone(&self) -> AVCodecParserContext
fn clone(&self) -> AVCodecParserContext
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more