Encoder.h 454 Bytes
Newer Older
Nianchen Deng's avatar
Nianchen Deng committed
1
#pragma once
Nianchen Deng's avatar
sync    
Nianchen Deng committed
2
#include "../utils/common.h"
Nianchen Deng's avatar
Nianchen Deng committed
3
4
5

class Encoder {
public:
Nianchen Deng's avatar
Nianchen Deng committed
6
    Encoder(unsigned int multires, unsigned int chns) : _multires(multires), _chns(chns) { _genFreqArray(); }
Nianchen Deng's avatar
Nianchen Deng committed
7

Nianchen Deng's avatar
Nianchen Deng committed
8
    unsigned int outDim() const { return _chns * (1 + _multires * 2); }
Nianchen Deng's avatar
sync    
Nianchen Deng committed
9
    void encode(sptr<CudaArray<float>> output, sptr<CudaArray<float>> input);
Nianchen Deng's avatar
Nianchen Deng committed
10
11

private:
Nianchen Deng's avatar
Nianchen Deng committed
12
13
    unsigned int _multires;
    unsigned int _chns;
Nianchen Deng's avatar
Nianchen Deng committed
14
15
16
17
    sptr<CudaArray<float>> _freqs;

    void _genFreqArray();
};