#include "config_components.h"
#include "libavutil/avassert.h"
#include "libavutil/dict.h"
#include "libavutil/mathematics.h"
#include "libavutil/opt.h"
#include "libavcodec/codec_desc.h"
#include "avformat.h"
#include "avlanguage.h"
#include "avio_internal.h"
#include "internal.h"
#include "mux.h"
#include "riff.h"
#include "asf.h"
Go to the source code of this file.
|
static void | put_str16 (AVIOContext *s, AVIOContext *dyn_buf, const char *tag) |
|
static int64_t | put_header (AVIOContext *pb, const ff_asf_guid *g) |
|
static void | end_header (AVIOContext *pb, int64_t pos) |
|
static void | put_chunk (AVFormatContext *s, int type, int payload_length, int flags) |
|
static int64_t | unix_to_file_time (int64_t ti) |
|
static int32_t | get_send_time (ASFContext *asf, int64_t pres_time, uint64_t *offset) |
|
static void | asf_write_markers (AVFormatContext *s, AVIOContext *dyn_buf) |
|
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 sendtime, unsigned duration, int nb_payloads, int padsize) |
|
static void | flush_packet (AVFormatContext *s) |
|
static void | put_payload_header (AVFormatContext *s, ASFStream *stream, int64_t 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, int64_t timestamp, const uint8_t *buf, int m_obj_size, int flags) |
|
static int | update_index (AVFormatContext *s, int start_sec, uint32_t packet_number, uint16_t packet_count, uint64_t packet_offset) |
|
static int | asf_write_packet (AVFormatContext *s, AVPacket *pkt) |
|
static int | asf_write_index (AVFormatContext *s, const ASFIndex *index, uint16_t max, uint32_t count) |
|
static int | asf_write_trailer (AVFormatContext *s) |
|
static void | asf_deinit (AVFormatContext *s) |
|
◆ ASF_INDEXED_INTERVAL
#define ASF_INDEXED_INTERVAL 10000000 |
◆ ASF_INDEX_BLOCK
#define ASF_INDEX_BLOCK (1<<9) |
◆ ASF_PAYLOADS_PER_PACKET
#define ASF_PAYLOADS_PER_PACKET 63 |
◆ ASF_PACKET_ERROR_CORRECTION_DATA_SIZE
#define ASF_PACKET_ERROR_CORRECTION_DATA_SIZE 0x2 |
◆ ASF_PACKET_ERROR_CORRECTION_FLAGS
#define ASF_PACKET_ERROR_CORRECTION_FLAGS |
Value:
ASF_PACKET_ERROR_CORRECTION_DATA_SIZE)
Definition at line 42 of file asfenc.c.
◆ ASF_PACKET_ERROR_CORRECTION_FLAGS_FIELD_SIZE
#define ASF_PACKET_ERROR_CORRECTION_FLAGS_FIELD_SIZE 1 |
◆ ASF_PPI_PROPERTY_FLAGS
#define ASF_PPI_PROPERTY_FLAGS |
Value:
ASF_PL_FLAG_OFFSET_INTO_MEDIA_OBJECT_LENGTH_FIELD_IS_DWORD | \
ASF_PL_FLAG_MEDIA_OBJECT_NUMBER_LENGTH_FIELD_IS_BYTE | \
ASF_PL_FLAG_STREAM_NUMBER_LENGTH_FIELD_IS_BYTE)
Definition at line 52 of file asfenc.c.
◆ ASF_PPI_LENGTH_TYPE_FLAGS
#define ASF_PPI_LENGTH_TYPE_FLAGS 0 |
◆ ASF_PAYLOAD_FLAGS
◆ ASF_PPI_SEQUENCE_FIELD_SIZE
#define ASF_PPI_SEQUENCE_FIELD_SIZE 0 |
◆ ASF_PPI_PACKET_LENGTH_FIELD_SIZE
#define ASF_PPI_PACKET_LENGTH_FIELD_SIZE 0 |
◆ ASF_PPI_PADDING_LENGTH_FIELD_SIZE
#define ASF_PPI_PADDING_LENGTH_FIELD_SIZE 0 |
◆ ASF_PAYLOAD_REPLICATED_DATA_LENGTH_FIELD_SIZE
#define ASF_PAYLOAD_REPLICATED_DATA_LENGTH_FIELD_SIZE 0 |
◆ ASF_PAYLOAD_OFFSET_INTO_MEDIA_OBJECT_FIELD_SIZE
#define ASF_PAYLOAD_OFFSET_INTO_MEDIA_OBJECT_FIELD_SIZE 0 |
◆ ASF_PAYLOAD_MEDIA_OBJECT_NUMBER_FIELD_SIZE
#define ASF_PAYLOAD_MEDIA_OBJECT_NUMBER_FIELD_SIZE 0 |
◆ ASF_PAYLOAD_LENGTH_FIELD_SIZE
#define ASF_PAYLOAD_LENGTH_FIELD_SIZE 0 |
◆ PACKET_HEADER_MIN_SIZE
#define PACKET_HEADER_MIN_SIZE |
Value:
ASF_PACKET_ERROR_CORRECTION_DATA_SIZE + \
1 + \
1 + \
ASF_PPI_PACKET_LENGTH_FIELD_SIZE + \
ASF_PPI_SEQUENCE_FIELD_SIZE + \
ASF_PPI_PADDING_LENGTH_FIELD_SIZE + \
4 + \
2)
Definition at line 150 of file asfenc.c.
◆ ASF_PAYLOAD_REPLICATED_DATA_LENGTH
#define ASF_PAYLOAD_REPLICATED_DATA_LENGTH 0x08 |
◆ PAYLOAD_HEADER_SIZE_SINGLE_PAYLOAD
#define PAYLOAD_HEADER_SIZE_SINGLE_PAYLOAD |
Value: (1 + \
ASF_PAYLOAD_MEDIA_OBJECT_NUMBER_FIELD_SIZE + \
ASF_PAYLOAD_OFFSET_INTO_MEDIA_OBJECT_FIELD_SIZE + \
ASF_PAYLOAD_REPLICATED_DATA_LENGTH_FIELD_SIZE + \
ASF_PAYLOAD_REPLICATED_DATA_LENGTH)
Definition at line 164 of file asfenc.c.
◆ PAYLOAD_HEADER_SIZE_MULTIPLE_PAYLOADS
#define PAYLOAD_HEADER_SIZE_MULTIPLE_PAYLOADS |
Value: (1 + \
ASF_PAYLOAD_MEDIA_OBJECT_NUMBER_FIELD_SIZE + \
ASF_PAYLOAD_OFFSET_INTO_MEDIA_OBJECT_FIELD_SIZE + \
ASF_PAYLOAD_REPLICATED_DATA_LENGTH_FIELD_SIZE + \
ASF_PAYLOAD_REPLICATED_DATA_LENGTH + \
ASF_PAYLOAD_LENGTH_FIELD_SIZE)
Definition at line 171 of file asfenc.c.
◆ SINGLE_PAYLOAD_HEADERS
#define SINGLE_PAYLOAD_HEADERS |
Value:
PAYLOAD_HEADER_SIZE_SINGLE_PAYLOAD)
Definition at line 179 of file asfenc.c.
◆ MULTI_PAYLOAD_HEADERS
#define MULTI_PAYLOAD_HEADERS |
◆ DATA_HEADER_SIZE
#define DATA_HEADER_SIZE 50 |
◆ PACKET_SIZE_MAX
#define PACKET_SIZE_MAX 65536 |
◆ PACKET_SIZE_MIN
#define PACKET_SIZE_MIN 100 |
◆ PREROLL_TIME
#define PREROLL_TIME 3100 |
◆ put_str16()
◆ put_header()
◆ end_header()
◆ put_chunk()
◆ unix_to_file_time()
◆ get_send_time()
◆ asf_write_markers()
◆ asf_write_header1()
◆ asf_write_header()
◆ asf_write_stream_header()
◆ put_payload_parsing_info()
static int put_payload_parsing_info |
( |
AVFormatContext * |
s, |
|
|
unsigned |
sendtime, |
|
|
unsigned |
duration, |
|
|
int |
nb_payloads, |
|
|
int |
padsize |
|
) |
| |
|
static |
◆ flush_packet()
◆ put_payload_header()
◆ put_frame()
◆ update_index()
static int update_index |
( |
AVFormatContext * |
s, |
|
|
int |
start_sec, |
|
|
uint32_t |
packet_number, |
|
|
uint16_t |
packet_count, |
|
|
uint64_t |
packet_offset |
|
) |
| |
|
static |
◆ asf_write_packet()
◆ asf_write_index()
◆ asf_write_trailer()
◆ asf_deinit()
◆ codec_asf_bmp_tags
Initial value:
Definition at line 233 of file asfenc.c.
◆ asf_codec_tags
Initial value:
Definition at line 240 of file asfenc.c.
◆ asf_options
◆ asf_muxer_class
Initial value:= {
.class_name = "ASF (stream) muxer",
}
Definition at line 1122 of file asfenc.c.