hwcontext_qsv: add support for the P8 format
authorAnton Khirnov <anton@khirnov.net>
Wed, 10 Aug 2016 11:01:55 +0000 (13:01 +0200)
committerAnton Khirnov <anton@khirnov.net>
Mon, 7 Nov 2016 11:47:20 +0000 (12:47 +0100)
When using GPU surfaces with QSV, one needs to supply a frame allocator,
which will be invoked to pass surface pools to libmfx.
For encoding, this allocator gets invoked not only for the pool of input
frames, but also for a separate pool of (apparently) reconstructed frames
and another pool of MFX_FOURCC_P8, which on Windows needs to return
D3DFMT_P8 D3D surfaces. Those are probably used to store the encoded
bitstream on the GPU.

Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
libavutil/hwcontext_qsv.c

index f2c8086..3679dc0 100644 (file)
@@ -91,6 +91,7 @@ static const struct {
 } supported_pixel_formats[] = {
     { AV_PIX_FMT_NV12, MFX_FOURCC_NV12 },
     { AV_PIX_FMT_P010, MFX_FOURCC_P010 },
+    { AV_PIX_FMT_PAL8, MFX_FOURCC_P8   },
 };
 
 static int qsv_device_init(AVHWDeviceContext *ctx)