| 3608 | |
| 3609 | /* frame parsing */ |
| 3610 | typedef struct AVCodecParserContext { |
| 3611 | void *priv_data; |
| 3612 | struct AVCodecParser *parser; |
| 3613 | int64_t frame_offset; /* offset of the current frame */ |
| 3614 | int64_t cur_offset; /* current offset |
| 3615 | (incremented by each av_parser_parse()) */ |
| 3616 | int64_t next_frame_offset; /* offset of the next frame */ |
| 3617 | /* video info */ |
| 3618 | int pict_type; /* XXX: Put it back in AVCodecContext. */ |
| 3619 | /** |
| 3620 | * This field is used for proper frame duration computation in lavf. |
| 3621 | * It signals, how much longer the frame duration of the current frame |
| 3622 | * is compared to normal frame duration. |
| 3623 | * |
| 3624 | * frame_duration = (1 + repeat_pict) * time_base |
| 3625 | * |
| 3626 | * It is used by codecs like H.264 to display telecined material. |
| 3627 | */ |
| 3628 | int repeat_pict; /* XXX: Put it back in AVCodecContext. */ |
| 3629 | int64_t pts; /* pts of the current frame */ |
| 3630 | int64_t dts; /* dts of the current frame */ |
| 3631 | |
| 3632 | /* private data */ |
| 3633 | int64_t last_pts; |
| 3634 | int64_t last_dts; |
| 3635 | int fetch_timestamp; |
| 3636 | |
| 3637 | #define AV_PARSER_PTS_NB 4 |
| 3638 | int cur_frame_start_index; |
| 3639 | int64_t cur_frame_offset[AV_PARSER_PTS_NB]; |
| 3640 | int64_t cur_frame_pts[AV_PARSER_PTS_NB]; |
| 3641 | int64_t cur_frame_dts[AV_PARSER_PTS_NB]; |
| 3642 | |
| 3643 | int flags; |
| 3644 | #define PARSER_FLAG_COMPLETE_FRAMES 0x0001 |
| 3645 | |
| 3646 | int64_t offset; ///< byte offset from starting packet start |
| 3647 | int64_t cur_frame_end[AV_PARSER_PTS_NB]; |
| 3648 | |
| 3649 | /*! |
| 3650 | * Set by parser to 1 for key frames and 0 for non-key frames. |
| 3651 | * It is initialized to -1, so if the parser doesn't set this flag, |
| 3652 | * old-style fallback using FF_I_TYPE picture type as key frames |
| 3653 | * will be used. |
| 3654 | */ |
| 3655 | int key_frame; |
| 3656 | |
| 3657 | /** |
| 3658 | * Time difference in stream time base units from the pts of this |
| 3659 | * packet to the point at which the output from the decoder has converged |
| 3660 | * independent from the availability of previous frames. That is, the |
| 3661 | * frames are virtually identical no matter if decoding started from |
| 3662 | * the very first frame or from this keyframe. |
| 3663 | * Is AV_NOPTS_VALUE if unknown. |
| 3664 | * This field is not the display duration of the current frame. |
| 3665 | * |
| 3666 | * The purpose of this field is to allow seeking in streams that have no |
| 3667 | * keyframes in the conventional sense. It corresponds to the |
nothing calls this directly
no outgoing calls
no test coverage detected