Lines Matching refs:opt
184 #define YUV2YUVX_FUNC_MMX(opt, step) \
185 void ff_yuv2yuvX_ ##opt(const int16_t *filter, int filterSize, int srcOffset, \
188 static void yuv2yuvX_ ##opt(const int16_t *filter, int filterSize, \
193 ff_yuv2yuvX_ ##opt(filter, filterSize - 1, 0, dest - offset, dstW + offset, dither, offset); \
197 #define YUV2YUVX_FUNC(opt, step) \
198 void ff_yuv2yuvX_ ##opt(const int16_t *filter, int filterSize, int srcOffset, \
201 static void yuv2yuvX_ ##opt(const int16_t *filter, int filterSize, \
212 ff_yuv2yuvX_ ##opt(filter, filterSize - 1, 0, dest - offset, pixelsProcessed + offset, dither, offset); \
232 #define SCALE_FUNC(filter_n, from_bpc, to_bpc, opt) \
233 void ff_hscale ## from_bpc ## to ## to_bpc ## _ ## filter_n ## _ ## opt( \
239 #define SCALE_FUNCS(filter_n, opt) \
240 SCALE_FUNC(filter_n, 8, 15, opt); \
241 SCALE_FUNC(filter_n, 9, 15, opt); \
242 SCALE_FUNC(filter_n, 10, 15, opt); \
243 SCALE_FUNC(filter_n, 12, 15, opt); \
244 SCALE_FUNC(filter_n, 14, 15, opt); \
245 SCALE_FUNC(filter_n, 16, 15, opt); \
246 SCALE_FUNC(filter_n, 8, 19, opt); \
247 SCALE_FUNC(filter_n, 9, 19, opt); \
248 SCALE_FUNC(filter_n, 10, 19, opt); \
249 SCALE_FUNC(filter_n, 12, 19, opt); \
250 SCALE_FUNC(filter_n, 14, 19, opt); \
251 SCALE_FUNC(filter_n, 16, 19, opt)
253 #define SCALE_FUNCS_MMX(opt) \
254 SCALE_FUNCS(4, opt); \
255 SCALE_FUNCS(8, opt); \
256 SCALE_FUNCS(X, opt)
258 #define SCALE_FUNCS_SSE(opt) \
259 SCALE_FUNCS(4, opt); \
260 SCALE_FUNCS(8, opt); \
261 SCALE_FUNCS(X4, opt); \
262 SCALE_FUNCS(X8, opt)
271 #define VSCALEX_FUNC(size, opt) \
272 void ff_yuv2planeX_ ## size ## _ ## opt(const int16_t *filter, int filterSize, \
275 #define VSCALEX_FUNCS(opt) \
276 VSCALEX_FUNC(8, opt); \
277 VSCALEX_FUNC(9, opt); \
278 VSCALEX_FUNC(10, opt)
286 #define VSCALE_FUNC(size, opt) \
287 void ff_yuv2plane1_ ## size ## _ ## opt(const int16_t *src, uint8_t *dst, int dstW, \
299 #define INPUT_Y_FUNC(fmt, opt) \
300 void ff_ ## fmt ## ToY_ ## opt(uint8_t *dst, const uint8_t *src, \
303 #define INPUT_UV_FUNC(fmt, opt) \
304 void ff_ ## fmt ## ToUV_ ## opt(uint8_t *dstU, uint8_t *dstV, \
309 #define INPUT_FUNC(fmt, opt) \
310 INPUT_Y_FUNC(fmt, opt); \
311 INPUT_UV_FUNC(fmt, opt)
312 #define INPUT_FUNCS(opt) \
313 INPUT_FUNC(uyvy, opt); \
314 INPUT_FUNC(yuyv, opt); \
315 INPUT_UV_FUNC(nv12, opt); \
316 INPUT_UV_FUNC(nv21, opt); \
317 INPUT_FUNC(rgba, opt); \
318 INPUT_FUNC(bgra, opt); \
319 INPUT_FUNC(argb, opt); \
320 INPUT_FUNC(abgr, opt); \
321 INPUT_FUNC(rgb24, opt); \
322 INPUT_FUNC(bgr24, opt)
329 #define YUV2NV_DECL(fmt, opt) \
330 void ff_yuv2 ## fmt ## cX_ ## opt(enum AVPixelFormat format, const uint8_t *dither, \
338 #define YUV2GBRP_FN_DECL(fmt, opt) \
339 void ff_yuv2##fmt##_full_X_ ##opt(SwsContext *c, const int16_t *lumFilter, \
346 #define YUV2GBRP_DECL(opt) \
347 YUV2GBRP_FN_DECL(gbrp, opt); \
348 YUV2GBRP_FN_DECL(gbrap, opt); \
349 YUV2GBRP_FN_DECL(gbrp9le, opt); \
350 YUV2GBRP_FN_DECL(gbrp10le, opt); \
351 YUV2GBRP_FN_DECL(gbrap10le, opt); \
352 YUV2GBRP_FN_DECL(gbrp12le, opt); \
353 YUV2GBRP_FN_DECL(gbrap12le, opt); \
354 YUV2GBRP_FN_DECL(gbrp14le, opt); \
355 YUV2GBRP_FN_DECL(gbrp16le, opt); \
356 YUV2GBRP_FN_DECL(gbrap16le, opt); \
357 YUV2GBRP_FN_DECL(gbrpf32le, opt); \
358 YUV2GBRP_FN_DECL(gbrapf32le, opt); \
359 YUV2GBRP_FN_DECL(gbrp9be, opt); \
360 YUV2GBRP_FN_DECL(gbrp10be, opt); \
361 YUV2GBRP_FN_DECL(gbrap10be, opt); \
362 YUV2GBRP_FN_DECL(gbrp12be, opt); \
363 YUV2GBRP_FN_DECL(gbrap12be, opt); \
364 YUV2GBRP_FN_DECL(gbrp14be, opt); \
365 YUV2GBRP_FN_DECL(gbrp16be, opt); \
366 YUV2GBRP_FN_DECL(gbrap16be, opt); \
367 YUV2GBRP_FN_DECL(gbrpf32be, opt); \
368 YUV2GBRP_FN_DECL(gbrapf32be, opt)
374 #define INPUT_PLANAR_RGB_Y_FN_DECL(fmt, opt) \
375 void ff_planar_##fmt##_to_y_##opt(uint8_t *dst, \
378 #define INPUT_PLANAR_RGB_UV_FN_DECL(fmt, opt) \
379 void ff_planar_##fmt##_to_uv_##opt(uint8_t *dstU, uint8_t *dstV, \
382 #define INPUT_PLANAR_RGB_A_FN_DECL(fmt, opt) \
383 void ff_planar_##fmt##_to_a_##opt(uint8_t *dst, \
387 #define INPUT_PLANAR_RGBXX_A_DECL(fmt, opt) \
388 INPUT_PLANAR_RGB_A_FN_DECL(fmt##le, opt); \
389 INPUT_PLANAR_RGB_A_FN_DECL(fmt##be, opt)
391 #define INPUT_PLANAR_RGBXX_Y_DECL(fmt, opt) \
392 INPUT_PLANAR_RGB_Y_FN_DECL(fmt##le, opt); \
393 INPUT_PLANAR_RGB_Y_FN_DECL(fmt##be, opt)
395 #define INPUT_PLANAR_RGBXX_UV_DECL(fmt, opt) \
396 INPUT_PLANAR_RGB_UV_FN_DECL(fmt##le, opt); \
397 INPUT_PLANAR_RGB_UV_FN_DECL(fmt##be, opt)
399 #define INPUT_PLANAR_RGBXX_YUVA_DECL(fmt, opt) \
400 INPUT_PLANAR_RGBXX_Y_DECL(fmt, opt); \
401 INPUT_PLANAR_RGBXX_UV_DECL(fmt, opt); \
402 INPUT_PLANAR_RGBXX_A_DECL(fmt, opt)
404 #define INPUT_PLANAR_RGBXX_YUV_DECL(fmt, opt) \
405 INPUT_PLANAR_RGBXX_Y_DECL(fmt, opt); \
406 INPUT_PLANAR_RGBXX_UV_DECL(fmt, opt)
408 #define INPUT_PLANAR_RGBXX_UVA_DECL(fmt, opt) \
409 INPUT_PLANAR_RGBXX_UV_DECL(fmt, opt); \
410 INPUT_PLANAR_RGBXX_A_DECL(fmt, opt)
412 #define INPUT_PLANAR_RGB_A_ALL_DECL(opt) \
413 INPUT_PLANAR_RGB_A_FN_DECL(rgb, opt); \
414 INPUT_PLANAR_RGBXX_A_DECL(rgb10, opt); \
415 INPUT_PLANAR_RGBXX_A_DECL(rgb12, opt); \
416 INPUT_PLANAR_RGBXX_A_DECL(rgb16, opt); \
417 INPUT_PLANAR_RGBXX_A_DECL(rgbf32, opt)
419 #define INPUT_PLANAR_RGB_Y_ALL_DECL(opt) \
420 INPUT_PLANAR_RGB_Y_FN_DECL(rgb, opt); \
421 INPUT_PLANAR_RGBXX_Y_DECL(rgb9, opt); \
422 INPUT_PLANAR_RGBXX_Y_DECL(rgb10, opt); \
423 INPUT_PLANAR_RGBXX_Y_DECL(rgb12, opt); \
424 INPUT_PLANAR_RGBXX_Y_DECL(rgb14, opt); \
425 INPUT_PLANAR_RGBXX_Y_DECL(rgb16, opt); \
426 INPUT_PLANAR_RGBXX_Y_DECL(rgbf32, opt)
428 #define INPUT_PLANAR_RGB_UV_ALL_DECL(opt) \
429 INPUT_PLANAR_RGB_UV_FN_DECL(rgb, opt); \
430 INPUT_PLANAR_RGBXX_UV_DECL(rgb9, opt); \
431 INPUT_PLANAR_RGBXX_UV_DECL(rgb10, opt); \
432 INPUT_PLANAR_RGBXX_UV_DECL(rgb12, opt); \
433 INPUT_PLANAR_RGBXX_UV_DECL(rgb14, opt); \
434 INPUT_PLANAR_RGBXX_UV_DECL(rgb16, opt); \
435 INPUT_PLANAR_RGBXX_UV_DECL(rgbf32, opt)
503 #define ASSIGN_VSCALEX_FUNC(vscalefn, opt, do_16_case, condition_8bit) \
506 case 10: if (!isBE(c->dstFormat) && !isSemiPlanarYUV(c->dstFormat)) vscalefn = ff_yuv2planeX_10_ ## opt; break; \
507 case 9: if (!isBE(c->dstFormat)) vscalefn = ff_yuv2planeX_9_ ## opt; break; \
508 case 8: if ((condition_8bit) && !c->use_mmx_vfilter) vscalefn = ff_yuv2planeX_8_ ## opt; break; \
510 #define ASSIGN_VSCALE_FUNC(vscalefn, opt) \
512 case 16: if (!isBE(c->dstFormat)) vscalefn = ff_yuv2plane1_16_ ## opt; break; \
513 case 10: if (!isBE(c->dstFormat) && !isSemiPlanarYUV(c->dstFormat)) vscalefn = ff_yuv2plane1_10_ ## opt; break; \
514 case 9: if (!isBE(c->dstFormat)) vscalefn = ff_yuv2plane1_9_ ## opt; break; \
515 case 8: vscalefn = ff_yuv2plane1_8_ ## opt; break; \
518 #define case_rgb(x, X, opt) \
520 c->lumToYV12 = ff_ ## x ## ToY_ ## opt; \
522 c->chrToYV12 = ff_ ## x ## ToUV_ ## opt; \
652 #define INPUT_PLANER_RGB_A_FUNC_CASE(fmt, name, opt) \
654 c->readAlpPlanar = ff_planar_##name##_to_a_##opt;
656 #define INPUT_PLANER_RGBA_YUV_FUNC_CASE(rgb_fmt, rgba_fmt, name, opt) \
659 c->readLumPlanar = ff_planar_##name##_to_y_##opt; \
660 c->readChrPlanar = ff_planar_##name##_to_uv_##opt; \
663 #define INPUT_PLANER_RGB_YUV_FUNC_CASE(fmt, name, opt) \
665 c->readLumPlanar = ff_planar_##name##_to_y_##opt; \
666 c->readChrPlanar = ff_planar_##name##_to_uv_##opt; \
669 #define INPUT_PLANER_RGB_UV_FUNC_CASE(fmt, name, opt) \
671 c->readChrPlanar = ff_planar_##name##_to_uv_##opt; \
674 #define INPUT_PLANER_RGBAXX_YUVA_FUNC_CASE(rgb_fmt, rgba_fmt, name, opt) \
675 INPUT_PLANER_RGB_A_FUNC_CASE(rgba_fmt##LE, name##le, opt) \
676 INPUT_PLANER_RGB_YUV_FUNC_CASE(rgb_fmt##LE, name##le, opt) \
677 INPUT_PLANER_RGB_A_FUNC_CASE(rgba_fmt##BE, name##be, opt) \
678 INPUT_PLANER_RGB_YUV_FUNC_CASE(rgb_fmt##BE, name##be, opt)
680 #define INPUT_PLANER_RGBAXX_UVA_FUNC_CASE(rgb_fmt, rgba_fmt, name, opt) \
681 INPUT_PLANER_RGB_A_FUNC_CASE(rgba_fmt##LE, name##le, opt) \
682 INPUT_PLANER_RGB_UV_FUNC_CASE(rgb_fmt##LE, name##le, opt) \
683 INPUT_PLANER_RGB_A_FUNC_CASE(rgba_fmt##BE, name##be, opt) \
684 INPUT_PLANER_RGB_UV_FUNC_CASE(rgb_fmt##BE, name##be, opt)
686 #define INPUT_PLANER_RGBAXX_YUV_FUNC_CASE(rgb_fmt, rgba_fmt, name, opt) \
687 INPUT_PLANER_RGBA_YUV_FUNC_CASE(rgb_fmt##LE, rgba_fmt##LE, name##le, opt) \
688 INPUT_PLANER_RGBA_YUV_FUNC_CASE(rgb_fmt##BE, rgba_fmt##BE, name##be, opt)
690 #define INPUT_PLANER_RGBXX_YUV_FUNC_CASE(rgb_fmt, name, opt) \
691 INPUT_PLANER_RGB_YUV_FUNC_CASE(rgb_fmt##LE, name##le, opt) \
692 INPUT_PLANER_RGB_YUV_FUNC_CASE(rgb_fmt##BE, name##be, opt)
694 #define INPUT_PLANER_RGBXX_UV_FUNC_CASE(rgb_fmt, name, opt) \
695 INPUT_PLANER_RGB_UV_FUNC_CASE(rgb_fmt##LE, name##le, opt) \
696 INPUT_PLANER_RGB_UV_FUNC_CASE(rgb_fmt##BE, name##be, opt)
698 #define INPUT_PLANER_RGB_YUVA_ALL_CASES(opt) \
699 INPUT_PLANER_RGB_A_FUNC_CASE( AV_PIX_FMT_GBRAP, rgb, opt) \
700 INPUT_PLANER_RGB_YUV_FUNC_CASE( AV_PIX_FMT_GBRP, rgb, opt) \
701 INPUT_PLANER_RGBXX_YUV_FUNC_CASE( AV_PIX_FMT_GBRP9, rgb9, opt) \
702 INPUT_PLANER_RGBAXX_YUVA_FUNC_CASE(AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRAP10, rgb10, opt) \
703 INPUT_PLANER_RGBAXX_YUVA_FUNC_CASE(AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRAP12, rgb12, opt) \
704 INPUT_PLANER_RGBXX_YUV_FUNC_CASE( AV_PIX_FMT_GBRP14, rgb14, opt) \
705 INPUT_PLANER_RGBAXX_YUVA_FUNC_CASE(AV_PIX_FMT_GBRP16, AV_PIX_FMT_GBRAP16, rgb16, opt) \
706 INPUT_PLANER_RGBAXX_YUVA_FUNC_CASE(AV_PIX_FMT_GBRPF32, AV_PIX_FMT_GBRAPF32, rgbf32, opt)
753 #define YUV2ANYX_FUNC_CASE(fmt, name, opt) \
755 c->yuv2anyX = ff_yuv2##name##_full_X_##opt; \
758 #define YUV2ANYX_GBRAP_CASES(opt) \
759 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRP, gbrp, opt) \
760 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRAP, gbrap, opt) \
761 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRP9LE, gbrp9le, opt) \
762 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRP10LE, gbrp10le, opt) \
763 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRAP10LE, gbrap10le, opt) \
764 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRP12LE, gbrp12le, opt) \
765 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRAP12LE, gbrap12le, opt) \
766 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRP14LE, gbrp14le, opt) \
767 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRP16LE, gbrp16le, opt) \
768 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRAP16LE, gbrap16le, opt) \
769 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRPF32LE, gbrpf32le, opt) \
770 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRAPF32LE, gbrapf32le, opt) \
771 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRP9BE, gbrp9be, opt) \
772 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRP10BE, gbrp10be, opt) \
773 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRAP10BE, gbrap10be, opt) \
774 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRP12BE, gbrp12be, opt) \
775 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRAP12BE, gbrap12be, opt) \
776 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRP14BE, gbrp14be, opt) \
777 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRP16BE, gbrp16be, opt) \
778 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRAP16BE, gbrap16be, opt) \
779 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRPF32BE, gbrpf32be, opt) \
780 YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRAPF32BE, gbrapf32be, opt)