- case AV_PIX_FMT_YUV422P9BE:
- case AV_PIX_FMT_YUV444P9BE:
- case AV_PIX_FMT_YUV444P10BE:
- case AV_PIX_FMT_YUV422P10BE:
- case AV_PIX_FMT_YUVA420P9BE:
- case AV_PIX_FMT_YUVA422P9BE:
- case AV_PIX_FMT_YUVA444P9BE:
- case AV_PIX_FMT_YUVA420P10BE:
- case AV_PIX_FMT_YUVA422P10BE:
- case AV_PIX_FMT_YUVA444P10BE:
- case AV_PIX_FMT_YUVA420P16BE:
- case AV_PIX_FMT_YUVA422P16BE:
- case AV_PIX_FMT_YUVA444P16BE:
- case AV_PIX_FMT_RGB48BE:
- /* 16-bit big-endian */
- for (int c = 0; c < 3; ++c) {
+ case AV_PIX_FMT_YUV422P10LE:
+ {
+ /* Y */
+ {
+ int const stride_pixels = stride()[0] / 2;
+ int const line_size_pixels = line_size()[0] / 2;
+ uint16_t* p = reinterpret_cast<uint16_t*> (data()[0]);
+ int const lines = sample_size(0).height;
+ for (int y = 0; y < lines; ++y) {
+ uint16_t* q = p;
+ for (int x = 0; x < line_size_pixels; ++x) {
+ *q = int(float(*q) * f);
+ ++q;
+ }
+ p += stride_pixels;
+ }
+ }
+
+ /* U, V */
+ for (int c = 1; c < 3; ++c) {