Add VA API pixel formats.
authorGwenole Beauchesne <gbeauchesne@splitted-desktop.com>
Fri, 27 Feb 2009 08:12:41 +0000 (08:12 +0000)
committerBenoit Fouet <benoit.fouet@free.fr>
Fri, 27 Feb 2009 08:12:41 +0000 (08:12 +0000)
Patch by Gwenole Beauchesne.

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

libavcodec/imgconvert.c
libavutil/pixfmt.h

index 84e1bee..9f5db68 100644 (file)
@@ -419,6 +419,20 @@ static const PixFmtInfo pix_fmt_info[PIX_FMT_NB] = {
         .depth = 8,
         .x_chroma_shift = 0, .y_chroma_shift = 0,
     },
+
+    /* VA API formats */
+    [PIX_FMT_VAAPI_MOCO] = {
+        .name = "vaapi_moco",
+        .is_hwaccel = 1,
+    },
+    [PIX_FMT_VAAPI_IDCT] = {
+        .name = "vaapi_idct",
+        .is_hwaccel = 1,
+    },
+    [PIX_FMT_VAAPI_VLD] = {
+        .name = "vaapi_vld",
+        .is_hwaccel = 1,
+    },
 };
 
 void avcodec_get_chroma_sub_sample(int pix_fmt, int *h_shift, int *v_shift)
index 1a9d4bd..a682d21 100644 (file)
@@ -106,6 +106,9 @@ enum PixelFormat {
     PIX_FMT_VDPAU_VC1, ///< VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
     PIX_FMT_RGB48BE,   ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, big-endian
     PIX_FMT_RGB48LE,   ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, little-endian
+    PIX_FMT_VAAPI_MOCO, ///< HW acceleration through VA API at motion compensation entry-point, Picture.data[0] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers
+    PIX_FMT_VAAPI_IDCT, ///< HW acceleration through VA API at IDCT entry-point, Picture.data[0] contains a vaapi_render_state struct which contains fields extracted from headers
+    PIX_FMT_VAAPI_VLD,  ///< HW decoding through VA API, Picture.data[0] contains a vaapi_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
     PIX_FMT_NB,        ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
 };