FFmpeg 5.1.6
Data Structures | Functions | Variables
transcoding.c File Reference

API example for demuxing, decoding, filtering, encoding and muxing. More...

#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libavfilter/buffersink.h>
#include <libavfilter/buffersrc.h>
#include <libavutil/channel_layout.h>
#include <libavutil/opt.h>
#include <libavutil/pixdesc.h>

Go to the source code of this file.

Data Structures

struct  FilteringContext
 
struct  StreamContext
 

Functions

static int open_input_file (const char *filename)
 
static int open_output_file (const char *filename)
 
static int init_filter (FilteringContext *fctx, AVCodecContext *dec_ctx, AVCodecContext *enc_ctx, const char *filter_spec)
 
static int init_filters (void)
 
static int encode_write_frame (unsigned int stream_index, int flush)
 
static int filter_encode_write_frame (AVFrame *frame, unsigned int stream_index)
 
static int flush_encoder (unsigned int stream_index)
 
int main (int argc, char **argv)
 

Variables

static AVFormatContextifmt_ctx
 
static AVFormatContextofmt_ctx
 
static FilteringContextfilter_ctx
 
static StreamContextstream_ctx
 

Detailed Description

API example for demuxing, decoding, filtering, encoding and muxing.

Definition in file transcoding.c.

Function Documentation

◆ open_input_file()

static int open_input_file ( const char *  filename)
static
Examples
transcoding.c.

Definition at line 59 of file transcoding.c.

Referenced by main().

◆ open_output_file()

static int open_output_file ( const char *  filename)
static
Examples
transcoding.c.

Definition at line 121 of file transcoding.c.

Referenced by main().

◆ init_filter()

static int init_filter ( FilteringContext fctx,
AVCodecContext dec_ctx,
AVCodecContext enc_ctx,
const char *  filter_spec 
)
static
Examples
transcoding.c.

Definition at line 237 of file transcoding.c.

Referenced by init_filters().

◆ init_filters()

static int init_filters ( void  )
static
Examples
transcoding.c.

Definition at line 387 of file transcoding.c.

Referenced by main().

◆ encode_write_frame()

static int encode_write_frame ( unsigned int  stream_index,
int  flush 
)
static
Examples
transcoding.c.

Definition at line 425 of file transcoding.c.

Referenced by filter_encode_write_frame(), and flush_encoder().

◆ filter_encode_write_frame()

static int filter_encode_write_frame ( AVFrame frame,
unsigned int  stream_index 
)
static
Examples
transcoding.c.

Definition at line 462 of file transcoding.c.

Referenced by main().

◆ flush_encoder()

static int flush_encoder ( unsigned int  stream_index)
static
Examples
transcoding.c.

Definition at line 501 of file transcoding.c.

Referenced by main().

◆ main()

int main ( int  argc,
char **  argv 
)
Examples
transcoding.c.

Definition at line 511 of file transcoding.c.

Variable Documentation

◆ ifmt_ctx

AVFormatContext* ifmt_ctx
static
Examples
remuxing.c, and transcoding.c.

Definition at line 39 of file transcoding.c.

Referenced by init_filters(), main(), open_input_file(), and open_output_file().

◆ ofmt_ctx

AVFormatContext* ofmt_ctx
static
Examples
remuxing.c, and transcoding.c.

Definition at line 40 of file transcoding.c.

Referenced by encode_write_frame(), main(), and open_output_file().

◆ filter_ctx

FilteringContext* filter_ctx
static
Examples
transcoding.c.

Definition at line 49 of file transcoding.c.

Referenced by encode_write_frame(), filter_encode_write_frame(), init_filters(), and main().

◆ stream_ctx

StreamContext* stream_ctx
static