#include <pipe/p_video_context.h>
+#include "vl_mpeg12_bitstream.h"
+#include "vl_zscan.h"
#include "vl_idct.h"
#include "vl_mc.h"
struct pipe_video_decoder base;
struct pipe_context *pipe;
- const unsigned (*empty_block_mask)[3][2][2];
- unsigned nr_of_idct_render_targets;
+ unsigned chroma_width, chroma_height;
- enum pipe_format idct_source_format;
- enum pipe_format idct_intermediate_format;
- enum pipe_format mc_source_format;
+ unsigned blocks_per_line;
+ unsigned max_blocks;
+
+ enum pipe_format zscan_source_format;
struct pipe_vertex_buffer quads;
struct pipe_vertex_buffer pos;
- void *ves_eb[VL_MAX_PLANES];
+ void *ves_ycbcr;
void *ves_mv;
+ void *sampler_ycbcr;
+
+ struct pipe_sampler_view *zscan_linear;
+ struct pipe_sampler_view *zscan_normal;
+ struct pipe_sampler_view *zscan_alternate;
+
+ struct pipe_video_buffer *idct_source;
+ struct pipe_video_buffer *mc_source;
+
+ struct vl_zscan zscan_y, zscan_c;
struct vl_idct idct_y, idct_c;
struct vl_mc mc_y, mc_c;
struct vl_vertex_buffer vertex_stream;
- struct pipe_video_buffer *idct_source;
- struct pipe_video_buffer *idct_intermediate;
- struct pipe_video_buffer *mc_source;
+ struct pipe_video_buffer *zscan_source;
+ struct vl_mpg12_bs bs;
+ struct vl_zscan_buffer zscan[VL_MAX_PLANES];
struct vl_idct_buffer idct[VL_MAX_PLANES];
struct vl_mc_buffer mc[VL_MAX_PLANES];