FFmpeg
Macros | Functions | Variables
dsd.c File Reference
#include <string.h>
#include "libavutil/attributes.h"
#include "libavutil/reverse.h"
#include "libavutil/thread.h"
#include "dsd.h"

Go to the source code of this file.

Macros

#define CTABLES   ((HTAPS + 7) / 8) /** number of "8 MACs" lookup tables */
 

Functions

static av_cold void dsd_ctables_tableinit (void)
 
av_cold void ff_init_dsd_data (void)
 
void ff_dsd2pcm_translate (DSDContext *s, size_t samples, int lsbf, const uint8_t *src, ptrdiff_t src_stride, float *dst, ptrdiff_t dst_stride)
 

Variables

static const double htaps [HTAPS]
 The 2nd half (48 coeffs) of a 96-tap symmetric lowpass filter. More...
 
static float ctables [CTABLES][256]
 

Macro Definition Documentation

◆ CTABLES

#define CTABLES   ((HTAPS + 7) / 8) /** number of "8 MACs" lookup tables */

Definition at line 30 of file dsd.c.

Function Documentation

◆ dsd_ctables_tableinit()

static av_cold void dsd_ctables_tableinit ( void  )
static

Definition at line 73 of file dsd.c.

Referenced by ff_init_dsd_data().

◆ ff_init_dsd_data()

av_cold void ff_init_dsd_data ( void  )

Definition at line 89 of file dsd.c.

Referenced by decode_init(), and wavpack_decode_init().

◆ ff_dsd2pcm_translate()

void ff_dsd2pcm_translate ( DSDContext s,
size_t  samples,
int  lsbf,
const uint8_t *  src,
ptrdiff_t  src_stride,
float *  dst,
ptrdiff_t  dst_stride 
)

Definition at line 95 of file dsd.c.

Referenced by decode_frame(), and dsd_channel().

Variable Documentation

◆ htaps

const double htaps[HTAPS]
static
Initial value:
= {
0.09950731974056658, 0.09562845727714668, 0.08819647126516944,
0.07782552527068175, 0.06534876523171299, 0.05172629311427257,
0.0379429484910187, 0.02490921351762261, 0.0133774746265897,
0.003883043418804416, -0.003284703416210726, -0.008080250212687497,
-0.01067241812471033, -0.01139427235000863, -0.0106813877974587,
-0.009007905078766049, -0.006828859761015335, -0.004535184322001496,
-0.002425035959059578, -0.0006922187080790708, 0.0005700762133516592,
0.001353838005269448, 0.001713709169690937, 0.001742046839472948,
0.001545601648013235, 0.001226696225277855, 0.0008704322683580222,
0.0005381636200535649, 0.000266446345425276, 7.002968738383528e-05,
-5.279407053811266e-05, -0.0001140625650874684, -0.0001304796361231895,
-0.0001189970287491285, -9.396247155265073e-05, -6.577634378272832e-05,
-4.07492895872535e-05, -2.17407957554587e-05, -9.163058931391722e-06,
-2.017460145032201e-06, 1.249721855219005e-06, 2.166655190537392e-06,
1.930520892991082e-06, 1.319400334374195e-06, 7.410039764949091e-07,
3.423230509967409e-07, 1.244182214744588e-07, 3.130441005359396e-08
}

The 2nd half (48 coeffs) of a 96-tap symmetric lowpass filter.

Definition at line 52 of file dsd.c.

Referenced by decode_header(), dsd_ctables_tableinit(), and if().

◆ ctables

float ctables[CTABLES][256]
static

Definition at line 71 of file dsd.c.

Referenced by dsd_ctables_tableinit(), and ff_dsd2pcm_translate().