AVCodecParserContext Struct Reference

#include <avcodec.h>

Collaboration diagram for AVCodecParserContext:
Collaboration graph

Data Fields

voidpriv_data
 
struct AVCodecParserparser
 
int64_t frame_offset
 
int64_t cur_offset
 
int64_t next_frame_offset
 
int pict_type
 
int repeat_pict
 This field is used for proper frame duration computation in lavf. More...
 
int64_t pts
 
int64_t dts
 
int64_t last_pts
 
int64_t last_dts
 
int fetch_timestamp
 
int cur_frame_start_index
 
int64_t cur_frame_offset [AV_PARSER_PTS_NB]
 
int64_t cur_frame_pts [AV_PARSER_PTS_NB]
 
int64_t cur_frame_dts [AV_PARSER_PTS_NB]
 
int flags
 
int64_t offset
 byte offset from starting packet start More...
 
int64_t cur_frame_end [AV_PARSER_PTS_NB]
 
int key_frame
 Set by parser to 1 for key frames and 0 for non-key frames. More...
 
int64_t convergence_duration
 Time difference in stream time base units from the pts of this packet to the point at which the output from the decoder has converged independent from the availability of previous frames. More...
 
int dts_sync_point
 Synchronization point for start of timestamp generation. More...
 
int dts_ref_dts_delta
 Offset of the current timestamp against last timestamp sync point in units of AVCodecContext.time_base. More...
 
int pts_dts_delta
 Presentation delay of current frame in units of AVCodecContext.time_base. More...
 
int64_t cur_frame_pos [AV_PARSER_PTS_NB]
 Position of the packet in file. More...
 
int64_t pos
 Byte position of currently parsed frame in stream. More...
 
int64_t last_pos
 Previous frame byte position. More...
 
int duration
 Duration of the current frame. More...
 

Detailed Description

Definition at line 3747 of file libavcodec/avcodec.h.

Field Documentation

int64_t AVCodecParserContext::convergence_duration

Time difference in stream time base units from the pts of this packet to the point at which the output from the decoder has converged independent from the availability of previous frames.

That is, the frames are virtually identical no matter if decoding started from the very first frame or from this keyframe. Is AV_NOPTS_VALUE if unknown. This field is not the display duration of the current frame. This field has no meaning if the packet does not have AV_PKT_FLAG_KEY set.

The purpose of this field is to allow seeking in streams that have no keyframes in the conventional sense. It corresponds to the recovery point SEI in H.264 and match_time_delta in NUT. It is also essential for some types of subtitle streams to ensure that all subtitles are correctly displayed after seeking.

Definition at line 3815 of file libavcodec/avcodec.h.

Referenced by av_parser_init(), and compute_pkt_fields().

int64_t AVCodecParserContext::cur_frame_dts[AV_PARSER_PTS_NB]

Definition at line 3778 of file libavcodec/avcodec.h.

Referenced by av_parser_parse2(), and ff_fetch_timestamp().

int64_t AVCodecParserContext::cur_frame_end[AV_PARSER_PTS_NB]

Definition at line 3788 of file libavcodec/avcodec.h.

Referenced by av_parser_parse2(), and ff_fetch_timestamp().

int64_t AVCodecParserContext::cur_frame_offset[AV_PARSER_PTS_NB]

Definition at line 3776 of file libavcodec/avcodec.h.

Referenced by av_parser_parse2(), and ff_fetch_timestamp().

int64_t AVCodecParserContext::cur_frame_pos[AV_PARSER_PTS_NB]

Position of the packet in file.

Analogous to cur_frame_pts/dts

Definition at line 3863 of file libavcodec/avcodec.h.

Referenced by av_parser_parse2(), and ff_fetch_timestamp().

int64_t AVCodecParserContext::cur_frame_pts[AV_PARSER_PTS_NB]

Definition at line 3777 of file libavcodec/avcodec.h.

Referenced by av_parser_parse2(), dvbsub_parse(), and ff_fetch_timestamp().

int AVCodecParserContext::cur_frame_start_index

Definition at line 3775 of file libavcodec/avcodec.h.

Referenced by av_parser_parse2(), and dvbsub_parse().

int64_t AVCodecParserContext::cur_offset

Definition at line 3751 of file libavcodec/avcodec.h.

Referenced by av_parser_parse2(), and ff_fetch_timestamp().

int64_t AVCodecParserContext::dts
int AVCodecParserContext::dts_ref_dts_delta

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.

Definition at line 3842 of file libavcodec/avcodec.h.

Referenced by av_parser_init(), compute_pkt_fields(), and h264_parse().

int AVCodecParserContext::dts_sync_point

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.

Definition at line 3827 of file libavcodec/avcodec.h.

Referenced by av_parser_init(), compute_pkt_fields(), and h264_parse().

int AVCodecParserContext::duration

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.

Definition at line 3880 of file libavcodec/avcodec.h.

Referenced by adx_parse(), avpriv_vorbis_parse_reset(), cook_parse(), dca_parse(), dvd_nav_parse(), ff_aac_ac3_parse(), flac_parse(), get_best_header(), gsm_parse(), mlp_parse(), mpegaudio_parse(), parse_packet(), and tak_parse().

int AVCodecParserContext::fetch_timestamp

Definition at line 3772 of file libavcodec/avcodec.h.

Referenced by av_parser_init(), av_parser_parse2(), and dvbsub_parse().

int64_t AVCodecParserContext::frame_offset

Definition at line 3750 of file libavcodec/avcodec.h.

Referenced by av_parser_parse2(), ff_fetch_timestamp(), and parse_packet().

int AVCodecParserContext::key_frame

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.

Definition at line 3796 of file libavcodec/avcodec.h.

Referenced by av_parser_init(), parse_nal_units(), and parse_packet().

int64_t AVCodecParserContext::last_dts

Definition at line 3771 of file libavcodec/avcodec.h.

Referenced by av_parser_parse2(), and dirac_combine_frame().

int64_t AVCodecParserContext::last_pos

Previous frame byte position.

Definition at line 3873 of file libavcodec/avcodec.h.

Referenced by av_parser_parse2().

int64_t AVCodecParserContext::last_pts

Definition at line 3770 of file libavcodec/avcodec.h.

Referenced by av_parser_parse2(), dirac_combine_frame(), and dvbsub_parse().

int64_t AVCodecParserContext::next_frame_offset

Definition at line 3753 of file libavcodec/avcodec.h.

Referenced by av_parser_parse2(), and ff_fetch_timestamp().

int64_t AVCodecParserContext::offset

byte offset from starting packet start

Definition at line 3787 of file libavcodec/avcodec.h.

Referenced by compute_pkt_fields(), and ff_fetch_timestamp().

int64_t AVCodecParserContext::pos

Byte position of currently parsed frame in stream.

Definition at line 3868 of file libavcodec/avcodec.h.

Referenced by av_parser_parse2(), ff_fetch_timestamp(), and parse_packet().

int AVCodecParserContext::pts_dts_delta

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.

Definition at line 3856 of file libavcodec/avcodec.h.

Referenced by av_parser_init(), compute_pkt_fields(), and h264_parse().

int AVCodecParserContext::repeat_pict

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.

Definition at line 3765 of file libavcodec/avcodec.h.

Referenced by avformat_find_stream_info(), ff_compute_frame_duration(), mpegvideo_extract_headers(), mpegvideo_parse(), output_packet(), parse_nal_units(), and vc1_extract_headers().


The documentation for this struct was generated from the following file: