
/*!
 **************************************************************************************
 * \file
 *    output.h
 * \brief
 *    Picture writing routine headers
 * \author
 *    Main contributors (see contributors.h for copyright, address and affiliation details)
 *      - Karsten Suehring        <suehring@hhi.de>
 ***************************************************************************************
 */

#ifndef _OUTPUT_H_
#define _OUTPUT_H_

extern void flush_direct_output(VideoParameters *p_Vid, FrameFormat *output, int p_out);
extern void write_out_picture  ( StorablePicture *p, FrameFormat *output, int p_out);
extern void write_stored_frame (VideoParameters *p_Vid, FrameStore *fs, FrameFormat *output, int p_out);
extern void direct_output      (VideoParameters *p_Vid, StorablePicture *p, FrameFormat *output, int p_out);
extern void direct_output_paff (VideoParameters *p_Vid, StorablePicture *p, FrameFormat *output, int p_out);
extern void init_out_buffer    (VideoParameters *p_Vid);
extern void uninit_out_buffer  (VideoParameters *p_Vid);
extern void img2buf (imgpel** imgX, unsigned char* buf, int size_x, int size_y, int symbol_size_in_bytes, 
					 int crop_left, int crop_right, int crop_top, int crop_bottom);
#if REDUCED_RES
extern void img_upsampling(imgpel**imgX_low_res,imgpel**imgX_ori_res, int component, int method, ResizeParameters* upsampling_params,
						   int size_x, int size_y,int crop_left, int crop_right, int crop_top, int crop_bottom);
#endif

#if SAIT_POST_DILATION_A0038
extern void post_dilation_filter(imgpel **high_imgY, imgpel *buffer_imgY, int width, int height);
#endif

#endif //_OUTPUT_H_
