You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

122 lines
4.7 KiB

/*
* magic.h
*
* Copyright (C) Thomas Oestreich - June 2001
*
* This file is part of transcode, a video stream processing tool
*
* transcode is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* transcode is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GNU Make; see the file COPYING. If not, write to
* the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
#ifndef _MAGIC_H
#define _MAGIC_H
#include "libtc/tccodecs.h"
// file/device magic:
#define TC_MAGIC_ERROR 0xFFFFFFFF
#define TC_MAGIC_UNKNOWN 0x00000000
#define TC_MAGIC_MPLAYER 0x00FFFFFF
#define TC_MAGIC_PIPE 0x0000FFFF
#define TC_MAGIC_DIR 0x000000FF
#define TC_MAGIC_RAW 0x00000001
#define TC_MAGIC_WAV 0x00000016
#define TC_MAGIC_AVI 0x00000017
#define TC_MAGIC_ASF 0x00000018
#define TC_MAGIC_MOV 0x00000019
#define TC_MAGIC_CDXA 0x00000020
#define TC_MAGIC_VDR 0x00000021
#define TC_MAGIC_XML 0x00000022
#define TC_MAGIC_OGG 0x00000024
#define TC_MAGIC_VNC 0x00000026
#define TC_MAGIC_MXF 0x00000027
#define TC_MAGIC_VOB 0x000001ba
#define TC_MAGIC_DVD 0xF0F0F0F0
#define TC_MAGIC_DVD_PAL 0xF0F0F0F1
#define TC_MAGIC_DVD_NTSC 0xF0F0F0F2
#define TC_MAGIC_V4L_VIDEO 0xF0F0F0F3
#define TC_MAGIC_V4L_AUDIO 0xF0F0F0F4
#define TC_MAGIC_V4L2_VIDEO 0xF0F0F0F5
#define TC_MAGIC_V4L2_AUDIO 0xF0F0F0F6
#define TC_MAGIC_OSS_AUDIO 0xF0F0F0F7
#define TC_MAGIC_BKTR_VIDEO 0xB5D00001
#define TC_MAGIC_SUNAU_AUDIO 0xB5D00002
#define TC_MAGIC_BSDAV 0xB5D00003
#define TC_MAGIC_X11 0x1100FEED
//MPEG streams
#define TC_MAGIC_MPEG_ES 0x1EEE00F0
#define TC_MAGIC_MPEG_PS 0x1EEE00F1
#define TC_MAGIC_MPEG_PES 0x1EEE00F2
//raw streams concatenated frames:
#define TC_MAGIC_M2V 0x000001b3
#define TC_MAGIC_PICEXT 0x000001b5
#define TC_MAGIC_MPEG 0x000001e0
#define TC_MAGIC_TS 0x00000047
#define TC_MAGIC_YUV4MPEG 0x00000300
#define TC_MAGIC_DV_PAL 0x1f0700bf
#define TC_MAGIC_DV_NTSC 0x1f07003f
#define TC_MAGIC_AC3 0x00000b77
#define TC_MAGIC_DTS 0x7ffe8001
#define TC_MAGIC_LPCM 0x00000180
#define TC_MAGIC_MP3 0x0000FFFB
#define TC_MAGIC_MP2_FC 0x0000FFFC
#define TC_MAGIC_MP2 0x0000FFFD
#define TC_MAGIC_MP3_2_5 0x0000FFE3
#define TC_MAGIC_MP3_2 0x0000FFF3
#define TC_MAGIC_NUV 0x4e757070
#define TC_MAGIC_TIFF1 0x00004D4D
#define TC_MAGIC_TIFF2 0x00004949
#define TC_MAGIC_JPEG 0xFFD8FFE0
#define TC_MAGIC_BMP 0x0000424D
#define TC_MAGIC_SGI 0x000001DA
#define TC_MAGIC_PNG 0x89504e47
#define TC_MAGIC_GIF 0x00474946
#define TC_MAGIC_PPM 0x00005036
#define TC_MAGIC_PGM 0x00005035
#define TC_MAGIC_ID3 0x49443303
#define TC_MAGIC_PV3 0x50563301
#define TC_MAGIC_PVN 0x50563460 // PV[456][abdf] & FFFFFCF8
//movie types:
#define TC_MAGIC_PAL 0x000000F1
#define TC_MAGIC_NTSC 0x000000F2
#define TC_MAGIC_RMF 0x000000F4
#define MPEG_PACK_START_CODE 0x000001ba
#define MPEG_SEQUENCE_START_CODE 0x000001b3
#define MPEG_SEQUENCE_END_CODE 0x000001b7
#define MPEG_SYSTEM_START_CODE 0x000001bb
#define MPEG_PADDING_START_CODE 0x000001be
#define MPEG_GOP_START_CODE 0x000001b8
#define MPEG_PROGRAM_END_CODE 0x000001b9
#define MPEG_PICTURE_START_CODE 0x00000100
#define MPEG_EXT_START_CODE 0x000001b5
#define MPEG_USER_START_CODE 0x000001b2
#define MPEG_VIDEO 0x000001e0
#define MPEG_AUDIO 0x000001c0
#define MPEG_AC3 0x000001d0
#endif