Merge commit '67690683130faf37dd9d969ced15eba2a1940ade'
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 16 Feb 2015 00:45:50 +0000 (01:45 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 16 Feb 2015 00:46:35 +0000 (01:46 +0100)
* commit '67690683130faf37dd9d969ced15eba2a1940ade':
  g722: Split out g722_qmf_apply() function into g722dsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/Makefile
libavcodec/g722.c
libavcodec/g722.h
libavcodec/g722dec.c
libavcodec/g722dsp.c
libavcodec/g722dsp.h
libavcodec/g722enc.c

@@@ -619,11 -511,10 +619,11 @@@ OBJS-$(CONFIG_ADPCM_EA_R1_DECODER
  OBJS-$(CONFIG_ADPCM_EA_R2_DECODER)        += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_EA_R3_DECODER)        += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_EA_XAS_DECODER)       += adpcm.o adpcm_data.o
- OBJS-$(CONFIG_ADPCM_G722_DECODER)         += g722.o g722dec.o
- OBJS-$(CONFIG_ADPCM_G722_ENCODER)         += g722.o g722enc.o
+ OBJS-$(CONFIG_ADPCM_G722_DECODER)         += g722.o g722dsp.o g722dec.o
+ OBJS-$(CONFIG_ADPCM_G722_ENCODER)         += g722.o g722dsp.o g722enc.o
  OBJS-$(CONFIG_ADPCM_G726_DECODER)         += g726.o
  OBJS-$(CONFIG_ADPCM_G726_ENCODER)         += g726.o
 +OBJS-$(CONFIG_ADPCM_G726LE_DECODER)       += g726.o
  OBJS-$(CONFIG_ADPCM_IMA_AMV_DECODER)      += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_IMA_APC_DECODER)      += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_IMA_DK3_DECODER)      += adpcm.o adpcm_data.o
Simple merge
Simple merge
Simple merge
index 0000000,1fefc6b..b3cc728
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,47 +1,47 @@@
 - * This file is part of Libav.
+ /*
+  * Copyright (c) 2015 Peter Meerwald <pmeerw@pmeerw.net>
+  *
 - * Libav is free software; you can redistribute it and/or
++ * This file is part of FFmpeg.
+  *
 - * Libav 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.
+  *
 - * License along with Libav; if not, write to the Free Software
++ * 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
+  */
+ #include "g722dsp.h"
+ #include "mathops.h"
+ /*
+  * quadrature mirror filter (QMF) coefficients (ITU-T G.722 Table 11) inlined
+  * in code below: 3, -11, 12, 32, -210, 951, 3876, -805, 362, -156, 53, -11
+  */
+ static const int16_t qmf_coeffs[12] = {
+     3, -11, 12, 32, -210, 951, 3876, -805, 362, -156, 53, -11,
+ };
+ static void g722_apply_qmf(const int16_t *prev_samples, int *xout1, int *xout2)
+ {
+     int i;
+     *xout1 = 0;
+     *xout2 = 0;
+     for (i = 0; i < 12; i++) {
+         MAC16(*xout2, prev_samples[2*i  ], qmf_coeffs[i   ]);
+         MAC16(*xout1, prev_samples[2*i+1], qmf_coeffs[11-i]);
+     }
+ }
+ av_cold void ff_g722dsp_init(G722DSPContext *c)
+ {
+     c->apply_qmf = g722_apply_qmf;
+ }
index 0000000,c0d3339..a786434
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,32 +1,32 @@@
 - * This file is part of Libav.
+ /*
+  * Copyright (c) 2015 Peter Meerwald <pmeerw@pmeerw.net>
+  *
 - * Libav is free software; you can redistribute it and/or
++ * This file is part of FFmpeg.
+  *
 - * Libav 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.
+  *
 - * License along with Libav; if not, write to the Free Software
++ * 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
+  */
+ #ifndef AVCODEC_G722DSP_H
+ #define AVCODEC_G722DSP_H
+ #include <stdint.h>
+ typedef struct G722DSPContext {
+     void (*apply_qmf)(const int16_t *prev_samples, int *xout1, int *xout2);
+ } G722DSPContext;
+ void ff_g722dsp_init(G722DSPContext *c);
+ #endif /* AVCODEC_G722DSP_H */
Simple merge