/* 2 planes Y/VU 4:2:2 */
#define VLC_CODEC_NV61 VLC_FOURCC('N','V','6','1')
+/* VDPAU video surface YCbCr 4:2:0 */
+#define VLC_CODEC_VDPAU_VIDEO_420 VLC_FOURCC('V','D','V','0')
+/* VDPAU video surface YCbCr 4:2:0 */
+#define VLC_CODEC_VDPAU_VIDEO_422 VLC_FOURCC('V','D','V','2')
+/* VDPAU output surface RGBA */
+#define VLC_CODEC_VDPAU_OUTPUT VLC_FOURCC('V','D','O','R')
+
/* Image codec (video) */
#define VLC_CODEC_PNG VLC_FOURCC('p','n','g',' ')
#define VLC_CODEC_PPM VLC_FOURCC('p','p','m',' ')
VLC_CODEC_YUV_PLANAR_420_16,
VLC_CODEC_YUV_PLANAR_422_16,
VLC_CODEC_YUV_PLANAR_444_16,
+ VLC_CODEC_VDPAU_VIDEO_420,
+ VLC_CODEC_VDPAU_VIDEO_422,
0,
};
.pixel_size = size, \
.pixel_bits = bits }
+/* Zero planes for hardware picture handles. Cannot be manipulated directly. */
+#define FAKE_FMT() \
+ { .plane_count = 0, \
+ .p = { {.w = {1,1}, .h = {1,1}} }, \
+ .pixel_size = 0, \
+ .pixel_bits = 0 }
+
static const struct
{
vlc_fourcc_t p_fourcc[6];
{ { VLC_CODEC_Y211, 0 }, { 1, { {{1,4}, {1,1}} }, 4, 32 } },
{ { VLC_CODEC_XYZ12, 0 }, PACKED_FMT(6, 48) },
+ { { VLC_CODEC_VDPAU_VIDEO_420, VLC_CODEC_VDPAU_VIDEO_422,
+ VLC_CODEC_VDPAU_OUTPUT, 0 }, FAKE_FMT() },
+
{ {0}, { 0, {}, 0, 0 } }
};