[FFmpeg-devel] [PATCH] avcodec: add native Speex decoder

Lynne dev at lynne.ee
Sun Sep 19 15:04:57 EEST 2021


19 Sept 2021, 14:02 by dev at lynne.ee:

> 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.
>

Oh, FFS, shitty email tech from the 70's, attached the proper header instead.

-------------- next part --------------
+/*
+ * 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
+ */


More information about the ffmpeg-devel mailing list