((line & ~7) >> 2) + (line & 1) : \
line >> 2)
+#define IS_ALIGNED(x,n) ((((guintptr)(x)&((n)-1))) == 0)
+
#define PACK_420 GST_VIDEO_FORMAT_AYUV, unpack_planar_420, 1, pack_planar_420
static void
unpack_planar_420 (const GstVideoFormatInfo * info, GstVideoPackFlags flags,
guint8 *v_line = GET_V_LINE (uv);
const guint8 *ayuv = src;
+ g_return_if_fail (IS_ALIGNED (src, 8));
+
video_orc_pack_I420 (y_line, u_line, v_line, src, width / 2);
if (width & 1) {
guint8 *line = GET_LINE (y);
guint8 *d = dest;
+ g_return_if_fail (IS_ALIGNED (dest, 8));
+
video_orc_unpack_YUY2 (dest, line, width / 2);
if (width & 1) {
guint8 *line = GET_LINE (y);
const guint8 *ayuv = src;
+ g_return_if_fail (IS_ALIGNED (src, 8));
+
video_orc_pack_YUY2 (line, src, width / 2);
if (width & 1) {
guint8 *line = GET_LINE (y);
guint8 *d = dest;
+ g_return_if_fail (IS_ALIGNED (dest, 8));
+
video_orc_unpack_UYVY (dest, line, width / 2);
if (width & 1) {
guint8 *line = GET_LINE (y);
const guint8 *ayuv = src;
+ g_return_if_fail (IS_ALIGNED (src, 8));
+
video_orc_pack_UYVY (line, src, width / 2);
if (width & 1) {
guint8 *line = GET_LINE (y);
guint8 *d = dest;
+ g_return_if_fail (IS_ALIGNED (dest, 8));
+
video_orc_unpack_YVYU (dest, line, width / 2);
if (width & 1) {
guint8 *line = GET_LINE (y);
const guint8 *ayuv = src;
+ g_return_if_fail (IS_ALIGNED (src, 8));
+
video_orc_pack_YVYU (line, src, width / 2);
if (width & 1) {
guint8 *v_line = GET_V_LINE (y);
guint8 *d = dest;
+ g_return_if_fail (IS_ALIGNED (dest, 8));
+
video_orc_unpack_YUV9 (dest, y_line, u_line, v_line, width / 2);
if (width & 1) {
guint8 *v_line = GET_V_LINE (y);
guint8 *d = dest;
+ g_return_if_fail (IS_ALIGNED (dest, 8));
+
video_orc_unpack_Y42B (dest, y_line, u_line, v_line, width / 2);
if (width & 1) {
guint8 *v_line = GET_V_LINE (y);
const guint8 *ayuv = src;
+ g_return_if_fail (IS_ALIGNED (src, 8));
+
video_orc_pack_Y42B (y_line, u_line, v_line, src, width / 2);
if (width & 1) {
guint8 *uv_line = GET_PLANE_LINE (1, uv);
guint8 *d = dest;
+ g_return_if_fail (IS_ALIGNED (dest, 8));
+
video_orc_unpack_NV12 (dest, y_line, uv_line, width / 2);
if (width & 1) {
guint8 *uv_line = GET_PLANE_LINE (1, uv);
const guint8 *ayuv = src;
+ g_return_if_fail (IS_ALIGNED (src, 8));
+
video_orc_pack_NV12 (y_line, uv_line, src, width / 2);
if (width & 1) {
guint8 *uv_line = GET_PLANE_LINE (1, uv);
guint8 *d = dest;
+ g_return_if_fail (IS_ALIGNED (dest, 8));
+
video_orc_unpack_NV21 (dest, y_line, uv_line, width / 2);
if (width & 1) {
guint8 *uv_line = GET_PLANE_LINE (1, uv);
const guint8 *ayuv = src;
+ g_return_if_fail (IS_ALIGNED (src, 8));
+
video_orc_pack_NV21 (y_line, uv_line, src, width / 2);
if (width & 1) {
guint8 *uv_line = GET_PLANE_LINE (1, y);
guint8 *d = dest;
+ g_return_if_fail (IS_ALIGNED (dest, 8));
+
video_orc_unpack_NV12 (dest, y_line, uv_line, width / 2);
if (width & 1) {
guint8 *uv_line = GET_PLANE_LINE (1, y);
const guint8 *ayuv = src;
+ g_return_if_fail (IS_ALIGNED (src, 8));
+
video_orc_pack_NV12 (y_line, uv_line, src, width / 2);
if (width & 1) {
guint8 *a_line = GET_A_LINE (y);
const guint8 *ayuv = src;
+ g_return_if_fail (IS_ALIGNED (src, 8));
+
video_orc_pack_A420 (y_line, u_line, v_line, a_line, src, width / 2);
if (width & 1) {
guint8 *v_line = GET_V_LINE (uv);
guint8 *d = dest;
+ g_return_if_fail (IS_ALIGNED (dest, 8));
+
video_orc_unpack_YUV9 (dest, y_line, u_line, v_line, width / 2);
if (width & 1) {