Showing the changes to libavfilter (1 of 1 file). Show all
Unified · Split
| @@ -1152,9 +1152,28 @@ static void yuvtest_put_pixel(uint8_t *dstp[4], int dst_linesizep[4], · 1151 unmodified lines | ||
| 1152 | 1152 | int i, int j, unsigned y, unsigned u, unsigned v, enum AVPixelFormat fmt, |
| 1153 | 1153 | uint8_t ayuv_map[4]) |
| 1154 | 1154 | { |
| 1155 | + const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(fmt); | |
| 1155 | 1156 | uint32_t n; |
| 1156 | 1157 | |
| 1157 | 1158 | switch (fmt) { |
| 1159 | + case AV_PIX_FMT_VYU444: | |
| 1160 | + n = (y << (ayuv_map[Y]*8)) + (u << (ayuv_map[U]*8)) + (v << (ayuv_map[V]*8)); | |
| 1161 | + AV_WL24(&dstp[0][i*3 + j*dst_linesizep[0]], n); | |
| 1162 | + break; | |
| 1163 | + case AV_PIX_FMT_V30XLE: | |
| 1164 | + case AV_PIX_FMT_XV30LE: | |
| 1165 | + n = (y << ((desc->comp[0].offset*8) + desc->comp[0].shift)) + | |
| 1166 | + (u << ((desc->comp[1].offset*8) + desc->comp[1].shift)) + | |
| 1167 | + (v << ((desc->comp[2].offset*8) + desc->comp[2].shift)); | |
| 1168 | + AV_WL32(&dstp[0][i*4 + j*dst_linesizep[0]], n); | |
| 1169 | + break; | |
| 1170 | + case AV_PIX_FMT_UYVA: | |
| 1171 | + case AV_PIX_FMT_VUYA: | |
| 1172 | + case AV_PIX_FMT_VUYX: | |
| 1173 | + case AV_PIX_FMT_AYUV: | |
| 1174 | + n = (y << (ayuv_map[Y]*8)) + (u << (ayuv_map[U]*8)) + (v << (ayuv_map[V]*8)) + (255U << (ayuv_map[A]*8)); | |
| 1175 | + AV_WL32(&dstp[0][i*4 + j*dst_linesizep[0]], n); | |
| 1176 | + break; | |
| 1158 | 1177 | case AV_PIX_FMT_YUV444P: |
| 1159 | 1178 | case AV_PIX_FMT_YUVJ444P: |
| 1160 | 1179 | dstp[0][i + j*dst_linesizep[0]] = y; |
| @@ -1177,7 +1196,7 @@ static void yuvtest_fill_picture(AVFilterContext *ctx, AVFrame *frame) · 16 unmodified lines | ||
| 1177 | 1196 | { |
| 1178 | 1197 | TestSourceContext *test = ctx->priv; |
| 1179 | 1198 | int i, j, w = frame->width, h = frame->height; |
| 1180 | − const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(frame->format); | |
| 1199 | + const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(ctx->outputs[0]->format); | |
| 1181 | 1200 | const int factor = 1 << desc->comp[0].depth; |
| 1182 | 1201 | const int mid = 1 << (desc->comp[0].depth - 1); |
| 1183 | 1202 | |
| @@ -1209,7 +1228,10 @@ static const enum AVPixelFormat yuvtest_pix_fmts[] = { · 25 unmodified lines | ||
| 1209 | 1228 | AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, |
| 1210 | 1229 | AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10, |
| 1211 | 1230 | AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14, |
| 1212 | − AV_PIX_FMT_YUV444P16, | |
| 1231 | + AV_PIX_FMT_YUV444P16, AV_PIX_FMT_VYU444, | |
| 1232 | + AV_PIX_FMT_AYUV, AV_PIX_FMT_UYVA, | |
| 1233 | + AV_PIX_FMT_VUYA, AV_PIX_FMT_VUYX, | |
| 1234 | + AV_PIX_FMT_XV30LE, AV_PIX_FMT_V30XLE, | |
| 1213 | 1235 | AV_PIX_FMT_NONE |
| 1214 | 1236 | }; |
| 1215 | 1237 | |