pic_param.color_space = 0; // YUV.
pic_param.rotation = VA_ROTATION_NONE;
+ VAResources resources = get_va_resources(dinfo.image_width, dinfo.image_height);
+ ReleaseVAResources release(resources);
+
VABufferID pic_param_buffer;
- VAStatus va_status = vaCreateBuffer(va_dpy->va_dpy, config_id, VAPictureParameterBufferType, sizeof(pic_param), 1, &pic_param, &pic_param_buffer);
+ VAStatus va_status = vaCreateBuffer(va_dpy->va_dpy, resources.context, VAPictureParameterBufferType, sizeof(pic_param), 1, &pic_param, &pic_param_buffer);
CHECK_VASTATUS_RET(va_status, "vaCreateBuffer");
VABufferDestroyer destroy_pic_param(va_dpy->va_dpy, pic_param_buffer);
}
VABufferID iq_buffer;
- va_status = vaCreateBuffer(va_dpy->va_dpy, config_id, VAIQMatrixBufferType, sizeof(iq), 1, &iq, &iq_buffer);
+ va_status = vaCreateBuffer(va_dpy->va_dpy, resources.context, VAIQMatrixBufferType, sizeof(iq), 1, &iq, &iq_buffer);
CHECK_VASTATUS_RET(va_status, "vaCreateBuffer");
VABufferDestroyer destroy_iq(va_dpy->va_dpy, iq_buffer);
}
VABufferID huff_buffer;
- va_status = vaCreateBuffer(va_dpy->va_dpy, config_id, VAHuffmanTableBufferType, sizeof(huff), 1, &huff, &huff_buffer);
+ va_status = vaCreateBuffer(va_dpy->va_dpy, resources.context, VAHuffmanTableBufferType, sizeof(huff), 1, &huff, &huff_buffer);
CHECK_VASTATUS_RET(va_status, "vaCreateBuffer");
VABufferDestroyer destroy_huff(va_dpy->va_dpy, huff_buffer);
parms.num_mcus = horiz_mcus * vert_mcus;
VABufferID slice_param_buffer;
- va_status = vaCreateBuffer(va_dpy->va_dpy, config_id, VASliceParameterBufferType, sizeof(parms), 1, &parms, &slice_param_buffer);
+ va_status = vaCreateBuffer(va_dpy->va_dpy, resources.context, VASliceParameterBufferType, sizeof(parms), 1, &parms, &slice_param_buffer);
CHECK_VASTATUS_RET(va_status, "vaCreateBuffer");
VABufferDestroyer destroy_slice_param(va_dpy->va_dpy, slice_param_buffer);
// The actual data. VA-API will destuff and all for us.
VABufferID data_buffer;
- va_status = vaCreateBuffer(va_dpy->va_dpy, config_id, VASliceDataBufferType, dinfo.src->bytes_in_buffer, 1, const_cast<unsigned char *>(dinfo.src->next_input_byte), &data_buffer);
+ va_status = vaCreateBuffer(va_dpy->va_dpy, resources.context, VASliceDataBufferType, dinfo.src->bytes_in_buffer, 1, const_cast<unsigned char *>(dinfo.src->next_input_byte), &data_buffer);
CHECK_VASTATUS_RET(va_status, "vaCreateBuffer");
VABufferDestroyer destroy_data(va_dpy->va_dpy, data_buffer);
- VAResources resources = get_va_resources(dinfo.image_width, dinfo.image_height);
- ReleaseVAResources release(resources);
-
va_status = vaBeginPicture(va_dpy->va_dpy, resources.context, resources.surface);
CHECK_VASTATUS_RET(va_status, "vaBeginPicture");
va_status = vaRenderPicture(va_dpy->va_dpy, resources.context, &pic_param_buffer, 1);