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
f3d8e0d3
Commit
f3d8e0d3
authored
Apr 05, 2017
by
Kyle Swanson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avfilter/af_loudnorm: do not upsample during second-pass linear normalization
Signed-off-by:
Kyle Swanson
<
k@ylo.ph
>
parent
d8eb40bd
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
35 additions
and
25 deletions
+35
-25
af_loudnorm.c
libavfilter/af_loudnorm.c
+34
-24
version.h
libavfilter/version.h
+1
-1
No files found.
libavfilter/af_loudnorm.c
View file @
f3d8e0d3
...
@@ -682,6 +682,7 @@ static int request_frame(AVFilterLink *outlink)
...
@@ -682,6 +682,7 @@ static int request_frame(AVFilterLink *outlink)
static
int
query_formats
(
AVFilterContext
*
ctx
)
static
int
query_formats
(
AVFilterContext
*
ctx
)
{
{
LoudNormContext
*
s
=
ctx
->
priv
;
AVFilterFormats
*
formats
;
AVFilterFormats
*
formats
;
AVFilterChannelLayouts
*
layouts
;
AVFilterChannelLayouts
*
layouts
;
AVFilterLink
*
inlink
=
ctx
->
inputs
[
0
];
AVFilterLink
*
inlink
=
ctx
->
inputs
[
0
];
...
@@ -707,15 +708,17 @@ static int query_formats(AVFilterContext *ctx)
...
@@ -707,15 +708,17 @@ static int query_formats(AVFilterContext *ctx)
if
(
ret
<
0
)
if
(
ret
<
0
)
return
ret
;
return
ret
;
formats
=
ff_make_format_list
(
input_srate
);
if
(
s
->
frame_type
!=
LINEAR_MODE
)
{
if
(
!
formats
)
formats
=
ff_make_format_list
(
input_srate
);
return
AVERROR
(
ENOMEM
);
if
(
!
formats
)
ret
=
ff_formats_ref
(
formats
,
&
inlink
->
out_samplerates
);
return
AVERROR
(
ENOMEM
);
if
(
ret
<
0
)
ret
=
ff_formats_ref
(
formats
,
&
inlink
->
out_samplerates
);
return
ret
;
if
(
ret
<
0
)
ret
=
ff_formats_ref
(
formats
,
&
outlink
->
in_samplerates
);
return
ret
;
if
(
ret
<
0
)
ret
=
ff_formats_ref
(
formats
,
&
outlink
->
in_samplerates
);
return
ret
;
if
(
ret
<
0
)
return
ret
;
}
return
0
;
return
0
;
}
}
...
@@ -754,21 +757,6 @@ static int config_input(AVFilterLink *inlink)
...
@@ -754,21 +757,6 @@ static int config_input(AVFilterLink *inlink)
init_gaussian_filter
(
s
);
init_gaussian_filter
(
s
);
s
->
frame_type
=
FIRST_FRAME
;
if
(
s
->
linear
)
{
double
offset
,
offset_tp
;
offset
=
s
->
target_i
-
s
->
measured_i
;
offset_tp
=
s
->
measured_tp
+
offset
;
if
(
s
->
measured_tp
!=
99
&&
s
->
measured_thresh
!=
-
70
&&
s
->
measured_lra
!=
0
&&
s
->
measured_i
!=
0
)
{
if
((
offset_tp
<=
s
->
target_tp
)
&&
(
s
->
measured_lra
<=
s
->
target_lra
))
{
s
->
frame_type
=
LINEAR_MODE
;
s
->
offset
=
offset
;
}
}
}
if
(
s
->
frame_type
!=
LINEAR_MODE
)
{
if
(
s
->
frame_type
!=
LINEAR_MODE
)
{
inlink
->
min_samples
=
inlink
->
min_samples
=
inlink
->
max_samples
=
inlink
->
max_samples
=
...
@@ -790,6 +778,27 @@ static int config_input(AVFilterLink *inlink)
...
@@ -790,6 +778,27 @@ static int config_input(AVFilterLink *inlink)
return
0
;
return
0
;
}
}
static
av_cold
int
init
(
AVFilterContext
*
ctx
)
{
LoudNormContext
*
s
=
ctx
->
priv
;
s
->
frame_type
=
FIRST_FRAME
;
if
(
s
->
linear
)
{
double
offset
,
offset_tp
;
offset
=
s
->
target_i
-
s
->
measured_i
;
offset_tp
=
s
->
measured_tp
+
offset
;
if
(
s
->
measured_tp
!=
99
&&
s
->
measured_thresh
!=
-
70
&&
s
->
measured_lra
!=
0
&&
s
->
measured_i
!=
0
)
{
if
((
offset_tp
<=
s
->
target_tp
)
&&
(
s
->
measured_lra
<=
s
->
target_lra
))
{
s
->
frame_type
=
LINEAR_MODE
;
s
->
offset
=
offset
;
}
}
}
return
0
;
}
static
av_cold
void
uninit
(
AVFilterContext
*
ctx
)
static
av_cold
void
uninit
(
AVFilterContext
*
ctx
)
{
{
LoudNormContext
*
s
=
ctx
->
priv
;
LoudNormContext
*
s
=
ctx
->
priv
;
...
@@ -914,6 +923,7 @@ AVFilter ff_af_loudnorm = {
...
@@ -914,6 +923,7 @@ AVFilter ff_af_loudnorm = {
.
priv_size
=
sizeof
(
LoudNormContext
),
.
priv_size
=
sizeof
(
LoudNormContext
),
.
priv_class
=
&
loudnorm_class
,
.
priv_class
=
&
loudnorm_class
,
.
query_formats
=
query_formats
,
.
query_formats
=
query_formats
,
.
init
=
init
,
.
uninit
=
uninit
,
.
uninit
=
uninit
,
.
inputs
=
avfilter_af_loudnorm_inputs
,
.
inputs
=
avfilter_af_loudnorm_inputs
,
.
outputs
=
avfilter_af_loudnorm_outputs
,
.
outputs
=
avfilter_af_loudnorm_outputs
,
...
...
libavfilter/version.h
View file @
f3d8e0d3
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
#include "libavutil/version.h"
#include "libavutil/version.h"
#define LIBAVFILTER_VERSION_MAJOR 6
#define LIBAVFILTER_VERSION_MAJOR 6
#define LIBAVFILTER_VERSION_MINOR 8
3
#define LIBAVFILTER_VERSION_MINOR 8
4
#define LIBAVFILTER_VERSION_MICRO 100
#define LIBAVFILTER_VERSION_MICRO 100
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
...
...
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