blob: 5a1a140fbfa32d3e0a1f5c0bbfd577526484be1d [file] [log] [blame]
/*
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*------------------------------------------------------------------------------
Table of contents
1. Include headers
2. Module defines
3. Data types
4. Function prototypes
------------------------------------------------------------------------------*/
#ifndef H264SWDEC_RECONSTRUCT_H
#define H264SWDEC_RECONSTRUCT_H
/*------------------------------------------------------------------------------
1. Include headers
------------------------------------------------------------------------------*/
#include "basetype.h"
#include "h264bsd_macroblock_layer.h"
#include "h264bsd_image.h"
/*------------------------------------------------------------------------------
2. Module defines
------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
3. Data types
------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
4. Function prototypes
------------------------------------------------------------------------------*/
#ifndef H264DEC_OMXDL
void h264bsdPredictSamples(
u8 *data,
mv_t *mv,
image_t *refPic,
u32 xA,
u32 yA,
u32 partX,
u32 partY,
u32 partWidth,
u32 partHeight);
#else
void h264bsdPredictSamples(
u8 *data,
mv_t *mv,
image_t *refPic,
u32 colAndRow,/* packaged data | column | row |*/
u32 part, /* packaged data |partX|partY|partWidth|partHeight|*/
u8 *pFill);
#endif
void h264bsdFillBlock(
u8 * ref,
u8 * fill,
i32 x0,
i32 y0,
u32 width,
u32 height,
u32 blockWidth,
u32 blockHeight,
u32 fillScanLength);
void h264bsdInterpolateChromaHor(
u8 *pRef,
u8 *predPartChroma,
i32 x0,
i32 y0,
u32 width,
u32 height,
u32 xFrac,
u32 chromaPartWidth,
u32 chromaPartHeight);
void h264bsdInterpolateChromaVer(
u8 *pRef,
u8 *predPartChroma,
i32 x0,
i32 y0,
u32 width,
u32 height,
u32 yFrac,
u32 chromaPartWidth,
u32 chromaPartHeight);
void h264bsdInterpolateChromaHorVer(
u8 *ref,
u8 *predPartChroma,
i32 x0,
i32 y0,
u32 width,
u32 height,
u32 xFrac,
u32 yFrac,
u32 chromaPartWidth,
u32 chromaPartHeight);
void h264bsdInterpolateVerHalf(
u8 *ref,
u8 *mb,
i32 x0,
i32 y0,
u32 width,
u32 height,
u32 partWidth,
u32 partHeight);
void h264bsdInterpolateVerQuarter(
u8 *ref,
u8 *mb,
i32 x0,
i32 y0,
u32 width,
u32 height,
u32 partWidth,
u32 partHeight,
u32 verOffset);
void h264bsdInterpolateHorHalf(
u8 *ref,
u8 *mb,
i32 x0,
i32 y0,
u32 width,
u32 height,
u32 partWidth,
u32 partHeight);
void h264bsdInterpolateHorQuarter(
u8 *ref,
u8 *mb,
i32 x0,
i32 y0,
u32 width,
u32 height,
u32 partWidth,
u32 partHeight,
u32 horOffset);
void h264bsdInterpolateHorVerQuarter(
u8 *ref,
u8 *mb,
i32 x0,
i32 y0,
u32 width,
u32 height,
u32 partWidth,
u32 partHeight,
u32 horVerOffset);
void h264bsdInterpolateMidHalf(
u8 *ref,
u8 *mb,
i32 x0,
i32 y0,
u32 width,
u32 height,
u32 partWidth,
u32 partHeight);
void h264bsdInterpolateMidVerQuarter(
u8 *ref,
u8 *mb,
i32 x0,
i32 y0,
u32 width,
u32 height,
u32 partWidth,
u32 partHeight,
u32 verOffset);
void h264bsdInterpolateMidHorQuarter(
u8 *ref,
u8 *mb,
i32 x0,
i32 y0,
u32 width,
u32 height,
u32 partWidth,
u32 partHeight,
u32 horOffset);
void h264bsdFillRow7(
u8 *ref,
u8 *fill,
i32 left,
i32 center,
i32 right);
#endif /* #ifdef H264SWDEC_RECONSTRUCT_H */