uvg266/src/encoder.h

46 lines
945 B
C
Raw Normal View History

2012-06-04 10:47:12 +00:00
/**
* HEVC Encoder
* - Marko Viitanen ( fador at iki.fi ), Tampere University of Technology, Department of Computer Systems.
*/
2012-06-01 12:31:06 +00:00
/*! \file encoder.h
\brief Encoding related functions
\author Marko Viitanen
\date 2012-06
Structures for encoding
*/
#ifndef _ENCODER_H
#define _ENCODER_H
2012-06-04 10:47:12 +00:00
typedef struct encoder_control;
//ToDo: add ME data
2012-06-01 12:31:06 +00:00
typedef struct
{
2012-06-04 10:47:12 +00:00
//void (*IME)(encoder_control* encoder);
int range;
2012-06-01 12:31:06 +00:00
} encoder_me;
typedef struct
{
FILE* file;
uint32_t width;
uint32_t height;
uint32_t height_in_LCU;
uint32_t width_in_LCU;
2012-06-01 12:31:06 +00:00
} encoder_input;
typedef struct
{
encoder_input in;
encoder_me me;
FILE* output;
2012-06-01 12:31:06 +00:00
} encoder_control;
init_encoder_control(encoder_control* control,FILE* output) {control->output = output;};
init_encoder_input(encoder_input* input,FILE* inputfile, uint32_t width, uint32_t height) {input->file = inputfile; input->width = width; input->height = height;};
2012-06-01 12:31:06 +00:00
#endif