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
1c853d57
Commit
1c853d57
authored
Sep 01, 2015
by
Paul B Mahol
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avfilter/avf_showcqt: draw text optionally
Signed-off-by:
Paul B Mahol
<
onemda@gmail.com
>
parent
92bfc3cd
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
2 deletions
+14
-2
avf_showcqt.c
libavfilter/avf_showcqt.c
+14
-2
No files found.
libavfilter/avf_showcqt.c
View file @
1c853d57
...
...
@@ -92,6 +92,7 @@ typedef struct {
float
gamma2
;
/* gamma of bargraph */
int
fps
;
/* the required fps is so strict, so it's enough to be int, but 24000/1001 etc cannot be encoded */
int
count
;
/* fps * count = transform rate */
int
draw_text
;
}
ShowCQTContext
;
#define OFFSET(x) offsetof(ShowCQTContext, x)
...
...
@@ -109,6 +110,7 @@ static const AVOption showcqt_options[] = {
{
"count"
,
"set number of transform per frame"
,
OFFSET
(
count
),
AV_OPT_TYPE_INT
,
{
.
i64
=
6
},
1
,
30
,
FLAGS
},
{
"fontfile"
,
"set font file"
,
OFFSET
(
fontfile
),
AV_OPT_TYPE_STRING
,
{
.
str
=
NULL
},
CHAR_MIN
,
CHAR_MAX
,
FLAGS
},
{
"fontcolor"
,
"set font color"
,
OFFSET
(
fontcolor
),
AV_OPT_TYPE_STRING
,
{
.
str
=
FONTCOLOR_DEFAULT
},
CHAR_MIN
,
CHAR_MAX
,
FLAGS
},
{
"text"
,
"draw text"
,
OFFSET
(
draw_text
),
AV_OPT_TYPE_BOOL
,
{
.
i64
=
1
},
0
,
1
,
FLAGS
},
{
NULL
}
};
...
...
@@ -651,7 +653,7 @@ static int plot_cqt(AVFilterLink *inlink)
}
/* drawing font */
if
(
s
->
font_alpha
)
{
if
(
s
->
font_alpha
&&
s
->
draw_text
)
{
for
(
y
=
0
;
y
<
font_height
;
y
++
)
{
uint8_t
*
lineptr
=
data
+
(
spectogram_height
+
y
)
*
linesize
;
uint8_t
*
spectogram_src
=
s
->
spectogram
+
s
->
spectogram_index
*
linesize
;
...
...
@@ -664,7 +666,7 @@ static int plot_cqt(AVFilterLink *inlink)
fontcolor_value
+=
3
;
}
}
}
else
{
}
else
if
(
s
->
draw_text
)
{
for
(
y
=
0
;
y
<
font_height
;
y
++
)
{
uint8_t
*
lineptr
=
data
+
(
spectogram_height
+
y
)
*
linesize
;
memcpy
(
lineptr
,
s
->
spectogram
+
s
->
spectogram_index
*
linesize
,
video_width
*
3
);
...
...
@@ -699,6 +701,16 @@ static int plot_cqt(AVFilterLink *inlink)
}
}
}
}
else
{
for
(
y
=
0
;
y
<
font_height
;
y
++
)
{
uint8_t
*
lineptr
=
data
+
(
spectogram_height
+
y
)
*
linesize
;
uint8_t
*
spectogram_src
=
s
->
spectogram
+
s
->
spectogram_index
*
linesize
;
for
(
x
=
0
;
x
<
video_width
;
x
++
)
{
lineptr
[
3
*
x
]
=
spectogram_src
[
3
*
x
];
lineptr
[
3
*
x
+
1
]
=
spectogram_src
[
3
*
x
+
1
];
lineptr
[
3
*
x
+
2
]
=
spectogram_src
[
3
*
x
+
2
];
}
}
}
/* drawing spectogram/sonogram */
...
...
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