FFmpeg  3.0.1
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 decode_packet (int *got_frame, int cached)
 
static int open_codec_context (int *stream_idx, 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_t * video_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 AVPacket pkt
 
static int video_frame_count = 0
 
static int audio_frame_count = 0
 
static int refcount = 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 decode_packet ( int *  got_frame,
int  cached 
)
static
Examples:
demuxing_decoding.c.

Definition at line 64 of file demuxing_decoding.c.

Referenced by main().

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

Definition at line 150 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 190 of file demuxing_decoding.c.

Referenced by main().

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

Definition at line 219 of file demuxing_decoding.c.

Variable Documentation

AVFormatContext* fmt_ctx = NULL
static
Examples:
avio_reading.c, demuxing_decoding.c, metadata.c, muxing.c, and remuxing.c.

Definition at line 37 of file demuxing_decoding.c.

Referenced by main().

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 decode_packet(), and main().

int width
static
Examples:
demuxing_decoding.c, muxing.c, and scaling_video.c.

Definition at line 39 of file demuxing_decoding.c.

Referenced by alloc_picture(), decode_packet(), fill_yuv_image(), and main().

int height
static
Examples:
demuxing_decoding.c, muxing.c, and scaling_video.c.

Definition at line 39 of file demuxing_decoding.c.

Referenced by alloc_picture(), decode_packet(), fill_yuv_image(), and main().

enum AVPixelFormat pix_fmt
static
Examples:
demuxing_decoding.c, and muxing.c.

Definition at line 40 of file demuxing_decoding.c.

Referenced by alloc_picture(), decode_packet(), and main().

AVStream* video_stream = NULL
static
Examples:
demuxing_decoding.c.

Definition at line 41 of file demuxing_decoding.c.

AVStream * audio_stream = NULL
static
Examples:
demuxing_decoding.c.

Definition at line 41 of file demuxing_decoding.c.

Referenced by main().

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 decode_packet(), and main().

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

Definition at line 46 of file demuxing_decoding.c.

Referenced by decode_packet(), and main().

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

Definition at line 48 of file demuxing_decoding.c.

Referenced by decode_packet(), and main().

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

Definition at line 49 of file demuxing_decoding.c.

Referenced by decode_packet(), and main().

int video_dst_bufsize
static
Examples:
demuxing_decoding.c.

Definition at line 50 of file demuxing_decoding.c.

Referenced by decode_packet(), and main().

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

Definition at line 52 of file demuxing_decoding.c.

Referenced by decode_packet(), and main().

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

Definition at line 52 of file demuxing_decoding.c.

Referenced by decode_packet(), and main().

AVFrame* frame = NULL
static
AVPacket pkt
static
int video_frame_count = 0
static
Examples:
demuxing_decoding.c.

Definition at line 55 of file demuxing_decoding.c.

Referenced by decode_packet().

int audio_frame_count = 0
static
Examples:
demuxing_decoding.c.

Definition at line 56 of file demuxing_decoding.c.

Referenced by decode_packet().

int refcount = 0
static
Examples:
demuxing_decoding.c.

Definition at line 62 of file demuxing_decoding.c.

Referenced by decode_packet(), main(), and open_codec_context().