2012-06-11 15:43:29 +00:00
|
|
|
/**
|
|
|
|
* HEVC Encoder
|
|
|
|
* - Marko Viitanen ( fador at iki.fi ), Tampere University of Technology, Department of Computer Systems.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*! \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-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-03-11 14:26:09 +00:00
|
|
|
void intra_DCPredFiltering(uint8_t* pSrc, int32_t iSrcStride, uint8_t* rpDst, int32_t iDstStride, int32_t iWidth, int32_t iHeight );
|
2013-03-13 13:56:43 +00:00
|
|
|
|
|
|
|
/* Predictions */
|
|
|
|
int16_t intra_prediction(uint8_t* orig,uint32_t origstride,uint8_t* rec,uint32_t recstride, uint32_t xpos, uint32_t ypos,uint32_t width, int16_t* dst,int32_t dststride, uint32_t *sad);
|
|
|
|
|
|
|
|
int16_t intra_getDCPred(uint8_t* pic, uint16_t picwidth,uint32_t xpos, uint32_t ypos, uint8_t width);
|
|
|
|
void intra_getPlanarPred(uint8_t* src,int32_t srcstride, uint32_t xpos, uint32_t ypos,uint32_t width, int16_t* dst,int32_t dststride);
|
|
|
|
void intra_getAngularPred(uint8_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);
|
|
|
|
|
|
|
|
void intra_recon(uint8_t* rec,uint32_t recstride, uint32_t xpos, uint32_t ypos,uint32_t width, int16_t* dst,int32_t dststride, int8_t mode);
|
2013-02-24 14:03:40 +00:00
|
|
|
|
2012-06-11 15:43:29 +00:00
|
|
|
#endif
|