Libav
|
Windows Television (WTV) demuxer. More...
#include <inttypes.h>
#include "libavutil/channel_layout.h"
#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 |
Macros | |
#define | PRI_PRETTY_GUID "%08"PRIx32"-%04"PRIx16"-%04"PRIx16"-%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 | SHIFT_SECTOR_BITS(a) ((int64_t)(a) << WTV_SECTOR_BITS) |
#define | wtvfile_open(s, buf, buf_size, filename) wtvfile_open2(s, buf, buf_size, filename, sizeof(filename)) |
#define | WTV_PAD8(x) (((x) + 7) & ~7) |
#define | _ , 0, |
Enumerations | |
enum | { SEEK_TO_DATA = 0, SEEK_TO_PTS } |
Functions | |
static int64_t | seek_by_sector (AVIOContext *pb, int64_t sector, int64_t offset) |
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 More... | |
static AVIOContext * | wtvfile_open_sector (int first_sector, uint64_t length, int depth, AVFormatContext *s) |
Open file. More... | |
static AVIOContext * | wtvfile_open2 (AVFormatContext *s, const uint8_t *buf, int buf_size, const uint8_t *filename, int filename_size) |
Open file using filename. More... | |
static void | wtvfile_close (AVIOContext *pb) |
Close file opened with wtvfile_open_sector(), or wtv_open() More... | |
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. More... | |
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. More... | |
static void | oledate_to_iso8601 (char *buf, int buf_size, int64_t value) |
Convert OLE DATE to ISO-8601 string. More... | |
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. More... | |
static int | parse_videoinfoheader2 (AVFormatContext *s, AVStream *st) |
parse VIDEOINFOHEADER2 structure More... | |
static void | parse_mpeg1waveformatex (AVStream *st) |
Parse MPEG1WAVEFORMATEX extradata structure. More... | |
static AVStream * | new_stream (AVFormatContext *s, AVStream *st, int sid, int codec_type) |
Initialise stream. More... | |
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 More... | |
static int | parse_chunks (AVFormatContext *s, int mode, int64_t seekts, int *len_ptr) |
Parse WTV chunks. More... | |
static int | read_header (AVFormatContext *s) |
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 PRI_PRETTY_GUID "%08"PRIx32"-%04"PRIx16"-%04"PRIx16"-%02x%02x%02x%02x%02x%02x%02x%02x" |
#define WTV_SECTOR_BITS 12 |
Definition at line 53 of file wtv.c.
Referenced by wtvfile_open_sector(), and wtvfile_read_packet().
#define WTV_SECTOR_SIZE (1 << WTV_SECTOR_BITS) |
Definition at line 54 of file wtv.c.
Referenced by read_header(), and wtvfile_open_sector().
#define WTV_BIGSECTOR_BITS 18 |
Definition at line 55 of file wtv.c.
Referenced by wtvfile_open_sector().
#define SHIFT_SECTOR_BITS | ( | a | ) | ((int64_t)(a) << WTV_SECTOR_BITS) |
Definition at line 57 of file wtv.c.
Referenced by seek_by_sector(), and wtvfile_open_sector().
#define wtvfile_open | ( | s, | |
buf, | |||
buf_size, | |||
filename | |||
) | wtvfile_open2(s, buf, buf_size, filename, sizeof(filename)) |
Definition at line 305 of file wtv.c.
Referenced by read_header().
#define WTV_PAD8 | ( | x | ) | (((x) + 7) & ~7) |
Referenced by parse_chunks(), and read_packet().
|
static |
Definition at line 71 of file wtv.c.
Referenced by read_header(), wtvfile_open_sector(), wtvfile_read_packet(), and wtvfile_seek().
Definition at line 79 of file wtv.c.
Referenced by wtvfile_open_sector().
|
static |
Definition at line 118 of file wtv.c.
Referenced by wtvfile_open_sector().
|
static |
read non-zero integers (le32) from input stream
pb | ||
[out] | data | destination |
count | maximum number of integers to read |
Definition at line 144 of file wtv.c.
Referenced by wtvfile_open_sector().
|
static |
Open file.
first_sector | First sector |
length | Length of file (bytes) |
depth | File allocation table depth |
Definition at line 161 of file wtv.c.
Referenced by wtvfile_open2().
|
static |
|
static |
Close file opened with wtvfile_open_sector(), or wtv_open()
Definition at line 311 of file wtv.c.
Referenced by read_close(), and read_header().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 498 of file wtv.c.
Referenced by parse_legacy_attrib().
|
static |
|
static |
parse VIDEOINFOHEADER2 structure
Definition at line 580 of file wtv.c.
Referenced by parse_media_type().
Parse MPEG1WAVEFORMATEX extradata structure.
Definition at line 594 of file wtv.c.
Referenced by parse_media_type().
|
static |
Initialise stream.
st | Stream to initialise, or NULL to create and initialise new stream |
Definition at line 623 of file wtv.c.
Referenced by parse_media_type().
|
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 655 of file wtv.c.
Referenced by parse_chunks().
|
static |
Parse WTV chunks.
mode | SEEK_TO_DATA or SEEK_TO_PTS | |
seekts | timestamp | |
[out] | len_ptr | Length of data chunk |
Definition at line 778 of file wtv.c.
Referenced by read_header(), read_packet(), and read_seek().
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 254 of file wtv.c.
Referenced by wtvfile_open2().
|
static |
Definition at line 344 of file wtv.c.
Referenced by read_probe().
|
static |
Definition at line 346 of file wtv.c.
Referenced by parse_legacy_attrib().
|
static |
Definition at line 348 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 350 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 352 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 354 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 356 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 358 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 360 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 362 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 364 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 368 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 370 of file wtv.c.
Referenced by parse_chunks().
|
static |
Definition at line 372 of file wtv.c.
Referenced by parse_chunks().
|
static |
|
static |
|
static |
Definition at line 382 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 384 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 386 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 388 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 392 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 394 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 396 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 398 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 400 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 404 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 406 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 408 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 410 of file wtv.c.
Referenced by parse_media_type().
|
static |
Definition at line 412 of file wtv.c.
Referenced by parse_media_type().
|
static |
|
static |
|
static |
|
static |
|
static |
AVInputFormat ff_wtv_demuxer |