Template
33 lines
1.2 KiB
C
33 lines
1.2 KiB
C
|
|
/*!
|
|
************************************************************************
|
|
* \file refbuf_otf.h
|
|
*
|
|
* \brief
|
|
* Declarations of the reference frame buffer types and functions for on-the-fly interpolations
|
|
************************************************************************
|
|
*/
|
|
#ifndef _REBUF_OTF_H_
|
|
#define _REBUF_OTF_H_
|
|
|
|
#include "mbuffer.h"
|
|
|
|
static inline imgpel *UMVLine4X_otf (StorablePicture *ref, int y, int x )
|
|
{
|
|
return &(ref->p_curr_img_sub[(y & 0x03)>>1][(x & 0x03)>>1][iClip3( -IMG_PAD_SIZE_Y, ref->size_y_pad, y >> 2)][iClip3(-IMG_PAD_SIZE_X, ref->size_x_pad, x >> 2)]);
|
|
}
|
|
|
|
static inline imgpel *UMVLine4Xcr_otf (StorablePicture *ref, int cmp, int y, int x)
|
|
{
|
|
return &(ref->p_img_sub[cmp][(y & 0x03)>>1][(x & 0x03)>>1][iClip3(-ref->pad_size_uv_y, ref->size_y_cr_pad, y >> 2)][iClip3(-ref->pad_size_uv_x, ref->size_x_cr_pad, x >> 2)]);
|
|
}
|
|
|
|
static inline imgpel *UMVLine8X_chroma_otf (StorablePicture *ref, int cmp, int y, int x)
|
|
{
|
|
return &(ref->p_img_sub[cmp][(y & ref->chroma_mask_mv_y)>>1][(x & ref->chroma_mask_mv_x)>>1][iClip3 (-ref->pad_size_uv_y, ref->size_y_cr_pad, y >> ref->chroma_shift_y)][iClip3 (-ref->pad_size_uv_x, ref->size_x_cr_pad, x >> ref->chroma_shift_x)]);
|
|
}
|
|
|
|
|
|
#endif
|
|
|