mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
lavu/hwcontext_qsv: add support for 10bit 4:4:4 content on Linux
XV30 is used for 10bit 4:4:4 content in FFmpeg VAAPI, so XV30 should be used for 10bit 4:4:4 content in FFmpeg QSV too because QSV is based on VAAPI on Linux. However the SDK only declares support for Y410 but does nothing with the alpha in Y410, so this commit fudged a mapping between AV_PIX_FMT_XV30 and MFX_FOURCC_Y410. Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
This commit is contained in:
parent
3f28116ea2
commit
aba25b391c
@ -124,6 +124,10 @@ static const struct {
|
||||
// the SDK only delares support for AYUV
|
||||
{ AV_PIX_FMT_VUYX,
|
||||
MFX_FOURCC_AYUV, 0 },
|
||||
// XV30 is used for VAAPI child device,
|
||||
// the SDK only delares support for Y410
|
||||
{ AV_PIX_FMT_XV30,
|
||||
MFX_FOURCC_Y410, 0 },
|
||||
#endif
|
||||
};
|
||||
|
||||
@ -1525,6 +1529,9 @@ static int map_frame_to_surface(const AVFrame *frame, mfxFrameSurface1 *surface)
|
||||
// use the value from the frame.
|
||||
surface->Data.A = frame->data[0] + 3;
|
||||
break;
|
||||
case AV_PIX_FMT_XV30:
|
||||
surface->Data.U = frame->data[0];
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
return MFX_ERR_UNSUPPORTED;
|
||||
|
Loading…
Reference in New Issue
Block a user