parent
158b3fb584
commit
abaf4245a1
@ -282,6 +282,10 @@ sequential number of the input frame, starting from 0
|
|||||||
|
|
||||||
@item pos
|
@item pos
|
||||||
the position in the file of the input frame, NAN if unknown
|
the position in the file of the input frame, NAN if unknown
|
||||||
|
|
||||||
|
@item w
|
||||||
|
@item h
|
||||||
|
width and height of the input frame if video
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
Additionally, these filters support an @option{enable} command that can be used
|
Additionally, these filters support an @option{enable} command that can be used
|
||||||
|
@ -381,8 +381,23 @@ int ff_poll_frame(AVFilterLink *link)
|
|||||||
return min;
|
return min;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *const var_names[] = { "t", "n", "pos", NULL };
|
static const char *const var_names[] = {
|
||||||
enum { VAR_T, VAR_N, VAR_POS, VAR_VARS_NB };
|
"t",
|
||||||
|
"n",
|
||||||
|
"pos",
|
||||||
|
"w",
|
||||||
|
"h",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
VAR_T,
|
||||||
|
VAR_N,
|
||||||
|
VAR_POS,
|
||||||
|
VAR_W,
|
||||||
|
VAR_H,
|
||||||
|
VAR_VARS_NB
|
||||||
|
};
|
||||||
|
|
||||||
static int set_enable_expr(AVFilterContext *ctx, const char *expr)
|
static int set_enable_expr(AVFilterContext *ctx, const char *expr)
|
||||||
{
|
{
|
||||||
@ -1071,6 +1086,8 @@ static int ff_filter_frame_framed(AVFilterLink *link, AVFrame *frame)
|
|||||||
int64_t pos = av_frame_get_pkt_pos(out);
|
int64_t pos = av_frame_get_pkt_pos(out);
|
||||||
dstctx->var_values[VAR_N] = link->frame_count;
|
dstctx->var_values[VAR_N] = link->frame_count;
|
||||||
dstctx->var_values[VAR_T] = pts == AV_NOPTS_VALUE ? NAN : pts * av_q2d(link->time_base);
|
dstctx->var_values[VAR_T] = pts == AV_NOPTS_VALUE ? NAN : pts * av_q2d(link->time_base);
|
||||||
|
dstctx->var_values[VAR_W] = link->w;
|
||||||
|
dstctx->var_values[VAR_H] = link->h;
|
||||||
dstctx->var_values[VAR_POS] = pos == -1 ? NAN : pos;
|
dstctx->var_values[VAR_POS] = pos == -1 ? NAN : pos;
|
||||||
|
|
||||||
dstctx->is_disabled = fabs(av_expr_eval(dstctx->enable, dstctx->var_values, NULL)) < 0.5;
|
dstctx->is_disabled = fabs(av_expr_eval(dstctx->enable, dstctx->var_values, NULL)) < 0.5;
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
#define LIBAVFILTER_VERSION_MAJOR 5
|
#define LIBAVFILTER_VERSION_MAJOR 5
|
||||||
#define LIBAVFILTER_VERSION_MINOR 1
|
#define LIBAVFILTER_VERSION_MINOR 1
|
||||||
#define LIBAVFILTER_VERSION_MICRO 102
|
#define LIBAVFILTER_VERSION_MICRO 103
|
||||||
|
|
||||||
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
|
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
|
||||||
LIBAVFILTER_VERSION_MINOR, \
|
LIBAVFILTER_VERSION_MINOR, \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user