diff options
author | Leo Liu <[email protected]> | 2017-08-15 10:31:30 -0400 |
---|---|---|
committer | Leo Liu <[email protected]> | 2017-08-21 10:09:09 -0400 |
commit | 4ac38ac3de05c77a7158e93ae2bde443abec032a (patch) | |
tree | fc82520913f20714dba8b77c11e7b2f26cd675c3 /src/gallium | |
parent | 11ccb56e9fe7a032a4f7a303580e4811717ae97b (diff) |
vl: add MJPEG picture description
Signed-off-by: Leo Liu <[email protected]>
Reviewed-by: Christian König <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/include/pipe/p_video_state.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/gallium/include/pipe/p_video_state.h b/src/gallium/include/pipe/p_video_state.h index 53f9ab3d5e1..abd5d364d22 100644 --- a/src/gallium/include/pipe/p_video_state.h +++ b/src/gallium/include/pipe/p_video_state.h @@ -519,6 +519,65 @@ struct pipe_h265_picture_desc bool UseRefPicList; }; +struct pipe_mjpeg_picture_desc +{ + struct pipe_picture_desc base; + + struct + { + uint16_t picture_width; + uint16_t picture_height; + + struct { + uint8_t component_id; + uint8_t h_sampling_factor; + uint8_t v_sampling_factor; + uint8_t quantiser_table_selector; + } components[255]; + + uint8_t num_components; + } picture_parameter; + + struct + { + uint8_t load_quantiser_table[4]; + uint8_t quantiser_table[4][64]; + } quantization_table; + + struct + { + uint8_t load_huffman_table[2]; + + struct { + uint8_t num_dc_codes[16]; + uint8_t dc_values[12]; + uint8_t num_ac_codes[16]; + uint8_t ac_values[162]; + uint8_t pad[2]; + } table[2]; + } huffman_table; + + struct + { + unsigned slice_data_size; + unsigned slice_data_offset; + unsigned slice_data_flag; + unsigned slice_horizontal_position; + unsigned slice_vertical_position; + + struct { + uint8_t component_selector; + uint8_t dc_table_selector; + uint8_t ac_table_selector; + } components[4]; + + uint8_t num_components; + + uint16_t restart_interval; + unsigned num_mcus; + } slice_parameter; +}; + #ifdef __cplusplus } #endif |