forked from marfrit/libva-v4l2-request-fourier
mpeg2: Pass driver_data along to access reference surfaces
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
This commit is contained in:
+4
-2
@@ -34,7 +34,8 @@
|
||||
|
||||
#include <linux/videodev2.h>
|
||||
|
||||
int mpeg2_fill_picture_parameters(struct object_context *context_object,
|
||||
int mpeg2_fill_picture_parameters(struct sunxi_cedrus_driver_data *driver_data,
|
||||
struct object_context *context_object,
|
||||
struct object_surface *surface_object,
|
||||
VAPictureParameterBufferMPEG2 *parameters)
|
||||
{
|
||||
@@ -80,7 +81,8 @@ int mpeg2_fill_picture_parameters(struct object_context *context_object,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int mpeg2_fill_slice_data(struct object_context *context_object,
|
||||
int mpeg2_fill_slice_data(struct sunxi_cedrus_driver_data *driver_data,
|
||||
struct object_context *context_object,
|
||||
struct object_surface *surface_object, void *data, unsigned int size)
|
||||
{
|
||||
return 0;
|
||||
|
||||
+4
-2
@@ -33,10 +33,12 @@
|
||||
|
||||
#include "surface.h"
|
||||
|
||||
int mpeg2_fill_picture_parameters(struct object_context *context_object,
|
||||
int mpeg2_fill_picture_parameters(struct sunxi_cedrus_driver_data *driver_data,
|
||||
struct object_context *context_object,
|
||||
struct object_surface *surface_object,
|
||||
VAPictureParameterBufferMPEG2 *parameters);
|
||||
int mpeg2_fill_slice_data(struct object_context *context_object,
|
||||
int mpeg2_fill_slice_data(struct sunxi_cedrus_driver_data *driver_data,
|
||||
struct object_context *context_object,
|
||||
struct object_surface *surface_object, void *data, unsigned int size);
|
||||
|
||||
#endif
|
||||
|
||||
+2
-2
@@ -110,13 +110,13 @@ VAStatus SunxiCedrusRenderPicture(VADriverContextP context,
|
||||
data = buffer_object->data;
|
||||
size = buffer_object->size * buffer_object->count;
|
||||
|
||||
rc = mpeg2_fill_slice_data(context_object, surface_object, data, size);
|
||||
rc = mpeg2_fill_slice_data(driver_data, context_object, surface_object, data, size);
|
||||
if (rc < 0)
|
||||
return VA_STATUS_ERROR_OPERATION_FAILED;
|
||||
} else if (buffer_object->type == VAPictureParameterBufferType) {
|
||||
mpeg2_parameters = (VAPictureParameterBufferMPEG2 *) buffer->data;
|
||||
|
||||
rc = mpeg2_fill_picture_parameters(context_object, surface_object, mpeg2_parameters);
|
||||
rc = mpeg2_fill_picture_parameters(driver_data, context_object, surface_object, mpeg2_parameters);
|
||||
if (rc < 0)
|
||||
return VA_STATUS_ERROR_OPERATION_FAILED;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user