boolean
vl_video_buffer_is_format_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile)
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint)
{
const enum pipe_format *resource_formats;
unsigned i;
boolean
vl_video_buffer_is_format_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile);
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint);
/*
* set the associated data for the given video buffer
static boolean
ilo_is_video_format_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile)
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint)
{
- return vl_video_buffer_is_format_supported(screen, format, profile);
+ return vl_video_buffer_is_format_supported(screen, format, profile, entrypoint);
}
/**
boolean
nouveau_vp3_screen_video_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile)
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint)
{
if (profile != PIPE_VIDEO_PROFILE_UNKNOWN)
return format == PIPE_FORMAT_NV12;
- return vl_video_buffer_is_format_supported(screen, format, profile);
+ return vl_video_buffer_is_format_supported(screen, format, profile, entrypoint);
}
boolean
nouveau_vp3_screen_video_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile);
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint);
boolean
nv84_screen_video_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile);
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint);
/* nv98_video.c */
struct pipe_video_codec *
boolean
nv84_screen_video_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile)
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint)
{
if (profile != PIPE_VIDEO_PROFILE_UNKNOWN)
return format == PIPE_FORMAT_NV12;
- return vl_video_buffer_is_format_supported(screen, format, profile);
+ return vl_video_buffer_is_format_supported(screen, format, profile, entrypoint);
}
boolean ruvd_is_format_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile)
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint)
{
/* we can only handle this one anyway */
return format == PIPE_FORMAT_NV12;
/* the hardware only supports NV12 */
boolean ruvd_is_format_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile);
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint);
#endif
*/
boolean (*is_video_format_supported)( struct pipe_screen *,
enum pipe_format format,
- enum pipe_video_profile profile );
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint );
/**
* Check if we can actually create the given resource (test the dimension,
PIPE_VIDEO_CAP_SUPPORTS_INTERLACED);
if (vlsurf->video_buffer == NULL ||
- !screen->is_video_format_supported(screen, vlsurf->video_buffer->buffer_format, dec->profile) ||
+ !screen->is_video_format_supported(screen, vlsurf->video_buffer->buffer_format,
+ dec->profile, PIPE_VIDEO_ENTRYPOINT_BITSTREAM) ||
!buffer_support[vlsurf->video_buffer->interlaced]) {
/* destroy the old one */
(
pscreen,
FormatYCBCRToPipe(bits_ycbcr_format),
- PIPE_VIDEO_PROFILE_UNKNOWN
+ PIPE_VIDEO_PROFILE_UNKNOWN,
+ PIPE_VIDEO_ENTRYPOINT_BITSTREAM
);
pipe_mutex_unlock(dev->mutex);
*is_supported &= pscreen->is_video_format_supported
(
pscreen, ycbcr_format,
- PIPE_VIDEO_PROFILE_UNKNOWN
+ PIPE_VIDEO_PROFILE_UNKNOWN,
+ PIPE_VIDEO_ENTRYPOINT_BITSTREAM
);
pipe_mutex_unlock(dev->mutex);