1 /* 2 * Flash Compatible Streaming Format common header. 3 * Copyright (c) 2000 Fabrice Bellard 4 * Copyright (c) 2003 Tinic Uro 5 * 6 * This file is part of FFmpeg. 7 * 8 * FFmpeg is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU Lesser General Public 10 * License as published by the Free Software Foundation; either 11 * version 2.1 of the License, or (at your option) any later version. 12 * 13 * FFmpeg is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 * Lesser General Public License for more details. 17 * 18 * You should have received a copy of the GNU Lesser General Public 19 * License along with FFmpeg; if not, write to the Free Software 20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 */ 22 23 #ifndef AVFORMAT_SWF_H 24 #define AVFORMAT_SWF_H 25 26 #include "internal.h" 27 28 /* should have a generic way to indicate probable size */ 29 #define DUMMY_FILE_SIZE (100 * 1024 * 1024) 30 #define DUMMY_DURATION 600 /* in seconds */ 31 32 enum { 33 TAG_END = 0, 34 TAG_SHOWFRAME = 1, 35 TAG_DEFINESHAPE = 2, 36 TAG_FREECHARACTER = 3, 37 TAG_PLACEOBJECT = 4, 38 TAG_REMOVEOBJECT = 5, 39 TAG_DEFINEBITS = 6, 40 TAG_DEFINEBUTTON = 7, 41 TAG_JPEGTABLES = 8, 42 TAG_SETBACKGROUNDCOLOR = 9, 43 TAG_DEFINEFONT = 10, 44 TAG_DEFINETEXT = 11, 45 TAG_DOACTION = 12, 46 TAG_DEFINEFONTINFO = 13, 47 TAG_DEFINESOUND = 14, 48 TAG_STARTSOUND = 15, 49 TAG_DEFINEBUTTONSOUND = 17, 50 TAG_STREAMHEAD = 18, 51 TAG_STREAMBLOCK = 19, 52 TAG_DEFINEBITSLOSSLESS = 20, 53 TAG_JPEG2 = 21, 54 TAG_DEFINESHAPE2 = 22, 55 TAG_DEFINEBUTTONCXFORM = 23, 56 TAG_PROTECT = 24, 57 TAG_PLACEOBJECT2 = 26, 58 TAG_REMOVEOBJECT2 = 28, 59 TAG_DEFINESHAPE3 = 32, 60 TAG_DEFINETEXT2 = 33, 61 TAG_DEFINEBUTTON2 = 34, 62 TAG_DEFINEBITSJPEG3 = 35, 63 TAG_DEFINEBITSLOSSLESS2 = 36, 64 TAG_DEFINEEDITTEXT = 37, 65 TAG_DEFINESPRITE = 39, 66 TAG_FRAMELABEL = 43, 67 TAG_STREAMHEAD2 = 45, 68 TAG_DEFINEMORPHSHAPE = 46, 69 TAG_DEFINEFONT2 = 48, 70 TAG_EXPORTASSETS = 56, 71 TAG_IMPORTASSETS = 57, 72 TAG_ENABLEDEBUGGER = 58, 73 TAG_DOINITACTION = 59, 74 TAG_VIDEOSTREAM = 60, 75 TAG_VIDEOFRAME = 61, 76 TAG_DEFINEFONTINFO2 = 62, 77 TAG_ENABLEDEBUGGER2 = 64, 78 TAG_SCRIPTLIMITS = 65, 79 TAG_SETTABINDEX = 66, 80 TAG_FILEATTRIBUTES = 69, 81 TAG_PLACEOBJECT3 = 70, 82 TAG_IMPORTASSETS2 = 71, 83 TAG_DEFINEFONTALIGNZONES = 73, 84 TAG_CSMTEXTSETTINGS = 74, 85 TAG_DEFINEFONT3 = 75, 86 TAG_SYMBOLCLASS = 76, 87 TAG_METADATA = 77, 88 TAG_DEFINESCALINGGRID = 78, 89 TAG_DOABC = 82, 90 TAG_DEFINESHAPE4 = 83, 91 TAG_DEFINEMORPHSHAPE2 = 84, 92 TAG_DEFINESCENEANDFRAMELABELDATA = 86, 93 TAG_DEFINEBINARYDATA = 87, 94 TAG_DEFINEFONTNAME = 88, 95 TAG_STARTSOUND2 = 89, 96 TAG_DEFINEBITSJPEG4 = 90, 97 TAG_DEFINEFONT4 = 91, 98 }; 99 100 #define TAG_LONG 0x100 101 102 /* flags for shape definition */ 103 #define FLAG_MOVETO 0x01 104 #define FLAG_SETFILL0 0x02 105 #define FLAG_SETFILL1 0x04 106 107 /* character id used */ 108 #define BITMAP_ID 0 109 #define VIDEO_ID 0 110 #define SHAPE_ID 1 111 112 extern const AVCodecTag ff_swf_codec_tags[]; 113 114 #endif /* AVFORMAT_SWF_H */ 115