static struct pipe_video_buffer *
vl_context_create_buffer(struct pipe_video_context *context,
enum pipe_format buffer_format,
- const enum pipe_format resource_formats[3],
enum pipe_video_chroma_format chroma_format,
unsigned width, unsigned height)
{
+ const enum pipe_format resource_formats[3] = {
+ PIPE_FORMAT_R8_UNORM,
+ PIPE_FORMAT_R8_UNORM,
+ PIPE_FORMAT_R8_UNORM
+ };
+
struct vl_context *ctx = (struct vl_context*)context;
struct pipe_video_buffer *result;
unsigned buffer_width, buffer_height;
*/
struct pipe_video_buffer *(*create_buffer)(struct pipe_video_context *context,
enum pipe_format buffer_format,
- const enum pipe_format resource_formats[3],
enum pipe_video_chroma_format chroma_format,
unsigned width, unsigned height);
uint32_t width, uint32_t height,
VdpVideoSurface *surface)
{
- const enum pipe_format resource_formats[3] = {
- PIPE_FORMAT_R8_UNORM,
- PIPE_FORMAT_R8_UNORM,
- PIPE_FORMAT_R8_UNORM
- };
-
vlVdpSurface *p_surf;
VdpStatus ret;
p_surf->device = dev;
p_surf->video_buffer = dev->context->vpipe->create_buffer(dev->context->vpipe,
PIPE_FORMAT_YV12, // most common used
- resource_formats,
ChromaToPipe(chroma_type),
width, height);
PUBLIC
Status XvMCCreateSurface(Display *dpy, XvMCContext *context, XvMCSurface *surface)
{
- const enum pipe_format resource_formats[3] = {
- PIPE_FORMAT_R8_SNORM,
- PIPE_FORMAT_R8_SNORM,
- PIPE_FORMAT_R8_SNORM
- };
-
XvMCContextPrivate *context_priv;
struct pipe_video_context *vpipe;
XvMCSurfacePrivate *surface_priv;
surface_priv->decode_buffer = context_priv->decoder->create_buffer(context_priv->decoder);
surface_priv->mv_stride = surface_priv->decode_buffer->get_mv_stream_stride(surface_priv->decode_buffer);
surface_priv->video_buffer = vpipe->create_buffer(vpipe, PIPE_FORMAT_YV12, //TODO
- resource_formats,
context_priv->decoder->chroma_format,
context_priv->decoder->width,
context_priv->decoder->height);