d3d12: Support PIPE_VIDEO_CAP_ENC_QUALITY_LEVEL
authorSil Vilerino <sivileri@microsoft.com>
Mon, 17 Apr 2023 12:56:48 +0000 (08:56 -0400)
committerMarge Bot <emma+marge@anholt.net>
Mon, 17 Apr 2023 21:58:35 +0000 (21:58 +0000)
Only return we support 1 quality level. The point of returning this
cap is that vlVaEndPicture will check for it and otherwise overwrite
some rate control parameters with defaults

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22530>

src/gallium/drivers/d3d12/d3d12_video_screen.cpp

index 9c220e4..d18be9e 100644 (file)
@@ -1172,6 +1172,9 @@ d3d12_screen_get_video_param_encode(struct pipe_screen *pscreen,
          return true;
       case PIPE_VIDEO_CAP_ENC_SUPPORTS_MAX_FRAME_SIZE:
          return true;
+      case PIPE_VIDEO_CAP_ENC_QUALITY_LEVEL:
+         /* VAEncMiscParameterBufferQualityLevel */
+         return 1;
       case PIPE_VIDEO_CAP_ENC_RATE_CONTROL_QVBR:
       {
          D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE capRateControlModeData =