From 8acb554aff34375358204b928a5a28498b135726 Mon Sep 17 00:00:00 2001 From: Jason Garrett-Glaser Date: Fri, 10 Sep 2010 02:25:12 +0000 Subject: [PATCH] LGPL SSE2 H.264 iDCT This leaves no more GPL-only H.264 decoding asm code. Approved by Loren. Originally committed as revision 25092 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/x86/Makefile | 2 +- libavcodec/x86/h264_idct_sse2.asm | 22 ++++++++++++---------- libavcodec/x86/h264dsp_mmx.c | 4 +--- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/libavcodec/x86/Makefile b/libavcodec/x86/Makefile index 0974f7051e..528d4f9682 100644 --- a/libavcodec/x86/Makefile +++ b/libavcodec/x86/Makefile @@ -6,11 +6,11 @@ YASM-OBJS-FFT-$(HAVE_AMD3DNOWEXT) += x86/fft_3dn2.o YASM-OBJS-FFT-$(HAVE_SSE) += x86/fft_sse.o YASM-OBJS-$(CONFIG_FFT) += x86/fft_mmx.o \ $(YASM-OBJS-FFT-yes) -YASM-OBJS-$(CONFIG_GPL) += x86/h264_idct_sse2.o \ MMX-OBJS-$(CONFIG_H264DSP) += x86/h264dsp_mmx.o YASM-OBJS-$(CONFIG_H264DSP) += x86/h264_deblock.o \ x86/h264_weight.o \ + x86/h264_idct_sse2.o \ YASM-OBJS-$(CONFIG_H264PRED) += x86/h264_intrapred.o MMX-OBJS-$(CONFIG_H264PRED) += x86/h264_intrapred_init.o diff --git a/libavcodec/x86/h264_idct_sse2.asm b/libavcodec/x86/h264_idct_sse2.asm index 86c1e66c72..9f22d7dda7 100644 --- a/libavcodec/x86/h264_idct_sse2.asm +++ b/libavcodec/x86/h264_idct_sse2.asm @@ -8,19 +8,21 @@ ;* Holger Lubitz ;* Min Chen ;* -;* This program is free software; you can redistribute it and/or modify -;* it under the terms of the GNU General Public License as published by -;* the Free Software Foundation; either version 2 of the License, or -;* (at your option) any later version. +;* This file is part of FFmpeg. ;* -;* This program is distributed in the hope that it will be useful, +;* 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 General Public License for more details. +;* 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 General Public License -;* along with this program; if not, write to the Free Software -;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. +;* You should have received a copy of the GNU Lesser General Public +;* License along with FFmpeg; if not, write to the Free Software +;* 51, Inc., Foundation Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ;***************************************************************************** %include "x86inc.asm" diff --git a/libavcodec/x86/h264dsp_mmx.c b/libavcodec/x86/h264dsp_mmx.c index 9d6513ed90..456a4c8a4a 100644 --- a/libavcodec/x86/h264dsp_mmx.c +++ b/libavcodec/x86/h264dsp_mmx.c @@ -475,7 +475,7 @@ static void ff_h264_idct_add8_mmx2(uint8_t **dest, const int *block_offset, DCTE } } -#if CONFIG_GPL && HAVE_YASM +#if HAVE_YASM static void ff_h264_idct_dc_add8_mmx2(uint8_t *dst, int16_t *block, int stride) { __asm__ volatile( @@ -820,11 +820,9 @@ void ff_h264dsp_init_x86(H264DSPContext *c) c->h264_v_loop_filter_luma_intra = ff_x264_deblock_v_luma_intra_sse2; c->h264_h_loop_filter_luma_intra = ff_x264_deblock_h_luma_intra_sse2; #endif -#if CONFIG_GPL c->h264_idct_add16 = ff_h264_idct_add16_sse2; c->h264_idct_add8 = ff_h264_idct_add8_sse2; c->h264_idct_add16intra = ff_h264_idct_add16intra_sse2; -#endif } if (mm_flags&AV_CPU_FLAG_SSSE3) { c->biweight_h264_pixels_tab[0]= ff_h264_biweight_16x16_ssse3;