Amend AVCodecContext with hwaccel_context (HW accelerator context).
authorGwenole Beauchesne <gbeauchesne@splitted-desktop.com>
Tue, 17 Mar 2009 12:43:09 +0000 (12:43 +0000)
committerGwenole Beauchesne <gbeauchesne@splitted-desktop.com>
Tue, 17 Mar 2009 12:43:09 +0000 (12:43 +0000)
This is needed for some HW accelerators that require a context that
FFmpeg can't instantiate itself. e.g. display-dependent data from
VA API and VDPAU.

Originally committed as revision 18025 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/avcodec.h

index 1042438..3adc941 100644 (file)
@@ -2340,6 +2340,18 @@ typedef struct AVCodecContext {
      * Set to time_base ticks per frame. Default 1, e.g., H.264/MPEG-2 set it to 2.
      */
     int ticks_per_frame;
+
+    /**
+     * Hardware accelerator context.
+     * For some hardware accelerators, a global context needs to be
+     * provided by the user. In that case, this holds display-dependent
+     * data FFmpeg cannot instantiate itself. Please refer to the
+     * FFmpeg HW accelerator documentation to know how to fill this
+     * is. e.g. for VA API, this is a struct vaapi_context.
+     * - encoding: unused
+     * - decoding: Set by user
+     */
+    void *hwaccel_context;
 } AVCodecContext;
 
 /**