libavformat/asfenc.c File Reference

#include "avformat.h"
#include "metadata.h"
#include "riff.h"
#include "asf.h"
#include <assert.h>

Go to the source code of this file.

Defines

#define ASF_INDEXED_INTERVAL   10000000
#define ASF_INDEX_BLOCK   600
#define ASF_PACKET_ERROR_CORRECTION_DATA_SIZE   0x2
#define ASF_PACKET_ERROR_CORRECTION_FLAGS
#define ASF_PACKET_ERROR_CORRECTION_FLAGS_FIELD_SIZE   1
#define ASF_PPI_PROPERTY_FLAGS
#define ASF_PPI_LENGTH_TYPE_FLAGS   0
#define ASF_PAYLOAD_FLAGS   ASF_PL_FLAG_PAYLOAD_LENGTH_FIELD_IS_WORD
#define ASF_PPI_SEQUENCE_FIELD_SIZE   0
#define ASF_PPI_PACKET_LENGTH_FIELD_SIZE   0
#define ASF_PPI_PADDING_LENGTH_FIELD_SIZE   0
#define ASF_PAYLOAD_REPLICATED_DATA_LENGTH_FIELD_SIZE   1
#define ASF_PAYLOAD_OFFSET_INTO_MEDIA_OBJECT_FIELD_SIZE   4
#define ASF_PAYLOAD_MEDIA_OBJECT_NUMBER_FIELD_SIZE   1
#define ASF_PAYLOAD_LENGTH_FIELD_SIZE   2
#define PACKET_HEADER_MIN_SIZE
#define ASF_PAYLOAD_REPLICATED_DATA_LENGTH   0x08
#define PAYLOAD_HEADER_SIZE_SINGLE_PAYLOAD
#define PAYLOAD_HEADER_SIZE_MULTIPLE_PAYLOADS
#define SINGLE_PAYLOAD_DATA_LENGTH
#define MULTI_PAYLOAD_CONSTANT
#define PREROLL_TIME   3100

Functions

static void put_guid (ByteIOContext *s, const GUID *g)
static void put_str16_nolen (ByteIOContext *s, const char *tag)
static void put_str16 (ByteIOContext *s, const char *tag)
static int64_t put_header (ByteIOContext *pb, const GUID *g)
static void end_header (ByteIOContext *pb, int64_t pos)
static void put_chunk (AVFormatContext *s, int type, int payload_length, int flags)
static int64_t unix_to_file_time (int ti)
static int asf_write_header1 (AVFormatContext *s, int64_t file_size, int64_t data_chunk_size)
static int asf_write_header (AVFormatContext *s)
static int asf_write_stream_header (AVFormatContext *s)
static int put_payload_parsing_info (AVFormatContext *s, unsigned int sendtime, unsigned int duration, int nb_payloads, int padsize)
static void flush_packet (AVFormatContext *s)
static void put_payload_header (AVFormatContext *s, ASFStream *stream, int presentation_time, int m_obj_size, int m_obj_offset, int payload_len, int flags)
static void put_frame (AVFormatContext *s, ASFStream *stream, AVStream *avst, int timestamp, const uint8_t *buf, int m_obj_size, int flags)
static int asf_write_packet (AVFormatContext *s, AVPacket *pkt)
static int asf_write_index (AVFormatContext *s, ASFIndex *index, uint16_t max, uint32_t count)
static int asf_write_trailer (AVFormatContext *s)

Variables

static const AVCodecTag codec_asf_bmp_tags []


Define Documentation

#define ASF_INDEX_BLOCK   600

Definition at line 31 of file asfenc.c.

Referenced by asf_write_header(), and asf_write_packet().

#define ASF_INDEXED_INTERVAL   10000000

Definition at line 30 of file asfenc.c.

Referenced by asf_write_index().

#define ASF_PACKET_ERROR_CORRECTION_DATA_SIZE   0x2

Definition at line 33 of file asfenc.c.

Referenced by put_payload_parsing_info().

#define ASF_PACKET_ERROR_CORRECTION_FLAGS

#define ASF_PACKET_ERROR_CORRECTION_FLAGS_FIELD_SIZE   1

Definition at line 40 of file asfenc.c.

#define ASF_PAYLOAD_FLAGS   ASF_PL_FLAG_PAYLOAD_LENGTH_FIELD_IS_WORD

Definition at line 54 of file asfenc.c.

Referenced by put_payload_parsing_info().

#define ASF_PAYLOAD_LENGTH_FIELD_SIZE   2

Definition at line 139 of file asfenc.c.

#define ASF_PAYLOAD_MEDIA_OBJECT_NUMBER_FIELD_SIZE   1

Definition at line 123 of file asfenc.c.

#define ASF_PAYLOAD_OFFSET_INTO_MEDIA_OBJECT_FIELD_SIZE   4

Definition at line 116 of file asfenc.c.

#define ASF_PAYLOAD_REPLICATED_DATA_LENGTH   0x08

Definition at line 159 of file asfenc.c.

Referenced by put_payload_header().

#define ASF_PAYLOAD_REPLICATED_DATA_LENGTH_FIELD_SIZE   1

Definition at line 97 of file asfenc.c.

#define ASF_PPI_LENGTH_TYPE_FLAGS   0

Definition at line 52 of file asfenc.c.

Referenced by put_payload_parsing_info().

#define ASF_PPI_PACKET_LENGTH_FIELD_SIZE   0

Definition at line 80 of file asfenc.c.

#define ASF_PPI_PADDING_LENGTH_FIELD_SIZE   0

Definition at line 93 of file asfenc.c.

#define ASF_PPI_PROPERTY_FLAGS

#define ASF_PPI_SEQUENCE_FIELD_SIZE   0

Definition at line 66 of file asfenc.c.

#define MULTI_PAYLOAD_CONSTANT

Value:

Definition at line 184 of file asfenc.c.

Referenced by put_frame().

#define PACKET_HEADER_MIN_SIZE

Value:

(\
                ASF_PACKET_ERROR_CORRECTION_FLAGS_FIELD_SIZE + \
                ASF_PACKET_ERROR_CORRECTION_DATA_SIZE + \
                1 + /*Length Type Flags*/ \
                1 + /*Property Flags*/ \
                ASF_PPI_PACKET_LENGTH_FIELD_SIZE + \
                ASF_PPI_SEQUENCE_FIELD_SIZE + \
                ASF_PPI_PADDING_LENGTH_FIELD_SIZE + \
                4 + /*Send Time Field*/ \
                2   /*Duration Field*/ \
                )

Definition at line 145 of file asfenc.c.

Referenced by put_frame(), and put_payload_parsing_info().

#define PAYLOAD_HEADER_SIZE_MULTIPLE_PAYLOADS

#define PAYLOAD_HEADER_SIZE_SINGLE_PAYLOAD

#define PREROLL_TIME   3100

Definition at line 198 of file asfenc.c.

Referenced by asf_write_header1(), and put_frame().

#define SINGLE_PAYLOAD_DATA_LENGTH

Value:

Definition at line 178 of file asfenc.c.

Referenced by put_frame().


Function Documentation

static int asf_write_header ( AVFormatContext s  )  [static]

Definition at line 513 of file asfenc.c.

Referenced by asf_write_stream_header().

static int asf_write_header1 ( AVFormatContext s,
int64_t  file_size,
int64_t  data_chunk_size 
) [static]

Definition at line 271 of file asfenc.c.

Referenced by asf_write_header(), and asf_write_trailer().

static int asf_write_index ( AVFormatContext s,
ASFIndex index,
uint16_t  max,
uint32_t  count 
) [static]

Definition at line 791 of file asfenc.c.

Referenced by asf_write_trailer().

static int asf_write_packet ( AVFormatContext s,
AVPacket pkt 
) [static]

Definition at line 745 of file asfenc.c.

static int asf_write_stream_header ( AVFormatContext s  )  [static]

Definition at line 545 of file asfenc.c.

static int asf_write_trailer ( AVFormatContext s  )  [static]

Definition at line 810 of file asfenc.c.

static void end_header ( ByteIOContext pb,
int64_t  pos 
) [static]

Definition at line 234 of file asfenc.c.

Referenced by asf_write_header1().

static void flush_packet ( AVFormatContext s  )  [static]

static void put_chunk ( AVFormatContext s,
int  type,
int  payload_length,
int  flags 
) [static]

Definition at line 245 of file asfenc.c.

Referenced by asf_write_header1(), asf_write_trailer(), and flush_packet().

static void put_frame ( AVFormatContext s,
ASFStream stream,
AVStream avst,
int  timestamp,
const uint8_t *  buf,
int  m_obj_size,
int  flags 
) [static]

Definition at line 678 of file asfenc.c.

Referenced by asf_write_packet().

static void put_guid ( ByteIOContext s,
const GUID g 
) [static]

Definition at line 200 of file asfenc.c.

Referenced by asf_write_header1(), asf_write_index(), and put_header().

static int64_t put_header ( ByteIOContext pb,
const GUID g 
) [static]

Definition at line 223 of file asfenc.c.

static void put_payload_header ( AVFormatContext s,
ASFStream stream,
int  presentation_time,
int  m_obj_size,
int  m_obj_offset,
int  payload_len,
int  flags 
) [static]

Definition at line 641 of file asfenc.c.

Referenced by put_frame().

static int put_payload_parsing_info ( AVFormatContext s,
unsigned int  sendtime,
unsigned int  duration,
int  nb_payloads,
int  padsize 
) [static]

Definition at line 554 of file asfenc.c.

Referenced by flush_packet().

static void put_str16 ( ByteIOContext s,
const char *  tag 
) [static]

Definition at line 207 of file asfenc.c.

Referenced by asf_write_header1().

static void put_str16_nolen ( ByteIOContext s,
const char *  tag 
) [static]

Definition at line 213 of file asfenc.c.

Referenced by asf_write_header1(), and put_str16().

static int64_t unix_to_file_time ( int  ti  )  [static]

Definition at line 261 of file asfenc.c.

Referenced by asf_write_header1().


Variable Documentation

const AVCodecTag codec_asf_bmp_tags[] [static]

Initial value:

 {
    { CODEC_ID_MPEG4, MKTAG('M', 'P', '4', 'S') },
    { CODEC_ID_MPEG4, MKTAG('M', '4', 'S', '2') },
    { CODEC_ID_MSMPEG4V3, MKTAG('M', 'P', '4', '3') },
    { CODEC_ID_NONE, 0 },
}

Definition at line 191 of file asfenc.c.


Generated on Fri Oct 26 02:35:45 2012 for FFmpeg by  doxygen 1.5.8