I found the code I sent to you removed NV12 as output because of some reason, if you just want to test, you can add it in the code, I tested before, it works, the patch is as below, you also can use imxvideoconvert_g2d
static G2dFmtMap g2d_fmts_map[] = {
{GST_VIDEO_FORMAT_RGB16, G2D_RGB565, 16},
{GST_VIDEO_FORMAT_RGBx, G2D_RGBX8888, 32},
{GST_VIDEO_FORMAT_RGBA, G2D_RGBA8888, 32},
{GST_VIDEO_FORMAT_BGRA, G2D_BGRA8888, 32},
{GST_VIDEO_FORMAT_BGRx, G2D_BGRX8888, 32},
{GST_VIDEO_FORMAT_BGR16, G2D_BGR565, 16},
{GST_VIDEO_FORMAT_ARGB, G2D_ARGB8888, 32},
{GST_VIDEO_FORMAT_ABGR, G2D_ABGR8888, 32},
{GST_VIDEO_FORMAT_xRGB, G2D_XRGB8888, 32},
{GST_VIDEO_FORMAT_xBGR, G2D_XBGR8888, 32},
+{GST_VIDEO_FORMAT_NV12, G2D_NV12, 12},
//this only for separate YUV format and RGB format
{GST_VIDEO_FORMAT_UNKNOWN, -1, 1},
{GST_VIDEO_FORMAT_I420, G2D_I420, 12},
{GST_VIDEO_FORMAT_NV12, G2D_NV12, 12},