Wing Commander III Movie file demuxer by Mike Melanson (melanson@pcisys.net) for more information on the WC3 .mve file format, visit: http://www.pcisys.net/~melanson/codecs/. More...
#include "libavutil/intreadwrite.h"
#include "avformat.h"
Go to the source code of this file.
Data Structures | |
struct | Wc3DemuxContext |
Defines | |
#define | FORM_TAG MKTAG('F', 'O', 'R', 'M') |
#define | MOVE_TAG MKTAG('M', 'O', 'V', 'E') |
#define | PC__TAG MKTAG('_', 'P', 'C', '_') |
#define | SOND_TAG MKTAG('S', 'O', 'N', 'D') |
#define | BNAM_TAG MKTAG('B', 'N', 'A', 'M') |
#define | SIZE_TAG MKTAG('S', 'I', 'Z', 'E') |
#define | PALT_TAG MKTAG('P', 'A', 'L', 'T') |
#define | INDX_TAG MKTAG('I', 'N', 'D', 'X') |
#define | BRCH_TAG MKTAG('B', 'R', 'C', 'H') |
#define | SHOT_TAG MKTAG('S', 'H', 'O', 'T') |
#define | VGA__TAG MKTAG('V', 'G', 'A', ' ') |
#define | TEXT_TAG MKTAG('T', 'E', 'X', 'T') |
#define | AUDI_TAG MKTAG('A', 'U', 'D', 'I') |
#define | WC3_DEFAULT_WIDTH 320 |
#define | WC3_DEFAULT_HEIGHT 165 |
#define | WC3_SAMPLE_RATE 22050 |
#define | WC3_AUDIO_CHANNELS 1 |
#define | WC3_AUDIO_BITS 16 |
#define | WC3_FRAME_FPS 15 |
#define | PALETTE_SIZE (256 * 3) |
#define | PALETTE_COUNT 256 |
Typedefs | |
typedef struct Wc3DemuxContext | Wc3DemuxContext |
Functions | |
static int | wc3_probe (AVProbeData *p) |
static int | wc3_read_header (AVFormatContext *s, AVFormatParameters *ap) |
static int | wc3_read_packet (AVFormatContext *s, AVPacket *pkt) |
static int | wc3_read_close (AVFormatContext *s) |
Variables | |
static const unsigned char | wc3_pal_lookup [] |
palette lookup table that does gamma correction | |
AVInputFormat | wc3_demuxer |
Wing Commander III Movie file demuxer by Mike Melanson (melanson@pcisys.net) for more information on the WC3 .mve file format, visit: http://www.pcisys.net/~melanson/codecs/.
Definition in file wc3movie.c.
#define AUDI_TAG MKTAG('A', 'U', 'D', 'I') |
Definition at line 45 of file wc3movie.c.
Referenced by wc3_read_packet().
#define BNAM_TAG MKTAG('B', 'N', 'A', 'M') |
Definition at line 37 of file wc3movie.c.
Referenced by wc3_read_header().
#define BRCH_TAG MKTAG('B', 'R', 'C', 'H') |
Definition at line 41 of file wc3movie.c.
Referenced by wc3_read_header(), and wc3_read_packet().
#define FORM_TAG MKTAG('F', 'O', 'R', 'M') |
Definition at line 33 of file wc3movie.c.
Referenced by wc3_probe().
#define INDX_TAG MKTAG('I', 'N', 'D', 'X') |
Definition at line 40 of file wc3movie.c.
Referenced by wc3_read_header().
#define MOVE_TAG MKTAG('M', 'O', 'V', 'E') |
Definition at line 34 of file wc3movie.c.
Referenced by wc3_probe().
#define PALETTE_COUNT 256 |
Definition at line 60 of file wc3movie.c.
Referenced by wc3_read_packet().
#define PALETTE_SIZE (256 * 3) |
Definition at line 59 of file wc3movie.c.
Referenced by wc3_read_header().
#define PALT_TAG MKTAG('P', 'A', 'L', 'T') |
Definition at line 39 of file wc3movie.c.
Referenced by wc3_read_header().
#define PC__TAG MKTAG('_', 'P', 'C', '_') |
Definition at line 35 of file wc3movie.c.
Referenced by wc3_read_header().
Definition at line 42 of file wc3movie.c.
Referenced by wc3_read_packet().
#define SIZE_TAG MKTAG('S', 'I', 'Z', 'E') |
Definition at line 38 of file wc3movie.c.
Referenced by wc3_read_header().
#define SOND_TAG MKTAG('S', 'O', 'N', 'D') |
Definition at line 36 of file wc3movie.c.
Referenced by wc3_read_header().
Definition at line 44 of file wc3movie.c.
Referenced by wc3_read_packet().
#define VGA__TAG MKTAG('V', 'G', 'A', ' ') |
Definition at line 43 of file wc3movie.c.
Referenced by wc3_read_packet().
#define WC3_AUDIO_BITS 16 |
Definition at line 54 of file wc3movie.c.
Referenced by wc3_read_header().
#define WC3_AUDIO_CHANNELS 1 |
Definition at line 53 of file wc3movie.c.
#define WC3_DEFAULT_HEIGHT 165 |
Definition at line 49 of file wc3movie.c.
#define WC3_DEFAULT_WIDTH 320 |
Definition at line 48 of file wc3movie.c.
#define WC3_FRAME_FPS 15 |
Definition at line 57 of file wc3movie.c.
Referenced by wc3_read_header().
#define WC3_SAMPLE_RATE 22050 |
Definition at line 52 of file wc3movie.c.
typedef struct Wc3DemuxContext Wc3DemuxContext |
static int wc3_probe | ( | AVProbeData * | p | ) | [static] |
Definition at line 123 of file wc3movie.c.
static int wc3_read_close | ( | AVFormatContext * | s | ) | [static] |
Definition at line 369 of file wc3movie.c.
static int wc3_read_header | ( | AVFormatContext * | s, | |
AVFormatParameters * | ap | |||
) | [static] |
Definition at line 135 of file wc3movie.c.
static int wc3_read_packet | ( | AVFormatContext * | s, | |
AVPacket * | pkt | |||
) | [static] |
Definition at line 273 of file wc3movie.c.
{ "wc3movie", NULL_IF_CONFIG_SMALL("Wing Commander III movie format"), sizeof(Wc3DemuxContext), wc3_probe, wc3_read_header, wc3_read_packet, wc3_read_close, }
Definition at line 378 of file wc3movie.c.
const unsigned char wc3_pal_lookup[] [static] |
palette lookup table that does gamma correction
can be calculated by this formula: for i between 0 and 251 inclusive: wc3_pal_lookup[i] = round(pow(i / 256.0, 0.8) * 256); values 252, 253, 254 and 255 are all 0xFD calculating this at runtime should not cause any rounding issues, the maximum difference between the table values and the calculated doubles is about 0.497527
Definition at line 87 of file wc3movie.c.
Referenced by wc3_read_header().