[FFmpeg-cvslog] drawtext: fix hard dependency to lavc (timecode).
Clément Bœsch
git at videolan.org
Mon Jan 2 15:35:02 CET 2012
ffmpeg | branch: master | Clément Bœsch <clement.boesch at smartjog.com> | Wed Dec 28 10:09:45 2011 +0100| [940d3cc0b0762f8beb8a12542e7553c17032ed3d] | committer: Clément Bœsch
drawtext: fix hard dependency to lavc (timecode).
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=940d3cc0b0762f8beb8a12542e7553c17032ed3d
---
doc/filters.texi | 4 +++-
libavfilter/vf_drawtext.c | 9 +++++++++
2 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/doc/filters.texi b/doc/filters.texi
index 3ab72ad..a6021ec 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -1226,7 +1226,9 @@ timestamp expressed in seconds, NAN if the input timestamp is unknown
@item timecode
initial timecode representation in "hh:mm:ss[:;.]ff" format. It can be used
-with or without text parameter. @var{rate} option must be specified
+with or without text parameter. @var{rate} option must be specified.
+Note that timecode options are @emph{not} effective if FFmpeg is build with
+ at code{--disable-avcodec}.
@item r, rate
frame rate (timecode only)
diff --git a/libavfilter/vf_drawtext.c b/libavfilter/vf_drawtext.c
index 9f85586..0de5b9f 100644
--- a/libavfilter/vf_drawtext.c
+++ b/libavfilter/vf_drawtext.c
@@ -29,6 +29,7 @@
#include <sys/time.h>
#include <time.h>
+#include "config.h"
#include "libavcodec/timecode.h"
#include "libavutil/avstring.h"
#include "libavutil/colorspace.h"
@@ -341,10 +342,16 @@ static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque)
}
if (dtext->tc.str) {
+#if CONFIG_AVCODEC
if (avpriv_init_smpte_timecode(ctx, &dtext->tc) < 0)
return AVERROR(EINVAL);
if (!dtext->text)
dtext->text = av_strdup("");
+#else
+ av_log(ctx, AV_LOG_ERROR,
+ "Timecode options are only available if libavfilter is built with libavcodec enabled.\n");
+ return AVERROR(EINVAL);
+#endif
}
if (!dtext->text) {
@@ -722,11 +729,13 @@ static int draw_text(AVFilterContext *ctx, AVFilterBufferRef *picref,
buf_size *= 2;
} while ((buf = av_realloc(buf, buf_size)));
+#if CONFIG_AVCODEC
if (dtext->tc.str) {
char tcbuf[sizeof("hh:mm:ss.ff")];
avpriv_timecode_to_string(tcbuf, &dtext->tc, dtext->frame_id++);
buf = av_asprintf("%s%s", dtext->text, tcbuf);
}
+#endif
if (!buf)
return AVERROR(ENOMEM);
More information about the ffmpeg-cvslog
mailing list