2012-06-11 15:43:29 +00:00
|
|
|
/**
|
|
|
|
* HEVC Encoder
|
2013-04-16 08:23:03 +00:00
|
|
|
* - Marko Viitanen ( fador at iki.fi ), Tampere University of Technology, Department of Pervasive Computing.
|
2012-06-11 15:43:29 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
/*! \file intra.h
|
2013-03-07 15:42:00 +00:00
|
|
|
\brief Intra function headers
|
2012-06-11 15:43:29 +00:00
|
|
|
\author Marko Viitanen
|
2013-03-07 15:42:00 +00:00
|
|
|
\date 2013-03
|
2012-06-11 15:43:29 +00:00
|
|
|
|
|
|
|
Intra functions
|
|
|
|
*/
|
|
|
|
#ifndef __INTRA_H
|
|
|
|
#define __INTRA_H
|
|
|
|
|
2013-09-18 09:16:03 +00:00
|
|
|
#include "global.h"
|
|
|
|
|
|
|
|
#include "picture.h"
|
|
|
|
|
|
|
|
|
2013-03-07 15:42:00 +00:00
|
|
|
void intra_setBlockMode(picture* pic,uint32_t xCtb, uint32_t yCtb, uint8_t depth, uint8_t mode);
|
|
|
|
int8_t intra_getBlockMode(picture* pic,uint32_t xCtb, uint32_t yCtb, uint8_t depth);
|
2013-03-13 13:56:43 +00:00
|
|
|
|
2013-03-07 15:42:00 +00:00
|
|
|
int8_t intra_getDirLumaPredictor(picture* pic,uint32_t xCtb, uint32_t yCtb, uint8_t depth, int8_t* preds);
|
2013-04-03 10:56:07 +00:00
|
|
|
void intra_DCPredFiltering(int16_t* pSrc, int32_t iSrcStride, int16_t* rpDst, int32_t iDstStride, int32_t iWidth, int32_t iHeight );
|
2013-03-13 13:56:43 +00:00
|
|
|
|
2013-03-25 15:17:24 +00:00
|
|
|
void intra_buildReferenceBorder(picture* pic, int32_t xCtb, int32_t yCtb,int16_t outwidth, int16_t* dst, int32_t dststride, int8_t chroma);
|
2013-04-05 11:55:58 +00:00
|
|
|
void intra_filter(int16_t* ref, int32_t stride,int32_t width, int8_t mode);
|
2013-03-14 15:55:06 +00:00
|
|
|
|
2013-03-13 13:56:43 +00:00
|
|
|
/* Predictions */
|
2013-04-05 11:55:58 +00:00
|
|
|
int16_t intra_prediction(uint8_t* orig,int32_t origstride,int16_t* rec,int32_t recstride, uint32_t xpos, uint32_t ypos,uint32_t width, int16_t* dst,int32_t dststride, uint32_t *sad);
|
2013-03-13 13:56:43 +00:00
|
|
|
|
2013-03-14 15:55:06 +00:00
|
|
|
int16_t intra_getDCPred(int16_t* pic, uint16_t picwidth,uint32_t xpos, uint32_t ypos, uint8_t width);
|
|
|
|
void intra_getPlanarPred(int16_t* src,int32_t srcstride, uint32_t xpos, uint32_t ypos,uint32_t width, int16_t* dst,int32_t dststride);
|
|
|
|
void intra_getAngularPred(int16_t* pSrc, int32_t srcStride, int16_t* rpDst, int32_t dstStride, int32_t width, int32_t height, int32_t dirMode, int8_t leftAvail,int8_t topAvail, int8_t filter);
|
2013-03-13 13:56:43 +00:00
|
|
|
|
2013-03-19 15:12:43 +00:00
|
|
|
void intra_recon(int16_t* rec,uint32_t recstride, uint32_t xpos, uint32_t ypos,uint32_t width, int16_t* dst,int32_t dststride, int8_t mode, int8_t chroma);
|
|
|
|
|
2013-02-24 14:03:40 +00:00
|
|
|
|
2012-06-11 15:43:29 +00:00
|
|
|
#endif
|