[delphi]unit deinterlacing; interface type PIpp16u = ^Ipp16u; Ipp16u = Word; PIpp8u = ^Ipp8u; Ipp8u = Byte; IppiSize = record width: Integer; height: Integer; end; function ippiDeinterlaceFilterCAVT_8u_C1R : Integer; stdcall; function MyDeinter (pDataI : PByte; pDataO:PByte) : Integer; implementation const ippcoreDLL = 'ippcore-5.1.dll'; function ippiDeinterlaceFilterCAVT_8u_C1R; external ippcoreDLL; function MyDeinter (pDataI : PByte; pDataO:PByte) : Integer; var pS,pD : PIpp8u; size : IppiSize; mThreshold : Ipp16u; srcStep,dstStep : integer; begin pS := PIpp8u(pDataI); pD := PIpp8u(pDataO); srcStep := 720*2; dstStep := 768*2; size.width:=768; size.height:=576; mThreshold:=128; MyDeinter:=ippiDeinterlaceFilterCAVT_8u_C1R(pS,srcStep,pD,dstStep,mThreshold,size); end; end. [/delphi]
[delphi]unit deinterlacing; interface type PIpp16u = ^Ipp16u; Ipp16u = Word; PIpp8u = ^Ipp8u; Ipp8u = Byte; IppiSize = record width: Integer; height: Integer; end; function ippiDeinterlaceFilterCAVT_8u_C1R : Integer; stdcall; function MyDeinter (pDataI : PByte; pDataO:PByte) : Integer; implementation const ippcoreDLL = 'ippcore-5.1.dll'; function ippiDeinterlaceFilterCAVT_8u_C1R; external ippcoreDLL; function MyDeinter (pDataI : PByte; pDataO:PByte) : Integer; var pS,pD : PIpp8u; size : IppiSize; mThreshold : Ipp16u; srcStep,dstStep : integer; begin pS := PIpp8u(pDataI); pD := PIpp8u(pDataO); srcStep := 720*2; dstStep := 768*2; size.width:=768; size.height:=576; mThreshold:=128; MyDeinter:=ippiDeinterlaceFilterCAVT_8u_C1R(pS,srcStep,pD,dstStep,mThreshold,size); end; end. [/delphi]
For more complete information about compiler optimizations, see our Optimization Notice.