[FFmpeg-soc] [soc]: r636 - in qcelp: doc/TODO qcelpdec.c
reynaldo
subversion at mplayerhq.hu
Wed Aug 8 23:39:45 CEST 2007
Author: reynaldo
Date: Wed Aug 8 23:39:44 2007
New Revision: 636
Log:
output stage genesis, some cosmetics, TODO updated
Modified:
qcelp/doc/TODO
qcelp/qcelpdec.c
Modified: qcelp/doc/TODO
==============================================================================
--- qcelp/doc/TODO (original)
+++ qcelp/doc/TODO Wed Aug 8 23:39:44 2007
@@ -1,11 +1,7 @@
Clear
-- Hook adaptive postfilter using qcelp_apply_gain_ctrl()
-
-Still somewhat fuzzy:
-
-- Workability tests / Sample smashing
-- Fixes (if needed :-)
+- Make it work / Sample smashing
+- Code and Hook adaptive postfilter using qcelp_apply_gain_ctrl()
- Rework IFQ handling & decoding glue code in general.
End goals:
Modified: qcelp/qcelpdec.c
==============================================================================
--- qcelp/qcelpdec.c (original)
+++ qcelp/qcelpdec.c Wed Aug 8 23:39:44 2007
@@ -473,7 +473,7 @@ static void qcelp_lsp2paqa(float *lspf,
/**
* 2.4.3.3.5
*/
-static void qcelp_lsp2lpc(float *lspf, float *lpc)
+static void qcelp_lsp2lpc(AVCodecContext *avctx, float *lspf, float *lpc)
{
float pa[10],qa[10];
int i;
@@ -491,6 +491,9 @@ static void qcelp_lsp2lpc(float *lspf, f
* for(i=0, 1<10; i++)
* lpc[i]*=powf(0.9883, i+1);
*/
+ av_log(avctx, AV_LOG_DEBUG, "lsp2lpc:%f%f%f%f%f%f%f%f%f%f\n",
+ lpc[0], lpc[1], lpc[2], lpc[3], lpc[4],
+ lpc[5], lpc[6], lpc[7], lpc[8], lpc[9]);
}
/**
@@ -717,12 +720,16 @@ static int qcelp_decode_frame(AVCodecCon
/* lsp freq interpolation */
qcelp_do_interpolate_lspf(q->frame->rate, q->prev_lspf, qtzd_lspf);
/* get lpc coeficients */
- qcelp_lsp2lpc(qtzd_lspf, lpc);
- /* apply formant synthesis filter over pitch pre filter's output */
+ qcelp_lsp2lpc(avctx, qtzd_lspf, lpc);
+ /* Apply formant synthesis filter over the pitch prefilter output. */
for(i=0; i<160; i++)
+ {
ppf_vector[i]=1.0/qcelp_prede_filter(lpc, ppf_vector[i]);
+ /* WIP adaptive postfilter here */
- /* WIP adaptive postifilter here */
+ /* output stage */
+ outbuffer[i]=av_clip(lrintf(ppf_vector[i]), -32768, 32767);
+ }
if(is_ifq)
{
More information about the FFmpeg-soc
mailing list