[FFmpeg-devel] [PATCH] Vivo demuxer

Michael Niedermayer michaelni at gmx.at
Wed Jul 18 14:30:05 CEST 2012


On Tue, Jul 17, 2012 at 02:36:44AM +0000, Paul B Mahol wrote:
> From: Daniel Verkamp <daniel at drv.nu>
> 
> ---
> 
> Looks like G.723_1 works (more or less) fine for version 1 files,
> 
> Audio and video are out of sync.
> 
> ---
>  libavformat/Makefile     |    1 +
>  libavformat/allformats.c |    1 +
>  libavformat/vivo.c       |  331 ++++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 333 insertions(+), 0 deletions(-)
>  create mode 100644 libavformat/vivo.c
> 
> diff --git a/libavformat/Makefile b/libavformat/Makefile
> index a3ddcad..08bf1c5 100644
> --- a/libavformat/Makefile
> +++ b/libavformat/Makefile
> @@ -336,6 +336,7 @@ OBJS-$(CONFIG_TXD_DEMUXER)               += txd.o
>  OBJS-$(CONFIG_VC1_DEMUXER)               += rawdec.o
>  OBJS-$(CONFIG_VC1T_DEMUXER)              += vc1test.o
>  OBJS-$(CONFIG_VC1T_MUXER)                += vc1testenc.o
> +OBJS-$(CONFIG_VIVO_DEMUXER)              += vivo.o
>  OBJS-$(CONFIG_VMD_DEMUXER)               += sierravmd.o
>  OBJS-$(CONFIG_VOC_DEMUXER)               += vocdec.o voc.o
>  OBJS-$(CONFIG_VOC_MUXER)                 += vocenc.o voc.o
> diff --git a/libavformat/allformats.c b/libavformat/allformats.c
> index 7ea4ebb..a8d2152 100644
> --- a/libavformat/allformats.c
> +++ b/libavformat/allformats.c
> @@ -242,6 +242,7 @@ void av_register_all(void)
>      REGISTER_DEMUXER  (TTY, tty);
>      REGISTER_DEMUXER  (VC1, vc1);
>      REGISTER_MUXDEMUX (VC1T, vc1t);
> +    REGISTER_DEMUXER  (VIVO, vivo);
>      REGISTER_DEMUXER  (VMD, vmd);
>      REGISTER_MUXDEMUX (VOC, voc);
>      REGISTER_DEMUXER  (VQF, vqf);
> diff --git a/libavformat/vivo.c b/libavformat/vivo.c
> new file mode 100644
> index 0000000..8b0b80e
> --- /dev/null
> +++ b/libavformat/vivo.c
> @@ -0,0 +1,331 @@
> +/*
> + * Vivo stream demuxer
> + * Copyright (c) 2009 Daniel Verkamp <daniel at drv.nu>
> + *
> + * This file is part of FFmpeg.
> + *
> + * FFmpeg 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,
> + * 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
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> + */
> +
> +/**
> + * @file
> + * @brief Vivo stream demuxer
> + * @author Daniel Verkamp <daniel at drv.nu>
> + * @sa http://wiki.multimedia.cx/index.php?title=Vivo
> + */
> +
> +#include "avformat.h"
> +#include "internal.h"
> +
> +typedef struct VivoContext {
> +    int version;
> +
> +    unsigned type;
> +    unsigned sequence;
> +    unsigned len;
> +
> +    long duration;

> +    double fps;

avoiding floats would reduce the chances for rounding issues in the
regression tests.



[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Freedom in capitalist society always remains about the same as it was in
ancient Greek republics: Freedom for slave owners. -- Vladimir Lenin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20120718/83b3175f/attachment.asc>


More information about the ffmpeg-devel mailing list