Windows Television (WTV) demuxer. More...
#include "libavutil/intreadwrite.h"
#include "libavutil/intfloat.h"
#include "libavutil/dict.h"
#include "avformat.h"
#include "internal.h"
#include "riff.h"
#include "asf.h"
#include "mpegts.h"
Go to the source code of this file.
Data Structures | |
struct | WtvFile |
struct | WtvStream |
struct | WtvContext |
struct | AVCodecGuid |
Macros | |
#define | PRI_GUID "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" |
#define | ARG_GUID(g) g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15] |
#define | PRI_PRETTY_GUID "%08x-%04x-%04x-%02x%02x%02x%02x%02x%02x%02x%02x" |
#define | ARG_PRETTY_GUID(g) AV_RL32(g),AV_RL16(g+4),AV_RL16(g+6),g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15] |
#define | LEN_PRETTY_GUID 34 |
#define | WTV_SECTOR_BITS 12 |
#define | WTV_SECTOR_SIZE (1 << WTV_SECTOR_BITS) |
#define | WTV_BIGSECTOR_BITS 18 |
#define | wtvfile_open(s, buf, buf_size, filename) wtvfile_open2(s, buf, buf_size, filename, sizeof(filename)) |
#define | MEDIASUBTYPE_BASE_GUID 0x00,0x00,0x10,0x00,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71 |
#define | WTV_PAD8(x) (((x) + 7) & ~7) |
#define | _ , 0, |
Enumerations | |
enum | { SEEK_TO_DATA = 0, SEEK_TO_PTS } |
Functions | |
static int | wtvfile_read_packet (void *opaque, uint8_t *buf, int buf_size) |
static int64_t | wtvfile_seek (void *opaque, int64_t offset, int whence) |
static int | read_ints (AVIOContext *pb, uint32_t *data, int count) |
read non-zero integers (le32) from input stream | |
static AVIOContext * | wtvfile_open_sector (int first_sector, uint64_t length, int depth, AVFormatContext *s) |
Open file. | |
static AVIOContext * | wtvfile_open2 (AVFormatContext *s, const uint8_t *buf, int buf_size, const uint8_t *filename, int filename_size) |
Open file using filename. | |
static void | wtvfile_close (AVIOContext *pb) |
Close file opened with wtvfile_open_sector(), or wtv_open() | |
static enum CodecID | ff_codec_guid_get_id (const AVCodecGuid *guids, ff_asf_guid guid) |
static int | read_probe (AVProbeData *p) |
static void | filetime_to_iso8601 (char *buf, int buf_size, int64_t value) |
Convert win32 FILETIME to ISO-8601 string. | |
static void | crazytime_to_iso8601 (char *buf, int buf_size, int64_t value) |
Convert crazy time (100ns since 1 Jan 0001) to ISO-8601 string. | |
static void | oledate_to_iso8601 (char *buf, int buf_size, int64_t value) |
Convert OLE DATE to ISO-8601 string. | |
static void | get_attachment (AVFormatContext *s, AVIOContext *pb, int length) |
static void | get_tag (AVFormatContext *s, AVIOContext *pb, const char *key, int type, int length) |
static void | parse_legacy_attrib (AVFormatContext *s, AVIOContext *pb) |
Parse metadata entries. | |
static int | parse_videoinfoheader2 (AVFormatContext *s, AVStream *st) |
parse VIDEOINFOHEADER2 structure | |
static void | parse_mpeg1waveformatex (AVStream *st) |
Parse MPEG1WAVEFORMATEX extradata structure. | |
static AVStream * | new_stream (AVFormatContext *s, AVStream *st, int sid, int codec_type) |
Initialise stream. | |
static AVStream * | parse_media_type (AVFormatContext *s, AVStream *st, int sid, ff_asf_guid mediatype, ff_asf_guid subtype, ff_asf_guid formattype, int size) |
parse Media Type structure and populate stream | |
static int | parse_chunks (AVFormatContext *s, int mode, int64_t seekts, int *len_ptr) |
Parse WTV chunks. | |
static int | read_header (AVFormatContext *s, AVFormatParameters *ap) |
static int | read_packet (AVFormatContext *s, AVPacket *pkt) |
static int | read_seek (AVFormatContext *s, int stream_index, int64_t ts, int flags) |
static int | read_close (AVFormatContext *s) |
Windows Television (WTV) demuxer.
Definition in file wtv.c.
#define ARG_GUID | ( | g | ) | g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15] |
Definition at line 40 of file wtv.c.
Referenced by parse_chunks(), parse_legacy_attrib(), parse_media_type(), and wtvfile_open2().
#define MEDIASUBTYPE_BASE_GUID 0x00,0x00,0x10,0x00,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71 |
Definition at line 387 of file wtv.c.
Referenced by parse_media_type().
#define PRI_GUID "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" |
Definition at line 38 of file wtv.c.
Referenced by parse_chunks(), parse_legacy_attrib(), parse_media_type(), and wtvfile_open2().
#define PRI_PRETTY_GUID "%08x-%04x-%04x-%02x%02x%02x%02x%02x%02x%02x%02x" |
#define WTV_BIGSECTOR_BITS 18 |
Definition at line 57 of file wtv.c.
Referenced by wtvfile_open_sector().
#define WTV_PAD8 | ( | x | ) | (((x) + 7) & ~7) |
Referenced by parse_chunks(), and read_packet().
#define WTV_SECTOR_BITS 12 |
Definition at line 55 of file wtv.c.
Referenced by read_header(), wtvfile_open_sector(), wtvfile_read_packet(), and wtvfile_seek().
#define WTV_SECTOR_SIZE (1 << WTV_SECTOR_BITS) |
Definition at line 56 of file wtv.c.
Referenced by read_header(), and wtvfile_open_sector().
#define wtvfile_open | ( | s, | |
buf, | |||
buf_size, | |||
filename | |||
) | wtvfile_open2(s, buf, buf_size, filename, sizeof(filename)) |
Definition at line 300 of file wtv.c.
Referenced by read_header().
|
static |
|
static |
Definition at line 343 of file wtv.c.
Referenced by parse_media_type().
|
static |
|
static |
|
static |
Definition at line 506 of file wtv.c.
Referenced by parse_legacy_attrib().
|
static |
Initialise stream.
st | Stream to initialise, or NULL to create and initialise new stream |
Definition at line 625 of file wtv.c.
Referenced by parse_media_type().
|
static |
|
static |
Parse WTV chunks.
mode | SEEK_TO_DATA or SEEK_TO_PTS | |
seekts | timestamp | |
[out] | len_ptr | Length of data chunk |
Definition at line 780 of file wtv.c.
Referenced by read_header(), read_packet(), and read_seek().
|
static |
|
static |
parse Media Type structure and populate stream
st | Stream, or NULL to create new stream |
mediatype | Mediatype GUID |
subtype | Subtype GUID |
formattype | Format GUID |
size | Size of format buffer |
Definition at line 657 of file wtv.c.
Referenced by parse_chunks().
Parse MPEG1WAVEFORMATEX extradata structure.
Definition at line 602 of file wtv.c.
Referenced by parse_media_type().
|
static |
parse VIDEOINFOHEADER2 structure
Definition at line 588 of file wtv.c.
Referenced by parse_media_type().
|
static |
|
static |
|
static |
read non-zero integers (le32) from input stream
pb | ||
[out] | data | destination |
count | maximum number of integers to read |
Definition at line 139 of file wtv.c.
Referenced by wtvfile_open_sector().
|
static |
|
static |
|
static |
|
static |
Close file opened with wtvfile_open_sector(), or wtv_open()
Definition at line 306 of file wtv.c.
Referenced by read_close(), and read_header().
|
static |
|
static |
Open file.
first_sector | First sector |
length | Length of file (bytes) |
depth | File allocation table depth |
Definition at line 156 of file wtv.c.
Referenced by wtvfile_open2().
|
static |
Definition at line 74 of file wtv.c.
Referenced by wtvfile_open_sector().
|
static |
Definition at line 113 of file wtv.c.
Referenced by wtvfile_open_sector().
|
static |
|
static |
Definition at line 360 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 249 of file wtv.c.
Referenced by wtvfile_open2().
|
static |
Definition at line 370 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 382 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 374 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 372 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 376 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 368 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 378 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 366 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 380 of file wtv.c.
Referenced by parse_chunks().
AVInputFormat ff_wtv_demuxer |
|
static |
Definition at line 417 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 423 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 425 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 421 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 419 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 405 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 411 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 407 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 395 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 413 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 409 of file wtv.c.
Referenced by parse_media_type().
|
static |
|
static |
Definition at line 399 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 397 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 401 of file wtv.c.
Referenced by parse_media_type().
|
static |
|
static |
Definition at line 356 of file wtv.c.
Referenced by parse_legacy_attrib().
|
static |
Definition at line 364 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 362 of file wtv.c.
Referenced by parse_chunks().
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 358 of file wtv.c.
Referenced by parse_chunks().
|
static |
|
static |
Definition at line 354 of file wtv.c.
Referenced by read_probe().