mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
vdpau: allow state tracker to report a lower number of macroblocks
NVIDIA hardware can process tall or wide videos, but not both at the same time (for some gens). This limit is provided in units of macroblocks. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Leo Liu <leo.liu@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10677>
This commit is contained in:
parent
c7e877b0bf
commit
d50e43c8a1
2 changed files with 7 additions and 2 deletions
|
|
@ -205,7 +205,11 @@ vlVdpDecoderQueryCapabilities(VdpDevice device, VdpDecoderProfile profile,
|
|||
PIPE_VIDEO_CAP_MAX_HEIGHT);
|
||||
*max_level = pscreen->get_video_param(pscreen, p_profile, PIPE_VIDEO_ENTRYPOINT_BITSTREAM,
|
||||
PIPE_VIDEO_CAP_MAX_LEVEL);
|
||||
*max_macroblocks = (*max_width/16)*(*max_height/16);
|
||||
*max_macroblocks = pscreen->get_video_param(pscreen, p_profile, PIPE_VIDEO_ENTRYPOINT_BITSTREAM,
|
||||
PIPE_VIDEO_CAP_MAX_MACROBLOCKS);
|
||||
if (*max_macroblocks == 0) {
|
||||
*max_macroblocks = (*max_width/16)*(*max_height/16);
|
||||
}
|
||||
} else {
|
||||
*max_width = 0;
|
||||
*max_height = 0;
|
||||
|
|
|
|||
|
|
@ -88,7 +88,8 @@ enum pipe_video_cap
|
|||
PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE = 6,
|
||||
PIPE_VIDEO_CAP_SUPPORTS_INTERLACED = 7,
|
||||
PIPE_VIDEO_CAP_MAX_LEVEL = 8,
|
||||
PIPE_VIDEO_CAP_STACKED_FRAMES = 9
|
||||
PIPE_VIDEO_CAP_STACKED_FRAMES = 9,
|
||||
PIPE_VIDEO_CAP_MAX_MACROBLOCKS = 10,
|
||||
};
|
||||
|
||||
enum pipe_video_entrypoint
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue