summaryrefslogtreecommitdiffstats
path: root/src/encoder/encoderffmpegresample.h
blob: ec9805322df35f90ac9ca85a8ff74aa5f17aeb1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef ENCODERFFMPEGRESAMPLE_H
#define ENCODERFFMPEGRESAMPLE_H

#include <QtDebug>

extern "C" {

#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>

// Compatibility
#include <libavutil/mathematics.h>
#include <libavutil/opt.h>

}

class EncoderFfmpegResample {
  public:
    explicit EncoderFfmpegResample(AVCodecContext *codecCtx);
    ~EncoderFfmpegResample();
    int openMixxx(AVSampleFormat inSampleFmt, AVSampleFormat outSampleFmt);

    unsigned int reSampleMixxx(AVFrame *inframe, quint8 **outbuffer);

  private:
    AVCodecContext *m_pCodecCtx;
    enum AVSampleFormat m_pOutSampleFmt;
    enum AVSampleFormat m_pInSampleFmt;

};

#endif