Give RDFT types more meaningful names

Originally committed as revision 22290 to svn://svn.ffmpeg.org/ffmpeg/trunk
release/0.6
Måns Rullgård 15 years ago
parent 3bd8a2ef6c
commit 41ea18fb0d
  1. 2
      ffplay.c
  2. 2
      libavcodec/binkaudio.c
  3. 6
      libavcodec/fft-test.c
  4. 8
      libavcodec/fft.h
  5. 2
      libavcodec/qdm2.c
  6. 10
      libavcodec/rdft.c

@ -906,7 +906,7 @@ static void video_audio_display(VideoState *s)
nb_display_channels= FFMIN(nb_display_channels, 2); nb_display_channels= FFMIN(nb_display_channels, 2);
if(rdft_bits != s->rdft_bits){ if(rdft_bits != s->rdft_bits){
ff_rdft_end(&s->rdft); ff_rdft_end(&s->rdft);
ff_rdft_init(&s->rdft, rdft_bits, RDFT); ff_rdft_init(&s->rdft, rdft_bits, DFT_R2C);
s->rdft_bits= rdft_bits; s->rdft_bits= rdft_bits;
} }
{ {

@ -125,7 +125,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
s->coeffs_ptr[i] = s->coeffs + i * s->frame_len; s->coeffs_ptr[i] = s->coeffs + i * s->frame_len;
if (CONFIG_BINKAUDIO_RDFT_DECODER && avctx->codec->id == CODEC_ID_BINKAUDIO_RDFT) if (CONFIG_BINKAUDIO_RDFT_DECODER && avctx->codec->id == CODEC_ID_BINKAUDIO_RDFT)
ff_rdft_init(&s->trans.rdft, frame_len_bits, IRIDFT); ff_rdft_init(&s->trans.rdft, frame_len_bits, DFT_C2R);
else if (CONFIG_BINKAUDIO_DCT_DECODER) else if (CONFIG_BINKAUDIO_DCT_DECODER)
ff_dct_init(&s->trans.dct, frame_len_bits, 1); ff_dct_init(&s->trans.dct, frame_len_bits, 1);
else else

@ -292,10 +292,10 @@ int main(int argc, char **argv)
break; break;
case TRANSFORM_RDFT: case TRANSFORM_RDFT:
if (do_inverse) if (do_inverse)
av_log(NULL, AV_LOG_INFO,"IRDFT"); av_log(NULL, AV_LOG_INFO,"IDFT_C2R");
else else
av_log(NULL, AV_LOG_INFO,"RDFT"); av_log(NULL, AV_LOG_INFO,"DFT_R2C");
ff_rdft_init(r, fft_nbits, do_inverse ? IRDFT : RDFT); ff_rdft_init(r, fft_nbits, do_inverse ? IDFT_C2R : DFT_R2C);
fft_ref_init(fft_nbits, do_inverse); fft_ref_init(fft_nbits, do_inverse);
break; break;
case TRANSFORM_DCT: case TRANSFORM_DCT:

@ -195,10 +195,10 @@ void ff_mdct_end(FFTContext *s);
/* Real Discrete Fourier Transform */ /* Real Discrete Fourier Transform */
enum RDFTransformType { enum RDFTransformType {
RDFT, DFT_R2C,
IRDFT, IDFT_C2R,
RIDFT, IDFT_R2C,
IRIDFT, DFT_C2R,
}; };
typedef struct { typedef struct {

@ -1928,7 +1928,7 @@ static av_cold int qdm2_decode_init(AVCodecContext *avctx)
return -1; return -1;
} }
ff_rdft_init(&s->rdft_ctx, s->fft_order, IRDFT); ff_rdft_init(&s->rdft_ctx, s->fft_order, IDFT_C2R);
qdm2_init(s); qdm2_init(s);

@ -53,21 +53,21 @@ av_cold int ff_rdft_init(RDFTContext *s, int nbits, enum RDFTransformType trans)
{ {
int n = 1 << nbits; int n = 1 << nbits;
int i; int i;
const double theta = (trans == RDFT || trans == IRIDFT ? -1 : 1)*2*M_PI/n; const double theta = (trans == DFT_R2C || trans == DFT_C2R ? -1 : 1)*2*M_PI/n;
s->nbits = nbits; s->nbits = nbits;
s->inverse = trans == IRDFT || trans == IRIDFT; s->inverse = trans == IDFT_C2R || trans == DFT_C2R;
s->sign_convention = trans == RIDFT || trans == IRIDFT ? 1 : -1; s->sign_convention = trans == IDFT_R2C || trans == DFT_C2R ? 1 : -1;
if (nbits < 4 || nbits > 16) if (nbits < 4 || nbits > 16)
return -1; return -1;
if (ff_fft_init(&s->fft, nbits-1, trans == IRDFT || trans == RIDFT) < 0) if (ff_fft_init(&s->fft, nbits-1, trans == IDFT_C2R || trans == IDFT_R2C) < 0)
return -1; return -1;
ff_init_ff_cos_tabs(nbits); ff_init_ff_cos_tabs(nbits);
s->tcos = ff_cos_tabs[nbits]; s->tcos = ff_cos_tabs[nbits];
s->tsin = ff_sin_tabs[nbits]+(trans == RDFT || trans == IRIDFT)*(n>>2); s->tsin = ff_sin_tabs[nbits]+(trans == DFT_R2C || trans == DFT_C2R)*(n>>2);
#if !CONFIG_HARDCODED_TABLES #if !CONFIG_HARDCODED_TABLES
for (i = 0; i < (n>>2); i++) { for (i = 0; i < (n>>2); i++) {
s->tsin[i] = sin(i*theta); s->tsin[i] = sin(i*theta);

Loading…
Cancel
Save