FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
avienc.c File Reference
#include "avformat.h"
#include "internal.h"
#include "avi.h"
#include "avio_internal.h"
#include "riff.h"
#include "mpegts.h"
#include "libavformat/avlanguage.h"
#include "libavutil/avstring.h"
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/dict.h"
#include "libavutil/avassert.h"
#include "libavutil/timestamp.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "libavcodec/raw.h"

Go to the source code of this file.

Data Structures

struct  AVIIentry
 
struct  AVIIndex
 
struct  AVIContext
 
struct  AVIStream
 

Macros

#define AVI_INDEX_CLUSTER_SIZE   16384
 
#define OFFSET(x)   offsetof(AVIContext, x)
 
#define ENC   AV_OPT_FLAG_ENCODING_PARAM
 

Functions

static int avi_write_packet_internal (AVFormatContext *s, AVPacket *pkt)
 
static AVIIentryavi_get_ientry (const AVIIndex *idx, int ent_id)
 
static int avi_add_ientry (AVFormatContext *s, int stream_index, char *tag, unsigned int flags, unsigned int size)
 
static int64_t avi_start_new_riff (AVFormatContext *s, AVIOContext *pb, const char *riff_tag, const char *list_tag)
 
static char * avi_stream2fourcc (char *tag, int index, enum AVMediaType type)
 
static int avi_write_counters (AVFormatContext *s, int riff_id)
 
static void write_odml_master (AVFormatContext *s, int stream_index)
 
static int avi_write_header (AVFormatContext *s)
 
static void update_odml_entry (AVFormatContext *s, int stream_index, int64_t ix, int size)
 
static int avi_write_ix (AVFormatContext *s)
 
static int avi_write_idx1 (AVFormatContext *s)
 
static int write_skip_frames (AVFormatContext *s, int stream_index, int64_t dts)
 
static int avi_write_packet (AVFormatContext *s, AVPacket *pkt)
 
static int avi_write_trailer (AVFormatContext *s)
 

Variables

static const AVOption options []
 
static const AVClass avi_muxer_class
 
AVOutputFormat ff_avi_muxer
 

Macro Definition Documentation

#define AVI_INDEX_CLUSTER_SIZE   16384

Definition at line 53 of file avienc.c.

Referenced by avi_add_ientry(), avi_get_ientry(), and avi_write_trailer().

#define OFFSET (   x)    offsetof(AVIContext, x)

Definition at line 908 of file avienc.c.

#define ENC   AV_OPT_FLAG_ENCODING_PARAM

Definition at line 909 of file avienc.c.

Function Documentation

static int avi_write_packet_internal ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 794 of file avienc.c.

Referenced by avi_write_packet(), and write_skip_frames().

static AVIIentry* avi_get_ientry ( const AVIIndex idx,
int  ent_id 
)
inlinestatic

Definition at line 93 of file avienc.c.

Referenced by avi_write_idx1(), and avi_write_ix().

static int avi_add_ientry ( AVFormatContext s,
int  stream_index,
char *  tag,
unsigned int  flags,
unsigned int  size 
)
static

Definition at line 100 of file avienc.c.

Referenced by avi_write_packet(), and avi_write_packet_internal().

static int64_t avi_start_new_riff ( AVFormatContext s,
AVIOContext pb,
const char *  riff_tag,
const char *  list_tag 
)
static

Definition at line 137 of file avienc.c.

Referenced by avi_write_header(), and avi_write_packet_internal().

static char* avi_stream2fourcc ( char *  tag,
int  index,
enum AVMediaType  type 
)
static
static int avi_write_counters ( AVFormatContext s,
int  riff_id 
)
static

Definition at line 177 of file avienc.c.

Referenced by avi_write_idx1(), and avi_write_trailer().

static void write_odml_master ( AVFormatContext s,
int  stream_index 
)
static

Definition at line 210 of file avienc.c.

Referenced by avi_write_header(), and avi_write_ix().

static int avi_write_header ( AVFormatContext s)
static

Definition at line 237 of file avienc.c.

static void update_odml_entry ( AVFormatContext s,
int  stream_index,
int64_t  ix,
int  size 
)
static

Definition at line 527 of file avienc.c.

Referenced by avi_write_ix().

static int avi_write_ix ( AVFormatContext s)
static

Definition at line 560 of file avienc.c.

Referenced by avi_write_packet_internal(), and avi_write_trailer().

static int avi_write_idx1 ( AVFormatContext s)
static

Definition at line 618 of file avienc.c.

Referenced by avi_write_packet_internal(), and avi_write_trailer().

static int write_skip_frames ( AVFormatContext s,
int  stream_index,
int64_t  dts 
)
static

Definition at line 673 of file avienc.c.

Referenced by avi_write_packet(), and avi_write_trailer().

static int avi_write_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 699 of file avienc.c.

static int avi_write_trailer ( AVFormatContext s)
static

Definition at line 845 of file avienc.c.

Variable Documentation

const AVOption options[]
static
Initial value:
= {
{ "write_channel_mask", "write channel mask into wave format header", OFFSET(write_channel_mask), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, ENC },
{ NULL },
}
#define NULL
Definition: coverity.c:32
#define OFFSET(x)
Definition: avienc.c:908
#define ENC
Definition: avienc.c:909

Definition at line 910 of file avienc.c.

const AVClass avi_muxer_class
static
Initial value:
= {
.class_name = "AVI muxer",
.item_name = av_default_item_name,
.option = options,
}
#define LIBAVUTIL_VERSION_INT
Definition: version.h:70
av_default_item_name
static const AVOption options[]
Definition: avienc.c:910

Definition at line 915 of file avienc.c.

AVOutputFormat ff_avi_muxer
Initial value:
= {
.name = "avi",
.long_name = NULL_IF_CONFIG_SMALL("AVI (Audio Video Interleaved)"),
.mime_type = "video/x-msvideo",
.extensions = "avi",
.priv_data_size = sizeof(AVIContext),
.audio_codec = CONFIG_LIBMP3LAME ? AV_CODEC_ID_MP3 : AV_CODEC_ID_AC3,
.video_codec = AV_CODEC_ID_MPEG4,
.codec_tag = (const AVCodecTag * const []) {
},
.priv_class = &avi_muxer_class,
}
static const AVClass avi_muxer_class
Definition: avienc.c:915
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:176
preferred ID for decoding MPEG audio layer 1, 2 or 3
Definition: avcodec.h:512
const AVCodecTag ff_codec_wav_tags[]
Definition: riff.c:428
const AVCodecTag ff_codec_bmp_tags[]
Definition: riff.c:32
static int write_trailer(AVFormatContext *s1)
Definition: v4l2enc.c:94
static int avi_write_trailer(AVFormatContext *s)
Definition: avienc.c:845
static int avi_write_header(AVFormatContext *s)
Definition: avienc.c:237
static int avi_write_packet(AVFormatContext *s, AVPacket *pkt)
Definition: avienc.c:699
static void write_header(FFV1Context *f)
Definition: ffv1enc.c:497
static int write_packet(AVFormatContext *s1, AVPacket *pkt)
Definition: v4l2enc.c:86

Definition at line 922 of file avienc.c.