[FFmpeg-devel] [PATCH] avcodec: add native Speex decoder
Lynne
dev at lynne.ee
Sun Sep 19 15:02:00 EEST 2021
19 Sept 2021, 12:01 by onemda at gmail.com:
> Signed-off-by: Paul B Mahol <onemda at gmail.com>
> ---
> libavcodec/Makefile | 1 +
> libavcodec/allcodecs.c | 1 +
> libavcodec/speexdata.h | 764 ++++++++++++++++++++
> libavcodec/speexdec.c | 1538 ++++++++++++++++++++++++++++++++++++++++
> tests/ref/fate/source | 2 +
> 5 files changed, 2306 insertions(+)
> create mode 100644 libavcodec/speexdata.h
> create mode 100644 libavcodec/speexdec.c
>
> diff --git a/libavcodec/Makefile b/libavcodec/Makefile
> index 11873eecae..7a603e44dd 100644
> --- a/libavcodec/Makefile
> +++ b/libavcodec/Makefile
> @@ -632,6 +632,7 @@ OBJS-$(CONFIG_SONIC_ENCODER) += sonic.o
> OBJS-$(CONFIG_SONIC_LS_ENCODER) += sonic.o
> OBJS-$(CONFIG_SPEEDHQ_DECODER) += speedhq.o mpeg12.o mpeg12data.o simple_idct.o
> OBJS-$(CONFIG_SPEEDHQ_ENCODER) += speedhq.o mpeg12data.o mpeg12enc.o speedhqenc.o
> +OBJS-$(CONFIG_SPEEX_DECODER) += speexdec.o
> OBJS-$(CONFIG_SP5X_DECODER) += sp5xdec.o
> OBJS-$(CONFIG_SRGC_DECODER) += mscc.o
> OBJS-$(CONFIG_SRT_DECODER) += srtdec.o ass.o htmlsubtitles.o
> diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
> index c42aba140d..fc6bf7cc25 100644
> --- a/libavcodec/allcodecs.c
> +++ b/libavcodec/allcodecs.c
> @@ -307,6 +307,7 @@ extern const AVCodec ff_snow_decoder;
> extern const AVCodec ff_sp5x_decoder;
> extern const AVCodec ff_speedhq_decoder;
> extern const AVCodec ff_speedhq_encoder;
> +extern const AVCodec ff_speex_decoder;
> extern const AVCodec ff_srgc_decoder;
> extern const AVCodec ff_sunrast_encoder;
> extern const AVCodec ff_sunrast_decoder;
> diff --git a/libavcodec/speexdata.h b/libavcodec/speexdata.h
> new file mode 100644
> index 0000000000..12a36736bf
> --- /dev/null
> +++ b/libavcodec/speexdata.h
> @@ -0,0 +1,764 @@
> +/*
> + * Copyright 2002-2008 Xiph.org Foundation
> + * Copyright 2002-2008 Jean-Marc Valin
> + * Copyright 2005-2007 Analog Devices Inc.
> + * Copyright 2005-2008 Commonwealth Scientific and Industrial Research Organisation (CSIRO)
> + * Copyright 1993, 2002, 2006 David Rowe
> + * Copyright 2003 EpicGames
> + * Copyright 1992-1994 Jutta Degener, Carsten Bormann
> +
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> +
> + * - Redistributions of source code must retain the above copyright
> + * notice, this list of conditions and the following disclaimer.
> +
> + * - Redistributions in binary form must reproduce the above copyright
> + * notice, this list of conditions and the following disclaimer in the
> + * documentation and/or other materials provided with the distribution.
> +
> + * - Neither the name of the Xiph.org Foundation nor the names of its
> + * contributors may be used to endorse or promote products derived from
> + * this software without specific prior written permission.
> +
> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
> + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
> + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
> + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
> + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
> + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
> + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> + */
>
No, the correct way to include files with compatible licenses that
require they be kept is to put both of them in the header, like:
+/*+ * Copyright 2002-2008 Xiph.org Foundation+ * Copyright 2002-2008 Jean-Marc Valin+ * Copyright 2005-2007 Analog Devices Inc.+ * Copyright 2005-2008 Commonwealth Scientific and Industrial Research Organisation (CSIRO)+ * Copyright 1993, 2002, 2006 David Rowe+ * Copyright 2003 EpicGames+ * Copyright 1992-1994 Jutta Degener, Carsten Bormann+ *+ * Redistribution and use in source and binary forms, with or without+ * modification, are permitted provided that the following conditions+ * are met:+ *+ * - Redistributions of source code must retain the above copyright+ * notice, this list of conditions and the following disclaimer.+ *+ * - Redistributions in binary form must reproduce the above copyright+ * notice, this list of conditions and the following disclaimer in the+ * documentation and/or other materials provided with the distribution.+ *+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER+ * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.+ *+ * 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+ */
That way you don't need to add an exception to FATE, and the changes you make
will still be LGPL licensed.
More information about the ffmpeg-devel
mailing list