summaryrefslogtreecommitdiffstats
path: root/libavfilter/internal.h
diff options
context:
space:
mode:
authorMark Thompson <sw@jkqxz.net>2016-10-25 20:42:27 +0100
committerMark Thompson <sw@jkqxz.net>2016-11-02 20:29:05 +0000
commite3fb74f7f9a8f1895381355f40c92cac3c1023d9 (patch)
treedce587b453a0bab8086d95a1cc5bda4517d0a346 /libavfilter/internal.h
parent7e2561fa8313982aa21f7657953eedeeb33b210d (diff)
downloadffmpeg-streaming-e3fb74f7f9a8f1895381355f40c92cac3c1023d9.zip
ffmpeg-streaming-e3fb74f7f9a8f1895381355f40c92cac3c1023d9.tar.gz
lavfi: Always propagate hw_frames_ctx through links
Also adds a new flag to mark filters which are aware of hwframes and will perform this task themselves, and marks all appropriate filters with this flag. This is required to allow software-mapped hardware frames to work, because we need to have the frames context available for any later mapping operation in the filter graph. The output from the filter graph should only propagate further to an encoder if the hardware format actually matches the visible format (mapped frames are valid here and have an hw_frames_ctx, but this should not be given to the encoder as its hardware context).
Diffstat (limited to 'libavfilter/internal.h')
-rw-r--r--libavfilter/internal.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavfilter/internal.h b/libavfilter/internal.h
index 202c2c0..a377f9b 100644
--- a/libavfilter/internal.h
+++ b/libavfilter/internal.h
@@ -220,4 +220,10 @@ AVFilterContext *ff_filter_alloc(const AVFilter *filter, const char *inst_name);
*/
void ff_filter_graph_remove_filter(AVFilterGraph *graph, AVFilterContext *filter);
+/**
+ * The filter is aware of hardware frames, and any hardware frame context
+ * should not be automatically propagated through it.
+ */
+#define FF_FILTER_FLAG_HWFRAME_AWARE (1 << 0)
+
#endif /* AVFILTER_INTERNAL_H */
OpenPOWER on IntegriCloud