	.version 1.4
	.target sm_11, map_f64_to_f32
	// compiled with ../../../External/3rdParty/NVIDIA/CUDA/win/64/bin64/../open64/lib//be.exe
	// nvopencc 2.3 built on 2009-07-14

	//-----------------------------------------------------------
	// Compiling C:\Users\dvaeng\AppData\Local\Temp/tmpxft_0001d494_00000000-9_TrackMatte.cpp3.i (C:/Users/dvaeng/AppData/Local/Temp/ccBI#.a20976)
	//-----------------------------------------------------------

	//-----------------------------------------------------------
	// Options:
	//-----------------------------------------------------------
	//  Target:ptx, ISA:sm_11, Endian:little, Pointer Size:64
	//  -O3	(Optimization level)
	//  -g0	(Debug level)
	//  -m2	(Report advisories)
	//-----------------------------------------------------------

	.file	1	"C:\Users\dvaeng\AppData\Local\Temp/tmpxft_0001d494_00000000-8_TrackMatte.cudafe2.gpu"
	.file	2	"c:\scully64\shared\adobe\MediaCore\GPUFoundation\API\Inc\GPUFoundation/KernelSupport/PixelRGB.h"
	.file	3	"c:\scully64\shared\adobe\MediaCore\GPUFoundation\API\Inc\GPUFoundation/KernelSupport/PixelYUV.h"
	.file	4	"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h"
	.file	5	"c:\scully64\shared\adobe\MediaCore\External\3rdParty\NVIDIA\CUDA\win\64\include\crt/device_runtime.h"
	.file	6	"c:\scully64\shared\adobe\MediaCore\External\3rdParty\NVIDIA\CUDA\win\64\include\host_defines.h"
	.file	7	"c:\scully64\shared\adobe\MediaCore\External\3rdParty\NVIDIA\CUDA\win\64\include\builtin_types.h"
	.file	8	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\device_types.h"
	.file	9	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\driver_types.h"
	.file	10	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\texture_types.h"
	.file	11	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\vector_types.h"
	.file	12	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\host_defines.h"
	.file	13	"c:\scully64\shared\adobe\MediaCore\External\3rdParty\NVIDIA\CUDA\win\64\include\device_launch_parameters.h"
	.file	14	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\crt\storage_class.h"
	.file	15	"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\time.h"
	.file	16	"c:\scully64\shared\adobe\MediaCore\GPUFoundation\API\Inc\GPUFoundation/KernelSupport/Utils.h"
	.file	17	"c:\scully64\shared\adobe\MediaCore\GPUFoundation\API\Inc\GPUFoundation/KernelSupport/VectorUtils.h"
	.file	18	"c:/scully64/shared/adobe/MediaCore/Display/Src/CUDA/Effects/TrackMatte.cu"
	.file	19	"c:\scully64\shared\adobe\MediaCore\External\3rdParty\NVIDIA\CUDA\win\64\include\common_functions.h"
	.file	20	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\crt/func_macro.h"
	.file	21	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\math_functions.h"
	.file	22	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\device_functions.h"
	.file	23	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\math_constants.h"
	.file	24	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\sm_11_atomic_functions.h"
	.file	25	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\sm_12_atomic_functions.h"
	.file	26	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\sm_13_double_functions.h"
	.file	27	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\common_types.h"
	.file	28	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\texture_fetch_functions.h"
	.file	29	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\math_functions_dbl_ptx1.h"
	.file	30	"c:\scully64\shared\adobe\MediaCore\GPUFoundation\API\Inc\GPUFoundation/KernelSupport/ColorSpaceConvert.h"

	.const .align 4 .b8 kRGB32f_To_601YPbPr[36] = {135,22,153,62,162,69,22,63,213,120,233,61,33,201,44,190,111,155,169,190,0,0,0,63,0,0,0,63,70,94,214,190,232,134,166,189};
	.const .align 4 .b8 k601YPbPr_To_RGB32f[36] = {0,0,128,63,0,0,0,0,188,116,179,63,0,0,128,63,152,50,176,190,158,209,54,191,0,0,128,63,229,208,226,63,0,0,0,0};
	.const .align 4 .b8 kRGB32f_To_601YCbCr[36] = {70,246,130,66,145,141,0,67,94,186,199,65,33,48,23,194,240,103,148,194,0,0,224,66,0,0,224,66,111,146,187,194,70,182,145,193};
	.const .align 4 .b8 k601YCbCr_To_RGB32f[36] = {37,160,149,59,0,0,0,0,182,23,205,59,37,160,149,59,40,15,201,186,156,239,80,187,37,160,149,59,236,155,1,60,0,0,0,0};
	.const .align 4 .b8 kRGB8u_To_601YCbCr[36] = {219,121,131,62,152,14,1,63,18,131,200,61,174,199,23,190,238,252,148,190,197,224,224,62,197,224,224,62,217,78,188,190,174,71,146,189};
	.const .align 4 .b8 k601YCbCr_To_RGB8u[36] = {127,10,149,63,0,0,0,0,160,74,204,63,127,10,149,63,254,148,200,190,184,30,80,191,127,10,149,63,78,26,1,64,0,0,0,0};
	.const .align 4 .b8 kRGB32f_To_709YPbPr[36] = {208,179,89,62,89,23,55,63,152,221,147,61,186,164,234,189,210,86,197,190,0,0,0,63,0,0,0,63,190,134,232,190,16,202,59,189};
	.const .align 4 .b8 k709YPbPr_To_RGB32f[36] = {0,0,128,63,0,0,0,0,12,147,201,63,0,0,128,63,221,209,63,190,243,173,239,190,0,0,128,63,77,132,237,63,0,0,0,0};
	.const .align 4 .b8 kRGB32f_To_709YCbCr[36] = {106,60,58,66,6,161,28,67,244,253,124,65,223,79,205,193,8,172,172,194,0,0,224,66,0,0,224,66,195,117,203,194,236,81,36,193};
	.const .align 4 .b8 k709YCbCr_To_RGB32f[36] = {37,160,149,59,0,0,0,0,239,94,230,59,37,160,149,59,33,57,91,186,178,245,8,187,37,160,149,59,82,185,7,60,0,0,0,0};
	.const .align 4 .b8 kRGB8u_To_709YCbCr[36] = {207,247,58,62,53,62,29,63,231,251,125,61,147,24,206,61,23,89,173,190,197,224,224,62,197,224,224,62,12,66,204,190,195,245,36,189};
	.const .align 4 .b8 k709YCbCr_To_RGB8u[36] = {127,10,149,63,0,0,0,0,147,120,229,63,127,10,149,63,53,94,90,190,205,108,8,191,127,10,149,63,154,49,7,64,0,0,0,0};
	.const .align 4 .b8 k709YCbCr_To_601YCbCr[36] = {0,0,128,63,23,100,203,61,1,77,68,62,0,0,0,0,18,103,125,63,10,158,226,189,0,0,0,0,61,98,148,189,249,191,123,63};
	.const .align 4 .b8 k601YCbCr_To_709YCbCr[36] = {0,0,128,63,122,165,236,189,179,237,84,190,0,0,0,0,204,98,130,63,216,188,234,61,0,0,0,0,74,179,153,61,234,61,131,63};
	.const .align 4 .b8 kYCbCrOffset[12] = {0,0,128,65,0,0,0,67,0,0,0,67};

	.entry TrackMatte (
		.param .u64 __cudaparm_TrackMatte_inImage,
		.param .s32 __cudaparm_TrackMatte_inPitch,
		.param .s32 __cudaparm_TrackMatte_inWidth,
		.param .s32 __cudaparm_TrackMatte_inHeight,
		.param .u64 __cudaparm_TrackMatte_inMatteImage,
		.param .s32 __cudaparm_TrackMatte_inMattePitch,
		.param .s32 __cudaparm_TrackMatte_inMatteWidth,
		.param .s32 __cudaparm_TrackMatte_inMatteHeight,
		.param .s8 __cudaparm_TrackMatte_inUseMatteLuma,
		.param .s8 __cudaparm_TrackMatte_inInvert)
	{
	.reg .u32 %r<41>;
	.reg .u64 %rd<14>;
	.reg .f32 %f<81>;
	.reg .pred %p<12>;
	.loc	18	38	0
$LBB1_TrackMatte:
	.loc	18	41	0
	cvt.s32.u16 	%r1, %ctaid.x;
	cvt.s32.u16 	%r2, %ntid.x;
	mul24.lo.s32 	%r3, %r1, %r2;
	cvt.s32.u16 	%r4, %ctaid.y;
	cvt.s32.u16 	%r5, %ntid.y;
	mul24.lo.s32 	%r6, %r4, %r5;
	cvt.u32.u16 	%r7, %tid.x;
	add.u32 	%r8, %r3, %r7;
	cvt.u32.u16 	%r9, %tid.y;
	add.u32 	%r10, %r6, %r9;
	ld.param.s32 	%r11, [__cudaparm_TrackMatte_inHeight];
	ld.param.s32 	%r12, [__cudaparm_TrackMatte_inWidth];
	set.gt.u32.s32 	%r13, %r11, %r10;
	neg.s32 	%r14, %r13;
	set.gt.u32.s32 	%r15, %r12, %r8;
	neg.s32 	%r16, %r15;
	and.b32 	%r17, %r14, %r16;
	mov.u32 	%r18, 0;
	setp.eq.s32 	%p1, %r17, %r18;
	@%p1 bra 	$L_0_8194;
	.loc	18	48	0
	ld.param.s32 	%r19, [__cudaparm_TrackMatte_inMatteWidth];
	sub.s32 	%r20, %r12, %r19;
	cvt.rn.f32.s32 	%f1, %r20;
	cvt.rn.f32.s32 	%f2, %r8;
	mov.f32 	%f3, 0f3f000000;     	// 0.5
	mul.f32 	%f4, %f1, %f3;
	sub.f32 	%f5, %f2, %f4;
	mov.f32 	%f6, 0f3f000000;     	// 0.5
	add.f32 	%f7, %f5, %f6;
	cvt.rzi.s32.f32 	%r21, %f7;
	mov.u32 	%r22, 0;
	setp.lt.s32 	%p2, %r21, %r22;
	@%p2 bra 	$Lt_0_12546;
	setp.ge.s32 	%p3, %r21, %r19;
	@%p3 bra 	$Lt_0_12546;
	ld.param.s32 	%r23, [__cudaparm_TrackMatte_inMatteHeight];
	sub.s32 	%r24, %r11, %r23;
	cvt.rn.f32.s32 	%f8, %r24;
	cvt.rn.f32.s32 	%f9, %r10;
	mov.f32 	%f10, 0f3f000000;    	// 0.5
	mul.f32 	%f11, %f8, %f10;
	sub.f32 	%f12, %f9, %f11;
	mov.f32 	%f13, 0f3f000000;    	// 0.5
	add.f32 	%f14, %f12, %f13;
	cvt.rzi.s32.f32 	%r25, %f14;
	mov.u32 	%r26, 0;
	setp.lt.s32 	%p4, %r25, %r26;
	@%p4 bra 	$Lt_0_12546;
	setp.ge.s32 	%p5, %r25, %r23;
	@%p5 bra 	$Lt_0_12546;
	.loc	16	89	0
	ld.param.s32 	%r27, [__cudaparm_TrackMatte_inPitch];
	mul24.lo.s32 	%r28, %r10, %r27;
	ld.param.u64 	%rd1, [__cudaparm_TrackMatte_inImage];
	add.s32 	%r29, %r28, %r8;
	cvt.s64.s32 	%rd2, %r29;
	mul.lo.u64 	%rd3, %rd2, 16;
	add.u64 	%rd4, %rd1, %rd3;
	ld.global.v4.f32 	{%f15,%f16,%f17,%f18}, [%rd4+0];
	ld.param.s32 	%r30, [__cudaparm_TrackMatte_inMattePitch];
	mul24.lo.s32 	%r31, %r25, %r30;
	ld.param.u64 	%rd5, [__cudaparm_TrackMatte_inMatteImage];
	add.s32 	%r32, %r21, %r31;
	cvt.s64.s32 	%rd6, %r32;
	mul.lo.u64 	%rd7, %rd6, 16;
	add.u64 	%rd8, %rd5, %rd7;
	ld.global.v4.f32 	{%f19,%f20,%f21,%f22}, [%rd8+0];
	.loc	18	51	0
	ld.param.s8 	%r33, [__cudaparm_TrackMatte_inInvert];
	mov.s32 	%r34, 0;
	setp.ne.s32 	%p6, %r33, %r34;
	ld.const.f32 	%f23, [kRGB32f_To_601YPbPr+8];
	ld.const.f32 	%f24, [kRGB32f_To_601YPbPr+0];
	ld.const.f32 	%f25, [kRGB32f_To_601YPbPr+4];
	ld.param.s8 	%r35, [__cudaparm_TrackMatte_inUseMatteLuma];
	mov.u32 	%r36, 0;
	setp.eq.s32 	%p7, %r35, %r36;
	@%p7 bra 	$Lt_0_10242;
	mul.f32 	%f26, %f20, %f25;
	mad.f32 	%f27, %f24, %f21, %f26;
	mad.f32 	%f28, %f23, %f19, %f27;
	mov.f32 	%f29, 0f00000000;    	// 0
	setp.lt.f32 	%p8, %f28, %f29;
	@!%p6 bra 	$Lt_0_10754;
	@!%p8 bra 	$Lt_0_11266;
	.loc	18	57	0
	mov.f32 	%f30, 0f00000000;    	// 0
	bra.uni 	$Lt_0_11010;
$Lt_0_11266:
	mul.f32 	%f31, %f28, %f22;
	mov.f32 	%f32, 0f3f800000;    	// 1
	setp.gt.f32 	%p9, %f28, %f32;
	selp.f32 	%f30, %f22, %f31, %p9;
$Lt_0_11010:
	.loc	18	58	0
	mov.f32 	%f33, 0f3f800000;    	// 1
	sub.f32 	%f34, %f33, %f30;
	mul.f32 	%f35, %f18, %f34;
	bra.uni 	$Lt_0_9986;
$Lt_0_10754:
	@!%p8 bra 	$Lt_0_11778;
	.loc	18	62	0
	mov.f32 	%f36, 0f00000000;    	// 0
	bra.uni 	$Lt_0_11522;
$Lt_0_11778:
	mul.f32 	%f37, %f28, %f22;
	mov.f32 	%f38, 0f3f800000;    	// 1
	setp.gt.f32 	%p10, %f28, %f38;
	selp.f32 	%f36, %f22, %f37, %p10;
$Lt_0_11522:
	.loc	18	63	0
	mul.f32 	%f35, %f36, %f18;
	bra.uni 	$Lt_0_9986;
$Lt_0_10242:
	.loc	18	68	0
	mov.f32 	%f39, 0f3f800000;    	// 1
	sub.f32 	%f40, %f39, %f22;
	mul.f32 	%f41, %f18, %f40;
	mul.f32 	%f42, %f18, %f22;
	selp.f32 	%f35, %f41, %f42, %p6;
$Lt_0_9986:
	.loc	16	100	0
	ld.const.f32 	%f43, [kRGB32f_To_601YPbPr+16];
	mul.f32 	%f44, %f43, %f16;
	mul.f32 	%f45, %f16, %f25;
	ld.const.f32 	%f46, [kRGB32f_To_601YPbPr+28];
	mul.f32 	%f47, %f46, %f16;
	ld.const.f32 	%f48, [kRGB32f_To_601YPbPr+12];
	mad.f32 	%f49, %f48, %f17, %f44;
	mad.f32 	%f50, %f24, %f17, %f45;
	ld.const.f32 	%f51, [kRGB32f_To_601YPbPr+24];
	mad.f32 	%f52, %f51, %f17, %f47;
	ld.const.f32 	%f53, [kRGB32f_To_601YPbPr+20];
	mad.f32 	%f54, %f53, %f15, %f49;
	mad.f32 	%f55, %f23, %f15, %f50;
	ld.const.f32 	%f56, [kRGB32f_To_601YPbPr+32];
	mad.f32 	%f57, %f56, %f15, %f52;
	ld.const.f32 	%f58, [k601YPbPr_To_RGB32f+28];
	mul.f32 	%f59, %f58, %f54;
	ld.const.f32 	%f60, [k601YPbPr_To_RGB32f+24];
	mad.f32 	%f61, %f60, %f55, %f59;
	ld.const.f32 	%f62, [k601YPbPr_To_RGB32f+32];
	mad.f32 	%f63, %f62, %f57, %f61;
	ld.const.f32 	%f64, [k601YPbPr_To_RGB32f+16];
	mul.f32 	%f65, %f64, %f54;
	ld.const.f32 	%f66, [k601YPbPr_To_RGB32f+12];
	mad.f32 	%f67, %f66, %f55, %f65;
	ld.const.f32 	%f68, [k601YPbPr_To_RGB32f+20];
	mad.f32 	%f69, %f68, %f57, %f67;
	ld.const.f32 	%f70, [k601YPbPr_To_RGB32f+4];
	mul.f32 	%f71, %f70, %f54;
	ld.const.f32 	%f72, [k601YPbPr_To_RGB32f+0];
	mad.f32 	%f73, %f72, %f55, %f71;
	ld.const.f32 	%f74, [k601YPbPr_To_RGB32f+8];
	mad.f32 	%f75, %f74, %f57, %f73;
	st.global.v4.f32 	[%rd4+0], {%f63,%f69,%f75,%f35};
	.loc	18	77	0
	bra.uni 	$L_0_8194;
$Lt_0_12546:
$L_0_8450:
	.loc	16	100	0
	ld.param.s32 	%r37, [__cudaparm_TrackMatte_inPitch];
	mul24.lo.s32 	%r38, %r10, %r37;
	ld.param.u64 	%rd9, [__cudaparm_TrackMatte_inImage];
	add.s32 	%r39, %r38, %r8;
	cvt.s64.s32 	%rd10, %r39;
	mul.lo.u64 	%rd11, %rd10, 16;
	add.u64 	%rd12, %rd9, %rd11;
	mov.f32 	%f76, 0f00000000;    	// 0
	mov.f32 	%f77, 0f00000000;    	// 0
	mov.f32 	%f78, 0f00000000;    	// 0
	mov.f32 	%f79, 0f00000000;    	// 0
	st.global.v4.f32 	[%rd12+0], {%f76,%f77,%f78,%f79};
$L_0_8194:
$Lt_0_9474:
	.loc	18	85	0
	exit;
$LDWend_TrackMatte:
	} // TrackMatte

