[FFmpeg-cvslog] fftools/ffmpeg_filter: make OutputFilter.filter private
Anton Khirnov
git at videolan.org
Sat Jul 15 12:03:23 EEST 2023
ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Sat May 27 17:58:35 2023 +0200| [75d0af388f0bce87e101d16b1daee3081791f690] | committer: Anton Khirnov
fftools/ffmpeg_filter: make OutputFilter.filter private
It should not be accessed from outside of filtering code.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=75d0af388f0bce87e101d16b1daee3081791f690
---
fftools/ffmpeg.h | 1 -
fftools/ffmpeg_filter.c | 18 ++++++++++--------
2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h
index bcd9cc584e..bd6b0ed6d1 100644
--- a/fftools/ffmpeg.h
+++ b/fftools/ffmpeg.h
@@ -283,7 +283,6 @@ typedef struct InputFilter {
} InputFilter;
typedef struct OutputFilter {
- AVFilterContext *filter;
struct OutputStream *ost;
struct FilterGraph *graph;
uint8_t *name;
diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c
index 1ca9728390..de75c9970e 100644
--- a/fftools/ffmpeg_filter.c
+++ b/fftools/ffmpeg_filter.c
@@ -137,6 +137,8 @@ static InputFilterPriv *ifp_from_ifilter(InputFilter *ifilter)
typedef struct OutputFilterPriv {
OutputFilter ofilter;
+ AVFilterContext *filter;
+
/* desired output stream properties */
int format;
int width, height;
@@ -1094,7 +1096,7 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
char name[255];
snprintf(name, sizeof(name), "out_%d_%d", ost->file_index, ost->index);
- ret = avfilter_graph_create_filter(&ofilter->filter,
+ ret = avfilter_graph_create_filter(&ofp->filter,
avfilter_get_by_name("buffersink"),
name, NULL, NULL, fg->graph);
@@ -1150,7 +1152,7 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
return ret;
- if ((ret = avfilter_link(last_filter, pad_idx, ofilter->filter, 0)) < 0)
+ if ((ret = avfilter_link(last_filter, pad_idx, ofp->filter, 0)) < 0)
return ret;
return 0;
@@ -1168,12 +1170,12 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter,
int ret;
snprintf(name, sizeof(name), "out_%d_%d", ost->file_index, ost->index);
- ret = avfilter_graph_create_filter(&ofilter->filter,
+ ret = avfilter_graph_create_filter(&ofp->filter,
avfilter_get_by_name("abuffersink"),
name, NULL, NULL, fg->graph);
if (ret < 0)
return ret;
- if ((ret = av_opt_set_int(ofilter->filter, "all_channel_counts", 1, AV_OPT_SEARCH_CHILDREN)) < 0)
+ if ((ret = av_opt_set_int(ofp->filter, "all_channel_counts", 1, AV_OPT_SEARCH_CHILDREN)) < 0)
return ret;
#define AUTO_INSERT_FILTER(opt_name, filter_name, arg) do { \
@@ -1256,7 +1258,7 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter,
if (ret < 0)
goto fail;
- if ((ret = avfilter_link(last_filter, pad_idx, ofilter->filter, 0)) < 0)
+ if ((ret = avfilter_link(last_filter, pad_idx, ofp->filter, 0)) < 0)
goto fail;
fail:
av_bprint_finalize(&args, NULL);
@@ -1504,7 +1506,7 @@ static void cleanup_filtergraph(FilterGraph *fg)
{
int i;
for (i = 0; i < fg->nb_outputs; i++)
- fg->outputs[i]->filter = (AVFilterContext *)NULL;
+ ofp_from_ofilter(fg->outputs[i])->filter = NULL;
for (i = 0; i < fg->nb_inputs; i++)
ifp_from_ifilter(fg->inputs[i])->filter = NULL;
avfilter_graph_free(&fg->graph);
@@ -1609,7 +1611,7 @@ static int configure_filtergraph(FilterGraph *fg)
for (i = 0; i < fg->nb_outputs; i++) {
OutputFilter *ofilter = fg->outputs[i];
OutputFilterPriv *ofp = ofp_from_ofilter(ofilter);
- AVFilterContext *sink = ofilter->filter;
+ AVFilterContext *sink = ofp->filter;
ofp->format = av_buffersink_get_format(sink);
@@ -1739,9 +1741,9 @@ int reap_filters(int flush)
if (!ost->filter || !ost->filter->graph->graph)
continue;
- filter = ost->filter->filter;
fgp = fgp_from_fg(ost->filter->graph);
ofp = ofp_from_ofilter(ost->filter);
+ filter = ofp->filter;
filtered_frame = fgp->frame;
More information about the ffmpeg-cvslog
mailing list