/*****************************************************************************
 *
 *   decoder.h
 *
 *   Copyright 2016 Citrix Systems, Inc.  All Rights Reserved.
 *
 *****************************************************************************/


#ifndef _DECODER_H
#define _DECODER_H

struct Decoder
{
    /* Decoder-context data goes here. For example: */

    void *decoder_context;

    int width, height;

    /* etc... */
};

int init_decoder();
int deinit_decoder();
int open_decoder_context(struct Decoder *dec, unsigned char *o_buf, int stride, int width, int height);
int decode_frame(struct Decoder *dec, unsigned char *data, int length);
int close_decoder_context(struct Decoder *dec);
int yuv2rgb(struct Decoder *dec, unsigned char *o_buf, int stride, SIGNED_RECT bounds, int max_width, int max_height);

#endif /* DECODER_H */

