2003-04-30 11:39:32 +00:00
|
|
|
/*
|
|
|
|
* CodecID definitions for Matroska files
|
|
|
|
*
|
|
|
|
* see http://cvs.corecodec.org/cgi-bin/cvsweb.cgi/~checkout~/matroska/doc/website/specs/codex.html?rev=HEAD&content-type=text/html
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __MATROSKA_H
|
|
|
|
#define __MATROSKA_H
|
|
|
|
|
2004-08-24 20:58:29 +00:00
|
|
|
#include "demuxer.h"
|
|
|
|
|
2003-05-19 20:55:52 +00:00
|
|
|
#define MKV_A_AAC_2MAIN "A_AAC/MPEG2/MAIN"
|
2003-05-17 20:53:12 +00:00
|
|
|
#define MKV_A_AAC_2LC "A_AAC/MPEG2/LC"
|
2003-12-05 11:03:43 +00:00
|
|
|
#define MKV_A_AAC_2SBR "A_AAC/MPEG2/LC/SBR"
|
2003-05-19 20:55:52 +00:00
|
|
|
#define MKV_A_AAC_2SSR "A_AAC/MPEG2/SSR"
|
|
|
|
#define MKV_A_AAC_4MAIN "A_AAC/MPEG4/MAIN"
|
2003-05-17 20:53:12 +00:00
|
|
|
#define MKV_A_AAC_4LC "A_AAC/MPEG4/LC"
|
2003-12-05 11:03:43 +00:00
|
|
|
#define MKV_A_AAC_4SBR "A_AAC/MPEG4/LC/SBR"
|
2003-05-19 20:55:52 +00:00
|
|
|
#define MKV_A_AAC_4SSR "A_AAC/MPEG4/SSR"
|
|
|
|
#define MKV_A_AAC_4LTP "A_AAC/MPEG4/LTP"
|
2003-04-30 11:39:32 +00:00
|
|
|
#define MKV_A_AC3 "A_AC3"
|
2003-05-15 10:36:06 +00:00
|
|
|
#define MKV_A_DTS "A_DTS"
|
2003-10-16 22:01:30 +00:00
|
|
|
#define MKV_A_MP2 "A_MPEG/L2"
|
2003-05-17 20:53:12 +00:00
|
|
|
#define MKV_A_MP3 "A_MPEG/L3"
|
2003-04-30 11:39:32 +00:00
|
|
|
#define MKV_A_PCM "A_PCM/INT/LIT"
|
2003-09-10 11:39:40 +00:00
|
|
|
#define MKV_A_PCM_BE "A_PCM/INT/BIG"
|
2003-04-30 11:39:32 +00:00
|
|
|
#define MKV_A_VORBIS "A_VORBIS"
|
|
|
|
#define MKV_A_ACM "A_MS/ACM"
|
2003-07-11 20:24:20 +00:00
|
|
|
#define MKV_A_REAL28 "A_REAL/28_8"
|
|
|
|
#define MKV_A_REALATRC "A_REAL/ATRC"
|
|
|
|
#define MKV_A_REALCOOK "A_REAL/COOK"
|
|
|
|
#define MKV_A_REALDNET "A_REAL/DNET"
|
|
|
|
#define MKV_A_REALSIPR "A_REAL/SIPR"
|
2003-09-10 12:50:29 +00:00
|
|
|
#define MKV_A_QDMC "A_QUICKTIME/QDMC"
|
|
|
|
#define MKV_A_QDMC2 "A_QUICKTIME/QDM2"
|
2003-11-16 22:53:08 +00:00
|
|
|
#define MKV_A_FLAC "A_FLAC"
|
2003-04-30 11:39:32 +00:00
|
|
|
|
|
|
|
#define MKV_V_MSCOMP "V_MS/VFW/FOURCC"
|
2003-07-11 20:24:20 +00:00
|
|
|
#define MKV_V_REALV10 "V_REAL/RV10"
|
|
|
|
#define MKV_V_REALV20 "V_REAL/RV20"
|
|
|
|
#define MKV_V_REALV30 "V_REAL/RV30"
|
|
|
|
#define MKV_V_REALV40 "V_REAL/RV40"
|
2003-09-10 11:39:40 +00:00
|
|
|
#define MKV_V_SORENSONV1 "V_SORENSON/V1"
|
|
|
|
#define MKV_V_SORENSONV2 "V_SORENSON/V2"
|
|
|
|
#define MKV_V_SORENSONV3 "V_SORENSON/V3"
|
|
|
|
#define MKV_V_CINEPAK "V_CINEPAK"
|
|
|
|
#define MKV_V_QUICKTIME "V_QUICKTIME"
|
2004-11-26 16:36:03 +00:00
|
|
|
#define MKV_V_MPEG1 "V_MPEG1"
|
|
|
|
#define MKV_V_MPEG2 "V_MPEG2"
|
2005-01-11 08:30:56 +00:00
|
|
|
#define MKV_V_MPEG4_AVC "V_MPEG4/ISO/AVC"
|
2003-04-30 11:39:32 +00:00
|
|
|
|
|
|
|
#define MKV_S_TEXTASCII "S_TEXT/ASCII"
|
|
|
|
#define MKV_S_TEXTUTF8 "S_TEXT/UTF8"
|
2003-09-10 12:50:29 +00:00
|
|
|
#define MKV_S_TEXTSSA "S_TEXT/SSA"
|
2004-01-19 19:16:10 +00:00
|
|
|
#define MKV_S_TEXTASS "S_TEXT/ASS"
|
2003-10-16 21:06:43 +00:00
|
|
|
#define MKV_S_VOBSUB "S_VOBSUB"
|
2004-01-19 19:16:10 +00:00
|
|
|
#define MKV_S_SSA "S_SSA" // Deprecated
|
|
|
|
#define MKV_S_ASS "S_ASS" // Deprecated
|
2003-10-16 21:06:43 +00:00
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
char type; // t = text, v = VobSub
|
2005-01-21 18:25:44 +00:00
|
|
|
int has_palette; // If we have a valid palette
|
2003-10-16 21:06:43 +00:00
|
|
|
unsigned int palette[16]; // for VobSubs
|
|
|
|
int width, height; // for VobSubs
|
2004-06-10 11:16:44 +00:00
|
|
|
int custom_colors;
|
|
|
|
unsigned int colors[4];
|
|
|
|
int forced_subs_only;
|
2003-10-16 21:06:43 +00:00
|
|
|
} mkv_sh_sub_t;
|
2003-04-30 11:39:32 +00:00
|
|
|
|
2004-08-24 21:37:41 +00:00
|
|
|
int demux_mkv_num_subs(demuxer_t *demuxer);
|
|
|
|
int demux_mkv_change_subs(demuxer_t *demuxer, int new_num);
|
|
|
|
void demux_mkv_get_sub_lang(demuxer_t *demuxer, int track_num, char *lang,
|
|
|
|
int maxlen);
|
2004-08-24 20:58:29 +00:00
|
|
|
|
2003-04-30 11:39:32 +00:00
|
|
|
#endif /* __MATROSKA_H */
|