Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Unified Diff: source/patched-ffmpeg-mt/libavcodec/lsp.c

Issue 3384002: ffmpeg source update for sep 09 (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/ffmpeg/
Patch Set: Created 10 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « source/patched-ffmpeg-mt/libavcodec/lsp.h ('k') | source/patched-ffmpeg-mt/libavcodec/mjpegdec.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/patched-ffmpeg-mt/libavcodec/lsp.c
===================================================================
--- source/patched-ffmpeg-mt/libavcodec/lsp.c (revision 59334)
+++ source/patched-ffmpeg-mt/libavcodec/lsp.c (working copy)
@@ -65,6 +65,14 @@
lsp[i] = ff_cos(lsf[i] * 20861 >> 15); // divide by PI and (0,13) -> (0,14)
}
+void ff_acelp_lsf2lspd(double *lsp, const float *lsf, int lp_order)
+{
+ int i;
+
+ for(i = 0; i < lp_order; i++)
+ lsp[i] = cos(2.0 * M_PI * lsf[i]);
+}
+
/**
* \brief decodes polynomial coefficients from LSP
* \param f [out] decoded polynomial coefficients (-0x20000000 <= (3.22) <= 0x1fffffff)
@@ -109,6 +117,32 @@
}
}
+void ff_amrwb_lsp2lpc(const double *lsp, float *lp, int lp_order)
+{
+ int lp_half_order = lp_order >> 1;
+ double buf[lp_half_order + 1];
+ double pa[lp_half_order + 1];
+ double *qa = buf + 1;
+ int i,j;
+
+ qa[-1] = 0.0;
+
+ ff_lsp2polyf(lsp , pa, lp_half_order );
+ ff_lsp2polyf(lsp + 1, qa, lp_half_order - 1);
+
+ for (i = 1, j = lp_order - 1; i < lp_half_order; i++, j--) {
+ double paf = pa[i] * (1 + lsp[lp_order - 1]);
+ double qaf = (qa[i] - qa[i-2]) * (1 - lsp[lp_order - 1]);
+ lp[i-1] = (paf + qaf) * 0.5;
+ lp[j-1] = (paf - qaf) * 0.5;
+ }
+
+ lp[lp_half_order - 1] = (1.0 + lsp[lp_order - 1]) *
+ pa[lp_half_order] * 0.5;
+
+ lp[lp_order - 1] = lsp[lp_order - 1];
+}
+
void ff_acelp_lp_decode(int16_t* lp_1st, int16_t* lp_2nd, const int16_t* lsp_2nd, const int16_t* lsp_prev, int lp_order)
{
int16_t lsp_1st[MAX_LP_ORDER]; // (0.15)
« no previous file with comments | « source/patched-ffmpeg-mt/libavcodec/lsp.h ('k') | source/patched-ffmpeg-mt/libavcodec/mjpegdec.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698