Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2015-09-01 15:33:08 +0300
committerPaul B Mahol <onemda@gmail.com>2015-09-15 10:54:47 +0300
commit1c853d5727e287a9f83271590763b71f88681ee1 (patch)
treeeb5237c7866f02ae4200240f9b90a0993aac6ccc /libavfilter/avf_showcqt.c
parent92bfc3cd0363c0b13b2ac9ca57402e85753401da (diff)
avfilter/avf_showcqt: draw text optionally
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Diffstat (limited to 'libavfilter/avf_showcqt.c')
-rw-r--r--libavfilter/avf_showcqt.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/libavfilter/avf_showcqt.c b/libavfilter/avf_showcqt.c
index 8f06752530..39e1c55b41 100644
--- a/libavfilter/avf_showcqt.c
+++ b/libavfilter/avf_showcqt.c
@@ -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 */