#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 |
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 |
Definition in file wc3movie.c.
#define AUDI_TAG MKTAG('A', 'U', 'D', 'I') |
#define BNAM_TAG MKTAG('B', 'N', 'A', 'M') |
#define BRCH_TAG MKTAG('B', 'R', 'C', 'H') |
#define FORM_TAG MKTAG('F', 'O', 'R', 'M') |
Definition at line 33 of file wc3movie.c.
#define INDX_TAG MKTAG('I', 'N', 'D', 'X') |
#define MOVE_TAG MKTAG('M', 'O', 'V', 'E') |
#define PALETTE_COUNT 256 |
Definition at line 60 of file wc3movie.c.
#define PALETTE_SIZE (256 * 3) |
#define PALT_TAG MKTAG('P', 'A', 'L', 'T') |
#define PC__TAG MKTAG('_', 'P', 'C', '_') |
#define SIZE_TAG MKTAG('S', 'I', 'Z', 'E') |
#define SOND_TAG MKTAG('S', 'O', 'N', 'D') |
#define VGA__TAG MKTAG('V', 'G', 'A', ' ') |
#define WC3_AUDIO_BITS 16 |
#define WC3_AUDIO_CHANNELS 1 |
#define WC3_DEFAULT_HEIGHT 165 |
#define WC3_DEFAULT_WIDTH 320 |
#define WC3_FRAME_FPS 15 |
#define WC3_SAMPLE_RATE 22050 |
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.
Initial value:
{ "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().