Performs interpolation for motion estimation of the luma component using entire motion vector.
IppStatus ippiInterpolateLumaBlock_H264_8u_P1R(const IppVCInterpolateBlock_8u* interpolateInfo);
IppStatus ippiInterpolateLumaBlock_H264_16u_P1R(const IppVCInterpolateBlock_16u* interpolateInfo);
interpolateInfo |
Pointer to an instance of the structure holding interpolation parameters. See IppVCInterpolateBlock_8u and IppVCInterpolateBlock_16u structures. |
The functions ippiInterpolateLumaBlock_H264_8u_P1R and ippiInterpolateLumaBlock_H264_16u_P1R are declared in the ippvc.h file. These functions perform interpolation (convolution with 6x6 kernel) for motion estimation of the luma component in accordance with 8.4.2.2.1 of [JVTG050]. Unlike InterpolateLuma_H264, the functions use an entire motion vector when they calculate fractional and integer parts of the vectors. The functions also handle cases of overlapping, when the source block pointed to by the motion vector lies out of the source frame. Non-existing samples are cloned from the nearest existing samples.
{ IppVCInterpolateBlock_8u interpolateInfo; interpolateInfo.pSrc[0] = reference_luma_frame; interpolateInfo.srcStep = reference_luma_frame_pitch; // create vectors & factors interpolateInfo.pointVector.x = horizontal_motion_vector; interpolateInfo.pointVector.y = vertical_motion_vector; // fill parameters interpolateInfo.pDst[0] = destination_luma_block; interpolateInfo.dstStep = destination_luma_frame_pitch; interpolateInfo.sizeFrame = {width_of_luma_frame, height_of_luma_frame}; interpolateInfo.sizeBlock = { width_of_luma_block, height_of_luma_block}; interpolateInfo.pointBlockPos.x = x_position_of_current_luma_block; interpolateInfo.pointBlockPos.y = y_position_of_current_luma_block; ippiInterpolateLumaBlock_H264_8u_P1R(&interpolateInfo); }
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error condition if at least one of the specified pointers is NULL. |
ippStsSizeErr |
Indicates an error condition if roi.width or roi.height take values other than {16, 8, 4}. |
Copyright © 2000 - 2010, Intel Corporation. All rights reserved.