Mercurial > libavcodec.hg
comparison dsputil.h @ 10944:0985f1f7ab72 libavcodec
Floating point discrete cosine transform
author | vitor |
---|---|
date | Wed, 20 Jan 2010 00:39:47 +0000 |
parents | a8620b001ed3 |
children | 34a65026fa06 |
comparison
equal
deleted
inserted
replaced
10943:3a723e8dcd26 | 10944:0985f1f7ab72 |
---|---|
897 */ | 897 */ |
898 int ff_rdft_init(RDFTContext *s, int nbits, enum RDFTransformType trans); | 898 int ff_rdft_init(RDFTContext *s, int nbits, enum RDFTransformType trans); |
899 void ff_rdft_calc(RDFTContext *s, FFTSample *data); | 899 void ff_rdft_calc(RDFTContext *s, FFTSample *data); |
900 void ff_rdft_end(RDFTContext *s); | 900 void ff_rdft_end(RDFTContext *s); |
901 | 901 |
902 /* Discrete Cosine Transform */ | |
903 | |
904 typedef struct { | |
905 int nbits; | |
906 int inverse; | |
907 FFTSample *data; | |
908 RDFTContext rdft; | |
909 const float *costab; | |
910 FFTSample *csc2; | |
911 } DCTContext; | |
912 | |
913 /** | |
914 * Sets up (Inverse)DCT. | |
915 * @param nbits log2 of the length of the input array | |
916 * @param inverse >0 forward transform, <0 inverse transform | |
917 */ | |
918 int ff_dct_init(DCTContext *s, int nbits, int inverse); | |
919 void ff_dct_calc(DCTContext *s, FFTSample *data); | |
920 void ff_dct_end (DCTContext *s); | |
921 | |
902 #define WRAPPER8_16(name8, name16)\ | 922 #define WRAPPER8_16(name8, name16)\ |
903 static int name16(void /*MpegEncContext*/ *s, uint8_t *dst, uint8_t *src, int stride, int h){\ | 923 static int name16(void /*MpegEncContext*/ *s, uint8_t *dst, uint8_t *src, int stride, int h){\ |
904 return name8(s, dst , src , stride, h)\ | 924 return name8(s, dst , src , stride, h)\ |
905 +name8(s, dst+8 , src+8 , stride, h);\ | 925 +name8(s, dst+8 , src+8 , stride, h);\ |
906 } | 926 } |