mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 17:30:20 +01:00
st/va: detect MJPEG format from bitstream
To find if the format is supported YUYV by sampling factor which is embedded from bitstream. So we could use this info for buffer reallocation on the correct format. Signed-off-by: Leo Liu <leo.liu@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
parent
7319ff8787
commit
2ebc530ca3
3 changed files with 10 additions and 0 deletions
|
|
@ -65,6 +65,7 @@ vlVaBeginPicture(VADriverContextP ctx, VAContextID context_id, VASurfaceID rende
|
|||
context->target_id = render_target;
|
||||
surf->ctx = context_id;
|
||||
context->target = surf->buffer;
|
||||
context->mjpeg.sampling_factor = 0;
|
||||
|
||||
if (!context->decoder) {
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
void vlVaHandlePictureParameterBufferMJPEG(vlVaDriver *drv, vlVaContext *context, vlVaBuffer *buf)
|
||||
{
|
||||
VAPictureParameterBufferJPEGBaseline *mjpeg = buf->data;
|
||||
unsigned sf;
|
||||
int i;
|
||||
|
||||
assert(buf->size >= sizeof(VAPictureParameterBufferJPEGBaseline) && buf->num_elements == 1);
|
||||
|
|
@ -46,6 +47,10 @@ void vlVaHandlePictureParameterBufferMJPEG(vlVaDriver *drv, vlVaContext *context
|
|||
mjpeg->components[i].v_sampling_factor;
|
||||
context->desc.mjpeg.picture_parameter.components[i].quantiser_table_selector =
|
||||
mjpeg->components[i].quantiser_table_selector;
|
||||
|
||||
sf = mjpeg->components[i].h_sampling_factor << 4 | mjpeg->components[i].v_sampling_factor;
|
||||
context->mjpeg.sampling_factor <<= 8;
|
||||
context->mjpeg.sampling_factor |= sf;
|
||||
}
|
||||
|
||||
context->desc.mjpeg.picture_parameter.num_components = mjpeg->num_components;
|
||||
|
|
|
|||
|
|
@ -277,6 +277,10 @@ typedef struct {
|
|||
uint8_t start_code[32];
|
||||
} mpeg4;
|
||||
|
||||
struct {
|
||||
unsigned sampling_factor;
|
||||
} mjpeg;
|
||||
|
||||
struct vl_deint_filter *deint;
|
||||
vlVaBuffer *coded_buf;
|
||||
int target_id;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue