return GST_VIDEO_FORMAT_UYVP;
case GST_MAKE_FOURCC ('A', '4', '2', '0'):
return GST_VIDEO_FORMAT_A420;
+ case GST_MAKE_FOURCC ('Y', 'U', 'V', '9'):
+ return GST_VIDEO_FORMAT_YUV9;
+ case GST_MAKE_FOURCC ('Y', 'V', 'U', '9'):
+ return GST_VIDEO_FORMAT_YVU9;
+ case GST_MAKE_FOURCC ('I', 'Y', 'U', '1'):
+ return GST_VIDEO_FORMAT_IYU1;
default:
return GST_VIDEO_FORMAT_UNKNOWN;
}
return GST_MAKE_FOURCC ('U', 'Y', 'V', 'P');
case GST_VIDEO_FORMAT_A420:
return GST_MAKE_FOURCC ('A', '4', '2', '0');
+ case GST_VIDEO_FORMAT_YUV9:
+ return GST_MAKE_FOURCC ('Y', 'U', 'V', '9');
+ case GST_VIDEO_FORMAT_YVU9:
+ return GST_MAKE_FOURCC ('Y', 'V', 'U', '9');
+ case GST_VIDEO_FORMAT_IYU1:
+ return GST_MAKE_FOURCC ('I', 'Y', 'U', '1');
default:
return 0;
}
case GST_VIDEO_FORMAT_v308:
case GST_VIDEO_FORMAT_UYVP:
case GST_VIDEO_FORMAT_A420:
+ case GST_VIDEO_FORMAT_YUV9:
+ case GST_VIDEO_FORMAT_YVU9:
+ case GST_VIDEO_FORMAT_IYU1:
return FALSE;
case GST_VIDEO_FORMAT_RGBx:
case GST_VIDEO_FORMAT_BGRx:
case GST_VIDEO_FORMAT_Y16:
case GST_VIDEO_FORMAT_UYVP:
case GST_VIDEO_FORMAT_A420:
+ case GST_VIDEO_FORMAT_YUV9:
+ case GST_VIDEO_FORMAT_YVU9:
+ case GST_VIDEO_FORMAT_IYU1:
return TRUE;
case GST_VIDEO_FORMAT_RGBx:
case GST_VIDEO_FORMAT_BGRx:
case GST_VIDEO_FORMAT_Y800:
case GST_VIDEO_FORMAT_Y16:
case GST_VIDEO_FORMAT_UYVP:
+ case GST_VIDEO_FORMAT_YUV9:
+ case GST_VIDEO_FORMAT_YVU9:
+ case GST_VIDEO_FORMAT_IYU1:
return FALSE;
case GST_VIDEO_FORMAT_AYUV:
case GST_VIDEO_FORMAT_RGBA:
}
case GST_VIDEO_FORMAT_RGB8_PALETTED:
return GST_ROUND_UP_4 (width);
+ case GST_VIDEO_FORMAT_YUV9:
+ case GST_VIDEO_FORMAT_YVU9:
+ if (component == 0) {
+ return GST_ROUND_UP_4 (width);
+ } else {
+ return GST_ROUND_UP_4 (GST_ROUND_UP_4 (width) / 4);
+ }
+ case GST_VIDEO_FORMAT_IYU1:
+ return GST_ROUND_UP_4 (GST_ROUND_UP_4 (width) +
+ GST_ROUND_UP_4 (width) / 2);
default:
return 0;
}
case GST_VIDEO_FORMAT_Y42B:
case GST_VIDEO_FORMAT_Y444:
case GST_VIDEO_FORMAT_A420:
+ case GST_VIDEO_FORMAT_YUV9:
+ case GST_VIDEO_FORMAT_YVU9:
return 1;
case GST_VIDEO_FORMAT_YUY2:
case GST_VIDEO_FORMAT_YVYU:
} else {
return 4;
}
+ case GST_VIDEO_FORMAT_IYU1:
+ /* doesn't make much sense for IYU1 because it's 1 or 3
+ * for luma depending on position */
+ return 0;
case GST_VIDEO_FORMAT_AYUV:
case GST_VIDEO_FORMAT_RGBx:
case GST_VIDEO_FORMAT_BGRx:
return GST_ROUND_UP_2 (width) / 2;
}
case GST_VIDEO_FORMAT_Y41B:
+ case GST_VIDEO_FORMAT_YUV9:
+ case GST_VIDEO_FORMAT_YVU9:
+ case GST_VIDEO_FORMAT_IYU1:
if (component == 0) {
return width;
} else {
case GST_VIDEO_FORMAT_Y16:
case GST_VIDEO_FORMAT_UYVP:
case GST_VIDEO_FORMAT_RGB8_PALETTED:
+ case GST_VIDEO_FORMAT_IYU1:
return height;
case GST_VIDEO_FORMAT_A420:
if (component == 0 || component == 3) {
} else {
return GST_ROUND_UP_2 (height) / 2;
}
+ case GST_VIDEO_FORMAT_YUV9:
+ case GST_VIDEO_FORMAT_YVU9:
+ if (component == 0) {
+ return height;
+ } else {
+ return GST_ROUND_UP_4 (height) / 4;
+ }
default:
return 0;
}
}
case GST_VIDEO_FORMAT_RGB8_PALETTED:
return 0;
+ case GST_VIDEO_FORMAT_YUV9:
+ if (component == 0)
+ return 0;
+ if (component == 1)
+ return GST_ROUND_UP_4 (width) * GST_ROUND_UP_2 (height);
+ if (component == 2) {
+ return GST_ROUND_UP_4 (width) * GST_ROUND_UP_2 (height) +
+ GST_ROUND_UP_4 (GST_ROUND_UP_4 (width) / 4) *
+ (GST_ROUND_UP_4 (height) / 4);
+ }
+ return 0;
+ case GST_VIDEO_FORMAT_YVU9:
+ if (component == 0)
+ return 0;
+ if (component == 1) {
+ return GST_ROUND_UP_4 (width) * GST_ROUND_UP_2 (height) +
+ GST_ROUND_UP_4 (GST_ROUND_UP_4 (width) / 4) *
+ (GST_ROUND_UP_4 (height) / 4);
+ }
+ if (component == 2)
+ return GST_ROUND_UP_4 (width) * GST_ROUND_UP_2 (height);
+ return 0;
+ case GST_VIDEO_FORMAT_IYU1:
+ if (component == 0)
+ return 1;
+ if (component == 1)
+ return 0;
+ if (component == 2)
+ return 4;
default:
return 0;
}
size += GST_ROUND_UP_4 (GST_ROUND_UP_2 (width) / 2) *
(GST_ROUND_UP_2 (height) / 2) * 2;
return size;
+ case GST_VIDEO_FORMAT_IYU1:
+ return GST_ROUND_UP_4 (GST_ROUND_UP_4 (width) +
+ GST_ROUND_UP_4 (width) / 2) * height;
case GST_VIDEO_FORMAT_YUY2:
case GST_VIDEO_FORMAT_YVYU:
case GST_VIDEO_FORMAT_UYVY:
size += GST_ROUND_UP_4 (GST_ROUND_UP_2 (width) / 2) *
(GST_ROUND_UP_2 (height) / 2) * 2;
return size;
+ case GST_VIDEO_FORMAT_YUV9:
+ case GST_VIDEO_FORMAT_YVU9:
+ size = GST_ROUND_UP_4 (width) * GST_ROUND_UP_2 (height);
+ size += GST_ROUND_UP_4 (GST_ROUND_UP_4 (width) / 4) *
+ (GST_ROUND_UP_4 (height) / 4) * 2;
+ return size;
default:
return 0;
}