FFmpeg  4.0
Macros | Functions | Variables
parser.c File Reference
#include <inttypes.h>
#include <stdint.h>
#include <string.h>
#include "libavutil/avassert.h"
#include "libavutil/internal.h"
#include "libavutil/mem.h"
#include "libavutil/thread.h"
#include "internal.h"
#include "parser.h"
#include "libavcodec/parser_list.c"

Go to the source code of this file.

Macros

#define FILL(name)   if(s->name > 0 && avctx->name <= 0) avctx->name = s->name
 

Functions

static void av_parser_init_next (void)
 
AVCodecParserav_parser_next (const AVCodecParser *p)
 
const AVCodecParserav_parser_iterate (void **opaque)
 Iterate over all registered codec parsers. More...
 
void av_register_codec_parser (AVCodecParser *parser)
 
AVCodecParserContextav_parser_init (int codec_id)
 
void ff_fetch_timestamp (AVCodecParserContext *s, int off, int remove, int fuzzy)
 Fetch timestamps for a specific byte within the current access unit. More...
 
int av_parser_parse2 (AVCodecParserContext *s, AVCodecContext *avctx, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int64_t pts, int64_t dts, int64_t pos)
 Parse a packet. More...
 
int av_parser_change (AVCodecParserContext *s, AVCodecContext *avctx, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe)
 
void av_parser_close (AVCodecParserContext *s)
 
int ff_combine_frame (ParseContext *pc, int next, const uint8_t **buf, int *buf_size)
 Combine the (truncated) bitstream to a complete frame. More...
 
void ff_parse_close (AVCodecParserContext *s)
 
int ff_mpeg4video_split (AVCodecContext *avctx, const uint8_t *buf, int buf_size)
 

Variables

AVCodecParser ff_aac_parser
 
AVCodecParser ff_aac_latm_parser
 
AVCodecParser ff_ac3_parser
 
AVCodecParser ff_adx_parser
 
AVCodecParser ff_bmp_parser
 
AVCodecParser ff_cavsvideo_parser
 
AVCodecParser ff_cook_parser
 
AVCodecParser ff_dca_parser
 
AVCodecParser ff_dirac_parser
 
AVCodecParser ff_dnxhd_parser
 
AVCodecParser ff_dpx_parser
 
AVCodecParser ff_dvaudio_parser
 
AVCodecParser ff_dvbsub_parser
 
AVCodecParser ff_dvdsub_parser
 
AVCodecParser ff_dvd_nav_parser
 
AVCodecParser ff_flac_parser
 
AVCodecParser ff_g729_parser
 
AVCodecParser ff_gsm_parser
 
AVCodecParser ff_h261_parser
 
AVCodecParser ff_h263_parser
 
AVCodecParser ff_h264_parser
 
AVCodecParser ff_hevc_parser
 
AVCodecParser ff_mjpeg_parser
 
AVCodecParser ff_mlp_parser
 
AVCodecParser ff_mpeg4video_parser
 
AVCodecParser ff_mpegaudio_parser
 
AVCodecParser ff_mpegvideo_parser
 
AVCodecParser ff_opus_parser
 
AVCodecParser ff_png_parser
 
AVCodecParser ff_pnm_parser
 
AVCodecParser ff_rv30_parser
 
AVCodecParser ff_rv40_parser
 
AVCodecParser ff_sbc_parser
 
AVCodecParser ff_sipr_parser
 
AVCodecParser ff_tak_parser
 
AVCodecParser ff_vc1_parser
 
AVCodecParser ff_vorbis_parser
 
AVCodecParser ff_vp3_parser
 
AVCodecParser ff_vp8_parser
 
AVCodecParser ff_vp9_parser
 
AVCodecParser ff_xma_parser
 
static AVOnce av_parser_next_init = AV_ONCE_INIT
 

Macro Definition Documentation

◆ FILL

#define FILL (   name)    if(s->name > 0 && avctx->name <= 0) avctx->name = s->name

Referenced by av_parser_parse2().

Function Documentation

◆ av_parser_init_next()

static void av_parser_init_next ( void  )
static

Definition at line 82 of file parser.c.

Referenced by av_parser_next(), and av_register_codec_parser().

◆ ff_fetch_timestamp()

void ff_fetch_timestamp ( AVCodecParserContext s,
int  off,
int  remove,
int  fuzzy 
)

Fetch timestamps for a specific byte within the current access unit.

Parameters
offbyte position within the access unit
removeFound timestamps will be removed if set to 1, kept if set to 0.
fuzzyOnly use found value if it is more informative than what we already have

Definition at line 174 of file parser.c.

Referenced by av_parser_parse2(), and ff_mpeg1_find_frame_end().

◆ ff_combine_frame()

int ff_combine_frame ( ParseContext pc,
int  next,
const uint8_t **  buf,
int buf_size 
)

◆ ff_parse_close()

void ff_parse_close ( AVCodecParserContext s)

Definition at line 397 of file parser.c.

◆ ff_mpeg4video_split()

int ff_mpeg4video_split ( AVCodecContext avctx,
const uint8_t buf,
int  buf_size 
)

Definition at line 404 of file parser.c.

Variable Documentation

◆ ff_aac_parser

AVCodecParser ff_aac_parser

Definition at line 65 of file aac_parser.c.

◆ ff_aac_latm_parser

AVCodecParser ff_aac_latm_parser

Definition at line 107 of file latm_parser.c.

◆ ff_ac3_parser

AVCodecParser ff_ac3_parser

◆ ff_adx_parser

AVCodecParser ff_adx_parser

Definition at line 91 of file adx_parser.c.

◆ ff_bmp_parser

AVCodecParser ff_bmp_parser

Definition at line 107 of file bmp_parser.c.

◆ ff_cavsvideo_parser

AVCodecParser ff_cavsvideo_parser

Definition at line 100 of file cavs_parser.c.

◆ ff_cook_parser

AVCodecParser ff_cook_parser

Definition at line 56 of file cook_parser.c.

◆ ff_dca_parser

AVCodecParser ff_dca_parser

Definition at line 346 of file dca_parser.c.

◆ ff_dirac_parser

AVCodecParser ff_dirac_parser

Definition at line 276 of file dirac_parser.c.

◆ ff_dnxhd_parser

AVCodecParser ff_dnxhd_parser

Definition at line 138 of file dnxhd_parser.c.

◆ ff_dpx_parser

AVCodecParser ff_dpx_parser

Definition at line 111 of file dpx_parser.c.

◆ ff_dvaudio_parser

AVCodecParser ff_dvaudio_parser

Definition at line 43 of file dvaudio_parser.c.

◆ ff_dvbsub_parser

AVCodecParser ff_dvbsub_parser

Definition at line 180 of file dvbsub_parser.c.

◆ ff_dvdsub_parser

AVCodecParser ff_dvdsub_parser

Definition at line 85 of file dvdsub_parser.c.

◆ ff_dvd_nav_parser

AVCodecParser ff_dvd_nav_parser

Definition at line 110 of file dvd_nav_parser.c.

◆ ff_flac_parser

AVCodecParser ff_flac_parser

Definition at line 751 of file flac_parser.c.

◆ ff_g729_parser

AVCodecParser ff_g729_parser

Definition at line 77 of file g729_parser.c.

◆ ff_gsm_parser

AVCodecParser ff_gsm_parser

Definition at line 86 of file gsm_parser.c.

◆ ff_h261_parser

AVCodecParser ff_h261_parser

Definition at line 89 of file h261_parser.c.

◆ ff_h263_parser

AVCodecParser ff_h263_parser

Definition at line 90 of file h263_parser.c.

◆ ff_h264_parser

AVCodecParser ff_h264_parser

Definition at line 705 of file h264_parser.c.

◆ ff_hevc_parser

AVCodecParser ff_hevc_parser

Definition at line 367 of file hevc_parser.c.

◆ ff_mjpeg_parser

AVCodecParser ff_mjpeg_parser

Definition at line 129 of file mjpeg_parser.c.

◆ ff_mlp_parser

AVCodecParser ff_mlp_parser

Definition at line 394 of file mlp_parser.c.

◆ ff_mpeg4video_parser

AVCodecParser ff_mpeg4video_parser

Definition at line 154 of file mpeg4video_parser.c.

◆ ff_mpegaudio_parser

AVCodecParser ff_mpegaudio_parser

Definition at line 136 of file mpegaudio_parser.c.

◆ ff_mpegvideo_parser

AVCodecParser ff_mpegvideo_parser

Definition at line 239 of file mpegvideo_parser.c.

◆ ff_opus_parser

AVCodecParser ff_opus_parser

Definition at line 193 of file opus_parser.c.

◆ ff_png_parser

AVCodecParser ff_png_parser

Definition at line 112 of file png_parser.c.

◆ ff_pnm_parser

AVCodecParser ff_pnm_parser

Definition at line 81 of file pnm_parser.c.

◆ ff_rv30_parser

AVCodecParser ff_rv30_parser

Referenced by rv34_parse().

◆ ff_rv40_parser

AVCodecParser ff_rv40_parser

Referenced by rv34_parse().

◆ ff_sbc_parser

AVCodecParser ff_sbc_parser

Definition at line 117 of file sbc_parser.c.

◆ ff_sipr_parser

AVCodecParser ff_sipr_parser

Definition at line 69 of file sipr_parser.c.

◆ ff_tak_parser

AVCodecParser ff_tak_parser

Definition at line 121 of file tak_parser.c.

◆ ff_vc1_parser

AVCodecParser ff_vc1_parser

Definition at line 289 of file vc1_parser.c.

◆ ff_vorbis_parser

AVCodecParser ff_vorbis_parser

Referenced by av_vorbis_parse_init().

◆ ff_vp3_parser

AVCodecParser ff_vp3_parser

Definition at line 38 of file vp3_parser.c.

◆ ff_vp8_parser

AVCodecParser ff_vp8_parser

Definition at line 75 of file vp8_parser.c.

◆ ff_vp9_parser

AVCodecParser ff_vp9_parser

Definition at line 63 of file vp9_parser.c.

◆ ff_xma_parser

AVCodecParser ff_xma_parser

Definition at line 58 of file xma_parser.c.

◆ av_parser_next_init

AVOnce av_parser_next_init = AV_ONCE_INIT
static

Definition at line 80 of file parser.c.

Referenced by av_parser_next(), and av_register_codec_parser().