summaryrefslogtreecommitdiff
path: root/libavcodec/proresdsp.c
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2012-02-02 20:54:53 +0100
committerKostya Shishkov <kostya.shishkov@gmail.com>2012-02-15 07:14:51 +0100
commit1a265f6187e9036b649fc08f8293b5e1fcd8dfbe (patch)
tree3008fcfe16f8e7e0c773655808309e5fd358a37c /libavcodec/proresdsp.c
parent8835c2c829d84d99e237e63f432b6e9f54e2ecf6 (diff)
prores encoder
Diffstat (limited to 'libavcodec/proresdsp.c')
-rw-r--r--libavcodec/proresdsp.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/libavcodec/proresdsp.c b/libavcodec/proresdsp.c
index 7e753e9dc7..e19eed208b 100644
--- a/libavcodec/proresdsp.c
+++ b/libavcodec/proresdsp.c
@@ -51,13 +51,30 @@ static void prores_idct_put_c(uint16_t *out, int linesize, DCTELEM *block, const
put_pixels(out, linesize >> 1, block);
}
+static void prores_fdct_c(const uint16_t *src, int linesize, DCTELEM *block)
+{
+ int x, y;
+ const uint16_t *tsrc = src;
+
+ for (y = 0; y < 8; y++) {
+ for (x = 0; x < 8; x++)
+ block[y * 8 + x] = tsrc[x];
+ tsrc += linesize >> 1;
+ }
+ ff_jpeg_fdct_islow_10(block);
+}
+
void ff_proresdsp_init(ProresDSPContext *dsp)
{
dsp->idct_put = prores_idct_put_c;
dsp->idct_permutation_type = FF_NO_IDCT_PERM;
+ dsp->fdct = prores_fdct_c;
+ dsp->dct_permutation_type = FF_NO_IDCT_PERM;
if (HAVE_MMX) ff_proresdsp_x86_init(dsp);
ff_init_scantable_permutation(dsp->idct_permutation,
dsp->idct_permutation_type);
+ ff_init_scantable_permutation(dsp->dct_permutation,
+ dsp->dct_permutation_type);
}