X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fswf.h;h=9b90251e9b57bf6eb4e2fd45b0702702d5de3683;hb=728ea23cce07467b732f538c87c13da13dd6dcf3;hp=1b9b7fff35b4a6b00629e7692d026400fa93c5d1;hpb=3b35f4ab51b8b720491ff5c9b4e86e2de8ebce07;p=ffmpeg diff --git a/libavformat/swf.h b/libavformat/swf.h index 1b9b7fff35b..9b90251e9b5 100644 --- a/libavformat/swf.h +++ b/libavformat/swf.h @@ -1,30 +1,38 @@ /* * 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. + * This file is part of Libav. * - * FFmpeg is free software; you can redistribute it and/or + * Libav is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * - * FFmpeg is distributed in the hope that it will be useful, + * Libav 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software + * License along with Libav; if not, write to the Free Software * 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 +#endif + +#include "libavutil/fifo.h" #include "avformat.h" -#include "riff.h" /* for CodecTag */ +#include "avio.h" +#include "internal.h" /* should have a generic way to indicate probable size */ #define DUMMY_FILE_SIZE (100 * 1024 * 1024) @@ -59,41 +67,28 @@ #define VIDEO_ID 0 #define SHAPE_ID 1 -#undef NDEBUG -#include - -typedef struct { - int audio_stream_index; - offset_t duration_pos; - offset_t tag_pos; - +typedef struct SWFContext { + 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; - - uint8_t audio_fifo[AUDIO_FIFO_SIZE]; - int audio_in_pos; - - int video_type; - int audio_type; + AVFifoBuffer *audio_fifo; + AVCodecParameters *audio_par, *video_par; + AVStream *video_st; +#if CONFIG_ZLIB +#define ZBUF_SIZE 4096 + AVIOContext *zpb; + 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 */