sela
sela_sub_frame.hpp
Go to the documentation of this file.
1 #ifndef _SELA_SUB_FRAME_H_
2 #define _SELA_SUB_FRAME_H_
3 
4 #include "rice_encoded_data.hpp"
5 
6 namespace data {
7 class SelaSubFrame {
8 public:
9  // Audio Channel number - 1, 2, etc
10  uint8_t channel;
11  // 0 - Subframe is independent, 1 - SubFrame uses difference coding and is
12  // dependent on another channel
13  uint8_t subFrameType;
14  // Incase subFrame uses difference coding, the channel from which difference is
15  // generated will be stored here
17 
18  // Reflection coefficient data
21  uint8_t optimumLpcOrder;
22  const std::vector<uint32_t> encodedReflectionCoefficients;
23 
24  // Residue data
28  const std::vector<uint32_t> encodedResidues;
29 
30  SelaSubFrame(uint8_t channel, uint8_t subFrameType, uint8_t parentChannelNumber,
31  const data::RiceEncodedData& reflectionData, const data::RiceEncodedData& residueData) noexcept
32  : channel(channel)
33  , subFrameType(subFrameType)
34  , parentChannelNumber(parentChannelNumber)
35  , reflectionCoefficientRiceParam((uint8_t)reflectionData.optimumRiceParam)
36  , reflectionCoefficientRequiredInts((uint16_t)reflectionData.encodedData.size())
37  , optimumLpcOrder((uint8_t)reflectionData.dataCount)
38  , encodedReflectionCoefficients(std::move(reflectionData.encodedData))
39  , residueRiceParam((uint8_t)residueData.optimumRiceParam)
40  , residueRequiredInts((uint16_t)residueData.encodedData.size())
41  , samplesPerChannel((uint16_t)residueData.dataCount)
42  , encodedResidues(std::move(residueData.encodedData))
43  {
44  }
45 };
46 }
47 
48 #endif
uint8_t optimumLpcOrder
Definition: sela_sub_frame.hpp:21
uint16_t samplesPerChannel
Definition: sela_sub_frame.hpp:27
uint8_t parentChannelNumber
Definition: sela_sub_frame.hpp:16
Definition: audio_packet.hpp:4
uint16_t reflectionCoefficientRequiredInts
Definition: sela_sub_frame.hpp:20
uint8_t reflectionCoefficientRiceParam
Definition: sela_sub_frame.hpp:19
uint8_t subFrameType
Definition: sela_sub_frame.hpp:13
uint8_t channel
Definition: sela_sub_frame.hpp:10
const std::vector< uint32_t > encodedResidues
Definition: sela_sub_frame.hpp:28
const std::vector< uint32_t > encodedReflectionCoefficients
Definition: sela_sub_frame.hpp:22
Definition: rice_encoded_data.hpp:8
SelaSubFrame(uint8_t channel, uint8_t subFrameType, uint8_t parentChannelNumber, const data::RiceEncodedData &reflectionData, const data::RiceEncodedData &residueData) noexcept
Definition: sela_sub_frame.hpp:30
uint8_t residueRiceParam
Definition: sela_sub_frame.hpp:25
Definition: sela_sub_frame.hpp:7
uint16_t residueRequiredInts
Definition: sela_sub_frame.hpp:26