ffmpeg | branch: master | PoorvaGaikar <pbgaikar_...@el.vjti.ac.in> | Sat Mar 9 00:45:25 2024 +0530| [8b6e66d0f0107ff8121e56a7f9efea2b5f2a9dde] | committer: Marton Balint
avfilter/f_select.c: add support for iw and ih variables Fixes ticket #10509. Signed-off-by: Marton Balint <c...@passwd.hu> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8b6e66d0f0107ff8121e56a7f9efea2b5f2a9dde --- doc/filters.texi | 6 ++++++ libavfilter/f_select.c | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/doc/filters.texi b/doc/filters.texi index 595dc5044f..8230661261 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -30882,6 +30882,12 @@ missing. That basically means that an input frame is selected if its pts is within the interval set by the concat demuxer. +@item iw @emph{(video only)} +Represents the width of the input video frame. + +@item ih @emph{(video only)} +Represents the height of the input video frame. + @end table The default value of the select expression is "1". diff --git a/libavfilter/f_select.c b/libavfilter/f_select.c index 9b330a0673..7402d3169f 100644 --- a/libavfilter/f_select.c +++ b/libavfilter/f_select.c @@ -90,6 +90,9 @@ static const char *const var_names[] = { "concatdec_select", ///< frame is within the interval set by the concat demuxer + "ih", ///< ih: Represents the height of the input video frame. + "iw", ///< iw: Represents the width of the input video frame. + NULL }; @@ -144,6 +147,9 @@ enum var_name { VAR_CONCATDEC_SELECT, + VAR_IH, + VAR_IW, + VAR_VARS_NB }; @@ -264,6 +270,9 @@ static int config_input(AVFilterLink *inlink) select->var_values[VAR_CONSUMED_SAMPLES_N] = NAN; select->var_values[VAR_SAMPLES_N] = NAN; + select->var_values[VAR_IH] = NAN; + select->var_values[VAR_IW] = NAN; + select->var_values[VAR_SAMPLE_RATE] = inlink->type == AVMEDIA_TYPE_AUDIO ? inlink->sample_rate : NAN; @@ -357,6 +366,9 @@ FF_ENABLE_DEPRECATION_WARNINGS break; case AVMEDIA_TYPE_VIDEO: + select->var_values[VAR_IH] = frame->height; + select->var_values[VAR_IW] = frame->width; + select->var_values[VAR_INTERLACE_TYPE] = !(frame->flags & AV_FRAME_FLAG_INTERLACED) ? INTERLACE_TYPE_P : (frame->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST) ? INTERLACE_TYPE_T : INTERLACE_TYPE_B; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".