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 decode_packet (int *got_frame, int cached)
 
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 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,
AVCodecContext **  dec_ctx,
AVFormatContext fmt_ctx,
enum AVMediaType  type 
)
static
Examples:
demuxing_decoding.c.

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

Referenced by main().

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

Definition at line 231 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 decode_packet(), and main().

int width
static
Examples:
demuxing_decoding.c.

Definition at line 39 of file demuxing_decoding.c.

Referenced by decode_packet(), and main().

int height
static
Examples:
demuxing_decoding.c.

Definition at line 39 of file demuxing_decoding.c.

Referenced by decode_packet(), and main().

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 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

Definition at line 53 of file demuxing_decoding.c.

AVPacket pkt
static
Examples:
decode_audio.c, decode_video.c, demuxing_decoding.c, encode_audio.c, encode_video.c, muxing.c, qsvdec.c, remuxing.c, and vaapi_transcode.c.

Definition at line 54 of file demuxing_decoding.c.

Referenced by android_camera_read_close(), ape_tag_read_field(), asf_deinterleave(), asf_read_header(), asf_read_picture(), asf_read_pts(), asf_read_timestamp(), audio_write_frame(), av_bitstream_filter_filter(), av_dup_packet(), av_packet_alloc(), av_packet_merge_side_data(), av_write_trailer(), av_write_uncoded_frame_internal(), avf_read_packet(), avformat_find_stream_info(), avi_write_packet(), avpacket_queue_flush(), avpriv_mpegts_parse_packet(), bsf_list_filter(), check_init_output_file(), check_keyboard_interaction(), compute_crc_of_packets(), crystalhd_receive_frame(), cuvid_output_frame(), dash_check_bitstream(), decode_extradata_ps(), decode_simple_internal(), decode_video(), do_audio_out(), do_subtitle_out(), do_video_out(), encode_frame(), estimate_timings_from_pts(), ff_decklink_write_trailer(), ff_decode_frame_props(), ff_exp2fi(), ff_frame_thread_encoder_free(), ff_interleave_add_packet(), ff_ivi_decode_frame(), ff_load_image(), ff_mjpeg_encode_mb(), ff_packet_list_put(), ff_qsv_enc_close(), ff_reshuffle_raw_rgb(), ff_rtsp_open_transport_ctx(), ff_stream_add_bitstream_filter(), ff_write_chained(), ffmmal_decode(), ffmpeg_cleanup(), fifo_basic_test(), fifo_overflow_drop_test(), fifo_thread_attempt_recovery(), filter(), filter_frame(), find_missing_packets(), find_video_stream_info(), flac_finish_header(), flac_queue_flush(), flac_read_timestamp(), flush_encoders(), force_one_stream(), free_pkt_fifo(), gen_buffer_time(), gen_bytes_read(), gen_check_bw(), gen_connect(), gen_create_stream(), gen_delete_stream(), gen_fcpublish_stream(), gen_fcsubscribe_stream(), gen_fcunpublish_stream(), gen_get_stream_length(), gen_pause(), gen_play(), gen_pong(), gen_publish(), gen_release_stream(), gen_seek(), gen_swf_verification(), gen_window_ack_size(), gif_write_packet(), gxf_compare_field_nb(), hevc_decode_nal_units(), image_available(), ipmovie_read_header(), libdav1d_receive_frame(), libopenjpeg_encode_frame(), LLVMFuzzerTestOneInput(), mace_decode_frame(), main(), matroska_parse_frame(), matroska_parse_rm_audio(), matroska_parse_webvtt(), matroska_read_header(), mov_read_chapters(), mov_read_covr(), movie_push_frame(), mp3_queue_flush(), mpc_read_seek(), mpegts_get_dts(), mpegts_read_packet(), mux_frames(), nsv_read_chunk(), opus_decode_packet(), parse_file(), process_callback(), process_input(), process_input_packet(), pulse_write_frame(), qsv_clear_buffers(), queue_frames(), read_interval_packets(), reset_packet_state(), rkmpp_receive_frame(), seek_frame_generic(), set_spdif(), signal_init_ts(), str_read_packet(), supply_new_packets(), try_decode_frame(), tta_queue_flush(), video_decode(), video_decode_example(), decklink_input_callback::VideoInputFrameArrived(), vp8_lossy_decode_frame(), wait_frame(), webm_clusters_start_with_keyframe(), worker(), write_audio_frame(), and write_video_frame().

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