# What are the differences between fft and dct? [duplicate]

This question already has an answer here:

what are the differences between Fourier transform and cosine transform..... i try to find the typical answer the difference ,from where ,the size of input and output form,in time complexity,the domain ,the effect on image itself .

## marked as duplicate by Matt L., jojek♦, Peter K.♦Nov 16 '15 at 17:06

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

• You could have asked for the difference between the standard "discrete Fourier transform" (DFT) and "discrete cosine transforms" (DCTs) (because there are several breeds). The FFT is only one common fast implementation. I would suggest you to have a look at a previous answer What is the difference between a Fourier transform and a cosine transform? before making your question more specific. – Laurent Duval Nov 15 '15 at 20:33
• ya know guys, i've seen this point made now about a half dozen times just in the past week. let's give the guy a break. FFT is a fast way of doing a DFT. fine. but we know every time someone refers to the mapping as an "FFT", we know he/she means DFT. and if it bothers you enough, edit the damn question. including the title. – robert bristow-johnson Nov 16 '15 at 3:29

## 1 Answer

First, you should compare the DCT to the DFT, not the FFT. FFT is just a family of algorithms to approximate the DFT.

Also:

[...] In particular, a DCT is a Fourier-related transform similar to the discrete Fourier transform (DFT), but using only real numbers. DCTs are equivalent to DFTs of roughly twice the length, operating on real data with even symmetry (since the Fourier transform of a real and even function is real and even), where in some variants the input and/or output data are shifted by half a sample. There are eight standard DCT variants, of which four are common.