Struct AVCodecParserContext
#[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: AVFieldOrder,
pub picture_structure: AVPictureStructure,
pub output_picture_number: i32,
pub width: i32,
pub height: i32,
pub coded_width: i32,
pub coded_height: i32,
pub format: i32,
}
dep_ffmpeg
only.Fields§
§priv_data: *mut c_void
§parser: *const AVCodecParser
§frame_offset: i64
§cur_offset: i64
§next_frame_offset: i64
§pict_type: i32
§repeat_pict: i32
This 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: i32
Set 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: i32
Synchronization 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: i32
Offset 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: i32
Presentation 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: i64
Byte position of currently parsed frame in stream.
last_pos: i64
Previous frame byte position.
duration: i32
Duration 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: AVFieldOrder
§picture_structure: AVPictureStructure
Indicate 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: i32
Picture 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: i32
Dimensions of the decoded video intended for presentation.
height: i32
§coded_width: i32
Dimensions of the coded video.
coded_height: i32
§format: i32
The 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§
§impl Clone for AVCodecParserContext
impl Clone for AVCodecParserContext
§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§impl Debug for AVCodecParserContext
impl Debug for AVCodecParserContext
§impl PartialEq for AVCodecParserContext
impl PartialEq for AVCodecParserContext
impl Copy for AVCodecParserContext
impl Eq for AVCodecParserContext
impl StructuralPartialEq for AVCodecParserContext
Auto Trait Implementations§
impl Freeze for AVCodecParserContext
impl RefUnwindSafe for AVCodecParserContext
impl !Send for AVCodecParserContext
impl !Sync for AVCodecParserContext
impl Unpin for AVCodecParserContext
impl UnwindSafe for AVCodecParserContext
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
Source§fn byte_align(&self) -> usize
fn byte_align(&self) -> usize
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T, R> Chain<R> for Twhere
T: ?Sized,
impl<T, R> Chain<R> for Twhere
T: ?Sized,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> ExtAny for T
impl<T> ExtAny for T
Source§fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
TypeId
of Self
using a custom hasher.Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§impl<T> ExtMem for Twhere
T: ?Sized,
impl<T> ExtMem for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Source§fn mem_align_of<T>() -> usize
fn mem_align_of<T>() -> usize
Source§fn mem_align_of_val(&self) -> usize
fn mem_align_of_val(&self) -> usize
Source§fn mem_size_of<T>() -> usize
fn mem_size_of<T>() -> usize
Source§fn mem_size_of_val(&self) -> usize
fn mem_size_of_val(&self) -> usize
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
true
if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
self
without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
unsafe_slice
only.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Hook for T
impl<T> Hook for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more