FastLED 3.9.15
Loading...
Searching...
No Matches
coder.h File Reference
+ Include dependency graph for coder.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  fl::third_party::_BitStreamInfo
 
struct  fl::third_party::_BlockCount
 
struct  fl::third_party::_DequantInfo
 
struct  fl::third_party::_FrameHeader
 
struct  fl::third_party::_HuffmanInfo
 
struct  fl::third_party::_HuffTabLookup
 
struct  fl::third_party::_IMDCTInfo
 
struct  fl::third_party::_ScaleFactorInfo
 
struct  fl::third_party::_ScaleFactorInfoSub
 
struct  fl::third_party::_ScaleFactorJS
 
struct  fl::third_party::_SideInfo
 
struct  fl::third_party::_SideInfoSub
 
struct  fl::third_party::_SubbandInfo
 
struct  fl::third_party::CriticalBandInfo
 

Namespaces

namespace  fl
 Base definition for an LED controller.
 
namespace  fl::third_party
 
namespace  fl::third_party::fl
 

Macros

#define ASSERT(x)
 
#define BLOCK_SIZE   18
 
#define CLIP_2N(y, n)
 
#define DQ_FRACBITS_OUT   25 /* number of fraction bits in output of dequant */
 
#define HUFF_PAIRTABS   32
 
#define IMDCT_SCALE   2 /* additional scaling (by sqrt(2)) for fast IMDCT36 */
 
#define MAX(a, b)
 
#define MAX_REORDER_SAMPS   ((192-126)*3) /* largest critical band for short blocks (see sfBandTable) */
 
#define MIN(a, b)
 
#define NBANDS   32
 
#define POW43_FRACBITS_HIGH   12
 
#define POW43_FRACBITS_LOW   22
 
#define SIBYTES_MPEG1_MONO   17
 
#define SIBYTES_MPEG1_STEREO   32
 
#define SIBYTES_MPEG2_MONO   9
 
#define SIBYTES_MPEG2_STEREO   17
 
#define VBUF_LENGTH   (17 * 2 * NBANDS) /* for double-sized vbuf FIFO */
 

Typedefs

typedef u16 fl::third_party::accum124
 no direct ANSI counterpart. 12 bits int, 4 bits fraction
 
typedef u16 fl::third_party::fl::accum124
 no direct ANSI counterpart. 12 bits int, 4 bits fraction
 
typedef u32 fl::third_party::accum1616
 ANSI: signed _Accum. 16 bits int, 16 bits fraction.
 
typedef u32 fl::third_party::fl::accum1616
 ANSI: signed _Accum. 16 bits int, 16 bits fraction.
 
typedef u16 fl::third_party::accum88
 ANSI: unsigned short _Accum. 8 bits int, 8 bits fraction.
 
typedef u16 fl::third_party::fl::accum88
 ANSI: unsigned short _Accum. 8 bits int, 8 bits fraction.
 
typedef struct fl::third_party::_BitStreamInfo fl::third_party::BitStreamInfo
 
typedef struct fl::third_party::_BlockCount fl::third_party::BlockCount
 
typedef struct fl::third_party::_DequantInfo fl::third_party::DequantInfo
 
typedef u16 fl::third_party::fl::fract16
 ANSI: unsigned _Fract.
 
typedef u16 fl::third_party::fract16
 ANSI: unsigned _Fract.
 
typedef u32 fl::third_party::fl::fract32
 ANSI: unsigned long _Fract. 32 bits int, 32 bits fraction.
 
typedef u32 fl::third_party::fract32
 ANSI: unsigned long _Fract. 32 bits int, 32 bits fraction.
 
typedef u8 fl::third_party::fl::fract8
 Fixed-Point Fractional Types.
 
typedef u8 fl::third_party::fract8
 Fixed-Point Fractional Types.
 
typedef struct fl::third_party::_FrameHeader fl::third_party::FrameHeader
 
typedef struct fl::third_party::_HuffmanInfo fl::third_party::HuffmanInfo
 
typedef struct fl::third_party::_HuffTabLookup fl::third_party::HuffTabLookup
 
typedef enum fl::third_party::_HuffTabType fl::third_party::HuffTabType
 
typedef fl::i64 fl::third_party::i64
 
typedef signed char fl::third_party::fl::i8
 
typedef struct fl::third_party::_IMDCTInfo fl::third_party::IMDCTInfo
 
typedef fl::i16 fl::third_party::int16_t
 
typedef fl::i32 fl::third_party::int32_t
 
typedef signed char fl::third_party::int8_t
 
typedef fl::iptr fl::third_party::intptr_t
 
typedef fl::ptrdiff fl::third_party::ptrdiff_t
 
typedef i32 fl::third_party::fl::saccum114
 no direct ANSI counterpart. 1 bit int, 14 bits fraction
 
typedef i32 fl::third_party::saccum114
 no direct ANSI counterpart. 1 bit int, 14 bits fraction
 
typedef i32 fl::third_party::fl::saccum1516
 ANSI: signed _Accum. 15 bits int, 16 bits fraction.
 
typedef i32 fl::third_party::saccum1516
 ANSI: signed _Accum. 15 bits int, 16 bits fraction.
 
typedef i16 fl::third_party::fl::saccum78
 ANSI: signed short _Accum. 7 bits int, 8 bits fraction.
 
typedef i16 fl::third_party::saccum78
 ANSI: signed short _Accum. 7 bits int, 8 bits fraction.
 
typedef struct fl::third_party::_ScaleFactorInfo fl::third_party::ScaleFactorInfo
 
typedef struct fl::third_party::_ScaleFactorInfoSub fl::third_party::ScaleFactorInfoSub
 
typedef struct fl::third_party::_ScaleFactorJS fl::third_party::ScaleFactorJS
 
typedef i16 fl::third_party::fl::sfract15
 ANSI: signed _Fract.
 
typedef i16 fl::third_party::sfract15
 ANSI: signed _Fract.
 
typedef i32 fl::third_party::fl::sfract31
 ANSI: signed long _Fract. 31 bits int, 1 bit fraction.
 
typedef i32 fl::third_party::sfract31
 ANSI: signed long _Fract. 31 bits int, 1 bit fraction.
 
typedef i8 fl::third_party::fl::sfract7
 ANSI: signed short _Fract.
 
typedef i8 fl::third_party::sfract7
 ANSI: signed short _Fract.
 
typedef struct fl::third_party::_SideInfo fl::third_party::SideInfo
 
typedef struct fl::third_party::_SideInfoSub fl::third_party::SideInfoSub
 
typedef fl::size fl::third_party::size_t
 
typedef struct fl::third_party::_SubbandInfo fl::third_party::SubbandInfo
 
typedef fl::u64 fl::third_party::u64
 
typedef unsigned char fl::third_party::fl::u8
 
typedef unsigned int fl::third_party::fl::uint
 
typedef fl::u16 fl::third_party::uint16_t
 
typedef fl::u32 fl::third_party::uint32_t
 
typedef unsigned char fl::third_party::uint8_t
 
typedef fl::uptr fl::third_party::uintptr_t
 

Enumerations

enum  fl::third_party::_HuffTabType {
  fl::third_party::noBits , fl::third_party::oneShot , fl::third_party::loopNoLinbits , fl::third_party::loopLinbits ,
  fl::third_party::quadA , fl::third_party::quadB , fl::third_party::invalidTab
}
 
enum  StereoMode { Stereo = 0x00 , Joint = 0x01 , Dual = 0x02 , Mono = 0x03 }
 

Functions

int32_t fl::third_party::CalcBitsUsed (BitStreamInfo *bsi, const unsigned char *startBuf, int32_t startOffset) FL_NOEXCEPT
 
__inline int32_t clip_2n_helper (int32_t val, int32_t n) FL_NOEXCEPT
 
int32_t fl::third_party::DequantChannel (int32_t *sampleBuf, int32_t *workBuf, int32_t *nonZeroBound, FrameHeader *fh, SideInfoSub *sis, ScaleFactorInfoSub *sfis, CriticalBandInfo *cbi) FL_NOEXCEPT
 
void fl::third_party::FDCT32 (int32_t *x, int32_t *d, int32_t offset, int32_t oddBlock, int32_t gb) FL_NOEXCEPT
 
uint32_t fl::third_party::GetBits (BitStreamInfo *bsi, int32_t nBits) FL_NOEXCEPT
 
void fl::third_party::IntensityProcMPEG1 (int32_t x[MAX_NCHAN][MAX_NSAMP], int32_t nSamps, FrameHeader *fh, ScaleFactorInfoSub *sfis, CriticalBandInfo *cbi, int32_t midSideFlag, int32_t mixFlag, int32_t mOut[2]) FL_NOEXCEPT
 
void fl::third_party::IntensityProcMPEG2 (int32_t x[MAX_NCHAN][MAX_NSAMP], int32_t nSamps, FrameHeader *fh, ScaleFactorInfoSub *sfis, CriticalBandInfo *cbi, ScaleFactorJS *sfjs, int32_t midSideFlag, int32_t mixFlag, int32_t mOut[2]) FL_NOEXCEPT
 
void fl::third_party::MidSideProc (int32_t x[MAX_NCHAN][MAX_NSAMP], int32_t nSamps, int32_t mOut[2]) FL_NOEXCEPT
 
void fl::third_party::PolyphaseMono (short *pcm, int32_t *vbuf, const int32_t *coefBase)
 
void fl::third_party::PolyphaseStereo (short *pcm, int32_t *vbuf, const int32_t *coefBase)
 
void fl::third_party::SetBitstreamPointer (BitStreamInfo *bsi, int32_t nBytes, const unsigned char *buf) FL_NOEXCEPT
 

Variables

const int32_t fl::third_party::coef32 [31]
 
const int32_t fl::third_party::csa [8][2]
 
const unsigned short fl::third_party::huffTable []
 
const HuffTabLookup fl::third_party::huffTabLookup [HUFF_PAIRTABS]
 
const int32_t fl::third_party::huffTabOffset [HUFF_PAIRTABS]
 
const int32_t fl::third_party::imdctWin [4][36]
 
const int32_t fl::third_party::ISFIIP [2][2]
 
const int32_t fl::third_party::ISFMpeg1 [2][7]
 
const int32_t fl::third_party::ISFMpeg2 [2][2][16]
 
const int32_t fl::third_party::polyCoef [264]
 
const unsigned char fl::third_party::quadTable [64+16]
 
const int32_t fl::third_party::quadTabMaxBits [2] = {6, 4}
 
const int32_t fl::third_party::quadTabOffset [2] = {0, 64}
 

Class Documentation

◆ fl::third_party::_BitStreamInfo

struct fl::third_party::_BitStreamInfo
Class Members
const unsigned char * bytePtr
int32_t cachedBits
uint32_t iCache
int32_t nBytes

◆ fl::third_party::_BlockCount

struct fl::third_party::_BlockCount
Class Members
int32_t currWinSwitch
int32_t gbIn
int32_t gbOut
int32_t nBlocksLong
int32_t nBlocksPrev
int32_t nBlocksTotal
int32_t prevType
int32_t prevWinSwitch

◆ fl::third_party::_DequantInfo

struct fl::third_party::_DequantInfo
+ Collaboration diagram for fl::third_party::_DequantInfo:
Class Members
CriticalBandInfo cbi[MAX_NCHAN]
int32_t workBuf[MAX_REORDER_SAMPS]

◆ fl::third_party::_FrameHeader

struct fl::third_party::_FrameHeader
+ Collaboration diagram for fl::third_party::_FrameHeader:
Class Members
int32_t brIdx
int32_t copyFlag
int32_t crc
int32_t CRCWord
int32_t emphasis
int32_t layer
int32_t modeExt
int32_t origFlag
int32_t paddingBit
int32_t privateBit
const SFBandTable * sfBand
StereoMode sMode
int32_t srIdx
MPEGVersion ver

◆ fl::third_party::_HuffmanInfo

struct fl::third_party::_HuffmanInfo
Class Members
int32_t gb[MAX_NCHAN]
int32_t huffDecBuf[MAX_NCHAN][MAX_NSAMP]
int32_t nonZeroBound[MAX_NCHAN]

◆ fl::third_party::_HuffTabLookup

struct fl::third_party::_HuffTabLookup
Class Members
int32_t linBits
HuffTabType tabType

◆ fl::third_party::_IMDCTInfo

struct fl::third_party::_IMDCTInfo
Class Members
int32_t gb[MAX_NCHAN]
int32_t numPrevIMDCT[MAX_NCHAN]
int32_t outBuf[MAX_NCHAN][BLOCK_SIZE][NBANDS]
int32_t overBuf[MAX_NCHAN][MAX_NSAMP/2]
int32_t prevType[MAX_NCHAN]
int32_t prevWinSwitch[MAX_NCHAN]

◆ fl::third_party::_ScaleFactorInfo

struct fl::third_party::_ScaleFactorInfo
+ Collaboration diagram for fl::third_party::_ScaleFactorInfo:
Class Members
ScaleFactorInfoSub sfis[MAX_NGRAN][MAX_NCHAN]
ScaleFactorJS sfjs

◆ fl::third_party::_ScaleFactorInfoSub

struct fl::third_party::_ScaleFactorInfoSub
Class Members
char l[23]
char s[13][3]

◆ fl::third_party::_ScaleFactorJS

struct fl::third_party::_ScaleFactorJS
Class Members
int32_t intensityScale
int32_t nr[4]
int32_t slen[4]

◆ fl::third_party::_SideInfo

struct fl::third_party::_SideInfo
+ Collaboration diagram for fl::third_party::_SideInfo:
Class Members
int32_t mainDataBegin
int32_t privateBits
int32_t scfsi[MAX_NCHAN][MAX_SCFBD]
SideInfoSub sis[MAX_NGRAN][MAX_NCHAN]

◆ fl::third_party::_SideInfoSub

struct fl::third_party::_SideInfoSub
Class Members
int32_t blockType
int32_t count1TableSelect
int32_t globalGain
int32_t mixedBlock
int32_t nBigvals
int32_t part23Length
int32_t preFlag
int32_t region0Count
int32_t region1Count
int32_t sfactScale
int32_t sfCompress
int32_t subBlockGain[3]
int32_t tableSelect[3]
int32_t winSwitchFlag

◆ fl::third_party::_SubbandInfo

struct fl::third_party::_SubbandInfo
Class Members
int32_t vbuf[MAX_NCHAN *VBUF_LENGTH]
int32_t vindex

◆ fl::third_party::CriticalBandInfo

struct fl::third_party::CriticalBandInfo
Class Members
int32_t cbEndL
int32_t cbEndS[3]
int32_t cbEndSMax
int32_t cbType