[FFmpeg-cvslog] r17547 - in trunk/libavfilter: avfilter.h avfiltergraph.c avfiltergraph.h
stefano
subversion
Tue Feb 24 00:45:21 CET 2009
Author: stefano
Date: Tue Feb 24 00:45:21 2009
New Revision: 17547
Log:
Implement in AVFilterGraph the scale_sws_opts field, and pass its
value in the args for the auto-inserted scale filters.
Modified:
trunk/libavfilter/avfilter.h
trunk/libavfilter/avfiltergraph.c
trunk/libavfilter/avfiltergraph.h
Modified: trunk/libavfilter/avfilter.h
==============================================================================
--- trunk/libavfilter/avfilter.h Mon Feb 23 23:19:16 2009 (r17546)
+++ trunk/libavfilter/avfilter.h Tue Feb 24 00:45:21 2009 (r17547)
@@ -23,7 +23,7 @@
#define AVFILTER_AVFILTER_H
#define LIBAVFILTER_VERSION_MAJOR 0
-#define LIBAVFILTER_VERSION_MINOR 3
+#define LIBAVFILTER_VERSION_MINOR 4
#define LIBAVFILTER_VERSION_MICRO 0
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
Modified: trunk/libavfilter/avfiltergraph.c
==============================================================================
--- trunk/libavfilter/avfiltergraph.c Mon Feb 23 23:19:16 2009 (r17546)
+++ trunk/libavfilter/avfiltergraph.c Tue Feb 24 00:45:21 2009 (r17547)
@@ -30,6 +30,7 @@ void avfilter_destroy_graph(AVFilterGrap
{
for(; graph->filter_count > 0; graph->filter_count --)
avfilter_destroy(graph->filters[graph->filter_count - 1]);
+ av_freep(&graph->scale_sws_opts);
av_freep(&graph->filters);
}
@@ -111,13 +112,15 @@ static int query_formats(AVFilterGraph *
if(!avfilter_merge_formats(link->in_formats,
link->out_formats)) {
AVFilterContext *scale;
+ char scale_args[256];
/* couldn't merge format lists. auto-insert scale filter */
snprintf(inst_name, sizeof(inst_name), "auto-inserted scaler %d",
scaler_count);
scale =
avfilter_open(avfilter_get_by_name("scale"),inst_name);
- if(!scale || scale->filter->init(scale, NULL, NULL) ||
+ snprintf(scale_args, sizeof(scale_args), "0:0:%s", graph->scale_sws_opts);
+ if(!scale || scale->filter->init(scale, scale_args, NULL) ||
avfilter_insert_filter(link, scale, 0, 0)) {
avfilter_destroy(scale);
return -1;
Modified: trunk/libavfilter/avfiltergraph.h
==============================================================================
--- trunk/libavfilter/avfiltergraph.h Mon Feb 23 23:19:16 2009 (r17546)
+++ trunk/libavfilter/avfiltergraph.h Tue Feb 24 00:45:21 2009 (r17547)
@@ -27,6 +27,8 @@
typedef struct AVFilterGraph {
unsigned filter_count;
AVFilterContext **filters;
+
+ char *scale_sws_opts; ///< sws options to use for the auto-inserted scale filters
} AVFilterGraph;
/**
More information about the ffmpeg-cvslog
mailing list