libs: Add packed 24 RGB format support.

Can not find a suitable chrome_type for this GST_VIDEO_FORMAT_RGB
packed 24 format. Just use GST_VAAPI_CHROMA_TYPE_RGB32 as its chrome
type. This kind of surface will just be created by new API with fourcc
and no old style chrome based creation is available.

fixes: #151
This commit is contained in:
He Junyan 2019-04-16 18:33:54 +08:00 committed by Víctor Manuel Jáquez Leal
parent 2ee518a988
commit d38f0bbb1d
2 changed files with 5 additions and 0 deletions

View file

@ -99,6 +99,9 @@ vaapi_image_is_linear (const VAImage * va_image)
case VA_FOURCC ('P', '0', '1', '0'):
data_size = 2 * (width * height + 2 * width2 * height2);
break;
case VA_FOURCC ('R', 'G', '2', '4'):
data_size = 3 * width * height;
break;
default:
GST_ERROR ("FIXME: incomplete formats %" GST_FOURCC_FORMAT,
GST_FOURCC_ARGS (va_image->format.fourcc));

View file

@ -88,6 +88,8 @@ static const GstVideoFormatMap gst_vaapi_video_formats[] = {
24, 0x000000ff, 0x0000ff00, 0x00ff0000, 0x00000000),
DEF_RGB (RGB16, ('R', 'G', '1', '6'), 16,
16, 0x0000f800, 0x000007e0, 0x0000001f, 0x00000000),
DEF_RGB (RGB, ('R', 'G', '2', '4'), 32,
24, 0x00ff0000, 0x0000ff00, 0x000000ff, 0x00000000),
{0,}
};
/* *INDENT-ON* */