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
feeb3a92
Commit
feeb3a92
authored
May 16, 2016
by
Michael Niedermayer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
swresample/resample: Fix division by 0 with tap_count=1
Signed-off-by:
Michael Niedermayer
<
michael@niedermayer.cc
>
parent
2f76157e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
4 deletions
+4
-4
resample.c
libswresample/resample.c
+4
-4
No files found.
libswresample/resample.c
View file @
feeb3a92
...
...
@@ -203,7 +203,7 @@ static int build_filter(ResampleContext *c, void *filter, double factor, int tap
case
AV_SAMPLE_FMT_S16P
:
for
(
i
=
0
;
i
<
tap_count
;
i
++
)
((
int16_t
*
)
filter
)[
ph
*
alloc
+
i
]
=
av_clip_int16
(
lrintf
(
tab
[
i
]
*
scale
/
norm
));
if
(
tap_count
%
2
==
0
)
{
if
(
tap_count
%
2
==
0
||
tap_count
==
1
)
{
for
(
i
=
0
;
i
<
tap_count
;
i
++
)
((
int16_t
*
)
filter
)[(
phase_count
-
ph
)
*
alloc
+
tap_count
-
1
-
i
]
=
((
int16_t
*
)
filter
)[
ph
*
alloc
+
i
];
}
...
...
@@ -216,7 +216,7 @@ static int build_filter(ResampleContext *c, void *filter, double factor, int tap
case
AV_SAMPLE_FMT_S32P
:
for
(
i
=
0
;
i
<
tap_count
;
i
++
)
((
int32_t
*
)
filter
)[
ph
*
alloc
+
i
]
=
av_clipl_int32
(
llrint
(
tab
[
i
]
*
scale
/
norm
));
if
(
tap_count
%
2
==
0
)
{
if
(
tap_count
%
2
==
0
||
tap_count
==
1
)
{
for
(
i
=
0
;
i
<
tap_count
;
i
++
)
((
int32_t
*
)
filter
)[(
phase_count
-
ph
)
*
alloc
+
tap_count
-
1
-
i
]
=
((
int32_t
*
)
filter
)[
ph
*
alloc
+
i
];
}
...
...
@@ -229,7 +229,7 @@ static int build_filter(ResampleContext *c, void *filter, double factor, int tap
case
AV_SAMPLE_FMT_FLTP
:
for
(
i
=
0
;
i
<
tap_count
;
i
++
)
((
float
*
)
filter
)[
ph
*
alloc
+
i
]
=
tab
[
i
]
*
scale
/
norm
;
if
(
tap_count
%
2
==
0
)
{
if
(
tap_count
%
2
==
0
||
tap_count
==
1
)
{
for
(
i
=
0
;
i
<
tap_count
;
i
++
)
((
float
*
)
filter
)[(
phase_count
-
ph
)
*
alloc
+
tap_count
-
1
-
i
]
=
((
float
*
)
filter
)[
ph
*
alloc
+
i
];
}
...
...
@@ -241,7 +241,7 @@ static int build_filter(ResampleContext *c, void *filter, double factor, int tap
case
AV_SAMPLE_FMT_DBLP
:
for
(
i
=
0
;
i
<
tap_count
;
i
++
)
((
double
*
)
filter
)[
ph
*
alloc
+
i
]
=
tab
[
i
]
*
scale
/
norm
;
if
(
tap_count
%
2
==
0
)
{
if
(
tap_count
%
2
==
0
||
tap_count
==
1
)
{
for
(
i
=
0
;
i
<
tap_count
;
i
++
)
((
double
*
)
filter
)[(
phase_count
-
ph
)
*
alloc
+
tap_count
-
1
-
i
]
=
((
double
*
)
filter
)[
ph
*
alloc
+
i
];
}
...
...
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