aboutsummaryrefslogtreecommitdiffstats
path: root/src/atrac/atrac1_scale.h
blob: 7bbfa5629c1c950d61ea27f60c8ef4930951d1fc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once
#include <vector>
#include <map>
#include <cstdint>

#include "atrac1.h"

namespace NAtrac1 {

struct TScaledBlock {
	TScaledBlock(uint8_t sfi) : ScaleFactorIndex(sfi) {}
    const uint8_t ScaleFactorIndex = 0;
    std::vector<double> Values;
};

class TScaler : public TAtrac1Data {
    static std::map<uint32_t, uint8_t>ScaleIndex;
public:
    TScaler();
    std::vector<TScaledBlock> Scale(const std::vector<double>& specs, const TBlockSize& blockSize);
};
}