diff --git a/src/gallium/drivers/virgl/virgl_video.c b/src/gallium/drivers/virgl/virgl_video.c index 49d29db2520..6a21f602acb 100644 --- a/src/gallium/drivers/virgl/virgl_video.c +++ b/src/gallium/drivers/virgl/virgl_video.c @@ -549,8 +549,10 @@ static int fill_mpeg4_picture_desc(const struct pipe_picture_desc *desc, ITEM_SET(vmpeg4, mpeg4, rounding_control); ITEM_SET(vmpeg4, mpeg4, alternate_vertical_scan_flag); ITEM_SET(vmpeg4, mpeg4, top_field_first); - ITEM_CPY(vmpeg4, mpeg4, intra_matrix); - ITEM_CPY(vmpeg4, mpeg4, non_intra_matrix); + + memcpy(vmpeg4->intra_matrix, mpeg4->intra_matrix, 64); + memcpy(vmpeg4->non_intra_matrix, mpeg4->non_intra_matrix, 64); + for (i = 0; i < ARRAY_SIZE(mpeg4->ref); i++) { vbuf = virgl_video_buffer(mpeg4->ref[i]); vmpeg4->ref[i] = vbuf ? vbuf->handle : 0;