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().