Mercurial > libavformat.hg
annotate swf.h @ 3608:cb6509f71905 libavformat
add a bunch of new xdcam hd422 fourccs
author | bcoudurier |
---|---|
date | Wed, 30 Jul 2008 01:55:59 +0000 |
parents | aa6e8ff72d9e |
children | bf39ed8d3d69 |
rev | line source |
---|---|
0 | 1 /* |
3302 | 2 * Flash Compatible Streaming Format common header. |
0 | 3 * Copyright (c) 2000 Fabrice Bellard. |
359 | 4 * Copyright (c) 2003 Tinic Uro. |
0 | 5 * |
1358
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1305
diff
changeset
|
6 * This file is part of FFmpeg. |
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1305
diff
changeset
|
7 * |
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1305
diff
changeset
|
8 * FFmpeg is free software; you can redistribute it and/or |
0 | 9 * modify it under the terms of the GNU Lesser General Public |
10 * License as published by the Free Software Foundation; either | |
1358
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1305
diff
changeset
|
11 * version 2.1 of the License, or (at your option) any later version. |
0 | 12 * |
1358
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1305
diff
changeset
|
13 * FFmpeg is distributed in the hope that it will be useful, |
0 | 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 | |
1358
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1305
diff
changeset
|
19 * License along with FFmpeg; if not, write to the Free Software |
896
edbe5c3717f9
Update licensing information: The FSF changed postal address.
diego
parents:
887
diff
changeset
|
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
0 | 21 */ |
3286 | 22 |
3302 | 23 #ifndef FFMPEG_SWF_H |
24 #define FFMPEG_SWF_H | |
25 | |
3375 | 26 #include "libavutil/fifo.h" |
0 | 27 #include "avformat.h" |
1305 | 28 #include "riff.h" /* for CodecTag */ |
0 | 29 |
30 /* should have a generic way to indicate probable size */ | |
31 #define DUMMY_FILE_SIZE (100 * 1024 * 1024) | |
32 #define DUMMY_DURATION 600 /* in seconds */ | |
33 | |
34 #define TAG_END 0 | |
35 #define TAG_SHOWFRAME 1 | |
36 #define TAG_DEFINESHAPE 2 | |
37 #define TAG_FREECHARACTER 3 | |
38 #define TAG_PLACEOBJECT 4 | |
39 #define TAG_REMOVEOBJECT 5 | |
807 | 40 #define TAG_STREAMHEAD 18 |
0 | 41 #define TAG_STREAMBLOCK 19 |
42 #define TAG_JPEG2 21 | |
359 | 43 #define TAG_PLACEOBJECT2 26 |
44 #define TAG_STREAMHEAD2 45 | |
887 | 45 #define TAG_VIDEOSTREAM 60 |
359 | 46 #define TAG_VIDEOFRAME 61 |
2955
b2d1cd7ab383
new avm2 (flash 9) muxer, patch by Paul Egan, paulegan at mail dot com
bcoudurier
parents:
2913
diff
changeset
|
47 #define TAG_FILEATTRIBUTES 69 |
0 | 48 |
49 #define TAG_LONG 0x100 | |
50 | |
51 /* flags for shape definition */ | |
52 #define FLAG_MOVETO 0x01 | |
53 #define FLAG_SETFILL0 0x02 | |
54 #define FLAG_SETFILL1 0x04 | |
55 | |
359 | 56 #define AUDIO_FIFO_SIZE 65536 |
57 | |
0 | 58 /* character id used */ |
59 #define BITMAP_ID 0 | |
359 | 60 #define VIDEO_ID 0 |
0 | 61 #define SHAPE_ID 1 |
62 | |
516 | 63 #undef NDEBUG |
64 #include <assert.h> | |
359 | 65 |
0 | 66 typedef struct { |
1638 | 67 int audio_stream_index; |
0 | 68 offset_t duration_pos; |
69 offset_t tag_pos; | |
3591
aa6e8ff72d9e
update swf video frame number when muxing done, fix #439
bcoudurier
parents:
3380
diff
changeset
|
70 offset_t vframes_pos; |
359 | 71 int samples_per_frame; |
72 int sound_samples; | |
73 int swf_frame_number; | |
74 int video_frame_number; | |
1889 | 75 int frame_rate; |
0 | 76 int tag; |
3375 | 77 AVFifoBuffer audio_fifo; |
3380
c202c3486e49
simplify, use pointer to codec context in struct instead of only id
bcoudurier
parents:
3375
diff
changeset
|
78 AVCodecContext *audio_enc, *video_enc; |
0 | 79 } SWFContext; |
80 | |
1677
2a85c82b8538
add codec_id <-> codec_tag tables to AVIn/OutputFormat
michael
parents:
1673
diff
changeset
|
81 static const AVCodecTag swf_codec_tags[] = { |
1305 | 82 {CODEC_ID_FLV1, 0x02}, |
83 {CODEC_ID_VP6F, 0x04}, | |
84 {0, 0}, | |
85 }; | |
86 | |
1833 | 87 static const AVCodecTag swf_audio_codec_tags[] = { |
88 {CODEC_ID_PCM_S16LE, 0x00}, | |
89 {CODEC_ID_ADPCM_SWF, 0x01}, | |
90 {CODEC_ID_MP3, 0x02}, | |
91 {CODEC_ID_PCM_S16LE, 0x03}, | |
92 //{CODEC_ID_NELLYMOSER, 0x06}, | |
93 {0, 0}, | |
94 }; | |
95 | |
3302 | 96 #endif /* FFMPEG_SWF_H */ |