/*******************************************************************
           picture decoding (reconstracting) interface
 *******************************************************************/
#ifndef PICTURE_H
#define PICTURE_H

#include "block.h"
#include "mc.h"
#include "macroblock.h"
#include "slice_header.h"
#include "idct.h"
#include "frame.h"

typedef struct {
	READ_BLOCK_OPTION         block_option;
	MC_PARAMETER              mc_parameter;
	READ_MACROBLOCK_OPTION    macroblock_option;
	READ_SLICE_HEADER_OPTION  slice_option;
	IDCT                      idct_func;
} DECODE_PICTURE_PARAMETER;

#ifdef __cplusplus
extern "C" {
#endif

#ifndef PICTURE_C
extern int decode_picture(VIDEO_STREAM *in, MC_BUFFER *out, DECODE_PICTURE_PARAMETER *prm);
#endif

#ifdef __cplusplus
}
#endif
	
#endif
