| 534 | } |
| 535 | |
| 536 | static 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 |
no test coverage detected