FFmpeg  4.0
Macros | Functions | Variables
audiogen.c File Reference
#include <stdlib.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>

Go to the source code of this file.

Macros

#define MAX_CHANNELS   8
 
#define FRAC_BITS   16
 
#define FRAC_ONE   (1 << FRAC_BITS)
 
#define COS_TABLE_BITS   7
 
#define CSHIFT   (FRAC_BITS - COS_TABLE_BITS - 2)
 
#define HEADER_SIZE   46
 
#define FMT_SIZE   18
 
#define SAMPLE_SIZE   2
 
#define WFORMAT_PCM   0x0001
 

Functions

static unsigned int myrnd (unsigned int *seed_ptr, int n)
 
static int int_cos (int a)
 
static void put16 (int16_t v)
 
static void put32 (uint32_t v)
 
static void put_wav_header (int sample_rate, int channels, int nb_samples)
 
int main (int argc, char **argv)
 

Variables

static const unsigned short cos_table [(1<< COS_TABLE_BITS)+2]
 
FILE * outfile
 

Macro Definition Documentation

◆ MAX_CHANNELS

#define MAX_CHANNELS   8

Definition at line 29 of file audiogen.c.

Referenced by main().

◆ FRAC_BITS

#define FRAC_BITS   16

Definition at line 46 of file audiogen.c.

Referenced by int_cos(), and main().

◆ FRAC_ONE

#define FRAC_ONE   (1 << FRAC_BITS)

Definition at line 47 of file audiogen.c.

Referenced by int_cos(), and main().

◆ COS_TABLE_BITS

#define COS_TABLE_BITS   7

Definition at line 49 of file audiogen.c.

◆ CSHIFT

#define CSHIFT   (FRAC_BITS - COS_TABLE_BITS - 2)

Definition at line 72 of file audiogen.c.

Referenced by int_cos().

◆ HEADER_SIZE

#define HEADER_SIZE   46

Definition at line 112 of file audiogen.c.

Referenced by put_wav_header().

◆ FMT_SIZE

#define FMT_SIZE   18

Definition at line 113 of file audiogen.c.

Referenced by put_wav_header().

◆ SAMPLE_SIZE

#define SAMPLE_SIZE   2

Definition at line 114 of file audiogen.c.

Referenced by put_wav_header().

◆ WFORMAT_PCM

#define WFORMAT_PCM   0x0001

Definition at line 115 of file audiogen.c.

Referenced by put_wav_header().

Function Documentation

◆ myrnd()

static unsigned int myrnd ( unsigned int seed_ptr,
int  n 
)
static

Definition at line 31 of file audiogen.c.

Referenced by main().

◆ int_cos()

static int int_cos ( int  a)
static

Definition at line 74 of file audiogen.c.

Referenced by main().

◆ put16()

static void put16 ( int16_t  v)
static

Definition at line 98 of file audiogen.c.

Referenced by main(), and put_wav_header().

◆ put32()

static void put32 ( uint32_t  v)
static

Definition at line 104 of file audiogen.c.

Referenced by put_wav_header().

◆ put_wav_header()

static void put_wav_header ( int  sample_rate,
int  channels,
int  nb_samples 
)
static

Definition at line 117 of file audiogen.c.

Referenced by main().

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 137 of file audiogen.c.

Variable Documentation

◆ cos_table

const unsigned short cos_table[(1<< COS_TABLE_BITS)+2]
static
Initial value:
= {
0x8000, 0x7ffe, 0x7ff6, 0x7fea, 0x7fd9, 0x7fc2, 0x7fa7, 0x7f87,
0x7f62, 0x7f38, 0x7f0a, 0x7ed6, 0x7e9d, 0x7e60, 0x7e1e, 0x7dd6,
0x7d8a, 0x7d3a, 0x7ce4, 0x7c89, 0x7c2a, 0x7bc6, 0x7b5d, 0x7aef,
0x7a7d, 0x7a06, 0x798a, 0x790a, 0x7885, 0x77fb, 0x776c, 0x76d9,
0x7642, 0x75a6, 0x7505, 0x7460, 0x73b6, 0x7308, 0x7255, 0x719e,
0x70e3, 0x7023, 0x6f5f, 0x6e97, 0x6dca, 0x6cf9, 0x6c24, 0x6b4b,
0x6a6e, 0x698c, 0x68a7, 0x67bd, 0x66d0, 0x65de, 0x64e9, 0x63ef,
0x62f2, 0x61f1, 0x60ec, 0x5fe4, 0x5ed7, 0x5dc8, 0x5cb4, 0x5b9d,
0x5a82, 0x5964, 0x5843, 0x571e, 0x55f6, 0x54ca, 0x539b, 0x5269,
0x5134, 0x4ffb, 0x4ec0, 0x4d81, 0x4c40, 0x4afb, 0x49b4, 0x486a,
0x471d, 0x45cd, 0x447b, 0x4326, 0x41ce, 0x4074, 0x3f17, 0x3db8,
0x3c57, 0x3af3, 0x398d, 0x3825, 0x36ba, 0x354e, 0x33df, 0x326e,
0x30fc, 0x2f87, 0x2e11, 0x2c99, 0x2b1f, 0x29a4, 0x2827, 0x26a8,
0x2528, 0x23a7, 0x2224, 0x209f, 0x1f1a, 0x1d93, 0x1c0c, 0x1a83,
0x18f9, 0x176e, 0x15e2, 0x1455, 0x12c8, 0x113a, 0x0fab, 0x0e1c,
0x0c8c, 0x0afb, 0x096b, 0x07d9, 0x0648, 0x04b6, 0x0324, 0x0192,
0x0000, 0x0000,
}

Definition at line 52 of file audiogen.c.

Referenced by int_cos().

◆ outfile

FILE* outfile
Examples:
decode_audio.c, and encode_video.c.

Definition at line 96 of file audiogen.c.

Referenced by main(), put16(), put32(), and put_wav_header().