utvideoenc: optimize and simplify mangle_rgb_planes
[ffmpeg.git] / libavformat / swf.h
index 8249f7d..3c0c607 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Flash Compatible Streaming Format common header.
- * Copyright (c) 2000 Fabrice Bellard.
- * Copyright (c) 2003 Tinic Uro.
+ * Copyright (c) 2000 Fabrice Bellard
+ * Copyright (c) 2003 Tinic Uro
  *
  * This file is part of FFmpeg.
  *
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-#ifndef FFMPEG_SWF_H
-#define FFMPEG_SWF_H
+#ifndef AVFORMAT_SWF_H
+#define AVFORMAT_SWF_H
+
+#include "config.h"
+
+#if CONFIG_ZLIB
+#include <zlib.h>
+#endif
 
 #include "libavutil/fifo.h"
 #include "avformat.h"
+#include "avio.h"
 #include "riff.h"    /* for CodecTag */
 
 /* should have a generic way to indicate probable size */
 #include <assert.h>
 
 typedef struct {
-    int audio_stream_index;
-    offset_t duration_pos;
-    offset_t tag_pos;
-    offset_t vframes_pos;
+    int64_t duration_pos;
+    int64_t tag_pos;
+    int64_t vframes_pos;
     int samples_per_frame;
     int sound_samples;
     int swf_frame_number;
     int video_frame_number;
     int frame_rate;
     int tag;
-    AVFifoBuffer audio_fifo;
+    AVFifoBuffer *audio_fifo;
     AVCodecContext *audio_enc, *video_enc;
+#if CONFIG_ZLIB
+    AVIOContext *zpb;
+#define ZBUF_SIZE 4096
+    uint8_t *zbuf_in;
+    uint8_t *zbuf_out;
+    z_stream zstream;
+#endif
 } SWFContext;
 
-static const AVCodecTag swf_codec_tags[] = {
-    {CODEC_ID_FLV1, 0x02},
-    {CODEC_ID_VP6F, 0x04},
-    {0, 0},
-};
-
-static const AVCodecTag swf_audio_codec_tags[] = {
-    {CODEC_ID_PCM_S16LE,  0x00},
-    {CODEC_ID_ADPCM_SWF,  0x01},
-    {CODEC_ID_MP3,        0x02},
-    {CODEC_ID_PCM_S16LE,  0x03},
-  //{CODEC_ID_NELLYMOSER, 0x06},
-    {0, 0},
-};
+extern const AVCodecTag ff_swf_codec_tags[];
 
-#endif /* FFMPEG_SWF_H */
+#endif /* AVFORMAT_SWF_H */