Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
ef64c45c
Commit
ef64c45c
authored
Oct 10, 2011
by
Mohamed Naufal
Committed by
Michael Niedermayer
Oct 10, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
g723.1 encoder
Signed-off-by:
Michael Niedermayer
<
michaelni@gmx.at
>
parent
19562b68
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
1218 additions
and
1 deletion
+1218
-1
Makefile
libavcodec/Makefile
+1
-0
allcodecs.c
libavcodec/allcodecs.c
+1
-1
g723_1.c
libavcodec/g723_1.c
+1146
-0
g723_1_data.h
libavcodec/g723_1_data.h
+70
-0
No files found.
libavcodec/Makefile
View file @
ef64c45c
...
...
@@ -161,6 +161,7 @@ OBJS-$(CONFIG_FRAPS_DECODER) += fraps.o
OBJS-$(CONFIG_FRWU_DECODER)
+=
frwu.o
OBJS-$(CONFIG_G723_1_DECODER)
+=
g723_1.o
acelp_vectors.o
\
celp_filters.o
celp_math.o
OBJS-$(CONFIG_G723_1_ENCODER)
+=
g723_1.o
OBJS-$(CONFIG_G729_DECODER)
+=
g729dec.o
lsp.o
celp_math.o
acelp_filters.o
acelp_pitch_delay.o
acelp_vectors.o
g729postfilter.o
OBJS-$(CONFIG_GIF_DECODER)
+=
gifdec.o
lzw.o
OBJS-$(CONFIG_GIF_ENCODER)
+=
gif.o
lzwenc.o
...
...
libavcodec/allcodecs.c
View file @
ef64c45c
...
...
@@ -258,7 +258,7 @@ void avcodec_register_all(void)
REGISTER_DECODER
(
DSICINAUDIO
,
dsicinaudio
);
REGISTER_ENCDEC
(
EAC3
,
eac3
);
REGISTER_ENCDEC
(
FLAC
,
flac
);
REGISTER_
DECODER
(
G723_1
,
g723_1
);
REGISTER_
ENCDEC
(
G723_1
,
g723_1
);
REGISTER_DECODER
(
G729
,
g729
);
REGISTER_DECODER
(
GSM
,
gsm
);
REGISTER_DECODER
(
GSM_MS
,
gsm_ms
);
...
...
libavcodec/g723_1.c
View file @
ef64c45c
This diff is collapsed.
Click to expand it.
libavcodec/g723_1_data.h
View file @
ef64c45c
...
...
@@ -28,6 +28,8 @@
#define SUBFRAMES 4
#define SUBFRAME_LEN 60
#define FRAME_LEN (SUBFRAME_LEN << 2)
#define HALF_FRAME_LEN (FRAME_LEN / 2)
#define LPC_FRAME (HALF_FRAME_LEN + SUBFRAME_LEN)
#define LPC_ORDER 10
#define LSP_BANDS 3
#define LSP_CB_SIZE 256
...
...
@@ -77,6 +79,26 @@ typedef struct {
int16_t
sc_gain
;
///< scaling gain
}
PPFParam
;
/**
* Harmonic filter parameters
*/
typedef
struct
{
int
index
;
int
gain
;
}
HFParam
;
/**
* Optimized fixed codebook excitation parameters
*/
typedef
struct
{
int
min_err
;
int
amp_index
;
int
grid_index
;
int
dirac_train
;
int
pulse_pos
[
PULSE_MAX
];
int
pulse_sign
[
PULSE_MAX
];
}
FCBParam
;
/**
* Postfilter gain weighting factors scaled by 2^15
*/
...
...
@@ -1243,3 +1265,51 @@ static const int16_t postfilter_tbl[2][LPC_ORDER] = {
/* Pole */
{
24576
,
18432
,
13824
,
10368
,
7776
,
5832
,
4374
,
3281
,
2460
,
1845
}
};
/**
* Hamming window coefficients scaled by 2^15
*/
static
const
int16_t
hamming_window
[
LPC_FRAME
]
=
{
2621
,
2631
,
2659
,
2705
,
2770
,
2853
,
2955
,
3074
,
3212
,
3367
,
3541
,
3731
,
3939
,
4164
,
4405
,
4663
,
4937
,
5226
,
5531
,
5851
,
6186
,
6534
,
6897
,
7273
,
7661
,
8062
,
8475
,
8899
,
9334
,
9780
,
10235
,
10699
,
11172
,
11653
,
12141
,
12636
,
13138
,
13645
,
14157
,
14673
,
15193
,
15716
,
16242
,
16769
,
17298
,
17827
,
18356
,
18884
,
19411
,
19935
,
20457
,
20975
,
21489
,
21999
,
22503
,
23002
,
23494
,
23978
,
24455
,
24924
,
25384
,
25834
,
26274
,
26704
,
27122
,
27529
,
27924
,
28306
,
28675
,
29031
,
29373
,
29700
,
30012
,
30310
,
30592
,
30857
,
31107
,
31340
,
31557
,
31756
,
31938
,
32102
,
32249
,
32377
,
32488
,
32580
,
32654
,
32710
,
32747
,
32766
,
32766
,
32747
,
32710
,
32654
,
32580
,
32488
,
32377
,
32249
,
32102
,
31938
,
31756
,
31557
,
31340
,
31107
,
30857
,
30592
,
30310
,
30012
,
29700
,
29373
,
29031
,
28675
,
28306
,
27924
,
27529
,
27122
,
26704
,
26274
,
25834
,
25384
,
24924
,
24455
,
23978
,
23494
,
23002
,
22503
,
21999
,
21489
,
20975
,
20457
,
19935
,
19411
,
18884
,
18356
,
17827
,
17298
,
16769
,
16242
,
15716
,
15193
,
14673
,
14157
,
13645
,
13138
,
12636
,
12141
,
11653
,
11172
,
10699
,
10235
,
9780
,
9334
,
8899
,
8475
,
8062
,
7661
,
7273
,
6897
,
6534
,
6186
,
5851
,
5531
,
5226
,
4937
,
4663
,
4405
,
4164
,
3939
,
3731
,
3541
,
3367
,
3212
,
3074
,
2955
,
2853
,
2770
,
2705
,
2659
,
2631
,
2621
};
/**
* Binomial window coefficients scaled by 2^15
*/
static
const
int16_t
binomial_window
[
LPC_ORDER
]
=
{
32749
,
32695
,
32604
,
32477
,
32315
,
32118
,
31887
,
31622
,
31324
,
30995
};
/**
* 0.994^i scaled by 2^15
*/
static
const
int16_t
bandwidth_expand
[
LPC_ORDER
]
=
{
32571
,
32376
,
32182
,
31989
,
31797
,
31606
,
31416
,
31228
,
31040
,
30854
};
/**
* 0.5^i scaled by 2^15
*/
static
const
int16_t
percept_flt_tbl
[
2
][
LPC_ORDER
]
=
{
/* Zero part */
{
29491
,
26542
,
23888
,
21499
,
19349
,
17414
,
15673
,
14106
,
12695
,
11425
},
/* Pole part */
{
16384
,
8192
,
4096
,
2048
,
1024
,
512
,
256
,
128
,
64
,
32
}
};
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment