MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / get_pixel_format

Function get_pixel_format

libavcodec/av1dec.c:536–687  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

534}
535
536static int get_pixel_format(AVCodecContext *avctx)
537{
538 AV1DecContext *s = avctx->priv_data;
539 const AV1RawSequenceHeader *seq = s->raw_seq;
540 int ret;
541 enum AVPixelFormat pix_fmt = get_sw_pixel_format(avctx, seq);
542#define HWACCEL_MAX (CONFIG_AV1_DXVA2_HWACCEL + \
543 CONFIG_AV1_D3D11VA_HWACCEL * 2 + \
544 CONFIG_AV1_D3D12VA_HWACCEL + \
545 CONFIG_AV1_NVDEC_HWACCEL + \
546 CONFIG_AV1_VAAPI_HWACCEL + \
547 CONFIG_AV1_VDPAU_HWACCEL + \
548 CONFIG_AV1_VIDEOTOOLBOX_HWACCEL + \
549 CONFIG_AV1_VULKAN_HWACCEL)
550 enum AVPixelFormat pix_fmts[HWACCEL_MAX + 2], *fmtp = pix_fmts;
551
552 if (pix_fmt == AV_PIX_FMT_NONE)
553 return -1;
554
555 switch (pix_fmt) {
556 case AV_PIX_FMT_YUV420P:
557#if CONFIG_AV1_DXVA2_HWACCEL
558 *fmtp++ = AV_PIX_FMT_DXVA2_VLD;
559#endif
560#if CONFIG_AV1_D3D11VA_HWACCEL
561 *fmtp++ = AV_PIX_FMT_D3D11VA_VLD;
562 *fmtp++ = AV_PIX_FMT_D3D11;
563#endif
564#if CONFIG_AV1_D3D12VA_HWACCEL
565 *fmtp++ = AV_PIX_FMT_D3D12;
566#endif
567#if CONFIG_AV1_NVDEC_HWACCEL
568 *fmtp++ = AV_PIX_FMT_CUDA;
569#endif
570#if CONFIG_AV1_VAAPI_HWACCEL
571 *fmtp++ = AV_PIX_FMT_VAAPI;
572#endif
573#if CONFIG_AV1_VDPAU_HWACCEL
574 *fmtp++ = AV_PIX_FMT_VDPAU;
575#endif
576#if CONFIG_AV1_VIDEOTOOLBOX_HWACCEL
577 *fmtp++ = AV_PIX_FMT_VIDEOTOOLBOX;
578#endif
579#if CONFIG_AV1_VULKAN_HWACCEL
580 *fmtp++ = AV_PIX_FMT_VULKAN;
581#endif
582 break;
583 case AV_PIX_FMT_YUV420P10:
584#if CONFIG_AV1_DXVA2_HWACCEL
585 *fmtp++ = AV_PIX_FMT_DXVA2_VLD;
586#endif
587#if CONFIG_AV1_D3D11VA_HWACCEL
588 *fmtp++ = AV_PIX_FMT_D3D11VA_VLD;
589 *fmtp++ = AV_PIX_FMT_D3D11;
590#endif
591#if CONFIG_AV1_D3D12VA_HWACCEL
592 *fmtp++ = AV_PIX_FMT_D3D12;
593#endif

Callers 1

get_current_frameFunction · 0.70

Calls 4

get_sw_pixel_formatFunction · 0.85
ff_get_formatFunction · 0.85
av_logFunction · 0.85
av_get_pix_fmt_nameFunction · 0.85

Tested by

no test coverage detected