FFmpeg
Functions | Variables
demuxing_decoding.c File Reference

Demuxing and decoding example. More...

#include <libavutil/imgutils.h>
#include <libavutil/samplefmt.h>
#include <libavutil/timestamp.h>
#include <libavformat/avformat.h>

Go to the source code of this file.

Functions

static int output_video_frame (AVFrame *frame)
 
static int output_audio_frame (AVFrame *frame)
 
static int decode_packet (AVCodecContext *dec, const AVPacket *pkt)
 
static int open_codec_context (int *stream_idx, AVCodecContext **dec_ctx, AVFormatContext *fmt_ctx, enum AVMediaType type)
 
static int get_format_from_sample_fmt (const char **fmt, enum AVSampleFormat sample_fmt)
 
int main (int argc, char **argv)
 

Variables

static AVFormatContextfmt_ctx = NULL
 
static AVCodecContextvideo_dec_ctx = NULL
 
static AVCodecContextaudio_dec_ctx
 
static int width
 
static int height
 
static enum AVPixelFormat pix_fmt
 
static AVStreamvideo_stream = NULL
 
static AVStreamaudio_stream = NULL
 
static const char * src_filename = NULL
 
static const char * video_dst_filename = NULL
 
static const char * audio_dst_filename = NULL
 
static FILE * video_dst_file = NULL
 
static FILE * audio_dst_file = NULL
 
static uint8_tvideo_dst_data [4] = {NULL}
 
static int video_dst_linesize [4]
 
static int video_dst_bufsize
 
static int video_stream_idx = -1
 
static int audio_stream_idx = -1
 
static AVFrameframe = NULL
 
static AVPacketpkt = NULL
 
static int video_frame_count = 0
 
static int audio_frame_count = 0
 

Detailed Description

Demuxing and decoding example.

Show how to use the libavformat and libavcodec API to demux and decode audio and video data.

Definition in file demuxing_decoding.c.

Function Documentation

static int output_video_frame ( AVFrame frame)
static
Examples:
demuxing_decoding.c.

Definition at line 58 of file demuxing_decoding.c.

Referenced by decode_packet().

static int output_audio_frame ( AVFrame frame)
static
Examples:
demuxing_decoding.c.

Definition at line 89 of file demuxing_decoding.c.

Referenced by decode_packet().

static int decode_packet ( AVCodecContext dec,
const AVPacket pkt 
)
static
Examples:
demuxing_decoding.c.

Definition at line 109 of file demuxing_decoding.c.

Referenced by main().

static int open_codec_context ( int stream_idx,
AVCodecContext **  dec_ctx,
AVFormatContext fmt_ctx,
enum AVMediaType  type 
)
static
Examples:
demuxing_decoding.c.

Definition at line 147 of file demuxing_decoding.c.

Referenced by main().

static int get_format_from_sample_fmt ( const char **  fmt,
enum AVSampleFormat  sample_fmt 
)
static
Examples:
demuxing_decoding.c.

Definition at line 199 of file demuxing_decoding.c.

Referenced by main().

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

Definition at line 228 of file demuxing_decoding.c.

Variable Documentation

AVFormatContext* fmt_ctx = NULL
static
AVCodecContext* video_dec_ctx = NULL
static
Examples:
demuxing_decoding.c.

Definition at line 38 of file demuxing_decoding.c.

AVCodecContext * audio_dec_ctx
static
Examples:
demuxing_decoding.c.

Definition at line 38 of file demuxing_decoding.c.

Referenced by main(), and output_audio_frame().

int width
static
Examples:
demuxing_decoding.c.

Definition at line 39 of file demuxing_decoding.c.

Referenced by main(), and output_video_frame().

int height
static
Examples:
demuxing_decoding.c.

Definition at line 39 of file demuxing_decoding.c.

Referenced by main(), and output_video_frame().

enum AVPixelFormat pix_fmt
static
AVStream* video_stream = NULL
static
AVStream * audio_stream = NULL
static
Examples:
demuxing_decoding.c.

Definition at line 41 of file demuxing_decoding.c.

Referenced by event_loop(), main(), and yop_read_header().

const char* src_filename = NULL
static
Examples:
demuxing_decoding.c.

Definition at line 42 of file demuxing_decoding.c.

Referenced by main(), and open_codec_context().

const char* video_dst_filename = NULL
static
Examples:
demuxing_decoding.c.

Definition at line 43 of file demuxing_decoding.c.

Referenced by main().

const char* audio_dst_filename = NULL
static
Examples:
demuxing_decoding.c.

Definition at line 44 of file demuxing_decoding.c.

Referenced by main().

FILE* video_dst_file = NULL
static
Examples:
demuxing_decoding.c.

Definition at line 45 of file demuxing_decoding.c.

Referenced by main(), and output_video_frame().

FILE* audio_dst_file = NULL
static
Examples:
demuxing_decoding.c.

Definition at line 46 of file demuxing_decoding.c.

Referenced by main(), and output_audio_frame().

uint8_t* video_dst_data[4] = {NULL}
static
Examples:
demuxing_decoding.c.

Definition at line 48 of file demuxing_decoding.c.

Referenced by main(), and output_video_frame().

int video_dst_linesize[4]
static
Examples:
demuxing_decoding.c.

Definition at line 49 of file demuxing_decoding.c.

Referenced by main(), and output_video_frame().

int video_dst_bufsize
static
Examples:
demuxing_decoding.c.

Definition at line 50 of file demuxing_decoding.c.

Referenced by main(), and output_video_frame().

int video_stream_idx = -1
static
Examples:
demuxing_decoding.c.

Definition at line 52 of file demuxing_decoding.c.

Referenced by main().

int audio_stream_idx = -1
static
Examples:
demuxing_decoding.c.

Definition at line 52 of file demuxing_decoding.c.

Referenced by main().

AVFrame* frame = NULL
static

Definition at line 53 of file demuxing_decoding.c.

AVPacket* pkt = NULL
static

Definition at line 54 of file demuxing_decoding.c.

int video_frame_count = 0
static
Examples:
demuxing_decoding.c.

Definition at line 55 of file demuxing_decoding.c.

Referenced by output_video_frame().

int audio_frame_count = 0
static
Examples:
demuxing_decoding.c.

Definition at line 56 of file demuxing_decoding.c.

Referenced by fourxm_read_packet(), and output_audio_frame().