FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavcodec
dsd.h
Go to the documentation of this file.
1
/*
2
* Direct Stream Digital (DSD) decoder
3
* based on BSD licensed dsd2pcm by Sebastian Gesemann
4
* Copyright (c) 2009, 2011 Sebastian Gesemann. All rights reserved.
5
* Copyright (c) 2014 Peter Ross
6
*
7
* This file is part of FFmpeg.
8
*
9
* FFmpeg is free software; you can redistribute it and/or
10
* modify it under the terms of the GNU Lesser General Public
11
* License as published by the Free Software Foundation; either
12
* version 2.1 of the License, or (at your option) any later version.
13
*
14
* FFmpeg is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
* Lesser General Public License for more details.
18
*
19
* You should have received a copy of the GNU Lesser General Public
20
* License along with FFmpeg; if not, write to the Free Software
21
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22
*/
23
24
#ifndef AVCODEC_DSD_H
25
#define AVCODEC_DSD_H
26
27
#include "
libavcodec/internal.h
"
28
#include "
libavcodec/mathops.h
"
29
#include "
avcodec.h
"
30
31
#define HTAPS 48
/** number of FIR constants */
32
#define FIFOSIZE 16
/** must be a power of two */
33
#define FIFOMASK (FIFOSIZE - 1)
/** bit mask for FIFO offsets */
34
35
#if FIFOSIZE * 8 < HTAPS * 2
36
#error "FIFOSIZE too small"
37
#endif
38
39
/**
40
* Per-channel buffer
41
*/
42
typedef
struct
DSDContext
{
43
unsigned
char
buf
[
FIFOSIZE
];
44
unsigned
pos
;
45
}
DSDContext
;
46
47
void
ff_init_dsd_data
(
void
);
48
49
void
ff_dsd2pcm_translate
(
DSDContext
*
s
,
size_t
samples,
int
lsbf,
50
const
unsigned
char
*
src
, ptrdiff_t src_stride,
51
float
*dst, ptrdiff_t dst_stride);
52
#endif
/* AVCODEC_DSD_H */
src
#define src
Definition:
vp8dsp.c:254
ff_init_dsd_data
void ff_init_dsd_data(void)
Definition:
dsd.c:46
mathops.h
DSDContext
Per-channel buffer.
Definition:
dsd.h:42
s
#define s(width, name)
Definition:
cbs_vp9.c:257
avcodec.h
Libavcodec external API header.
DSDContext::buf
unsigned char buf[FIFOSIZE]
Definition:
dsd.h:43
ff_dsd2pcm_translate
void ff_dsd2pcm_translate(DSDContext *s, size_t samples, int lsbf, const unsigned char *src, ptrdiff_t src_stride, float *dst, ptrdiff_t dst_stride)
Definition:
dsd.c:55
DSDContext::pos
unsigned pos
Definition:
dsd.h:44
internal.h
common internal api header.
FIFOSIZE
#define FIFOSIZE
Definition:
dsd.h:32
Generated on Tue Nov 6 2018 18:11:04 for FFmpeg by
1.8.6