+#define EIGHTBIT_FORMATS \
+ AV_PIX_FMT_YUV410P, \
+ AV_PIX_FMT_YUV411P, \
+ AV_PIX_FMT_YUV440P, \
+ AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA420P, \
+ AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA422P, \
+ AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, \
+ AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, \
+ AV_PIX_FMT_YUVJ411P, \
+ AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, \
+ AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY8A, \
+ AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, \
+ AV_PIX_FMT_RGBA, AV_PIX_FMT_BGRA, \
+ AV_PIX_FMT_ARGB, AV_PIX_FMT_ABGR, \
+ AV_PIX_FMT_RGB0, AV_PIX_FMT_BGR0, \
+ AV_PIX_FMT_0RGB, AV_PIX_FMT_0BGR, \
+ AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP
+
+#define HIGHDEPTH_FORMATS(suf) \
+ AV_PIX_FMT_YA16##suf, AV_PIX_FMT_GRAY16##suf, \
+ AV_PIX_FMT_YUV420P16##suf, AV_PIX_FMT_YUVA420P16##suf, \
+ AV_PIX_FMT_YUV422P16##suf, AV_PIX_FMT_YUVA422P16##suf, \
+ AV_PIX_FMT_YUV444P16##suf, AV_PIX_FMT_YUVA444P16##suf, \
+ AV_PIX_FMT_RGB48##suf, AV_PIX_FMT_BGR48##suf, \
+ AV_PIX_FMT_RGBA64##suf, AV_PIX_FMT_BGRA64##suf, \
+ AV_PIX_FMT_GBRP16##suf, AV_PIX_FMT_GBRAP16##suf, \
+ AV_PIX_FMT_YUV420P10##suf, \
+ AV_PIX_FMT_YUV422P10##suf, \
+ AV_PIX_FMT_YUV444P10##suf, \
+ AV_PIX_FMT_YUV440P10##suf, \
+ AV_PIX_FMT_YUVA420P10##suf, \
+ AV_PIX_FMT_YUVA422P10##suf, \
+ AV_PIX_FMT_YUVA444P10##suf, \
+ AV_PIX_FMT_YUV420P12##suf, \
+ AV_PIX_FMT_YUV422P12##suf, \
+ AV_PIX_FMT_YUV444P12##suf, \
+ AV_PIX_FMT_YUV440P12##suf, \
+ AV_PIX_FMT_YUVA422P12##suf, \
+ AV_PIX_FMT_YUVA444P12##suf, \
+ AV_PIX_FMT_GBRP10##suf, AV_PIX_FMT_GBRAP10##suf, \
+ AV_PIX_FMT_GBRP12##suf, AV_PIX_FMT_GBRAP12##suf, \
+ AV_PIX_FMT_YUV420P9##suf, \
+ AV_PIX_FMT_YUV422P9##suf, \
+ AV_PIX_FMT_YUV444P9##suf, \
+ AV_PIX_FMT_YUVA420P9##suf, \
+ AV_PIX_FMT_YUVA422P9##suf, \
+ AV_PIX_FMT_YUVA444P9##suf, \
+ AV_PIX_FMT_GBRP9##suf, \
+ AV_PIX_FMT_GBRP14##suf, \
+ AV_PIX_FMT_YUV420P14##suf, \
+ AV_PIX_FMT_YUV422P14##suf, \
+ AV_PIX_FMT_YUV444P14##suf
+
+#define FLOAT_FORMATS(suf) \
+ AV_PIX_FMT_GRAYF32##suf, \
+ AV_PIX_FMT_GBRPF32##suf, AV_PIX_FMT_GBRAPF32##suf \
+