//
// Generated by NVIDIA NVVM Compiler
// Compiler built on Fri Jul 25 04:36:16 2014 (1406288176)
// Cuda compilation tools, release 6.5, V6.5.13
//

.version 4.1
.target sm_30
.address_size 64

.global .texref inYPlaneTexture;
.global .texref inFrameCodedUPlaneTexture;
.global .texref inFrameCodedVPlaneTexture;
.global .texref inUpperUPlaneTexture;
.global .texref inUpperVPlaneTexture;
.global .texref inLowerUPlaneTexture;
.global .texref inLowerVPlaneTexture;
.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 kRGB8u_To_601YCbCrFullRange[36] = {135, 22, 153, 62, 162, 69, 22, 63, 213, 120, 233, 61, 166, 27, 44, 190, 39, 241, 168, 190, 250, 254, 254, 62, 250, 254, 254, 62, 43, 135, 213, 190, 59, 223, 165, 189};
.const .align 4 .b8 k601YCbCrFullRange_To_RGB8u[36] = {0, 0, 128, 63, 0, 0, 0, 0, 72, 193, 178, 63, 0, 0, 128, 63, 143, 130, 175, 190, 225, 26, 54, 191, 0, 0, 128, 63, 20, 238, 225, 63, 0, 0, 0, 0};
.const .align 4 .b8 kRGB32f_To_601YCbCrFullRange[36] = {113, 125, 152, 66, 92, 175, 21, 67, 92, 143, 232, 65, 158, 111, 43, 194, 49, 72, 168, 194, 0, 0, 254, 66, 0, 0, 254, 66, 170, 177, 212, 194, 88, 57, 165, 193};
.const .align 4 .b8 k601YCbCrFullRange_To_RGB32f[36] = {129, 128, 128, 59, 0, 0, 0, 0, 188, 116, 179, 59, 129, 128, 128, 59, 194, 50, 176, 186, 179, 209, 54, 187, 129, 128, 128, 59, 229, 208, 226, 59, 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 k709YCbCrFullRange_To_RGB32f[36] = {131, 128, 128, 59, 0, 0, 0, 0, 28, 147, 201, 59, 131, 128, 128, 59, 61, 210, 63, 186, 248, 173, 239, 186, 131, 128, 128, 59, 82, 132, 237, 59, 0, 0, 0, 0};
.const .align 4 .b8 kRGB8u_To_709YCbCr[36] = {207, 247, 58, 62, 53, 62, 29, 63, 231, 251, 125, 61, 184, 30, 206, 189, 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};
.const .align 4 .b8 kYCbCrFullRangeOffset[12] = {0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 67};

.visible .func  (.param .b32 func_retval0) _Z13MaxDepthValuej(
	.param .b32 _Z13MaxDepthValuej_param_0
)
{
	.reg .pred 	%p<4>;
	.reg .s32 	%r<3>;
	.reg .f32 	%f<6>;


	ld.param.u32 	%r2, [_Z13MaxDepthValuej_param_0];
	and.b32  	%r1, %r2, 248;
	setp.ne.s32	%p1, %r1, 0;
	@%p1 bra 	BB0_2;

	mov.f32 	%f5, 0f437F0000;
	bra.uni 	BB0_5;

BB0_2:
	setp.ne.s32	%p2, %r1, 8;
	@%p2 bra 	BB0_4;

	mov.f32 	%f5, 0f447FC000;
	bra.uni 	BB0_5;

BB0_4:
	setp.eq.s32	%p3, %r1, 16;
	selp.f32	%f5, 0f47000000, 0f3F800000, %p3;

BB0_5:
	st.param.f32	[func_retval0+0], %f5;
	ret;
}

.visible .func  (.param .b64 func_retval0) _Z23ColorSpaceConvertMatrixjj(
	.param .b32 _Z23ColorSpaceConvertMatrixjj_param_0,
	.param .b32 _Z23ColorSpaceConvertMatrixjj_param_1
)
{
	.reg .pred 	%p<33>;
	.reg .s32 	%r<16>;
	.reg .s64 	%rd<32>;


	ld.param.u32 	%r9, [_Z23ColorSpaceConvertMatrixjj_param_0];
	ld.param.u32 	%r10, [_Z23ColorSpaceConvertMatrixjj_param_1];
	and.b32  	%r11, %r9, 512;
	setp.eq.s32	%p1, %r11, 0;
	and.b32  	%r1, %r10, 256;
	@%p1 bra 	BB1_29;

	and.b32  	%r12, %r9, 2048;
	setp.eq.s32	%p2, %r12, 0;
	and.b32  	%r2, %r9, 4096;
	and.b32  	%r3, %r10, 512;
	@%p2 bra 	BB1_15;

	setp.eq.s32	%p3, %r2, 0;
	@%p3 bra 	BB1_13;

	setp.eq.s32	%p4, %r3, 0;
	and.b32  	%r4, %r9, 256;
	@%p4 bra 	BB1_7;

	setp.ne.s32	%p5, %r4, 0;
	mov.u64 	%rd31, 0;
	@%p5 bra 	BB1_47;

	and.b32  	%r13, %r10, 4096;
	setp.eq.s32	%p6, %r13, 0;
	setp.ne.s32	%p7, %r1, 0;
	or.pred  	%p8, %p6, %p7;
	mov.u64 	%rd31, 0;
	@%p8 bra 	BB1_47;

	cvta.const.u64 	%rd31, k709YCbCr_To_601YCbCr;
	bra.uni 	BB1_47;

BB1_7:
	setp.eq.s32	%p9, %r4, 0;
	@%p9 bra 	BB1_10;

	setp.eq.s32	%p10, %r1, 0;
	mov.u64 	%rd31, 0;
	@%p10 bra 	BB1_47;

	cvta.const.u64 	%rd31, k709YPbPr_To_RGB32f;
	bra.uni 	BB1_47;

BB1_10:
	setp.eq.s32	%p11, %r1, 0;
	@%p11 bra 	BB1_12;

	cvta.const.u64 	%rd31, k709YCbCr_To_RGB32f;
	bra.uni 	BB1_47;

BB1_12:
	cvta.const.u64 	%rd31, k709YCbCr_To_RGB8u;
	bra.uni 	BB1_47;

BB1_13:
	setp.ne.s32	%p12, %r3, 0;
	setp.eq.s32	%p13, %r1, 0;
	or.pred  	%p14, %p13, %p12;
	mov.u64 	%rd31, 0;
	@%p14 bra 	BB1_47;

	cvta.const.u64 	%rd31, k709YCbCrFullRange_To_RGB32f;
	bra.uni 	BB1_47;

BB1_15:
	setp.eq.s32	%p15, %r2, 0;
	@%p15 bra 	BB1_25;

	setp.eq.s32	%p16, %r3, 0;
	and.b32  	%r5, %r9, 256;
	@%p16 bra 	BB1_19;

	or.b32  	%r14, %r5, %r1;
	setp.ne.s32	%p17, %r14, 0;
	mov.u64 	%rd31, 0;
	@%p17 bra 	BB1_47;

	cvta.const.u64 	%rd31, k601YCbCr_To_709YCbCr;
	bra.uni 	BB1_47;

BB1_19:
	setp.eq.s32	%p18, %r5, 0;
	@%p18 bra 	BB1_22;

	setp.eq.s32	%p19, %r1, 0;
	mov.u64 	%rd31, 0;
	@%p19 bra 	BB1_47;

	cvta.const.u64 	%rd31, k601YPbPr_To_RGB32f;
	bra.uni 	BB1_47;

BB1_22:
	setp.eq.s32	%p20, %r1, 0;
	@%p20 bra 	BB1_24;

	cvta.const.u64 	%rd31, k601YCbCr_To_RGB32f;
	bra.uni 	BB1_47;

BB1_24:
	cvta.const.u64 	%rd31, k601YCbCr_To_RGB8u;
	bra.uni 	BB1_47;

BB1_25:
	setp.ne.s32	%p21, %r3, 0;
	mov.u64 	%rd31, 0;
	@%p21 bra 	BB1_47;

	setp.eq.s32	%p22, %r1, 0;
	@%p22 bra 	BB1_28;

	cvta.const.u64 	%rd31, k601YCbCrFullRange_To_RGB32f;
	bra.uni 	BB1_47;

BB1_28:
	cvta.const.u64 	%rd31, k601YCbCrFullRange_To_RGB8u;
	bra.uni 	BB1_47;

BB1_29:
	and.b32  	%r15, %r9, 256;
	setp.eq.s32	%p23, %r15, 0;
	and.b32  	%r6, %r10, 2048;
	@%p23 bra 	BB1_40;

	setp.eq.s32	%p24, %r1, 0;
	@%p24 bra 	BB1_34;

	setp.eq.s32	%p25, %r6, 0;
	@%p25 bra 	BB1_33;

	cvta.const.u64 	%rd31, kRGB32f_To_709YPbPr;
	bra.uni 	BB1_47;

BB1_33:
	cvta.const.u64 	%rd31, kRGB32f_To_601YPbPr;
	bra.uni 	BB1_47;

BB1_34:
	setp.eq.s32	%p26, %r6, 0;
	and.b32  	%r7, %r10, 4096;
	@%p26 bra 	BB1_37;

	setp.eq.s32	%p27, %r7, 0;
	mov.u64 	%rd31, 0;
	@%p27 bra 	BB1_47;

	cvta.const.u64 	%rd31, kRGB32f_To_709YCbCr;
	bra.uni 	BB1_47;

BB1_37:
	setp.eq.s32	%p28, %r7, 0;
	@%p28 bra 	BB1_39;

	cvta.const.u64 	%rd31, kRGB32f_To_601YCbCr;
	bra.uni 	BB1_47;

BB1_39:
	cvta.const.u64 	%rd31, kRGB32f_To_601YCbCrFullRange;
	bra.uni 	BB1_47;

BB1_40:
	setp.ne.s32	%p29, %r1, 0;
	mov.u64 	%rd31, 0;
	@%p29 bra 	BB1_47;

	setp.eq.s32	%p30, %r6, 0;
	and.b32  	%r8, %r10, 4096;
	@%p30 bra 	BB1_44;

	setp.ne.s32	%p31, %r8, 0;
	mov.u64 	%rd31, 0;
	@%p31 bra 	BB1_47;

	cvta.const.u64 	%rd31, kRGB8u_To_709YCbCr;
	bra.uni 	BB1_47;

BB1_44:
	setp.eq.s32	%p32, %r8, 0;
	@%p32 bra 	BB1_46;

	cvta.const.u64 	%rd31, kRGB8u_To_601YCbCr;
	bra.uni 	BB1_47;

BB1_46:
	cvta.const.u64 	%rd31, kRGB8u_To_601YCbCrFullRange;

BB1_47:
	st.param.b64	[func_retval0+0], %rd31;
	ret;
}

.visible .func  (.param .b32 func_retval0) _Z5clampIfET_S0_S0_S0_(
	.param .b32 _Z5clampIfET_S0_S0_S0__param_0,
	.param .b32 _Z5clampIfET_S0_S0_S0__param_1,
	.param .b32 _Z5clampIfET_S0_S0_S0__param_2
)
{
	.reg .f32 	%f<6>;


	ld.param.f32 	%f1, [_Z5clampIfET_S0_S0_S0__param_0];
	ld.param.f32 	%f2, [_Z5clampIfET_S0_S0_S0__param_1];
	ld.param.f32 	%f3, [_Z5clampIfET_S0_S0_S0__param_2];
	max.ftz.f32 	%f4, %f1, %f2;
	min.ftz.f32 	%f5, %f4, %f3;
	st.param.f32	[func_retval0+0], %f5;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z23UnpremultiplyComponents6float4j(
	.param .align 16 .b8 _Z23UnpremultiplyComponents6float4j_param_0[16],
	.param .b32 _Z23UnpremultiplyComponents6float4j_param_1
)
{
	.reg .pred 	%p<15>;
	.reg .s32 	%r<8>;
	.reg .f32 	%f<81>;


	ld.param.f32 	%f74, [_Z23UnpremultiplyComponents6float4j_param_0+12];
	ld.param.f32 	%f73, [_Z23UnpremultiplyComponents6float4j_param_0+8];
	ld.param.f32 	%f72, [_Z23UnpremultiplyComponents6float4j_param_0+4];
	ld.param.f32 	%f30, [_Z23UnpremultiplyComponents6float4j_param_0];
	ld.param.u32 	%r5, [_Z23UnpremultiplyComponents6float4j_param_1];
	and.b32  	%r1, %r5, 768;
	setp.ne.s32	%p1, %r1, 512;
	@%p1 bra 	BB3_7;

	and.b32  	%r2, %r5, 248;
	setp.ne.s32	%p2, %r2, 0;
	@%p2 bra 	BB3_3;

	mov.f32 	%f71, 0f437F0000;
	bra.uni 	BB3_6;

BB3_3:
	setp.ne.s32	%p3, %r2, 8;
	@%p3 bra 	BB3_5;

	mov.f32 	%f71, 0f447FC000;
	bra.uni 	BB3_6;

BB3_5:
	setp.eq.s32	%p4, %r2, 16;
	selp.f32	%f71, 0f47000000, 0f3F800000, %p4;

BB3_6:
	and.b32  	%r6, %r5, 4096;
	setp.eq.s32	%p5, %r6, 0;
	ld.const.f32 	%f36, [kYCbCrOffset];
	ld.const.f32 	%f37, [kYCbCrFullRangeOffset];
	selp.f32	%f38, %f37, %f36, %p5;
	mov.f32 	%f39, 0f437F0000;
	div.approx.ftz.f32 	%f40, %f71, %f39;
	mul.ftz.f32 	%f41, %f38, %f40;
	sub.ftz.f32 	%f72, %f72, %f41;
	ld.const.f32 	%f42, [kYCbCrOffset+4];
	ld.const.f32 	%f43, [kYCbCrFullRangeOffset+4];
	selp.f32	%f44, %f43, %f42, %p5;
	mul.ftz.f32 	%f45, %f44, %f40;
	sub.ftz.f32 	%f73, %f73, %f45;
	ld.const.f32 	%f46, [kYCbCrOffset+8];
	ld.const.f32 	%f47, [kYCbCrFullRangeOffset+8];
	selp.f32	%f48, %f47, %f46, %p5;
	mul.ftz.f32 	%f49, %f48, %f40;
	sub.ftz.f32 	%f74, %f74, %f49;

BB3_7:
	add.ftz.f32 	%f50, %f30, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f50, 0f00000000;
	mov.f32 	%f76, %f30;
	@%p6 bra 	BB3_9;

	mov.f32 	%f80, 0f00000000;
	mov.f32 	%f79, %f80;
	mov.f32 	%f78, %f80;
	mov.f32 	%f76, %f80;
	bra.uni 	BB3_15;

BB3_9:
	and.b32  	%r3, %r5, 248;
	setp.ne.s32	%p7, %r3, 0;
	@%p7 bra 	BB3_11;

	mov.f32 	%f75, 0f437F0000;
	bra.uni 	BB3_14;

BB3_11:
	setp.ne.s32	%p8, %r3, 8;
	@%p8 bra 	BB3_13;

	mov.f32 	%f75, 0f447FC000;
	bra.uni 	BB3_14;

BB3_13:
	setp.eq.s32	%p9, %r3, 16;
	selp.f32	%f75, 0f47000000, 0f3F800000, %p9;

BB3_14:
	div.approx.ftz.f32 	%f57, %f75, %f30;
	mul.ftz.f32 	%f78, %f72, %f57;
	mul.ftz.f32 	%f79, %f73, %f57;
	mul.ftz.f32 	%f80, %f74, %f57;

BB3_15:
	@%p1 bra 	BB3_22;

	and.b32  	%r4, %r5, 248;
	setp.eq.s32	%p11, %r4, 8;
	@%p11 bra 	BB3_19;

	setp.ne.s32	%p12, %r4, 0;
	@%p12 bra 	BB3_20;

	mov.f32 	%f77, 0f437F0000;
	bra.uni 	BB3_21;

BB3_19:
	mov.f32 	%f77, 0f447FC000;
	bra.uni 	BB3_21;

BB3_20:
	setp.eq.s32	%p13, %r4, 16;
	selp.f32	%f77, 0f47000000, 0f3F800000, %p13;

BB3_21:
	and.b32  	%r7, %r5, 4096;
	setp.eq.s32	%p14, %r7, 0;
	ld.const.f32 	%f60, [kYCbCrOffset];
	ld.const.f32 	%f61, [kYCbCrFullRangeOffset];
	selp.f32	%f62, %f61, %f60, %p14;
	mov.f32 	%f63, 0f437F0000;
	div.approx.ftz.f32 	%f64, %f77, %f63;
	fma.rn.ftz.f32 	%f78, %f62, %f64, %f78;
	ld.const.f32 	%f65, [kYCbCrOffset+4];
	ld.const.f32 	%f66, [kYCbCrFullRangeOffset+4];
	selp.f32	%f67, %f66, %f65, %p14;
	fma.rn.ftz.f32 	%f79, %f67, %f64, %f79;
	ld.const.f32 	%f68, [kYCbCrOffset+8];
	ld.const.f32 	%f69, [kYCbCrFullRangeOffset+8];
	selp.f32	%f70, %f69, %f68, %p14;
	fma.rn.ftz.f32 	%f80, %f70, %f64, %f80;

BB3_22:
	st.param.f32	[func_retval0+0], %f76;
	st.param.f32	[func_retval0+4], %f78;
	st.param.f32	[func_retval0+8], %f79;
	st.param.f32	[func_retval0+12], %f80;
	ret;
}

.visible .func _Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii(
	.param .align 16 .b8 _Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_0[16],
	.param .b64 _Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_1,
	.param .b32 _Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_2,
	.param .b32 _Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_3,
	.param .b32 _Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_4,
	.param .b32 _Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_5,
	.param .b32 _Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_6
)
{
	.reg .pred 	%p<5>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<17>;
	.reg .f32 	%f<5>;
	.reg .s64 	%rd<9>;


	ld.param.f32 	%f4, [_Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_0+12];
	ld.param.f32 	%f3, [_Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_0+8];
	ld.param.f32 	%f2, [_Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_0+4];
	ld.param.f32 	%f1, [_Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_0];
	ld.param.u64 	%rd4, [_Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_1];
	ld.param.u32 	%r7, [_Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_2];
	ld.param.u32 	%r8, [_Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_3];
	ld.param.u32 	%r5, [_Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_4];
	ld.param.u32 	%r9, [_Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_5];
	ld.param.u32 	%r10, [_Z20WritePixelFormat_4446float4PS_ij17DevicePixelFormatii_param_6];
	mad.lo.s32 	%r11, %r10, %r7, %r9;
	cvt.s64.s32	%rd1, %r11;
	cvt.rzi.ftz.u32.f32	%r1, %f1;
	cvt.rzi.ftz.u32.f32	%r2, %f2;
	cvt.rzi.ftz.u32.f32	%r3, %f3;
	cvt.rzi.ftz.u32.f32	%r4, %f4;
	mul.wide.s32 	%rd5, %r11, 8;
	add.s64 	%rd2, %rd4, %rd5;
	mul.wide.s32 	%rd6, %r11, 4;
	add.s64 	%rd3, %rd4, %rd6;
	and.b32  	%r6, %r8, 248;
	setp.eq.s32	%p1, %r6, 0;
	@%p1 bra 	BB4_5;

	setp.eq.s32	%p2, %r6, 8;
	@%p2 bra 	BB4_4;

	setp.ne.s32	%p3, %r6, 16;
	@%p3 bra 	BB4_6;

	st.u16 	[%rd2], %r1;
	st.u16 	[%rd2+2], %r2;
	st.u16 	[%rd2+4], %r3;
	st.u16 	[%rd2+6], %r4;
	bra.uni 	BB4_9;

BB4_4:
	shl.b32 	%r12, %r1, 2;
	shl.b32 	%r13, %r2, 12;
	add.s32 	%r14, %r13, %r12;
	shl.b32 	%r15, %r3, 22;
	add.s32 	%r16, %r14, %r15;
	st.u32 	[%rd3], %r16;
	bra.uni 	BB4_9;

BB4_5:
	st.u8 	[%rd3], %r1;
	st.u8 	[%rd3+1], %r2;
	st.u8 	[%rd3+2], %r3;
	st.u8 	[%rd3+3], %r4;
	bra.uni 	BB4_9;

BB4_6:
	setp.eq.s32	%p4, %r5, 0;
	@%p4 bra 	BB4_8;

	shl.b64 	%rd7, %rd1, 4;
	add.s64 	%rd8, %rd4, %rd7;
	st.v4.f32 	[%rd8], {%f1, %f2, %f3, %f4};
	bra.uni 	BB4_9;

BB4_8:
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f4;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f1;
	mov.b16 	%rs4, %temp;
}
	st.v4.u16 	[%rd2], {%rs4, %rs3, %rs2, %rs1};

BB4_9:
	ret;
}

.visible .func _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii(
	.param .b32 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_0,
	.param .b64 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_1,
	.param .b32 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_2,
	.param .b64 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_3,
	.param .b32 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_4,
	.param .b64 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_5,
	.param .b32 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_6,
	.param .b64 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_7,
	.param .b32 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_8,
	.param .b64 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_9,
	.param .b32 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_10,
	.param .b64 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_11,
	.param .b32 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_12,
	.param .b64 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_13,
	.param .b32 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_14,
	.param .b64 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_15,
	.param .b32 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_16,
	.param .b32 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_17,
	.param .b32 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_18,
	.param .b32 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_19,
	.param .b32 _Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_20
)
{
	.reg .pred 	%p<156>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<211>;
	.reg .f32 	%f<464>;
	.reg .s64 	%rd<59>;


	ld.param.u32 	%r35, [_Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_0];
	ld.param.u32 	%r36, [_Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_2];
	ld.param.u32 	%r37, [_Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_4];
	ld.param.u32 	%r38, [_Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_6];
	ld.param.u32 	%r39, [_Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_8];
	ld.param.u32 	%r40, [_Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_10];
	ld.param.u32 	%r41, [_Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_12];
	ld.param.u32 	%r42, [_Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_14];
	ld.param.u64 	%rd11, [_Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_15];
	ld.param.u32 	%r43, [_Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_16];
	ld.param.u32 	%r44, [_Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_17];
	ld.param.u32 	%r45, [_Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_18];
	ld.param.u32 	%r46, [_Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_19];
	ld.param.u32 	%r47, [_Z29PixelFormatConvert_420_To_444iPviS_iS_iS_iS_iS_iS_jP6float4ij17DevicePixelFormatii_param_20];
	mov.u32 	%r48, %ctaid.x;
	mov.u32 	%r49, %ntid.x;
	mov.u32 	%r50, %tid.x;
	mad.lo.s32 	%r1, %r49, %r48, %r50;
	mov.u32 	%r51, %ntid.y;
	mov.u32 	%r52, %ctaid.y;
	mov.u32 	%r53, %tid.y;
	mad.lo.s32 	%r2, %r51, %r52, %r53;
	setp.lt.s32	%p1, %r2, %r47;
	setp.lt.s32	%p2, %r1, %r46;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB5_189;
	bra.uni 	BB5_1;

BB5_1:
	cvt.rn.f32.s32	%f149, %r1;
	add.ftz.f32 	%f150, %f149, 0f3F000000;
	mul.ftz.f32 	%f151, %f150, 0f3F000000;
	and.b32  	%r58, %r42, 67092480;
	setp.eq.s32	%p4, %r58, 4194304;
	setp.eq.s32	%p5, %r58, 8388608;
	or.pred  	%p6, %p4, %p5;
	add.ftz.f32 	%f152, %f151, 0f3E800000;
	selp.f32	%f1, %f152, %f151, %p6;
	add.s32 	%r59, %r1, %r35;
	cvt.rn.f32.s32	%f153, %r59;
	add.ftz.f32 	%f147, %f153, 0f3F000000;
	cvt.rn.f32.s32	%f154, %r2;
	add.ftz.f32 	%f148, %f154, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r54, %r55, %r56, %r57}, [inYPlaneTexture, {%f147, %f148}];
	// inline asm
	mov.b32 	 %f3, %r54;
	@%p5 bra 	BB5_3;

	setp.ne.s32	%p7, %r58, 33554432;
	@%p7 bra 	BB5_4;

BB5_3:
	cvt.rn.f32.s32	%f159, %r36;
	add.ftz.f32 	%f155, %f159, %f1;
	mul.ftz.f32 	%f158, %f148, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r60, %r61, %r62, %r63}, [inFrameCodedUPlaneTexture, {%f155, %f158}];
	// inline asm
	cvt.rn.f32.s32	%f160, %r37;
	add.ftz.f32 	%f157, %f160, %f1;
	// inline asm
	tex.2d.v4.u32.f32 {%r64, %r65, %r66, %r67}, [inFrameCodedVPlaneTexture, {%f157, %f158}];
	// inline asm
	mov.u32 	%r210, %r64;
	mov.u32 	%r209, %r60;
	bra.uni 	BB5_7;

BB5_4:
	and.b32  	%r5, %r2, 1;
	setp.eq.s32	%p8, %r5, 0;
	@%p8 bra 	BB5_6;

	selp.u32	%r76, 1, 0, %p8;
	shl.b32 	%r77, %r76, 1;
	shr.s32 	%r78, %r2, 31;
	shr.u32 	%r79, %r78, 30;
	add.s32 	%r80, %r2, %r79;
	and.b32  	%r81, %r80, 2147483644;
	sub.s32 	%r82, %r2, %r81;
	add.s32 	%r83, %r77, %r82;
	shl.b32 	%r84, %r83, 1;
	add.s32 	%r85, %r84, -1;
	shr.s32 	%r86, %r80, 2;
	cvt.rn.f32.s32	%f165, %r86;
	cvt.rn.f32.s32	%f166, %r85;
	mov.f32 	%f167, 0f41000000;
	div.approx.ftz.f32 	%f168, %f166, %f167;
	add.ftz.f32 	%f164, %f165, %f168;
	cvt.rn.f32.s32	%f169, %r40;
	add.ftz.f32 	%f161, %f169, %f1;
	// inline asm
	tex.2d.v4.u32.f32 {%r68, %r69, %r70, %r71}, [inLowerUPlaneTexture, {%f161, %f164}];
	// inline asm
	cvt.rn.f32.s32	%f170, %r41;
	add.ftz.f32 	%f163, %f170, %f1;
	// inline asm
	tex.2d.v4.u32.f32 {%r72, %r73, %r74, %r75}, [inLowerVPlaneTexture, {%f163, %f164}];
	// inline asm
	mov.u32 	%r210, %r72;
	mov.u32 	%r209, %r68;
	bra.uni 	BB5_7;

BB5_6:
	selp.u32	%r95, 1, 0, %p8;
	shl.b32 	%r96, %r95, 1;
	shr.s32 	%r97, %r2, 31;
	shr.u32 	%r98, %r97, 30;
	add.s32 	%r99, %r2, %r98;
	and.b32  	%r100, %r99, 2147483644;
	sub.s32 	%r101, %r2, %r100;
	add.s32 	%r102, %r96, %r101;
	shl.b32 	%r103, %r102, 1;
	add.s32 	%r104, %r103, -1;
	shr.s32 	%r105, %r99, 2;
	cvt.rn.f32.s32	%f175, %r105;
	cvt.rn.f32.s32	%f176, %r104;
	mov.f32 	%f177, 0f41000000;
	div.approx.ftz.f32 	%f178, %f176, %f177;
	add.ftz.f32 	%f174, %f175, %f178;
	cvt.rn.f32.s32	%f179, %r38;
	add.ftz.f32 	%f171, %f179, %f1;
	// inline asm
	tex.2d.v4.u32.f32 {%r87, %r88, %r89, %r90}, [inUpperUPlaneTexture, {%f171, %f174}];
	// inline asm
	cvt.rn.f32.s32	%f180, %r39;
	add.ftz.f32 	%f173, %f180, %f1;
	// inline asm
	tex.2d.v4.u32.f32 {%r91, %r92, %r93, %r94}, [inUpperVPlaneTexture, {%f173, %f174}];
	// inline asm
	mov.u32 	%r210, %r91;
	mov.u32 	%r209, %r87;

BB5_7:
	mov.b32 	 %f181, %r210;
	mul.ftz.f32 	%f4, %f181, 0f437F0000;
	mov.b32 	 %f182, %r209;
	mul.ftz.f32 	%f183, %f182, 0f437F0000;
	and.b32  	%r106, %r42, 8192;
	setp.eq.s32	%p11, %r106, 0;
	mul.ftz.f32 	%f184, %f3, 0f437F0000;
	selp.f32	%f5, %f184, %f183, %p11;
	selp.f32	%f6, %f183, %f184, %p11;
	selp.f32	%f458, %f4, 0f00000000, %p11;
	and.b32  	%r107, %r42, 768;
	setp.ne.s32	%p12, %r107, 512;
	mov.f32 	%f424, %f5;
	mov.f32 	%f457, %f6;
	@%p12 bra 	BB5_15;

	and.b32  	%r108, %r44, 768;
	setp.eq.s32	%p13, %r108, 512;
	mov.f32 	%f392, %f5;
	mov.f32 	%f424, %f392;
	mov.f32 	%f425, %f6;
	mov.f32 	%f457, %f425;
	@%p13 bra 	BB5_15;

	and.b32  	%r109, %r42, 248;
	setp.ne.s32	%p14, %r109, 0;
	@%p14 bra 	BB5_11;

	mov.f32 	%f365, 0f437F0000;
	bra.uni 	BB5_14;

BB5_11:
	setp.ne.s32	%p15, %r109, 8;
	@%p15 bra 	BB5_13;

	mov.f32 	%f365, 0f447FC000;
	bra.uni 	BB5_14;

BB5_13:
	setp.eq.s32	%p16, %r109, 16;
	selp.f32	%f365, 0f47000000, 0f3F800000, %p16;

BB5_14:
	and.b32  	%r112, %r42, 4096;
	setp.eq.s32	%p17, %r112, 0;
	ld.const.f32 	%f187, [kYCbCrOffset];
	ld.const.f32 	%f188, [kYCbCrFullRangeOffset];
	selp.f32	%f189, %f188, %f187, %p17;
	mov.f32 	%f190, 0f437F0000;
	div.approx.ftz.f32 	%f191, %f365, %f190;
	mul.ftz.f32 	%f192, %f189, %f191;
	sub.ftz.f32 	%f424, %f5, %f192;
	ld.const.f32 	%f193, [kYCbCrOffset+4];
	ld.const.f32 	%f194, [kYCbCrFullRangeOffset+4];
	selp.f32	%f195, %f194, %f193, %p17;
	mul.ftz.f32 	%f196, %f195, %f191;
	sub.ftz.f32 	%f457, %f6, %f196;
	ld.const.f32 	%f197, [kYCbCrOffset+8];
	ld.const.f32 	%f198, [kYCbCrFullRangeOffset+8];
	selp.f32	%f199, %f198, %f197, %p17;
	mul.ftz.f32 	%f200, %f199, %f191;
	selp.f32	%f201, %f4, 0f00000000, %p11;
	sub.ftz.f32 	%f458, %f201, %f200;

BB5_15:
	mov.f32 	%f455, %f457;
	mov.f32 	%f422, %f424;
	and.b32  	%r114, %r44, 1024;
	setp.eq.s32	%p19, %r114, 0;
	shr.u32 	%r115, %r42, 10;
	and.b32  	%r116, %r115, 1;
	setp.eq.b32	%p20, %r116, 1;
	and.pred  	%p21, %p19, %p20;
	@!%p21 bra 	BB5_25;
	bra.uni 	BB5_16;

BB5_16:
	setp.ltu.ftz.f32	%p22, %f422, 0f00000000;
	@%p22 bra 	BB5_18;

	lg2.approx.ftz.f32 	%f202, %f422;
	mul.ftz.f32 	%f203, %f202, 0f3EE66666;
	ex2.approx.ftz.f32 	%f423, %f203;
	bra.uni 	BB5_19;

BB5_18:
	neg.ftz.f32 	%f204, %f422;
	lg2.approx.ftz.f32 	%f205, %f204;
	mul.ftz.f32 	%f206, %f205, 0f3EE66666;
	ex2.approx.ftz.f32 	%f207, %f206;
	neg.ftz.f32 	%f423, %f207;

BB5_19:
	mov.f32 	%f422, %f423;
	setp.ltu.ftz.f32	%p23, %f455, 0f00000000;
	@%p23 bra 	BB5_21;

	lg2.approx.ftz.f32 	%f208, %f455;
	mul.ftz.f32 	%f209, %f208, 0f3EE66666;
	ex2.approx.ftz.f32 	%f456, %f209;
	bra.uni 	BB5_22;

BB5_21:
	neg.ftz.f32 	%f210, %f455;
	lg2.approx.ftz.f32 	%f211, %f210;
	mul.ftz.f32 	%f212, %f211, 0f3EE66666;
	ex2.approx.ftz.f32 	%f213, %f212;
	neg.ftz.f32 	%f456, %f213;

BB5_22:
	mov.f32 	%f455, %f456;
	setp.ltu.ftz.f32	%p24, %f458, 0f00000000;
	@%p24 bra 	BB5_24;

	lg2.approx.ftz.f32 	%f214, %f458;
	mul.ftz.f32 	%f215, %f214, 0f3EE66666;
	ex2.approx.ftz.f32 	%f458, %f215;
	bra.uni 	BB5_25;

BB5_24:
	neg.ftz.f32 	%f216, %f458;
	lg2.approx.ftz.f32 	%f217, %f216;
	mul.ftz.f32 	%f218, %f217, 0f3EE66666;
	ex2.approx.ftz.f32 	%f219, %f218;
	neg.ftz.f32 	%f458, %f219;

BB5_25:
	mov.f32 	%f25, %f455;
	mov.f32 	%f24, %f422;
	xor.b32  	%r12, %r44, %r42;
	and.b32  	%r117, %r12, 2560;
	setp.ne.s32	%p25, %r117, 0;
	@%p25 bra 	BB5_39;

	setp.eq.s32	%p26, %r107, 512;
	and.b32  	%r119, %r44, 768;
	setp.eq.s32	%p27, %r119, 512;
	xor.pred  	%p28, %p26, %p27;
	@%p28 bra 	BB5_39;

	and.b32  	%r120, %r12, 248;
	setp.eq.s32	%p29, %r120, 0;
	selp.f32	%f390, 0f00000000, %f4, %p11;
	mov.f32 	%f420, %f24;
	mov.f32 	%f453, %f25;
	@%p29 bra 	BB5_110;

	and.b32  	%r13, %r44, 248;
	setp.ne.s32	%p31, %r13, 0;
	@%p31 bra 	BB5_30;

	mov.f32 	%f366, 0f437F0000;
	bra.uni 	BB5_33;

BB5_30:
	setp.ne.s32	%p32, %r13, 8;
	@%p32 bra 	BB5_32;

	mov.f32 	%f366, 0f447FC000;
	bra.uni 	BB5_33;

BB5_32:
	setp.eq.s32	%p33, %r13, 16;
	selp.f32	%f366, 0f47000000, 0f3F800000, %p33;

BB5_33:
	and.b32  	%r14, %r42, 248;
	setp.ne.s32	%p34, %r14, 0;
	@%p34 bra 	BB5_35;

	mov.f32 	%f367, 0f437F0000;
	bra.uni 	BB5_38;

BB5_35:
	setp.ne.s32	%p35, %r14, 8;
	@%p35 bra 	BB5_37;

	mov.f32 	%f367, 0f447FC000;
	bra.uni 	BB5_38;

BB5_37:
	setp.eq.s32	%p36, %r14, 16;
	selp.f32	%f367, 0f47000000, 0f3F800000, %p36;

BB5_38:
	selp.f32	%f224, 0f00000000, %f4, %p11;
	div.approx.ftz.f32 	%f225, %f366, %f367;
	mul.ftz.f32 	%f390, %f224, %f225;
	mul.ftz.f32 	%f420, %f24, %f225;
	mul.ftz.f32 	%f453, %f25, %f225;
	mul.ftz.f32 	%f458, %f458, %f225;
	bra.uni 	BB5_110;

BB5_39:
	and.b32  	%r123, %r42, 512;
	setp.eq.s32	%p38, %r123, 0;
	@%p38 bra 	BB5_62;

	and.b32  	%r124, %r42, 2048;
	setp.eq.s32	%p39, %r124, 0;
	and.b32  	%r15, %r42, 4096;
	and.b32  	%r16, %r44, 512;
	@%p39 bra 	BB5_52;

	setp.eq.s32	%p40, %r15, 0;
	@%p40 bra 	BB5_50;

	setp.eq.s32	%p41, %r16, 0;
	and.b32  	%r17, %r42, 256;
	@%p41 bra 	BB5_46;

	setp.ne.s32	%p42, %r17, 0;
	mov.u64 	%rd58, 0;
	@%p42 bra 	BB5_74;

	and.b32  	%r125, %r44, 4096;
	setp.eq.s32	%p43, %r125, 0;
	shr.u32 	%r126, %r44, 8;
	and.b32  	%r127, %r126, 1;
	setp.eq.b32	%p44, %r127, 1;
	or.pred  	%p45, %p43, %p44;
	mov.u64 	%rd58, 0;
	@%p45 bra 	BB5_74;

	mov.u64 	%rd58, k709YCbCr_To_601YCbCr;
	bra.uni 	BB5_74;

BB5_46:
	setp.eq.s32	%p46, %r17, 0;
	@%p46 bra 	BB5_49;

	and.b32  	%r128, %r44, 256;
	setp.eq.s32	%p47, %r128, 0;
	mov.u64 	%rd58, 0;
	@%p47 bra 	BB5_74;

	mov.u64 	%rd58, k709YPbPr_To_RGB32f;
	bra.uni 	BB5_74;

BB5_49:
	and.b32  	%r129, %r44, 256;
	setp.eq.s32	%p48, %r129, 0;
	mov.u64 	%rd30, k709YCbCr_To_RGB32f;
	mov.u64 	%rd31, k709YCbCr_To_RGB8u;
	selp.b64	%rd58, %rd31, %rd30, %p48;
	bra.uni 	BB5_74;

BB5_50:
	and.b32  	%r130, %r44, 256;
	setp.eq.s32	%p49, %r130, 0;
	setp.ne.s32	%p50, %r16, 0;
	or.pred  	%p51, %p49, %p50;
	mov.u64 	%rd58, 0;
	@%p51 bra 	BB5_74;

	mov.u64 	%rd58, k709YCbCrFullRange_To_RGB32f;
	bra.uni 	BB5_74;

BB5_52:
	setp.eq.s32	%p52, %r15, 0;
	@%p52 bra 	BB5_60;

	setp.eq.s32	%p53, %r16, 0;
	and.b32  	%r18, %r42, 256;
	@%p53 bra 	BB5_56;

	setp.ne.s32	%p54, %r18, 0;
	shr.u32 	%r131, %r44, 8;
	and.b32  	%r132, %r131, 1;
	setp.eq.b32	%p55, %r132, 1;
	or.pred  	%p56, %p54, %p55;
	mov.u64 	%rd58, 0;
	@%p56 bra 	BB5_74;

	mov.u64 	%rd58, k601YCbCr_To_709YCbCr;
	bra.uni 	BB5_74;

BB5_56:
	setp.eq.s32	%p57, %r18, 0;
	@%p57 bra 	BB5_59;

	and.b32  	%r133, %r44, 256;
	setp.eq.s32	%p58, %r133, 0;
	mov.u64 	%rd58, 0;
	@%p58 bra 	BB5_74;

	mov.u64 	%rd58, k601YPbPr_To_RGB32f;
	bra.uni 	BB5_74;

BB5_59:
	and.b32  	%r134, %r44, 256;
	setp.eq.s32	%p59, %r134, 0;
	mov.u64 	%rd38, k601YCbCr_To_RGB32f;
	mov.u64 	%rd39, k601YCbCr_To_RGB8u;
	selp.b64	%rd58, %rd39, %rd38, %p59;
	bra.uni 	BB5_74;

BB5_60:
	setp.ne.s32	%p60, %r16, 0;
	mov.u64 	%rd58, 0;
	@%p60 bra 	BB5_74;

	and.b32  	%r135, %r44, 256;
	setp.eq.s32	%p61, %r135, 0;
	mov.u64 	%rd41, k601YCbCrFullRange_To_RGB32f;
	mov.u64 	%rd42, k601YCbCrFullRange_To_RGB8u;
	selp.b64	%rd58, %rd42, %rd41, %p61;
	bra.uni 	BB5_74;

BB5_62:
	and.b32  	%r136, %r42, 256;
	setp.eq.s32	%p62, %r136, 0;
	and.b32  	%r19, %r44, 2048;
	@%p62 bra 	BB5_69;

	and.b32  	%r137, %r44, 256;
	setp.eq.s32	%p63, %r137, 0;
	@%p63 bra 	BB5_65;

	setp.eq.s32	%p64, %r19, 0;
	mov.u64 	%rd43, kRGB32f_To_709YPbPr;
	mov.u64 	%rd44, kRGB32f_To_601YPbPr;
	selp.b64	%rd58, %rd44, %rd43, %p64;
	bra.uni 	BB5_74;

BB5_65:
	setp.eq.s32	%p65, %r19, 0;
	and.b32  	%r20, %r44, 4096;
	@%p65 bra 	BB5_68;

	setp.eq.s32	%p66, %r20, 0;
	mov.u64 	%rd58, 0;
	@%p66 bra 	BB5_74;

	mov.u64 	%rd58, kRGB32f_To_709YCbCr;
	bra.uni 	BB5_74;

BB5_68:
	setp.eq.s32	%p67, %r20, 0;
	mov.u64 	%rd47, kRGB32f_To_601YCbCr;
	mov.u64 	%rd48, kRGB32f_To_601YCbCrFullRange;
	selp.b64	%rd58, %rd48, %rd47, %p67;
	bra.uni 	BB5_74;

BB5_69:
	and.b32  	%r138, %r44, 256;
	mov.u64 	%rd58, 0;
	setp.ne.s32	%p68, %r138, 0;
	@%p68 bra 	BB5_74;

	setp.eq.s32	%p69, %r19, 0;
	and.b32  	%r21, %r44, 4096;
	@%p69 bra 	BB5_73;

	setp.ne.s32	%p70, %r21, 0;
	mov.u64 	%rd58, 0;
	@%p70 bra 	BB5_74;

	mov.u64 	%rd58, kRGB8u_To_709YCbCr;
	bra.uni 	BB5_74;

BB5_73:
	setp.eq.s32	%p71, %r21, 0;
	mov.u64 	%rd52, kRGB8u_To_601YCbCr;
	mov.u64 	%rd53, kRGB8u_To_601YCbCrFullRange;
	selp.b64	%rd58, %rd53, %rd52, %p71;

BB5_74:
	ld.const.f32 	%f226, [%rd58];
	ld.const.f32 	%f227, [%rd58+4];
	mul.ftz.f32 	%f228, %f25, %f227;
	fma.rn.ftz.f32 	%f229, %f24, %f226, %f228;
	ld.const.f32 	%f230, [%rd58+8];
	fma.rn.ftz.f32 	%f36, %f458, %f230, %f229;
	ld.const.f32 	%f231, [%rd58+12];
	ld.const.f32 	%f232, [%rd58+16];
	mul.ftz.f32 	%f233, %f25, %f232;
	fma.rn.ftz.f32 	%f234, %f24, %f231, %f233;
	ld.const.f32 	%f235, [%rd58+20];
	fma.rn.ftz.f32 	%f37, %f458, %f235, %f234;
	ld.const.f32 	%f236, [%rd58+24];
	ld.const.f32 	%f237, [%rd58+28];
	mul.ftz.f32 	%f238, %f25, %f237;
	fma.rn.ftz.f32 	%f239, %f24, %f236, %f238;
	ld.const.f32 	%f240, [%rd58+32];
	fma.rn.ftz.f32 	%f458, %f458, %f240, %f239;
	and.b32  	%r140, %r12, 248;
	setp.eq.s32	%p72, %r140, 0;
	selp.f32	%f390, 0f00000000, %f4, %p11;
	mov.f32 	%f420, %f36;
	mov.f32 	%f453, %f37;
	@%p72 bra 	BB5_110;

	and.b32  	%r22, %r44, 248;
	setp.eq.s32	%p74, %r22, 0;
	shr.u32 	%r142, %r42, 8;
	and.b32  	%r143, %r142, 1;
	setp.eq.b32	%p75, %r143, 1;
	and.pred  	%p76, %p74, %p75;
	@%p76 bra 	BB5_98;

	and.b32  	%r144, %r42, 248;
	setp.eq.s32	%p77, %r144, 0;
	shr.u32 	%r145, %r44, 8;
	and.b32  	%r146, %r145, 1;
	setp.eq.b32	%p78, %r146, 1;
	and.pred  	%p79, %p77, %p78;
	@%p79 bra 	BB5_98;

	setp.ne.s32	%p80, %r144, 0;
	@%p80 bra 	BB5_79;

	mov.f32 	%f368, 0f437F0000;
	bra.uni 	BB5_82;

BB5_79:
	setp.ne.s32	%p81, %r144, 8;
	@%p81 bra 	BB5_81;

	mov.f32 	%f368, 0f447FC000;
	bra.uni 	BB5_82;

BB5_81:
	setp.eq.s32	%p82, %r144, 16;
	selp.f32	%f368, 0f47000000, 0f3F800000, %p82;

BB5_82:
	and.b32  	%r150, %r42, 256;
	setp.eq.s32	%p83, %r150, 0;
	and.pred  	%p85, %p83, %p78;
	@%p85 bra 	BB5_91;

	and.b32  	%r155, %r44, 256;
	setp.eq.s32	%p87, %r155, 0;
	and.pred  	%p88, %p87, %p75;
	@%p88 bra 	BB5_85;

	mov.f32 	%f243, 0f437F0000;
	div.approx.ftz.f32 	%f376, %f368, %f243;
	mov.f32 	%f377, %f376;
	bra.uni 	BB5_97;

BB5_85:
	setp.ne.s32	%p89, %r22, 0;
	@%p89 bra 	BB5_87;

	mov.f32 	%f369, 0f437F0000;
	bra.uni 	BB5_90;

BB5_87:
	setp.ne.s32	%p90, %r22, 8;
	@%p90 bra 	BB5_89;

	mov.f32 	%f369, 0f447FC000;
	bra.uni 	BB5_90;

BB5_89:
	setp.eq.s32	%p91, %r22, 16;
	selp.f32	%f369, 0f47000000, 0f3F800000, %p91;

BB5_90:
	div.approx.ftz.f32 	%f377, %f369, %f368;
	mov.f32 	%f246, 0f437F0000;
	div.approx.ftz.f32 	%f376, %f369, %f246;
	bra.uni 	BB5_97;

BB5_91:
	setp.ne.s32	%p92, %r22, 0;
	@%p92 bra 	BB5_93;

	mov.f32 	%f370, 0f437F0000;
	bra.uni 	BB5_96;

BB5_93:
	setp.ne.s32	%p93, %r22, 8;
	@%p93 bra 	BB5_95;

	mov.f32 	%f370, 0f447FC000;
	bra.uni 	BB5_96;

BB5_95:
	setp.eq.s32	%p94, %r22, 16;
	selp.f32	%f370, 0f47000000, 0f3F800000, %p94;

BB5_96:
	div.approx.ftz.f32 	%f377, %f370, %f368;
	mov.f32 	%f249, 0f437F0000;
	div.approx.ftz.f32 	%f376, %f249, %f368;

BB5_97:
	mov.f32 	%f375, %f377;
	mul.ftz.f32 	%f458, %f458, %f376;
	mul.ftz.f32 	%f454, %f37, %f376;
	mul.ftz.f32 	%f421, %f36, %f376;
	bra.uni 	BB5_109;

BB5_98:
	setp.ne.s32	%p95, %r22, 0;
	@%p95 bra 	BB5_100;

	mov.f32 	%f371, 0f437F0000;
	bra.uni 	BB5_103;

BB5_100:
	setp.ne.s32	%p96, %r22, 8;
	@%p96 bra 	BB5_102;

	mov.f32 	%f371, 0f447FC000;
	bra.uni 	BB5_103;

BB5_102:
	setp.eq.s32	%p97, %r22, 16;
	selp.f32	%f371, 0f47000000, 0f3F800000, %p97;

BB5_103:
	and.b32  	%r23, %r42, 248;
	setp.ne.s32	%p98, %r23, 0;
	@%p98 bra 	BB5_105;

	mov.f32 	%f372, 0f437F0000;
	bra.uni 	BB5_108;

BB5_105:
	setp.ne.s32	%p99, %r23, 8;
	@%p99 bra 	BB5_107;

	mov.f32 	%f372, 0f447FC000;
	bra.uni 	BB5_108;

BB5_107:
	setp.eq.s32	%p100, %r23, 16;
	selp.f32	%f372, 0f47000000, 0f3F800000, %p100;

BB5_108:
	div.approx.ftz.f32 	%f375, %f371, %f372;
	mov.f32 	%f421, %f36;
	mov.f32 	%f454, %f37;

BB5_109:
	mov.f32 	%f453, %f454;
	mov.f32 	%f420, %f421;
	selp.f32	%f254, 0f00000000, %f4, %p11;
	mul.ftz.f32 	%f390, %f254, %f375;

BB5_110:
	mov.f32 	%f451, %f453;
	mov.f32 	%f418, %f420;
	mov.f32 	%f66, %f390;
	and.b32  	%r163, %r42, 1024;
	setp.eq.s32	%p102, %r163, 0;
	shr.u32 	%r164, %r44, 10;
	and.b32  	%r165, %r164, 1;
	setp.eq.b32	%p103, %r165, 1;
	and.pred  	%p104, %p102, %p103;
	@!%p104 bra 	BB5_120;
	bra.uni 	BB5_111;

BB5_111:
	setp.ltu.ftz.f32	%p105, %f418, 0f00000000;
	@%p105 bra 	BB5_113;

	lg2.approx.ftz.f32 	%f255, %f418;
	mul.ftz.f32 	%f256, %f255, 0f400E38E4;
	ex2.approx.ftz.f32 	%f419, %f256;
	bra.uni 	BB5_114;

BB5_113:
	neg.ftz.f32 	%f257, %f418;
	lg2.approx.ftz.f32 	%f258, %f257;
	mul.ftz.f32 	%f259, %f258, 0f400E38E4;
	ex2.approx.ftz.f32 	%f260, %f259;
	neg.ftz.f32 	%f419, %f260;

BB5_114:
	mov.f32 	%f418, %f419;
	setp.ltu.ftz.f32	%p106, %f451, 0f00000000;
	@%p106 bra 	BB5_116;

	lg2.approx.ftz.f32 	%f261, %f451;
	mul.ftz.f32 	%f262, %f261, 0f400E38E4;
	ex2.approx.ftz.f32 	%f452, %f262;
	bra.uni 	BB5_117;

BB5_116:
	neg.ftz.f32 	%f263, %f451;
	lg2.approx.ftz.f32 	%f264, %f263;
	mul.ftz.f32 	%f265, %f264, 0f400E38E4;
	ex2.approx.ftz.f32 	%f266, %f265;
	neg.ftz.f32 	%f452, %f266;

BB5_117:
	mov.f32 	%f451, %f452;
	setp.ltu.ftz.f32	%p107, %f458, 0f00000000;
	@%p107 bra 	BB5_119;

	lg2.approx.ftz.f32 	%f267, %f458;
	mul.ftz.f32 	%f268, %f267, 0f400E38E4;
	ex2.approx.ftz.f32 	%f458, %f268;
	bra.uni 	BB5_120;

BB5_119:
	neg.ftz.f32 	%f269, %f458;
	lg2.approx.ftz.f32 	%f270, %f269;
	mul.ftz.f32 	%f271, %f270, 0f400E38E4;
	ex2.approx.ftz.f32 	%f272, %f271;
	neg.ftz.f32 	%f458, %f272;

BB5_120:
	mov.f32 	%f450, %f451;
	mov.f32 	%f417, %f418;
	setp.eq.s32	%p108, %r107, 512;
	and.b32  	%r24, %r44, 768;
	setp.ne.s32	%p109, %r24, 512;
	or.pred  	%p110, %p108, %p109;
	@%p110 bra 	BB5_127;

	and.b32  	%r25, %r44, 248;
	setp.ne.s32	%p111, %r25, 0;
	@%p111 bra 	BB5_123;

	mov.f32 	%f378, 0f437F0000;
	bra.uni 	BB5_126;

BB5_123:
	setp.ne.s32	%p112, %r25, 8;
	@%p112 bra 	BB5_125;

	mov.f32 	%f378, 0f447FC000;
	bra.uni 	BB5_126;

BB5_125:
	setp.eq.s32	%p113, %r25, 16;
	selp.f32	%f378, 0f47000000, 0f3F800000, %p113;

BB5_126:
	and.b32  	%r167, %r44, 4096;
	setp.eq.s32	%p114, %r167, 0;
	ld.const.f32 	%f275, [kYCbCrOffset];
	ld.const.f32 	%f276, [kYCbCrFullRangeOffset];
	selp.f32	%f277, %f276, %f275, %p114;
	mov.f32 	%f278, 0f437F0000;
	div.approx.ftz.f32 	%f279, %f378, %f278;
	fma.rn.ftz.f32 	%f417, %f277, %f279, %f417;
	ld.const.f32 	%f280, [kYCbCrOffset+4];
	ld.const.f32 	%f281, [kYCbCrFullRangeOffset+4];
	selp.f32	%f282, %f281, %f280, %p114;
	fma.rn.ftz.f32 	%f450, %f282, %f279, %f450;
	ld.const.f32 	%f283, [kYCbCrOffset+8];
	ld.const.f32 	%f284, [kYCbCrFullRangeOffset+8];
	selp.f32	%f285, %f284, %f283, %p114;
	fma.rn.ftz.f32 	%f458, %f285, %f279, %f458;

BB5_127:
	mov.f32 	%f449, %f450;
	mov.f32 	%f416, %f417;
	and.b32  	%r169, %r12, 7;
	setp.eq.s32	%p115, %r169, 0;
	mov.f32 	%f388, %f66;
	mov.f32 	%f412, %f416;
	mov.f32 	%f445, %f449;
	@%p115 bra 	BB5_173;

	and.b32  	%r26, %r42, 7;
	setp.ne.s32	%p116, %r26, 2;
	@%p116 bra 	BB5_130;

	or.b32  	%r170, %r44, 4;
	and.b32  	%r171, %r170, 7;
	setp.eq.s32	%p117, %r171, 4;
	@%p117 bra 	BB5_131;

BB5_130:
	or.b32  	%r172, %r26, 4;
	setp.eq.s32	%p118, %r172, 4;
	@%p118 bra 	BB5_131;
	bra.uni 	BB5_137;

BB5_131:
	and.b32  	%r27, %r44, 248;
	setp.ne.s32	%p119, %r27, 0;
	@%p119 bra 	BB5_134;

	mov.f32 	%f388, 0f437F0000;

BB5_133:
	mov.f32 	%f412, %f416;
	mov.f32 	%f445, %f449;
	bra.uni 	BB5_173;

BB5_134:
	setp.ne.s32	%p120, %r27, 8;
	@%p120 bra 	BB5_136;

	mov.f32 	%f388, 0f447FC000;
	bra.uni 	BB5_133;

BB5_136:
	setp.eq.s32	%p121, %r27, 16;
	selp.f32	%f388, 0f47000000, 0f3F800000, %p121;
	bra.uni 	BB5_133;

BB5_137:
	setp.ne.s32	%p122, %r26, 1;
	@%p122 bra 	BB5_151;

	and.b32  	%r173, %r44, 7;
	setp.gt.u32	%p123, %r173, 4;
	@%p123 bra 	BB5_151;

	mov.u32 	%r174, 1;
	shl.b32 	%r175, %r174, %r173;
	and.b32  	%r176, %r175, 21;
	setp.ne.s32	%p124, %r176, 0;
	@%p124 bra 	BB5_140;
	bra.uni 	BB5_151;

BB5_140:
	and.b32  	%r29, %r44, 248;
	setp.ne.s32	%p125, %r29, 0;
	@%p125 bra 	BB5_142;

	mov.f32 	%f391, 0f437F0000;
	bra.uni 	BB5_145;

BB5_142:
	setp.ne.s32	%p126, %r29, 8;
	@%p126 bra 	BB5_144;

	mov.f32 	%f391, 0f447FC000;
	bra.uni 	BB5_145;

BB5_144:
	setp.eq.s32	%p127, %r29, 16;
	selp.f32	%f391, 0f47000000, 0f3F800000, %p127;

BB5_145:
	mov.f32 	%f91, %f391;
	@%p109 bra 	BB5_147;

	mov.f32 	%f290, 0f437F0000;
	div.approx.ftz.f32 	%f291, %f91, %f290;
	and.b32  	%r177, %r44, 4096;
	setp.eq.s32	%p129, %r177, 0;
	ld.const.f32 	%f292, [kYCbCrOffset];
	ld.const.f32 	%f293, [kYCbCrFullRangeOffset];
	selp.f32	%f294, %f293, %f292, %p129;
	mul.ftz.f32 	%f295, %f294, %f291;
	sub.ftz.f32 	%f416, %f416, %f295;
	ld.const.f32 	%f296, [kYCbCrOffset+4];
	ld.const.f32 	%f297, [kYCbCrFullRangeOffset+4];
	selp.f32	%f298, %f297, %f296, %p129;
	mul.ftz.f32 	%f299, %f298, %f291;
	sub.ftz.f32 	%f449, %f449, %f299;
	ld.const.f32 	%f300, [kYCbCrOffset+8];
	ld.const.f32 	%f301, [kYCbCrFullRangeOffset+8];
	selp.f32	%f302, %f301, %f300, %p129;
	mul.ftz.f32 	%f303, %f302, %f291;
	sub.ftz.f32 	%f458, %f458, %f303;

BB5_147:
	rcp.approx.ftz.f32 	%f304, %f91;
	mul.ftz.f32 	%f305, %f66, %f304;
	mul.ftz.f32 	%f414, %f416, %f305;
	mul.ftz.f32 	%f447, %f449, %f305;
	mul.ftz.f32 	%f458, %f458, %f305;
	@%p109 bra 	BB5_149;

	mov.f32 	%f306, 0f437F0000;
	div.approx.ftz.f32 	%f307, %f91, %f306;
	and.b32  	%r178, %r44, 4096;
	setp.eq.s32	%p131, %r178, 0;
	ld.const.f32 	%f308, [kYCbCrOffset];
	ld.const.f32 	%f309, [kYCbCrFullRangeOffset];
	selp.f32	%f310, %f309, %f308, %p131;
	fma.rn.ftz.f32 	%f414, %f310, %f307, %f414;
	ld.const.f32 	%f311, [kYCbCrOffset+4];
	ld.const.f32 	%f312, [kYCbCrFullRangeOffset+4];
	selp.f32	%f313, %f312, %f311, %p131;
	fma.rn.ftz.f32 	%f447, %f313, %f307, %f447;
	ld.const.f32 	%f314, [kYCbCrOffset+8];
	ld.const.f32 	%f315, [kYCbCrFullRangeOffset+8];
	selp.f32	%f316, %f315, %f314, %p131;
	fma.rn.ftz.f32 	%f458, %f316, %f307, %f458;

BB5_149:
	mov.f32 	%f445, %f447;
	mov.f32 	%f412, %f414;
	or.b32  	%r179, %r173, 4;
	setp.eq.s32	%p132, %r179, 4;
	mov.f32 	%f383, %f66;
	mov.f32 	%f388, %f383;
	@%p132 bra 	BB5_150;
	bra.uni 	BB5_173;

BB5_150:
	mov.f32 	%f388, %f91;
	bra.uni 	BB5_173;

BB5_151:
	mov.f32 	%f415, %f416;
	mov.f32 	%f448, %f449;
	@%p109 bra 	BB5_158;

	and.b32  	%r30, %r44, 248;
	setp.ne.s32	%p134, %r30, 0;
	@%p134 bra 	BB5_154;

	mov.f32 	%f379, 0f437F0000;
	bra.uni 	BB5_157;

BB5_154:
	setp.ne.s32	%p135, %r30, 8;
	@%p135 bra 	BB5_156;

	mov.f32 	%f379, 0f447FC000;
	bra.uni 	BB5_157;

BB5_156:
	setp.eq.s32	%p136, %r30, 16;
	selp.f32	%f379, 0f47000000, 0f3F800000, %p136;

BB5_157:
	and.b32  	%r180, %r44, 4096;
	setp.eq.s32	%p137, %r180, 0;
	ld.const.f32 	%f319, [kYCbCrOffset];
	ld.const.f32 	%f320, [kYCbCrFullRangeOffset];
	selp.f32	%f321, %f320, %f319, %p137;
	mov.f32 	%f322, 0f437F0000;
	div.approx.ftz.f32 	%f323, %f379, %f322;
	mul.ftz.f32 	%f324, %f321, %f323;
	sub.ftz.f32 	%f415, %f416, %f324;
	ld.const.f32 	%f325, [kYCbCrOffset+4];
	ld.const.f32 	%f326, [kYCbCrFullRangeOffset+4];
	selp.f32	%f327, %f326, %f325, %p137;
	mul.ftz.f32 	%f328, %f327, %f323;
	sub.ftz.f32 	%f448, %f449, %f328;
	ld.const.f32 	%f329, [kYCbCrOffset+8];
	ld.const.f32 	%f330, [kYCbCrFullRangeOffset+8];
	selp.f32	%f331, %f330, %f329, %p137;
	mul.ftz.f32 	%f332, %f331, %f323;
	sub.ftz.f32 	%f458, %f458, %f332;

BB5_158:
	add.ftz.f32 	%f333, %f66, 0fB70637BD;
	setp.gtu.ftz.f32	%p138, %f333, 0f00000000;
	@%p138 bra 	BB5_160;

	mov.f32 	%f458, 0f00000000;
	mov.f32 	%f446, %f458;
	mov.f32 	%f413, %f458;
	mov.f32 	%f389, %f458;
	bra.uni 	BB5_166;

BB5_160:
	and.b32  	%r31, %r44, 248;
	setp.ne.s32	%p139, %r31, 0;
	@%p139 bra 	BB5_162;

	mov.f32 	%f380, 0f437F0000;
	bra.uni 	BB5_165;

BB5_162:
	setp.ne.s32	%p140, %r31, 8;
	@%p140 bra 	BB5_164;

	mov.f32 	%f380, 0f447FC000;
	bra.uni 	BB5_165;

BB5_164:
	setp.eq.s32	%p141, %r31, 16;
	selp.f32	%f380, 0f47000000, 0f3F800000, %p141;

BB5_165:
	div.approx.ftz.f32 	%f340, %f380, %f66;
	mul.ftz.f32 	%f413, %f415, %f340;
	mul.ftz.f32 	%f446, %f448, %f340;
	mul.ftz.f32 	%f458, %f458, %f340;
	mov.f32 	%f389, %f66;

BB5_166:
	mov.f32 	%f445, %f446;
	mov.f32 	%f412, %f413;
	mov.f32 	%f388, %f389;
	@%p109 bra 	BB5_173;

	and.b32  	%r32, %r44, 248;
	setp.ne.s32	%p143, %r32, 0;
	@%p143 bra 	BB5_169;

	mov.f32 	%f381, 0f437F0000;
	bra.uni 	BB5_172;

BB5_169:
	setp.ne.s32	%p144, %r32, 8;
	@%p144 bra 	BB5_171;

	mov.f32 	%f381, 0f447FC000;
	bra.uni 	BB5_172;

BB5_171:
	setp.eq.s32	%p145, %r32, 16;
	selp.f32	%f381, 0f47000000, 0f3F800000, %p145;

BB5_172:
	and.b32  	%r181, %r44, 4096;
	setp.eq.s32	%p146, %r181, 0;
	ld.const.f32 	%f343, [kYCbCrOffset];
	ld.const.f32 	%f344, [kYCbCrFullRangeOffset];
	selp.f32	%f345, %f344, %f343, %p146;
	mov.f32 	%f346, 0f437F0000;
	div.approx.ftz.f32 	%f347, %f381, %f346;
	fma.rn.ftz.f32 	%f412, %f345, %f347, %f412;
	ld.const.f32 	%f348, [kYCbCrOffset+4];
	ld.const.f32 	%f349, [kYCbCrFullRangeOffset+4];
	selp.f32	%f350, %f349, %f348, %p146;
	fma.rn.ftz.f32 	%f445, %f350, %f347, %f445;
	ld.const.f32 	%f351, [kYCbCrOffset+8];
	ld.const.f32 	%f352, [kYCbCrFullRangeOffset+8];
	selp.f32	%f353, %f352, %f351, %p146;
	fma.rn.ftz.f32 	%f458, %f353, %f347, %f458;

BB5_173:
	and.b32  	%r182, %r44, 8192;
	setp.eq.s32	%p147, %r182, 0;
	selp.f32	%f460, %f458, %f388, %p147;
	selp.f32	%f461, %f445, %f412, %p147;
	selp.f32	%f462, %f412, %f445, %p147;
	selp.f32	%f463, %f388, %f458, %p147;
	and.b32  	%r183, %r44, 256;
	and.b32  	%r33, %r44, 248;
	setp.ne.s32	%p148, %r183, 0;
	@%p148 bra 	BB5_180;

	setp.ne.s32	%p149, %r33, 0;
	@%p149 bra 	BB5_176;

	mov.f32 	%f459, 0f437F0000;
	bra.uni 	BB5_179;

BB5_176:
	setp.ne.s32	%p150, %r33, 8;
	@%p150 bra 	BB5_178;

	mov.f32 	%f459, 0f447FC000;
	bra.uni 	BB5_179;

BB5_178:
	setp.eq.s32	%p151, %r33, 16;
	selp.f32	%f459, 0f47000000, 0f3F800000, %p151;

BB5_179:
	add.ftz.f32 	%f356, %f460, 0f3F000000;
	add.ftz.f32 	%f357, %f461, 0f3F000000;
	add.ftz.f32 	%f358, %f462, 0f3F000000;
	add.ftz.f32 	%f359, %f463, 0f3F000000;
	mov.f32 	%f360, 0f00000000;
	max.ftz.f32 	%f361, %f356, %f360;
	min.ftz.f32 	%f460, %f361, %f459;
	max.ftz.f32 	%f362, %f357, %f360;
	min.ftz.f32 	%f461, %f362, %f459;
	max.ftz.f32 	%f363, %f358, %f360;
	min.ftz.f32 	%f462, %f363, %f459;
	max.ftz.f32 	%f364, %f359, %f360;
	min.ftz.f32 	%f463, %f364, %f459;

BB5_180:
	mad.lo.s32 	%r192, %r2, %r43, %r1;
	cvt.s64.s32	%rd8, %r192;
	mul.wide.s32 	%rd54, %r192, 4;
	add.s64 	%rd9, %rd11, %rd54;
	setp.eq.s32	%p152, %r33, 0;
	@%p152 bra 	BB5_188;

	setp.eq.s32	%p153, %r33, 8;
	@%p153 bra 	BB5_187;

	setp.eq.s32	%p154, %r33, 16;
	shl.b64 	%rd55, %rd8, 3;
	add.s64 	%rd10, %rd11, %rd55;
	@%p154 bra 	BB5_186;

	setp.eq.s32	%p155, %r45, 0;
	@%p155 bra 	BB5_185;

	shl.b64 	%rd56, %rd8, 4;
	add.s64 	%rd57, %rd11, %rd56;
	st.v4.f32 	[%rd57], {%f460, %f461, %f462, %f463};
	bra.uni 	BB5_189;

BB5_185:
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f463;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f462;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f461;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f460;
	mov.b16 	%rs4, %temp;
}
	st.v4.u16 	[%rd10], {%rs4, %rs3, %rs2, %rs1};
	bra.uni 	BB5_189;

BB5_186:
	cvt.rzi.ftz.u32.f32	%r193, %f460;
	cvt.rzi.ftz.u32.f32	%r194, %f461;
	cvt.rzi.ftz.u32.f32	%r195, %f462;
	cvt.rzi.ftz.u32.f32	%r196, %f463;
	st.u16 	[%rd10], %r193;
	st.u16 	[%rd10+2], %r194;
	st.u16 	[%rd10+4], %r195;
	st.u16 	[%rd10+6], %r196;
	bra.uni 	BB5_189;

BB5_187:
	cvt.rzi.ftz.u32.f32	%r197, %f460;
	shl.b32 	%r198, %r197, 2;
	cvt.rzi.ftz.u32.f32	%r199, %f461;
	shl.b32 	%r200, %r199, 12;
	cvt.rzi.ftz.u32.f32	%r201, %f462;
	shl.b32 	%r202, %r201, 22;
	add.s32 	%r203, %r200, %r198;
	add.s32 	%r204, %r203, %r202;
	st.u32 	[%rd9], %r204;
	bra.uni 	BB5_189;

BB5_188:
	cvt.rzi.ftz.u32.f32	%r205, %f460;
	cvt.rzi.ftz.u32.f32	%r206, %f461;
	cvt.rzi.ftz.u32.f32	%r207, %f462;
	cvt.rzi.ftz.u32.f32	%r208, %f463;
	st.u8 	[%rd9], %r205;
	st.u8 	[%rd9+1], %r206;
	st.u8 	[%rd9+2], %r207;
	st.u8 	[%rd9+3], %r208;

BB5_189:
	ret;
}

.visible .entry PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel(
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_0,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_1,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_2,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_3,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_4,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_5,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_6,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_7,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_8,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_9,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_10,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_11,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_12,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_13,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_14,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_15,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_16,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_17,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_18
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<71>;
	.reg .f32 	%f<68>;
	.reg .s64 	%rd<17>;


	ld.param.u32 	%r10, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_0];
	ld.param.u32 	%r11, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_6];
	ld.param.u32 	%r12, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_8];
	ld.param.u32 	%r13, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_10];
	ld.param.u32 	%r14, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_12];
	ld.param.u64 	%rd3, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_14];
	ld.param.u32 	%r15, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_15];
	ld.param.u32 	%r16, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_16];
	ld.param.u32 	%r17, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_17];
	ld.param.u32 	%r18, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_18];
	cvta.to.global.u64 	%rd1, %rd3;
	mov.u32 	%r19, %ntid.x;
	mov.u32 	%r20, %ctaid.x;
	mov.u32 	%r21, %tid.x;
	mad.lo.s32 	%r1, %r19, %r20, %r21;
	mov.u32 	%r22, %ntid.y;
	mov.u32 	%r23, %ctaid.y;
	mov.u32 	%r24, %tid.y;
	mad.lo.s32 	%r2, %r22, %r23, %r24;
	setp.lt.s32	%p1, %r2, %r18;
	setp.lt.s32	%p2, %r1, %r17;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB6_7;
	bra.uni 	BB6_1;

BB6_1:
	add.s32 	%r29, %r1, %r10;
	cvt.rn.f32.s32	%f7, %r29;
	add.ftz.f32 	%f5, %f7, 0f3F000000;
	cvt.rn.f32.s32	%f8, %r2;
	add.ftz.f32 	%f6, %f8, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r25, %r26, %r27, %r28}, [inYPlaneTexture, {%f5, %f6}];
	// inline asm
	mov.b32 	 %f1, %r25;
	and.b32  	%r3, %r2, 1;
	setp.eq.s32	%p4, %r3, 0;
	@%p4 bra 	BB6_3;

	cvt.rn.f32.s32	%f13, %r1;
	add.ftz.f32 	%f14, %f13, 0f3F000000;
	fma.rn.ftz.f32 	%f15, %f14, 0f3F000000, 0f3E800000;
	selp.u32	%r38, 1, 0, %p4;
	shl.b32 	%r39, %r38, 1;
	shr.s32 	%r40, %r2, 31;
	shr.u32 	%r41, %r40, 30;
	add.s32 	%r42, %r2, %r41;
	and.b32  	%r43, %r42, 2147483644;
	sub.s32 	%r44, %r2, %r43;
	add.s32 	%r45, %r39, %r44;
	shl.b32 	%r46, %r45, 1;
	add.s32 	%r47, %r46, -1;
	shr.s32 	%r48, %r42, 2;
	cvt.rn.f32.s32	%f16, %r48;
	cvt.rn.f32.s32	%f17, %r47;
	mov.f32 	%f18, 0f41000000;
	div.approx.ftz.f32 	%f19, %f17, %f18;
	add.ftz.f32 	%f12, %f16, %f19;
	cvt.rn.f32.s32	%f20, %r13;
	add.ftz.f32 	%f9, %f20, %f15;
	// inline asm
	tex.2d.v4.u32.f32 {%r30, %r31, %r32, %r33}, [inLowerUPlaneTexture, {%f9, %f12}];
	// inline asm
	cvt.rn.f32.s32	%f21, %r14;
	add.ftz.f32 	%f11, %f21, %f15;
	// inline asm
	tex.2d.v4.u32.f32 {%r34, %r35, %r36, %r37}, [inLowerVPlaneTexture, {%f11, %f12}];
	// inline asm
	mov.u32 	%r70, %r34;
	mov.u32 	%r69, %r30;
	bra.uni 	BB6_4;

BB6_3:
	cvt.rn.f32.s32	%f26, %r1;
	add.ftz.f32 	%f27, %f26, 0f3F000000;
	fma.rn.ftz.f32 	%f28, %f27, 0f3F000000, 0f3E800000;
	selp.u32	%r57, 1, 0, %p4;
	shl.b32 	%r58, %r57, 1;
	shr.s32 	%r59, %r2, 31;
	shr.u32 	%r60, %r59, 30;
	add.s32 	%r61, %r2, %r60;
	and.b32  	%r62, %r61, 2147483644;
	sub.s32 	%r63, %r2, %r62;
	add.s32 	%r64, %r58, %r63;
	shl.b32 	%r65, %r64, 1;
	add.s32 	%r66, %r65, -1;
	shr.s32 	%r67, %r61, 2;
	cvt.rn.f32.s32	%f29, %r67;
	cvt.rn.f32.s32	%f30, %r66;
	mov.f32 	%f31, 0f41000000;
	div.approx.ftz.f32 	%f32, %f30, %f31;
	add.ftz.f32 	%f25, %f29, %f32;
	cvt.rn.f32.s32	%f33, %r11;
	add.ftz.f32 	%f22, %f33, %f28;
	// inline asm
	tex.2d.v4.u32.f32 {%r49, %r50, %r51, %r52}, [inUpperUPlaneTexture, {%f22, %f25}];
	// inline asm
	cvt.rn.f32.s32	%f34, %r12;
	add.ftz.f32 	%f24, %f34, %f28;
	// inline asm
	tex.2d.v4.u32.f32 {%r53, %r54, %r55, %r56}, [inUpperVPlaneTexture, {%f24, %f25}];
	// inline asm
	mov.u32 	%r70, %r53;
	mov.u32 	%r69, %r49;

BB6_4:
	mov.b32 	 %f35, %r70;
	mul.ftz.f32 	%f36, %f35, 0f437F0000;
	mov.f32 	%f37, 0f437F0000;
	mov.b32 	 %f38, %r69;
	mul.ftz.f32 	%f39, %f38, 0f437F0000;
	ld.const.f32 	%f40, [kYCbCrOffset];
	div.approx.ftz.f32 	%f41, %f37, %f37;
	mul.ftz.f32 	%f42, %f40, %f41;
	mul.ftz.f32 	%f43, %f1, 0f437F0000;
	sub.ftz.f32 	%f44, %f43, %f42;
	ld.const.f32 	%f45, [kYCbCrOffset+4];
	mul.ftz.f32 	%f46, %f45, %f41;
	sub.ftz.f32 	%f47, %f39, %f46;
	ld.const.f32 	%f48, [kYCbCrOffset+8];
	mul.ftz.f32 	%f49, %f48, %f41;
	sub.ftz.f32 	%f50, %f36, %f49;
	ld.const.f32 	%f51, [k601YCbCr_To_RGB32f];
	ld.const.f32 	%f52, [k601YCbCr_To_RGB32f+4];
	mul.ftz.f32 	%f53, %f47, %f52;
	fma.rn.ftz.f32 	%f54, %f44, %f51, %f53;
	ld.const.f32 	%f55, [k601YCbCr_To_RGB32f+8];
	fma.rn.ftz.f32 	%f2, %f50, %f55, %f54;
	ld.const.f32 	%f56, [k601YCbCr_To_RGB32f+12];
	ld.const.f32 	%f57, [k601YCbCr_To_RGB32f+16];
	mul.ftz.f32 	%f58, %f47, %f57;
	fma.rn.ftz.f32 	%f59, %f44, %f56, %f58;
	ld.const.f32 	%f60, [k601YCbCr_To_RGB32f+20];
	fma.rn.ftz.f32 	%f3, %f50, %f60, %f59;
	ld.const.f32 	%f61, [k601YCbCr_To_RGB32f+24];
	ld.const.f32 	%f62, [k601YCbCr_To_RGB32f+28];
	mul.ftz.f32 	%f63, %f47, %f62;
	fma.rn.ftz.f32 	%f64, %f44, %f61, %f63;
	ld.const.f32 	%f65, [k601YCbCr_To_RGB32f+32];
	fma.rn.ftz.f32 	%f4, %f50, %f65, %f64;
	mad.lo.s32 	%r68, %r2, %r15, %r1;
	cvt.s64.s32	%rd2, %r68;
	setp.eq.s32	%p7, %r16, 0;
	@%p7 bra 	BB6_6;

	shl.b64 	%rd13, %rd2, 4;
	add.s64 	%rd14, %rd1, %rd13;
	mov.f32 	%f66, 0f3F800000;
	st.global.v4.f32 	[%rd14], {%f4, %f3, %f2, %f66};
	bra.uni 	BB6_7;

BB6_6:
	shl.b64 	%rd15, %rd2, 3;
	add.s64 	%rd16, %rd1, %rd15;
	mov.f32 	%f67, 0f3F800000;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f67;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f4;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd16], {%rs4, %rs3, %rs2, %rs1};

BB6_7:
	ret;
}

.visible .entry PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel(
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_0,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_1,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_2,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_3,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_4,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_5,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_6,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_7,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_8,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_9,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_10,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_11,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_12,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_13,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_14,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_15,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_16,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_17,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_18
)
{
	.reg .pred 	%p<5>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<30>;
	.reg .f32 	%f<51>;
	.reg .s64 	%rd<14>;


	ld.param.u32 	%r3, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_0];
	ld.param.u32 	%r4, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_2];
	ld.param.u32 	%r5, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_4];
	ld.param.u64 	%rd3, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_14];
	ld.param.u32 	%r6, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_15];
	ld.param.u32 	%r7, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_16];
	ld.param.u32 	%r8, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_17];
	ld.param.u32 	%r9, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_18];
	cvta.to.global.u64 	%rd1, %rd3;
	mov.u32 	%r10, %ntid.x;
	mov.u32 	%r11, %ctaid.x;
	mov.u32 	%r12, %tid.x;
	mad.lo.s32 	%r1, %r10, %r11, %r12;
	mov.u32 	%r13, %ntid.y;
	mov.u32 	%r14, %ctaid.y;
	mov.u32 	%r15, %tid.y;
	mad.lo.s32 	%r2, %r13, %r14, %r15;
	setp.lt.s32	%p1, %r2, %r9;
	setp.lt.s32	%p2, %r1, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB7_4;
	bra.uni 	BB7_1;

BB7_1:
	add.s32 	%r28, %r1, %r3;
	cvt.rn.f32.s32	%f10, %r28;
	add.ftz.f32 	%f4, %f10, 0f3F000000;
	cvt.rn.f32.s32	%f11, %r2;
	add.ftz.f32 	%f5, %f11, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r16, %r17, %r18, %r19}, [inYPlaneTexture, {%f4, %f5}];
	// inline asm
	cvt.rn.f32.s32	%f12, %r1;
	add.ftz.f32 	%f13, %f12, 0f3F000000;
	fma.rn.ftz.f32 	%f14, %f13, 0f3F000000, 0f3E800000;
	mov.b32 	 %f15, %r16;
	cvt.rn.f32.s32	%f16, %r4;
	add.ftz.f32 	%f6, %f16, %f14;
	mul.ftz.f32 	%f9, %f5, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r20, %r21, %r22, %r23}, [inFrameCodedUPlaneTexture, {%f6, %f9}];
	// inline asm
	mov.b32 	 %f17, %r20;
	cvt.rn.f32.s32	%f18, %r5;
	add.ftz.f32 	%f8, %f18, %f14;
	// inline asm
	tex.2d.v4.u32.f32 {%r24, %r25, %r26, %r27}, [inFrameCodedVPlaneTexture, {%f8, %f9}];
	// inline asm
	mov.b32 	 %f19, %r24;
	mul.ftz.f32 	%f20, %f19, 0f437F0000;
	mov.f32 	%f21, 0f437F0000;
	mul.ftz.f32 	%f22, %f17, 0f437F0000;
	mul.ftz.f32 	%f23, %f15, 0f437F0000;
	ld.const.f32 	%f24, [kYCbCrOffset];
	div.approx.ftz.f32 	%f25, %f21, %f21;
	mul.ftz.f32 	%f26, %f24, %f25;
	sub.ftz.f32 	%f27, %f23, %f26;
	ld.const.f32 	%f28, [kYCbCrOffset+4];
	mul.ftz.f32 	%f29, %f28, %f25;
	sub.ftz.f32 	%f30, %f22, %f29;
	ld.const.f32 	%f31, [kYCbCrOffset+8];
	mul.ftz.f32 	%f32, %f31, %f25;
	sub.ftz.f32 	%f33, %f20, %f32;
	ld.const.f32 	%f34, [k601YCbCr_To_RGB32f];
	ld.const.f32 	%f35, [k601YCbCr_To_RGB32f+4];
	mul.ftz.f32 	%f36, %f30, %f35;
	fma.rn.ftz.f32 	%f37, %f27, %f34, %f36;
	ld.const.f32 	%f38, [k601YCbCr_To_RGB32f+8];
	fma.rn.ftz.f32 	%f1, %f33, %f38, %f37;
	ld.const.f32 	%f39, [k601YCbCr_To_RGB32f+12];
	ld.const.f32 	%f40, [k601YCbCr_To_RGB32f+16];
	mul.ftz.f32 	%f41, %f30, %f40;
	fma.rn.ftz.f32 	%f42, %f27, %f39, %f41;
	ld.const.f32 	%f43, [k601YCbCr_To_RGB32f+20];
	fma.rn.ftz.f32 	%f2, %f33, %f43, %f42;
	ld.const.f32 	%f44, [k601YCbCr_To_RGB32f+24];
	ld.const.f32 	%f45, [k601YCbCr_To_RGB32f+28];
	mul.ftz.f32 	%f46, %f30, %f45;
	fma.rn.ftz.f32 	%f47, %f27, %f44, %f46;
	ld.const.f32 	%f48, [k601YCbCr_To_RGB32f+32];
	fma.rn.ftz.f32 	%f3, %f33, %f48, %f47;
	mad.lo.s32 	%r29, %r2, %r6, %r1;
	cvt.s64.s32	%rd2, %r29;
	setp.eq.s32	%p4, %r7, 0;
	@%p4 bra 	BB7_3;

	shl.b64 	%rd10, %rd2, 4;
	add.s64 	%rd11, %rd1, %rd10;
	mov.f32 	%f49, 0f3F800000;
	st.global.v4.f32 	[%rd11], {%f3, %f2, %f1, %f49};
	bra.uni 	BB7_4;

BB7_3:
	shl.b64 	%rd12, %rd2, 3;
	add.s64 	%rd13, %rd1, %rd12;
	mov.f32 	%f50, 0f3F800000;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f50;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f1;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd13], {%rs4, %rs3, %rs2, %rs1};

BB7_4:
	ret;
}

.visible .entry PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel(
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_0,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_1,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_2,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_3,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_4,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_5,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_6,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_7,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_8,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_9,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_10,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_11,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_12,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_13,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_14,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_15,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_16,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_17,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_18
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<71>;
	.reg .f32 	%f<68>;
	.reg .s64 	%rd<17>;


	ld.param.u32 	%r10, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_0];
	ld.param.u32 	%r11, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_6];
	ld.param.u32 	%r12, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_8];
	ld.param.u32 	%r13, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_10];
	ld.param.u32 	%r14, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_12];
	ld.param.u64 	%rd3, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_14];
	ld.param.u32 	%r15, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_15];
	ld.param.u32 	%r16, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_16];
	ld.param.u32 	%r17, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_17];
	ld.param.u32 	%r18, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_18];
	cvta.to.global.u64 	%rd1, %rd3;
	mov.u32 	%r19, %ntid.x;
	mov.u32 	%r20, %ctaid.x;
	mov.u32 	%r21, %tid.x;
	mad.lo.s32 	%r1, %r19, %r20, %r21;
	mov.u32 	%r22, %ntid.y;
	mov.u32 	%r23, %ctaid.y;
	mov.u32 	%r24, %tid.y;
	mad.lo.s32 	%r2, %r22, %r23, %r24;
	setp.lt.s32	%p1, %r2, %r18;
	setp.lt.s32	%p2, %r1, %r17;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB8_7;
	bra.uni 	BB8_1;

BB8_1:
	add.s32 	%r29, %r1, %r10;
	cvt.rn.f32.s32	%f7, %r29;
	add.ftz.f32 	%f5, %f7, 0f3F000000;
	cvt.rn.f32.s32	%f8, %r2;
	add.ftz.f32 	%f6, %f8, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r25, %r26, %r27, %r28}, [inYPlaneTexture, {%f5, %f6}];
	// inline asm
	mov.b32 	 %f1, %r25;
	and.b32  	%r3, %r2, 1;
	setp.eq.s32	%p4, %r3, 0;
	@%p4 bra 	BB8_3;

	cvt.rn.f32.s32	%f13, %r1;
	add.ftz.f32 	%f14, %f13, 0f3F000000;
	fma.rn.ftz.f32 	%f15, %f14, 0f3F000000, 0f3E800000;
	selp.u32	%r38, 1, 0, %p4;
	shl.b32 	%r39, %r38, 1;
	shr.s32 	%r40, %r2, 31;
	shr.u32 	%r41, %r40, 30;
	add.s32 	%r42, %r2, %r41;
	and.b32  	%r43, %r42, 2147483644;
	sub.s32 	%r44, %r2, %r43;
	add.s32 	%r45, %r39, %r44;
	shl.b32 	%r46, %r45, 1;
	add.s32 	%r47, %r46, -1;
	shr.s32 	%r48, %r42, 2;
	cvt.rn.f32.s32	%f16, %r48;
	cvt.rn.f32.s32	%f17, %r47;
	mov.f32 	%f18, 0f41000000;
	div.approx.ftz.f32 	%f19, %f17, %f18;
	add.ftz.f32 	%f12, %f16, %f19;
	cvt.rn.f32.s32	%f20, %r13;
	add.ftz.f32 	%f9, %f20, %f15;
	// inline asm
	tex.2d.v4.u32.f32 {%r30, %r31, %r32, %r33}, [inLowerUPlaneTexture, {%f9, %f12}];
	// inline asm
	cvt.rn.f32.s32	%f21, %r14;
	add.ftz.f32 	%f11, %f21, %f15;
	// inline asm
	tex.2d.v4.u32.f32 {%r34, %r35, %r36, %r37}, [inLowerVPlaneTexture, {%f11, %f12}];
	// inline asm
	mov.u32 	%r70, %r34;
	mov.u32 	%r69, %r30;
	bra.uni 	BB8_4;

BB8_3:
	cvt.rn.f32.s32	%f26, %r1;
	add.ftz.f32 	%f27, %f26, 0f3F000000;
	fma.rn.ftz.f32 	%f28, %f27, 0f3F000000, 0f3E800000;
	selp.u32	%r57, 1, 0, %p4;
	shl.b32 	%r58, %r57, 1;
	shr.s32 	%r59, %r2, 31;
	shr.u32 	%r60, %r59, 30;
	add.s32 	%r61, %r2, %r60;
	and.b32  	%r62, %r61, 2147483644;
	sub.s32 	%r63, %r2, %r62;
	add.s32 	%r64, %r58, %r63;
	shl.b32 	%r65, %r64, 1;
	add.s32 	%r66, %r65, -1;
	shr.s32 	%r67, %r61, 2;
	cvt.rn.f32.s32	%f29, %r67;
	cvt.rn.f32.s32	%f30, %r66;
	mov.f32 	%f31, 0f41000000;
	div.approx.ftz.f32 	%f32, %f30, %f31;
	add.ftz.f32 	%f25, %f29, %f32;
	cvt.rn.f32.s32	%f33, %r11;
	add.ftz.f32 	%f22, %f33, %f28;
	// inline asm
	tex.2d.v4.u32.f32 {%r49, %r50, %r51, %r52}, [inUpperUPlaneTexture, {%f22, %f25}];
	// inline asm
	cvt.rn.f32.s32	%f34, %r12;
	add.ftz.f32 	%f24, %f34, %f28;
	// inline asm
	tex.2d.v4.u32.f32 {%r53, %r54, %r55, %r56}, [inUpperVPlaneTexture, {%f24, %f25}];
	// inline asm
	mov.u32 	%r70, %r53;
	mov.u32 	%r69, %r49;

BB8_4:
	mov.b32 	 %f35, %r70;
	mul.ftz.f32 	%f36, %f35, 0f437F0000;
	mov.f32 	%f37, 0f437F0000;
	mov.b32 	 %f38, %r69;
	mul.ftz.f32 	%f39, %f38, 0f437F0000;
	ld.const.f32 	%f40, [kYCbCrFullRangeOffset];
	div.approx.ftz.f32 	%f41, %f37, %f37;
	mul.ftz.f32 	%f42, %f40, %f41;
	mul.ftz.f32 	%f43, %f1, 0f437F0000;
	sub.ftz.f32 	%f44, %f43, %f42;
	ld.const.f32 	%f45, [kYCbCrFullRangeOffset+4];
	mul.ftz.f32 	%f46, %f45, %f41;
	sub.ftz.f32 	%f47, %f39, %f46;
	ld.const.f32 	%f48, [kYCbCrFullRangeOffset+8];
	mul.ftz.f32 	%f49, %f48, %f41;
	sub.ftz.f32 	%f50, %f36, %f49;
	ld.const.f32 	%f51, [k601YCbCrFullRange_To_RGB32f];
	ld.const.f32 	%f52, [k601YCbCrFullRange_To_RGB32f+4];
	mul.ftz.f32 	%f53, %f47, %f52;
	fma.rn.ftz.f32 	%f54, %f44, %f51, %f53;
	ld.const.f32 	%f55, [k601YCbCrFullRange_To_RGB32f+8];
	fma.rn.ftz.f32 	%f2, %f50, %f55, %f54;
	ld.const.f32 	%f56, [k601YCbCrFullRange_To_RGB32f+12];
	ld.const.f32 	%f57, [k601YCbCrFullRange_To_RGB32f+16];
	mul.ftz.f32 	%f58, %f47, %f57;
	fma.rn.ftz.f32 	%f59, %f44, %f56, %f58;
	ld.const.f32 	%f60, [k601YCbCrFullRange_To_RGB32f+20];
	fma.rn.ftz.f32 	%f3, %f50, %f60, %f59;
	ld.const.f32 	%f61, [k601YCbCrFullRange_To_RGB32f+24];
	ld.const.f32 	%f62, [k601YCbCrFullRange_To_RGB32f+28];
	mul.ftz.f32 	%f63, %f47, %f62;
	fma.rn.ftz.f32 	%f64, %f44, %f61, %f63;
	ld.const.f32 	%f65, [k601YCbCrFullRange_To_RGB32f+32];
	fma.rn.ftz.f32 	%f4, %f50, %f65, %f64;
	mad.lo.s32 	%r68, %r2, %r15, %r1;
	cvt.s64.s32	%rd2, %r68;
	setp.eq.s32	%p7, %r16, 0;
	@%p7 bra 	BB8_6;

	shl.b64 	%rd13, %rd2, 4;
	add.s64 	%rd14, %rd1, %rd13;
	mov.f32 	%f66, 0f3F800000;
	st.global.v4.f32 	[%rd14], {%f4, %f3, %f2, %f66};
	bra.uni 	BB8_7;

BB8_6:
	shl.b64 	%rd15, %rd2, 3;
	add.s64 	%rd16, %rd1, %rd15;
	mov.f32 	%f67, 0f3F800000;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f67;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f4;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd16], {%rs4, %rs3, %rs2, %rs1};

BB8_7:
	ret;
}

.visible .entry PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel(
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_0,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_1,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_2,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_3,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_4,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_5,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_6,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_7,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_8,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_9,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_10,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_11,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_12,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_13,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_14,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_15,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_16,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_17,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_18
)
{
	.reg .pred 	%p<5>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<30>;
	.reg .f32 	%f<51>;
	.reg .s64 	%rd<14>;


	ld.param.u32 	%r3, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_0];
	ld.param.u32 	%r4, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_2];
	ld.param.u32 	%r5, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_4];
	ld.param.u64 	%rd3, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_14];
	ld.param.u32 	%r6, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_15];
	ld.param.u32 	%r7, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_16];
	ld.param.u32 	%r8, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_17];
	ld.param.u32 	%r9, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_18];
	cvta.to.global.u64 	%rd1, %rd3;
	mov.u32 	%r10, %ntid.x;
	mov.u32 	%r11, %ctaid.x;
	mov.u32 	%r12, %tid.x;
	mad.lo.s32 	%r1, %r10, %r11, %r12;
	mov.u32 	%r13, %ntid.y;
	mov.u32 	%r14, %ctaid.y;
	mov.u32 	%r15, %tid.y;
	mad.lo.s32 	%r2, %r13, %r14, %r15;
	setp.lt.s32	%p1, %r2, %r9;
	setp.lt.s32	%p2, %r1, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB9_4;
	bra.uni 	BB9_1;

BB9_1:
	add.s32 	%r28, %r1, %r3;
	cvt.rn.f32.s32	%f10, %r28;
	add.ftz.f32 	%f4, %f10, 0f3F000000;
	cvt.rn.f32.s32	%f11, %r2;
	add.ftz.f32 	%f5, %f11, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r16, %r17, %r18, %r19}, [inYPlaneTexture, {%f4, %f5}];
	// inline asm
	cvt.rn.f32.s32	%f12, %r1;
	add.ftz.f32 	%f13, %f12, 0f3F000000;
	fma.rn.ftz.f32 	%f14, %f13, 0f3F000000, 0f3E800000;
	mov.b32 	 %f15, %r16;
	cvt.rn.f32.s32	%f16, %r4;
	add.ftz.f32 	%f6, %f16, %f14;
	mul.ftz.f32 	%f9, %f5, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r20, %r21, %r22, %r23}, [inFrameCodedUPlaneTexture, {%f6, %f9}];
	// inline asm
	mov.b32 	 %f17, %r20;
	cvt.rn.f32.s32	%f18, %r5;
	add.ftz.f32 	%f8, %f18, %f14;
	// inline asm
	tex.2d.v4.u32.f32 {%r24, %r25, %r26, %r27}, [inFrameCodedVPlaneTexture, {%f8, %f9}];
	// inline asm
	mov.b32 	 %f19, %r24;
	mul.ftz.f32 	%f20, %f19, 0f437F0000;
	mov.f32 	%f21, 0f437F0000;
	mul.ftz.f32 	%f22, %f17, 0f437F0000;
	mul.ftz.f32 	%f23, %f15, 0f437F0000;
	ld.const.f32 	%f24, [kYCbCrFullRangeOffset];
	div.approx.ftz.f32 	%f25, %f21, %f21;
	mul.ftz.f32 	%f26, %f24, %f25;
	sub.ftz.f32 	%f27, %f23, %f26;
	ld.const.f32 	%f28, [kYCbCrFullRangeOffset+4];
	mul.ftz.f32 	%f29, %f28, %f25;
	sub.ftz.f32 	%f30, %f22, %f29;
	ld.const.f32 	%f31, [kYCbCrFullRangeOffset+8];
	mul.ftz.f32 	%f32, %f31, %f25;
	sub.ftz.f32 	%f33, %f20, %f32;
	ld.const.f32 	%f34, [k601YCbCrFullRange_To_RGB32f];
	ld.const.f32 	%f35, [k601YCbCrFullRange_To_RGB32f+4];
	mul.ftz.f32 	%f36, %f30, %f35;
	fma.rn.ftz.f32 	%f37, %f27, %f34, %f36;
	ld.const.f32 	%f38, [k601YCbCrFullRange_To_RGB32f+8];
	fma.rn.ftz.f32 	%f1, %f33, %f38, %f37;
	ld.const.f32 	%f39, [k601YCbCrFullRange_To_RGB32f+12];
	ld.const.f32 	%f40, [k601YCbCrFullRange_To_RGB32f+16];
	mul.ftz.f32 	%f41, %f30, %f40;
	fma.rn.ftz.f32 	%f42, %f27, %f39, %f41;
	ld.const.f32 	%f43, [k601YCbCrFullRange_To_RGB32f+20];
	fma.rn.ftz.f32 	%f2, %f33, %f43, %f42;
	ld.const.f32 	%f44, [k601YCbCrFullRange_To_RGB32f+24];
	ld.const.f32 	%f45, [k601YCbCrFullRange_To_RGB32f+28];
	mul.ftz.f32 	%f46, %f30, %f45;
	fma.rn.ftz.f32 	%f47, %f27, %f44, %f46;
	ld.const.f32 	%f48, [k601YCbCrFullRange_To_RGB32f+32];
	fma.rn.ftz.f32 	%f3, %f33, %f48, %f47;
	mad.lo.s32 	%r29, %r2, %r6, %r1;
	cvt.s64.s32	%rd2, %r29;
	setp.eq.s32	%p4, %r7, 0;
	@%p4 bra 	BB9_3;

	shl.b64 	%rd10, %rd2, 4;
	add.s64 	%rd11, %rd1, %rd10;
	mov.f32 	%f49, 0f3F800000;
	st.global.v4.f32 	[%rd11], {%f3, %f2, %f1, %f49};
	bra.uni 	BB9_4;

BB9_3:
	shl.b64 	%rd12, %rd2, 3;
	add.s64 	%rd13, %rd1, %rd12;
	mov.f32 	%f50, 0f3F800000;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f50;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f1;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd13], {%rs4, %rs3, %rs2, %rs1};

BB9_4:
	ret;
}

.visible .entry PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel(
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_0,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_1,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_2,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_3,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_4,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_5,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_6,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_7,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_8,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_9,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_10,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_11,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_12,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_13,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_14,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_15,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_16,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_17,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_18
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<71>;
	.reg .f32 	%f<68>;
	.reg .s64 	%rd<17>;


	ld.param.u32 	%r10, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_0];
	ld.param.u32 	%r11, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_6];
	ld.param.u32 	%r12, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_8];
	ld.param.u32 	%r13, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_10];
	ld.param.u32 	%r14, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_12];
	ld.param.u64 	%rd3, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_14];
	ld.param.u32 	%r15, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_15];
	ld.param.u32 	%r16, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_16];
	ld.param.u32 	%r17, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_17];
	ld.param.u32 	%r18, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_18];
	cvta.to.global.u64 	%rd1, %rd3;
	mov.u32 	%r19, %ntid.x;
	mov.u32 	%r20, %ctaid.x;
	mov.u32 	%r21, %tid.x;
	mad.lo.s32 	%r1, %r19, %r20, %r21;
	mov.u32 	%r22, %ntid.y;
	mov.u32 	%r23, %ctaid.y;
	mov.u32 	%r24, %tid.y;
	mad.lo.s32 	%r2, %r22, %r23, %r24;
	setp.lt.s32	%p1, %r2, %r18;
	setp.lt.s32	%p2, %r1, %r17;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB10_7;
	bra.uni 	BB10_1;

BB10_1:
	add.s32 	%r29, %r1, %r10;
	cvt.rn.f32.s32	%f7, %r29;
	add.ftz.f32 	%f5, %f7, 0f3F000000;
	cvt.rn.f32.s32	%f8, %r2;
	add.ftz.f32 	%f6, %f8, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r25, %r26, %r27, %r28}, [inYPlaneTexture, {%f5, %f6}];
	// inline asm
	mov.b32 	 %f1, %r25;
	and.b32  	%r3, %r2, 1;
	setp.eq.s32	%p4, %r3, 0;
	@%p4 bra 	BB10_3;

	cvt.rn.f32.s32	%f13, %r1;
	add.ftz.f32 	%f14, %f13, 0f3F000000;
	fma.rn.ftz.f32 	%f15, %f14, 0f3F000000, 0f3E800000;
	selp.u32	%r38, 1, 0, %p4;
	shl.b32 	%r39, %r38, 1;
	shr.s32 	%r40, %r2, 31;
	shr.u32 	%r41, %r40, 30;
	add.s32 	%r42, %r2, %r41;
	and.b32  	%r43, %r42, 2147483644;
	sub.s32 	%r44, %r2, %r43;
	add.s32 	%r45, %r39, %r44;
	shl.b32 	%r46, %r45, 1;
	add.s32 	%r47, %r46, -1;
	shr.s32 	%r48, %r42, 2;
	cvt.rn.f32.s32	%f16, %r48;
	cvt.rn.f32.s32	%f17, %r47;
	mov.f32 	%f18, 0f41000000;
	div.approx.ftz.f32 	%f19, %f17, %f18;
	add.ftz.f32 	%f12, %f16, %f19;
	cvt.rn.f32.s32	%f20, %r13;
	add.ftz.f32 	%f9, %f20, %f15;
	// inline asm
	tex.2d.v4.u32.f32 {%r30, %r31, %r32, %r33}, [inLowerUPlaneTexture, {%f9, %f12}];
	// inline asm
	cvt.rn.f32.s32	%f21, %r14;
	add.ftz.f32 	%f11, %f21, %f15;
	// inline asm
	tex.2d.v4.u32.f32 {%r34, %r35, %r36, %r37}, [inLowerVPlaneTexture, {%f11, %f12}];
	// inline asm
	mov.u32 	%r70, %r34;
	mov.u32 	%r69, %r30;
	bra.uni 	BB10_4;

BB10_3:
	cvt.rn.f32.s32	%f26, %r1;
	add.ftz.f32 	%f27, %f26, 0f3F000000;
	fma.rn.ftz.f32 	%f28, %f27, 0f3F000000, 0f3E800000;
	selp.u32	%r57, 1, 0, %p4;
	shl.b32 	%r58, %r57, 1;
	shr.s32 	%r59, %r2, 31;
	shr.u32 	%r60, %r59, 30;
	add.s32 	%r61, %r2, %r60;
	and.b32  	%r62, %r61, 2147483644;
	sub.s32 	%r63, %r2, %r62;
	add.s32 	%r64, %r58, %r63;
	shl.b32 	%r65, %r64, 1;
	add.s32 	%r66, %r65, -1;
	shr.s32 	%r67, %r61, 2;
	cvt.rn.f32.s32	%f29, %r67;
	cvt.rn.f32.s32	%f30, %r66;
	mov.f32 	%f31, 0f41000000;
	div.approx.ftz.f32 	%f32, %f30, %f31;
	add.ftz.f32 	%f25, %f29, %f32;
	cvt.rn.f32.s32	%f33, %r11;
	add.ftz.f32 	%f22, %f33, %f28;
	// inline asm
	tex.2d.v4.u32.f32 {%r49, %r50, %r51, %r52}, [inUpperUPlaneTexture, {%f22, %f25}];
	// inline asm
	cvt.rn.f32.s32	%f34, %r12;
	add.ftz.f32 	%f24, %f34, %f28;
	// inline asm
	tex.2d.v4.u32.f32 {%r53, %r54, %r55, %r56}, [inUpperVPlaneTexture, {%f24, %f25}];
	// inline asm
	mov.u32 	%r70, %r53;
	mov.u32 	%r69, %r49;

BB10_4:
	mov.b32 	 %f35, %r70;
	mul.ftz.f32 	%f36, %f35, 0f437F0000;
	mov.f32 	%f37, 0f437F0000;
	mov.b32 	 %f38, %r69;
	mul.ftz.f32 	%f39, %f38, 0f437F0000;
	ld.const.f32 	%f40, [kYCbCrOffset];
	div.approx.ftz.f32 	%f41, %f37, %f37;
	mul.ftz.f32 	%f42, %f40, %f41;
	mul.ftz.f32 	%f43, %f1, 0f437F0000;
	sub.ftz.f32 	%f44, %f43, %f42;
	ld.const.f32 	%f45, [kYCbCrOffset+4];
	mul.ftz.f32 	%f46, %f45, %f41;
	sub.ftz.f32 	%f47, %f39, %f46;
	ld.const.f32 	%f48, [kYCbCrOffset+8];
	mul.ftz.f32 	%f49, %f48, %f41;
	sub.ftz.f32 	%f50, %f36, %f49;
	ld.const.f32 	%f51, [k709YCbCr_To_RGB32f];
	ld.const.f32 	%f52, [k709YCbCr_To_RGB32f+4];
	mul.ftz.f32 	%f53, %f47, %f52;
	fma.rn.ftz.f32 	%f54, %f44, %f51, %f53;
	ld.const.f32 	%f55, [k709YCbCr_To_RGB32f+8];
	fma.rn.ftz.f32 	%f2, %f50, %f55, %f54;
	ld.const.f32 	%f56, [k709YCbCr_To_RGB32f+12];
	ld.const.f32 	%f57, [k709YCbCr_To_RGB32f+16];
	mul.ftz.f32 	%f58, %f47, %f57;
	fma.rn.ftz.f32 	%f59, %f44, %f56, %f58;
	ld.const.f32 	%f60, [k709YCbCr_To_RGB32f+20];
	fma.rn.ftz.f32 	%f3, %f50, %f60, %f59;
	ld.const.f32 	%f61, [k709YCbCr_To_RGB32f+24];
	ld.const.f32 	%f62, [k709YCbCr_To_RGB32f+28];
	mul.ftz.f32 	%f63, %f47, %f62;
	fma.rn.ftz.f32 	%f64, %f44, %f61, %f63;
	ld.const.f32 	%f65, [k709YCbCr_To_RGB32f+32];
	fma.rn.ftz.f32 	%f4, %f50, %f65, %f64;
	mad.lo.s32 	%r68, %r2, %r15, %r1;
	cvt.s64.s32	%rd2, %r68;
	setp.eq.s32	%p7, %r16, 0;
	@%p7 bra 	BB10_6;

	shl.b64 	%rd13, %rd2, 4;
	add.s64 	%rd14, %rd1, %rd13;
	mov.f32 	%f66, 0f3F800000;
	st.global.v4.f32 	[%rd14], {%f4, %f3, %f2, %f66};
	bra.uni 	BB10_7;

BB10_6:
	shl.b64 	%rd15, %rd2, 3;
	add.s64 	%rd16, %rd1, %rd15;
	mov.f32 	%f67, 0f3F800000;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f67;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f4;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd16], {%rs4, %rs3, %rs2, %rs1};

BB10_7:
	ret;
}

.visible .entry PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel(
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_0,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_1,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_2,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_3,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_4,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_5,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_6,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_7,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_8,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_9,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_10,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_11,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_12,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_13,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_14,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_15,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_16,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_17,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_18
)
{
	.reg .pred 	%p<5>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<30>;
	.reg .f32 	%f<51>;
	.reg .s64 	%rd<14>;


	ld.param.u32 	%r3, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_0];
	ld.param.u32 	%r4, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_2];
	ld.param.u32 	%r5, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_4];
	ld.param.u64 	%rd3, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_14];
	ld.param.u32 	%r6, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_15];
	ld.param.u32 	%r7, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_16];
	ld.param.u32 	%r8, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_17];
	ld.param.u32 	%r9, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_18];
	cvta.to.global.u64 	%rd1, %rd3;
	mov.u32 	%r10, %ntid.x;
	mov.u32 	%r11, %ctaid.x;
	mov.u32 	%r12, %tid.x;
	mad.lo.s32 	%r1, %r10, %r11, %r12;
	mov.u32 	%r13, %ntid.y;
	mov.u32 	%r14, %ctaid.y;
	mov.u32 	%r15, %tid.y;
	mad.lo.s32 	%r2, %r13, %r14, %r15;
	setp.lt.s32	%p1, %r2, %r9;
	setp.lt.s32	%p2, %r1, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB11_4;
	bra.uni 	BB11_1;

BB11_1:
	add.s32 	%r28, %r1, %r3;
	cvt.rn.f32.s32	%f10, %r28;
	add.ftz.f32 	%f4, %f10, 0f3F000000;
	cvt.rn.f32.s32	%f11, %r2;
	add.ftz.f32 	%f5, %f11, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r16, %r17, %r18, %r19}, [inYPlaneTexture, {%f4, %f5}];
	// inline asm
	cvt.rn.f32.s32	%f12, %r1;
	add.ftz.f32 	%f13, %f12, 0f3F000000;
	fma.rn.ftz.f32 	%f14, %f13, 0f3F000000, 0f3E800000;
	mov.b32 	 %f15, %r16;
	cvt.rn.f32.s32	%f16, %r4;
	add.ftz.f32 	%f6, %f16, %f14;
	mul.ftz.f32 	%f9, %f5, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r20, %r21, %r22, %r23}, [inFrameCodedUPlaneTexture, {%f6, %f9}];
	// inline asm
	mov.b32 	 %f17, %r20;
	cvt.rn.f32.s32	%f18, %r5;
	add.ftz.f32 	%f8, %f18, %f14;
	// inline asm
	tex.2d.v4.u32.f32 {%r24, %r25, %r26, %r27}, [inFrameCodedVPlaneTexture, {%f8, %f9}];
	// inline asm
	mov.b32 	 %f19, %r24;
	mul.ftz.f32 	%f20, %f19, 0f437F0000;
	mov.f32 	%f21, 0f437F0000;
	mul.ftz.f32 	%f22, %f17, 0f437F0000;
	mul.ftz.f32 	%f23, %f15, 0f437F0000;
	ld.const.f32 	%f24, [kYCbCrOffset];
	div.approx.ftz.f32 	%f25, %f21, %f21;
	mul.ftz.f32 	%f26, %f24, %f25;
	sub.ftz.f32 	%f27, %f23, %f26;
	ld.const.f32 	%f28, [kYCbCrOffset+4];
	mul.ftz.f32 	%f29, %f28, %f25;
	sub.ftz.f32 	%f30, %f22, %f29;
	ld.const.f32 	%f31, [kYCbCrOffset+8];
	mul.ftz.f32 	%f32, %f31, %f25;
	sub.ftz.f32 	%f33, %f20, %f32;
	ld.const.f32 	%f34, [k709YCbCr_To_RGB32f];
	ld.const.f32 	%f35, [k709YCbCr_To_RGB32f+4];
	mul.ftz.f32 	%f36, %f30, %f35;
	fma.rn.ftz.f32 	%f37, %f27, %f34, %f36;
	ld.const.f32 	%f38, [k709YCbCr_To_RGB32f+8];
	fma.rn.ftz.f32 	%f1, %f33, %f38, %f37;
	ld.const.f32 	%f39, [k709YCbCr_To_RGB32f+12];
	ld.const.f32 	%f40, [k709YCbCr_To_RGB32f+16];
	mul.ftz.f32 	%f41, %f30, %f40;
	fma.rn.ftz.f32 	%f42, %f27, %f39, %f41;
	ld.const.f32 	%f43, [k709YCbCr_To_RGB32f+20];
	fma.rn.ftz.f32 	%f2, %f33, %f43, %f42;
	ld.const.f32 	%f44, [k709YCbCr_To_RGB32f+24];
	ld.const.f32 	%f45, [k709YCbCr_To_RGB32f+28];
	mul.ftz.f32 	%f46, %f30, %f45;
	fma.rn.ftz.f32 	%f47, %f27, %f44, %f46;
	ld.const.f32 	%f48, [k709YCbCr_To_RGB32f+32];
	fma.rn.ftz.f32 	%f3, %f33, %f48, %f47;
	mad.lo.s32 	%r29, %r2, %r6, %r1;
	cvt.s64.s32	%rd2, %r29;
	setp.eq.s32	%p4, %r7, 0;
	@%p4 bra 	BB11_3;

	shl.b64 	%rd10, %rd2, 4;
	add.s64 	%rd11, %rd1, %rd10;
	mov.f32 	%f49, 0f3F800000;
	st.global.v4.f32 	[%rd11], {%f3, %f2, %f1, %f49};
	bra.uni 	BB11_4;

BB11_3:
	shl.b64 	%rd12, %rd2, 3;
	add.s64 	%rd13, %rd1, %rd12;
	mov.f32 	%f50, 0f3F800000;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f50;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f1;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd13], {%rs4, %rs3, %rs2, %rs1};

BB11_4:
	ret;
}

.visible .entry PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel(
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_0,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_1,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_2,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_3,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_4,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_5,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_6,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_7,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_8,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_9,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_10,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_11,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_12,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_13,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_14,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_15,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_16,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_17,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_18
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<71>;
	.reg .f32 	%f<68>;
	.reg .s64 	%rd<17>;


	ld.param.u32 	%r10, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_0];
	ld.param.u32 	%r11, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_6];
	ld.param.u32 	%r12, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_8];
	ld.param.u32 	%r13, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_10];
	ld.param.u32 	%r14, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_12];
	ld.param.u64 	%rd3, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_14];
	ld.param.u32 	%r15, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_15];
	ld.param.u32 	%r16, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_16];
	ld.param.u32 	%r17, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_17];
	ld.param.u32 	%r18, [PixelFormatConvert_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_18];
	cvta.to.global.u64 	%rd1, %rd3;
	mov.u32 	%r19, %ntid.x;
	mov.u32 	%r20, %ctaid.x;
	mov.u32 	%r21, %tid.x;
	mad.lo.s32 	%r1, %r19, %r20, %r21;
	mov.u32 	%r22, %ntid.y;
	mov.u32 	%r23, %ctaid.y;
	mov.u32 	%r24, %tid.y;
	mad.lo.s32 	%r2, %r22, %r23, %r24;
	setp.lt.s32	%p1, %r2, %r18;
	setp.lt.s32	%p2, %r1, %r17;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB12_7;
	bra.uni 	BB12_1;

BB12_1:
	add.s32 	%r29, %r1, %r10;
	cvt.rn.f32.s32	%f7, %r29;
	add.ftz.f32 	%f5, %f7, 0f3F000000;
	cvt.rn.f32.s32	%f8, %r2;
	add.ftz.f32 	%f6, %f8, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r25, %r26, %r27, %r28}, [inYPlaneTexture, {%f5, %f6}];
	// inline asm
	mov.b32 	 %f1, %r25;
	and.b32  	%r3, %r2, 1;
	setp.eq.s32	%p4, %r3, 0;
	@%p4 bra 	BB12_3;

	cvt.rn.f32.s32	%f13, %r1;
	add.ftz.f32 	%f14, %f13, 0f3F000000;
	fma.rn.ftz.f32 	%f15, %f14, 0f3F000000, 0f3E800000;
	selp.u32	%r38, 1, 0, %p4;
	shl.b32 	%r39, %r38, 1;
	shr.s32 	%r40, %r2, 31;
	shr.u32 	%r41, %r40, 30;
	add.s32 	%r42, %r2, %r41;
	and.b32  	%r43, %r42, 2147483644;
	sub.s32 	%r44, %r2, %r43;
	add.s32 	%r45, %r39, %r44;
	shl.b32 	%r46, %r45, 1;
	add.s32 	%r47, %r46, -1;
	shr.s32 	%r48, %r42, 2;
	cvt.rn.f32.s32	%f16, %r48;
	cvt.rn.f32.s32	%f17, %r47;
	mov.f32 	%f18, 0f41000000;
	div.approx.ftz.f32 	%f19, %f17, %f18;
	add.ftz.f32 	%f12, %f16, %f19;
	cvt.rn.f32.s32	%f20, %r13;
	add.ftz.f32 	%f9, %f20, %f15;
	// inline asm
	tex.2d.v4.u32.f32 {%r30, %r31, %r32, %r33}, [inLowerUPlaneTexture, {%f9, %f12}];
	// inline asm
	cvt.rn.f32.s32	%f21, %r14;
	add.ftz.f32 	%f11, %f21, %f15;
	// inline asm
	tex.2d.v4.u32.f32 {%r34, %r35, %r36, %r37}, [inLowerVPlaneTexture, {%f11, %f12}];
	// inline asm
	mov.u32 	%r70, %r34;
	mov.u32 	%r69, %r30;
	bra.uni 	BB12_4;

BB12_3:
	cvt.rn.f32.s32	%f26, %r1;
	add.ftz.f32 	%f27, %f26, 0f3F000000;
	fma.rn.ftz.f32 	%f28, %f27, 0f3F000000, 0f3E800000;
	selp.u32	%r57, 1, 0, %p4;
	shl.b32 	%r58, %r57, 1;
	shr.s32 	%r59, %r2, 31;
	shr.u32 	%r60, %r59, 30;
	add.s32 	%r61, %r2, %r60;
	and.b32  	%r62, %r61, 2147483644;
	sub.s32 	%r63, %r2, %r62;
	add.s32 	%r64, %r58, %r63;
	shl.b32 	%r65, %r64, 1;
	add.s32 	%r66, %r65, -1;
	shr.s32 	%r67, %r61, 2;
	cvt.rn.f32.s32	%f29, %r67;
	cvt.rn.f32.s32	%f30, %r66;
	mov.f32 	%f31, 0f41000000;
	div.approx.ftz.f32 	%f32, %f30, %f31;
	add.ftz.f32 	%f25, %f29, %f32;
	cvt.rn.f32.s32	%f33, %r11;
	add.ftz.f32 	%f22, %f33, %f28;
	// inline asm
	tex.2d.v4.u32.f32 {%r49, %r50, %r51, %r52}, [inUpperUPlaneTexture, {%f22, %f25}];
	// inline asm
	cvt.rn.f32.s32	%f34, %r12;
	add.ftz.f32 	%f24, %f34, %f28;
	// inline asm
	tex.2d.v4.u32.f32 {%r53, %r54, %r55, %r56}, [inUpperVPlaneTexture, {%f24, %f25}];
	// inline asm
	mov.u32 	%r70, %r53;
	mov.u32 	%r69, %r49;

BB12_4:
	mov.b32 	 %f35, %r70;
	mul.ftz.f32 	%f36, %f35, 0f437F0000;
	mov.f32 	%f37, 0f437F0000;
	mov.b32 	 %f38, %r69;
	mul.ftz.f32 	%f39, %f38, 0f437F0000;
	ld.const.f32 	%f40, [kYCbCrFullRangeOffset];
	div.approx.ftz.f32 	%f41, %f37, %f37;
	mul.ftz.f32 	%f42, %f40, %f41;
	mul.ftz.f32 	%f43, %f1, 0f437F0000;
	sub.ftz.f32 	%f44, %f43, %f42;
	ld.const.f32 	%f45, [kYCbCrFullRangeOffset+4];
	mul.ftz.f32 	%f46, %f45, %f41;
	sub.ftz.f32 	%f47, %f39, %f46;
	ld.const.f32 	%f48, [kYCbCrFullRangeOffset+8];
	mul.ftz.f32 	%f49, %f48, %f41;
	sub.ftz.f32 	%f50, %f36, %f49;
	ld.const.f32 	%f51, [k709YCbCrFullRange_To_RGB32f];
	ld.const.f32 	%f52, [k709YCbCrFullRange_To_RGB32f+4];
	mul.ftz.f32 	%f53, %f47, %f52;
	fma.rn.ftz.f32 	%f54, %f44, %f51, %f53;
	ld.const.f32 	%f55, [k709YCbCrFullRange_To_RGB32f+8];
	fma.rn.ftz.f32 	%f2, %f50, %f55, %f54;
	ld.const.f32 	%f56, [k709YCbCrFullRange_To_RGB32f+12];
	ld.const.f32 	%f57, [k709YCbCrFullRange_To_RGB32f+16];
	mul.ftz.f32 	%f58, %f47, %f57;
	fma.rn.ftz.f32 	%f59, %f44, %f56, %f58;
	ld.const.f32 	%f60, [k709YCbCrFullRange_To_RGB32f+20];
	fma.rn.ftz.f32 	%f3, %f50, %f60, %f59;
	ld.const.f32 	%f61, [k709YCbCrFullRange_To_RGB32f+24];
	ld.const.f32 	%f62, [k709YCbCrFullRange_To_RGB32f+28];
	mul.ftz.f32 	%f63, %f47, %f62;
	fma.rn.ftz.f32 	%f64, %f44, %f61, %f63;
	ld.const.f32 	%f65, [k709YCbCrFullRange_To_RGB32f+32];
	fma.rn.ftz.f32 	%f4, %f50, %f65, %f64;
	mad.lo.s32 	%r68, %r2, %r15, %r1;
	cvt.s64.s32	%rd2, %r68;
	setp.eq.s32	%p7, %r16, 0;
	@%p7 bra 	BB12_6;

	shl.b64 	%rd13, %rd2, 4;
	add.s64 	%rd14, %rd1, %rd13;
	mov.f32 	%f66, 0f3F800000;
	st.global.v4.f32 	[%rd14], {%f4, %f3, %f2, %f66};
	bra.uni 	BB12_7;

BB12_6:
	shl.b64 	%rd15, %rd2, 3;
	add.s64 	%rd16, %rd1, %rd15;
	mov.f32 	%f67, 0f3F800000;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f67;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f4;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd16], {%rs4, %rs3, %rs2, %rs1};

BB12_7:
	ret;
}

.visible .entry PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel(
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_0,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_1,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_2,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_3,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_4,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_5,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_6,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_7,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_8,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_9,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_10,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_11,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_12,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_13,
	.param .u64 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_14,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_15,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_16,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_17,
	.param .u32 PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_18
)
{
	.reg .pred 	%p<5>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<30>;
	.reg .f32 	%f<51>;
	.reg .s64 	%rd<14>;


	ld.param.u32 	%r3, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_0];
	ld.param.u32 	%r4, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_2];
	ld.param.u32 	%r5, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_4];
	ld.param.u64 	%rd3, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_14];
	ld.param.u32 	%r6, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_15];
	ld.param.u32 	%r7, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_16];
	ld.param.u32 	%r8, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_17];
	ld.param.u32 	%r9, [PixelFormatConvert_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_18];
	cvta.to.global.u64 	%rd1, %rd3;
	mov.u32 	%r10, %ntid.x;
	mov.u32 	%r11, %ctaid.x;
	mov.u32 	%r12, %tid.x;
	mad.lo.s32 	%r1, %r10, %r11, %r12;
	mov.u32 	%r13, %ntid.y;
	mov.u32 	%r14, %ctaid.y;
	mov.u32 	%r15, %tid.y;
	mad.lo.s32 	%r2, %r13, %r14, %r15;
	setp.lt.s32	%p1, %r2, %r9;
	setp.lt.s32	%p2, %r1, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB13_4;
	bra.uni 	BB13_1;

BB13_1:
	add.s32 	%r28, %r1, %r3;
	cvt.rn.f32.s32	%f10, %r28;
	add.ftz.f32 	%f4, %f10, 0f3F000000;
	cvt.rn.f32.s32	%f11, %r2;
	add.ftz.f32 	%f5, %f11, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r16, %r17, %r18, %r19}, [inYPlaneTexture, {%f4, %f5}];
	// inline asm
	cvt.rn.f32.s32	%f12, %r1;
	add.ftz.f32 	%f13, %f12, 0f3F000000;
	fma.rn.ftz.f32 	%f14, %f13, 0f3F000000, 0f3E800000;
	mov.b32 	 %f15, %r16;
	cvt.rn.f32.s32	%f16, %r4;
	add.ftz.f32 	%f6, %f16, %f14;
	mul.ftz.f32 	%f9, %f5, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r20, %r21, %r22, %r23}, [inFrameCodedUPlaneTexture, {%f6, %f9}];
	// inline asm
	mov.b32 	 %f17, %r20;
	cvt.rn.f32.s32	%f18, %r5;
	add.ftz.f32 	%f8, %f18, %f14;
	// inline asm
	tex.2d.v4.u32.f32 {%r24, %r25, %r26, %r27}, [inFrameCodedVPlaneTexture, {%f8, %f9}];
	// inline asm
	mov.b32 	 %f19, %r24;
	mul.ftz.f32 	%f20, %f19, 0f437F0000;
	mov.f32 	%f21, 0f437F0000;
	mul.ftz.f32 	%f22, %f17, 0f437F0000;
	mul.ftz.f32 	%f23, %f15, 0f437F0000;
	ld.const.f32 	%f24, [kYCbCrFullRangeOffset];
	div.approx.ftz.f32 	%f25, %f21, %f21;
	mul.ftz.f32 	%f26, %f24, %f25;
	sub.ftz.f32 	%f27, %f23, %f26;
	ld.const.f32 	%f28, [kYCbCrFullRangeOffset+4];
	mul.ftz.f32 	%f29, %f28, %f25;
	sub.ftz.f32 	%f30, %f22, %f29;
	ld.const.f32 	%f31, [kYCbCrFullRangeOffset+8];
	mul.ftz.f32 	%f32, %f31, %f25;
	sub.ftz.f32 	%f33, %f20, %f32;
	ld.const.f32 	%f34, [k709YCbCrFullRange_To_RGB32f];
	ld.const.f32 	%f35, [k709YCbCrFullRange_To_RGB32f+4];
	mul.ftz.f32 	%f36, %f30, %f35;
	fma.rn.ftz.f32 	%f37, %f27, %f34, %f36;
	ld.const.f32 	%f38, [k709YCbCrFullRange_To_RGB32f+8];
	fma.rn.ftz.f32 	%f1, %f33, %f38, %f37;
	ld.const.f32 	%f39, [k709YCbCrFullRange_To_RGB32f+12];
	ld.const.f32 	%f40, [k709YCbCrFullRange_To_RGB32f+16];
	mul.ftz.f32 	%f41, %f30, %f40;
	fma.rn.ftz.f32 	%f42, %f27, %f39, %f41;
	ld.const.f32 	%f43, [k709YCbCrFullRange_To_RGB32f+20];
	fma.rn.ftz.f32 	%f2, %f33, %f43, %f42;
	ld.const.f32 	%f44, [k709YCbCrFullRange_To_RGB32f+24];
	ld.const.f32 	%f45, [k709YCbCrFullRange_To_RGB32f+28];
	mul.ftz.f32 	%f46, %f30, %f45;
	fma.rn.ftz.f32 	%f47, %f27, %f44, %f46;
	ld.const.f32 	%f48, [k709YCbCrFullRange_To_RGB32f+32];
	fma.rn.ftz.f32 	%f3, %f33, %f48, %f47;
	mad.lo.s32 	%r29, %r2, %r6, %r1;
	cvt.s64.s32	%rd2, %r29;
	setp.eq.s32	%p4, %r7, 0;
	@%p4 bra 	BB13_3;

	shl.b64 	%rd10, %rd2, 4;
	add.s64 	%rd11, %rd1, %rd10;
	mov.f32 	%f49, 0f3F800000;
	st.global.v4.f32 	[%rd11], {%f3, %f2, %f1, %f49};
	bra.uni 	BB13_4;

BB13_3:
	shl.b64 	%rd12, %rd2, 3;
	add.s64 	%rd13, %rd1, %rd12;
	mov.f32 	%f50, 0f3F800000;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f50;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f1;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd13], {%rs4, %rs3, %rs2, %rs1};

BB13_4:
	ret;
}

.visible .entry PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel(
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_0,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_1,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_2,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_3,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_4,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_5,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_6,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_7,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_8,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_9,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_10,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_11,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_12,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_13,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_14,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_15,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_16,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_17,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_18
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<71>;
	.reg .f32 	%f<66>;
	.reg .s64 	%rd<17>;


	ld.param.u32 	%r10, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_0];
	ld.param.u32 	%r11, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_6];
	ld.param.u32 	%r12, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_8];
	ld.param.u32 	%r13, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_10];
	ld.param.u32 	%r14, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_12];
	ld.param.u64 	%rd3, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_14];
	ld.param.u32 	%r15, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_15];
	ld.param.u32 	%r16, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_16];
	ld.param.u32 	%r17, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_17];
	ld.param.u32 	%r18, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_18];
	cvta.to.global.u64 	%rd1, %rd3;
	mov.u32 	%r19, %ntid.x;
	mov.u32 	%r20, %ctaid.x;
	mov.u32 	%r21, %tid.x;
	mad.lo.s32 	%r1, %r19, %r20, %r21;
	mov.u32 	%r22, %ntid.y;
	mov.u32 	%r23, %ctaid.y;
	mov.u32 	%r24, %tid.y;
	mad.lo.s32 	%r2, %r22, %r23, %r24;
	setp.lt.s32	%p1, %r2, %r18;
	setp.lt.s32	%p2, %r1, %r17;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB14_7;
	bra.uni 	BB14_1;

BB14_1:
	add.s32 	%r29, %r1, %r10;
	cvt.rn.f32.s32	%f7, %r29;
	add.ftz.f32 	%f5, %f7, 0f3F000000;
	cvt.rn.f32.s32	%f8, %r2;
	add.ftz.f32 	%f6, %f8, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r25, %r26, %r27, %r28}, [inYPlaneTexture, {%f5, %f6}];
	// inline asm
	mov.b32 	 %f1, %r25;
	and.b32  	%r3, %r2, 1;
	setp.eq.s32	%p4, %r3, 0;
	@%p4 bra 	BB14_3;

	cvt.rn.f32.s32	%f13, %r1;
	add.ftz.f32 	%f14, %f13, 0f3F000000;
	selp.u32	%r38, 1, 0, %p4;
	shl.b32 	%r39, %r38, 1;
	shr.s32 	%r40, %r2, 31;
	shr.u32 	%r41, %r40, 30;
	add.s32 	%r42, %r2, %r41;
	and.b32  	%r43, %r42, 2147483644;
	sub.s32 	%r44, %r2, %r43;
	add.s32 	%r45, %r39, %r44;
	shl.b32 	%r46, %r45, 1;
	add.s32 	%r47, %r46, -1;
	shr.s32 	%r48, %r42, 2;
	cvt.rn.f32.s32	%f15, %r48;
	cvt.rn.f32.s32	%f16, %r47;
	mov.f32 	%f17, 0f41000000;
	div.approx.ftz.f32 	%f18, %f16, %f17;
	add.ftz.f32 	%f12, %f15, %f18;
	cvt.rn.f32.s32	%f19, %r13;
	fma.rn.ftz.f32 	%f9, %f14, 0f3F000000, %f19;
	// inline asm
	tex.2d.v4.u32.f32 {%r30, %r31, %r32, %r33}, [inLowerUPlaneTexture, {%f9, %f12}];
	// inline asm
	cvt.rn.f32.s32	%f20, %r14;
	fma.rn.ftz.f32 	%f11, %f14, 0f3F000000, %f20;
	// inline asm
	tex.2d.v4.u32.f32 {%r34, %r35, %r36, %r37}, [inLowerVPlaneTexture, {%f11, %f12}];
	// inline asm
	mov.u32 	%r70, %r34;
	mov.u32 	%r69, %r30;
	bra.uni 	BB14_4;

BB14_3:
	cvt.rn.f32.s32	%f25, %r1;
	add.ftz.f32 	%f26, %f25, 0f3F000000;
	selp.u32	%r57, 1, 0, %p4;
	shl.b32 	%r58, %r57, 1;
	shr.s32 	%r59, %r2, 31;
	shr.u32 	%r60, %r59, 30;
	add.s32 	%r61, %r2, %r60;
	and.b32  	%r62, %r61, 2147483644;
	sub.s32 	%r63, %r2, %r62;
	add.s32 	%r64, %r58, %r63;
	shl.b32 	%r65, %r64, 1;
	add.s32 	%r66, %r65, -1;
	shr.s32 	%r67, %r61, 2;
	cvt.rn.f32.s32	%f27, %r67;
	cvt.rn.f32.s32	%f28, %r66;
	mov.f32 	%f29, 0f41000000;
	div.approx.ftz.f32 	%f30, %f28, %f29;
	add.ftz.f32 	%f24, %f27, %f30;
	cvt.rn.f32.s32	%f31, %r11;
	fma.rn.ftz.f32 	%f21, %f26, 0f3F000000, %f31;
	// inline asm
	tex.2d.v4.u32.f32 {%r49, %r50, %r51, %r52}, [inUpperUPlaneTexture, {%f21, %f24}];
	// inline asm
	cvt.rn.f32.s32	%f32, %r12;
	fma.rn.ftz.f32 	%f23, %f26, 0f3F000000, %f32;
	// inline asm
	tex.2d.v4.u32.f32 {%r53, %r54, %r55, %r56}, [inUpperVPlaneTexture, {%f23, %f24}];
	// inline asm
	mov.u32 	%r70, %r53;
	mov.u32 	%r69, %r49;

BB14_4:
	mov.b32 	 %f33, %r70;
	mul.ftz.f32 	%f34, %f33, 0f437F0000;
	mov.f32 	%f35, 0f437F0000;
	mov.b32 	 %f36, %r69;
	mul.ftz.f32 	%f37, %f36, 0f437F0000;
	ld.const.f32 	%f38, [kYCbCrOffset];
	div.approx.ftz.f32 	%f39, %f35, %f35;
	mul.ftz.f32 	%f40, %f38, %f39;
	mul.ftz.f32 	%f41, %f1, 0f437F0000;
	sub.ftz.f32 	%f42, %f41, %f40;
	ld.const.f32 	%f43, [kYCbCrOffset+4];
	mul.ftz.f32 	%f44, %f43, %f39;
	sub.ftz.f32 	%f45, %f37, %f44;
	ld.const.f32 	%f46, [kYCbCrOffset+8];
	mul.ftz.f32 	%f47, %f46, %f39;
	sub.ftz.f32 	%f48, %f34, %f47;
	ld.const.f32 	%f49, [k601YCbCr_To_RGB32f];
	ld.const.f32 	%f50, [k601YCbCr_To_RGB32f+4];
	mul.ftz.f32 	%f51, %f45, %f50;
	fma.rn.ftz.f32 	%f52, %f42, %f49, %f51;
	ld.const.f32 	%f53, [k601YCbCr_To_RGB32f+8];
	fma.rn.ftz.f32 	%f2, %f48, %f53, %f52;
	ld.const.f32 	%f54, [k601YCbCr_To_RGB32f+12];
	ld.const.f32 	%f55, [k601YCbCr_To_RGB32f+16];
	mul.ftz.f32 	%f56, %f45, %f55;
	fma.rn.ftz.f32 	%f57, %f42, %f54, %f56;
	ld.const.f32 	%f58, [k601YCbCr_To_RGB32f+20];
	fma.rn.ftz.f32 	%f3, %f48, %f58, %f57;
	ld.const.f32 	%f59, [k601YCbCr_To_RGB32f+24];
	ld.const.f32 	%f60, [k601YCbCr_To_RGB32f+28];
	mul.ftz.f32 	%f61, %f45, %f60;
	fma.rn.ftz.f32 	%f62, %f42, %f59, %f61;
	ld.const.f32 	%f63, [k601YCbCr_To_RGB32f+32];
	fma.rn.ftz.f32 	%f4, %f48, %f63, %f62;
	mad.lo.s32 	%r68, %r2, %r15, %r1;
	cvt.s64.s32	%rd2, %r68;
	setp.eq.s32	%p7, %r16, 0;
	@%p7 bra 	BB14_6;

	shl.b64 	%rd13, %rd2, 4;
	add.s64 	%rd14, %rd1, %rd13;
	mov.f32 	%f64, 0f3F800000;
	st.global.v4.f32 	[%rd14], {%f4, %f3, %f2, %f64};
	bra.uni 	BB14_7;

BB14_6:
	shl.b64 	%rd15, %rd2, 3;
	add.s64 	%rd16, %rd1, %rd15;
	mov.f32 	%f65, 0f3F800000;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f65;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f4;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd16], {%rs4, %rs3, %rs2, %rs1};

BB14_7:
	ret;
}

.visible .entry PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel(
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_0,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_1,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_2,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_3,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_4,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_5,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_6,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_7,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_8,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_9,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_10,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_11,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_12,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_13,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_14,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_15,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_16,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_17,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_18
)
{
	.reg .pred 	%p<5>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<30>;
	.reg .f32 	%f<50>;
	.reg .s64 	%rd<14>;


	ld.param.u32 	%r3, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_0];
	ld.param.u32 	%r4, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_2];
	ld.param.u32 	%r5, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_4];
	ld.param.u64 	%rd3, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_14];
	ld.param.u32 	%r6, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_15];
	ld.param.u32 	%r7, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_16];
	ld.param.u32 	%r8, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_17];
	ld.param.u32 	%r9, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_To_BGRA_4444_32f_Kernel_param_18];
	cvta.to.global.u64 	%rd1, %rd3;
	mov.u32 	%r10, %ntid.x;
	mov.u32 	%r11, %ctaid.x;
	mov.u32 	%r12, %tid.x;
	mad.lo.s32 	%r1, %r10, %r11, %r12;
	mov.u32 	%r13, %ntid.y;
	mov.u32 	%r14, %ctaid.y;
	mov.u32 	%r15, %tid.y;
	mad.lo.s32 	%r2, %r13, %r14, %r15;
	setp.lt.s32	%p1, %r2, %r9;
	setp.lt.s32	%p2, %r1, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB15_4;
	bra.uni 	BB15_1;

BB15_1:
	add.s32 	%r28, %r1, %r3;
	cvt.rn.f32.s32	%f10, %r28;
	add.ftz.f32 	%f4, %f10, 0f3F000000;
	cvt.rn.f32.s32	%f11, %r2;
	add.ftz.f32 	%f5, %f11, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r16, %r17, %r18, %r19}, [inYPlaneTexture, {%f4, %f5}];
	// inline asm
	cvt.rn.f32.s32	%f12, %r1;
	add.ftz.f32 	%f13, %f12, 0f3F000000;
	mov.b32 	 %f14, %r16;
	cvt.rn.f32.s32	%f15, %r4;
	fma.rn.ftz.f32 	%f6, %f13, 0f3F000000, %f15;
	mul.ftz.f32 	%f9, %f5, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r20, %r21, %r22, %r23}, [inFrameCodedUPlaneTexture, {%f6, %f9}];
	// inline asm
	mov.b32 	 %f16, %r20;
	cvt.rn.f32.s32	%f17, %r5;
	fma.rn.ftz.f32 	%f8, %f13, 0f3F000000, %f17;
	// inline asm
	tex.2d.v4.u32.f32 {%r24, %r25, %r26, %r27}, [inFrameCodedVPlaneTexture, {%f8, %f9}];
	// inline asm
	mov.b32 	 %f18, %r24;
	mul.ftz.f32 	%f19, %f18, 0f437F0000;
	mov.f32 	%f20, 0f437F0000;
	mul.ftz.f32 	%f21, %f16, 0f437F0000;
	mul.ftz.f32 	%f22, %f14, 0f437F0000;
	ld.const.f32 	%f23, [kYCbCrOffset];
	div.approx.ftz.f32 	%f24, %f20, %f20;
	mul.ftz.f32 	%f25, %f23, %f24;
	sub.ftz.f32 	%f26, %f22, %f25;
	ld.const.f32 	%f27, [kYCbCrOffset+4];
	mul.ftz.f32 	%f28, %f27, %f24;
	sub.ftz.f32 	%f29, %f21, %f28;
	ld.const.f32 	%f30, [kYCbCrOffset+8];
	mul.ftz.f32 	%f31, %f30, %f24;
	sub.ftz.f32 	%f32, %f19, %f31;
	ld.const.f32 	%f33, [k601YCbCr_To_RGB32f];
	ld.const.f32 	%f34, [k601YCbCr_To_RGB32f+4];
	mul.ftz.f32 	%f35, %f29, %f34;
	fma.rn.ftz.f32 	%f36, %f26, %f33, %f35;
	ld.const.f32 	%f37, [k601YCbCr_To_RGB32f+8];
	fma.rn.ftz.f32 	%f1, %f32, %f37, %f36;
	ld.const.f32 	%f38, [k601YCbCr_To_RGB32f+12];
	ld.const.f32 	%f39, [k601YCbCr_To_RGB32f+16];
	mul.ftz.f32 	%f40, %f29, %f39;
	fma.rn.ftz.f32 	%f41, %f26, %f38, %f40;
	ld.const.f32 	%f42, [k601YCbCr_To_RGB32f+20];
	fma.rn.ftz.f32 	%f2, %f32, %f42, %f41;
	ld.const.f32 	%f43, [k601YCbCr_To_RGB32f+24];
	ld.const.f32 	%f44, [k601YCbCr_To_RGB32f+28];
	mul.ftz.f32 	%f45, %f29, %f44;
	fma.rn.ftz.f32 	%f46, %f26, %f43, %f45;
	ld.const.f32 	%f47, [k601YCbCr_To_RGB32f+32];
	fma.rn.ftz.f32 	%f3, %f32, %f47, %f46;
	mad.lo.s32 	%r29, %r2, %r6, %r1;
	cvt.s64.s32	%rd2, %r29;
	setp.eq.s32	%p4, %r7, 0;
	@%p4 bra 	BB15_3;

	shl.b64 	%rd10, %rd2, 4;
	add.s64 	%rd11, %rd1, %rd10;
	mov.f32 	%f48, 0f3F800000;
	st.global.v4.f32 	[%rd11], {%f3, %f2, %f1, %f48};
	bra.uni 	BB15_4;

BB15_3:
	shl.b64 	%rd12, %rd2, 3;
	add.s64 	%rd13, %rd1, %rd12;
	mov.f32 	%f49, 0f3F800000;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f49;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f1;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd13], {%rs4, %rs3, %rs2, %rs1};

BB15_4:
	ret;
}

.visible .entry PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel(
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_0,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_1,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_2,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_3,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_4,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_5,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_6,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_7,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_8,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_9,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_10,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_11,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_12,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_13,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_14,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_15,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_16,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_17,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_18
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<71>;
	.reg .f32 	%f<66>;
	.reg .s64 	%rd<17>;


	ld.param.u32 	%r10, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_0];
	ld.param.u32 	%r11, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_6];
	ld.param.u32 	%r12, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_8];
	ld.param.u32 	%r13, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_10];
	ld.param.u32 	%r14, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_12];
	ld.param.u64 	%rd3, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_14];
	ld.param.u32 	%r15, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_15];
	ld.param.u32 	%r16, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_16];
	ld.param.u32 	%r17, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_17];
	ld.param.u32 	%r18, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_18];
	cvta.to.global.u64 	%rd1, %rd3;
	mov.u32 	%r19, %ntid.x;
	mov.u32 	%r20, %ctaid.x;
	mov.u32 	%r21, %tid.x;
	mad.lo.s32 	%r1, %r19, %r20, %r21;
	mov.u32 	%r22, %ntid.y;
	mov.u32 	%r23, %ctaid.y;
	mov.u32 	%r24, %tid.y;
	mad.lo.s32 	%r2, %r22, %r23, %r24;
	setp.lt.s32	%p1, %r2, %r18;
	setp.lt.s32	%p2, %r1, %r17;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB16_7;
	bra.uni 	BB16_1;

BB16_1:
	add.s32 	%r29, %r1, %r10;
	cvt.rn.f32.s32	%f7, %r29;
	add.ftz.f32 	%f5, %f7, 0f3F000000;
	cvt.rn.f32.s32	%f8, %r2;
	add.ftz.f32 	%f6, %f8, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r25, %r26, %r27, %r28}, [inYPlaneTexture, {%f5, %f6}];
	// inline asm
	mov.b32 	 %f1, %r25;
	and.b32  	%r3, %r2, 1;
	setp.eq.s32	%p4, %r3, 0;
	@%p4 bra 	BB16_3;

	cvt.rn.f32.s32	%f13, %r1;
	add.ftz.f32 	%f14, %f13, 0f3F000000;
	selp.u32	%r38, 1, 0, %p4;
	shl.b32 	%r39, %r38, 1;
	shr.s32 	%r40, %r2, 31;
	shr.u32 	%r41, %r40, 30;
	add.s32 	%r42, %r2, %r41;
	and.b32  	%r43, %r42, 2147483644;
	sub.s32 	%r44, %r2, %r43;
	add.s32 	%r45, %r39, %r44;
	shl.b32 	%r46, %r45, 1;
	add.s32 	%r47, %r46, -1;
	shr.s32 	%r48, %r42, 2;
	cvt.rn.f32.s32	%f15, %r48;
	cvt.rn.f32.s32	%f16, %r47;
	mov.f32 	%f17, 0f41000000;
	div.approx.ftz.f32 	%f18, %f16, %f17;
	add.ftz.f32 	%f12, %f15, %f18;
	cvt.rn.f32.s32	%f19, %r13;
	fma.rn.ftz.f32 	%f9, %f14, 0f3F000000, %f19;
	// inline asm
	tex.2d.v4.u32.f32 {%r30, %r31, %r32, %r33}, [inLowerUPlaneTexture, {%f9, %f12}];
	// inline asm
	cvt.rn.f32.s32	%f20, %r14;
	fma.rn.ftz.f32 	%f11, %f14, 0f3F000000, %f20;
	// inline asm
	tex.2d.v4.u32.f32 {%r34, %r35, %r36, %r37}, [inLowerVPlaneTexture, {%f11, %f12}];
	// inline asm
	mov.u32 	%r70, %r34;
	mov.u32 	%r69, %r30;
	bra.uni 	BB16_4;

BB16_3:
	cvt.rn.f32.s32	%f25, %r1;
	add.ftz.f32 	%f26, %f25, 0f3F000000;
	selp.u32	%r57, 1, 0, %p4;
	shl.b32 	%r58, %r57, 1;
	shr.s32 	%r59, %r2, 31;
	shr.u32 	%r60, %r59, 30;
	add.s32 	%r61, %r2, %r60;
	and.b32  	%r62, %r61, 2147483644;
	sub.s32 	%r63, %r2, %r62;
	add.s32 	%r64, %r58, %r63;
	shl.b32 	%r65, %r64, 1;
	add.s32 	%r66, %r65, -1;
	shr.s32 	%r67, %r61, 2;
	cvt.rn.f32.s32	%f27, %r67;
	cvt.rn.f32.s32	%f28, %r66;
	mov.f32 	%f29, 0f41000000;
	div.approx.ftz.f32 	%f30, %f28, %f29;
	add.ftz.f32 	%f24, %f27, %f30;
	cvt.rn.f32.s32	%f31, %r11;
	fma.rn.ftz.f32 	%f21, %f26, 0f3F000000, %f31;
	// inline asm
	tex.2d.v4.u32.f32 {%r49, %r50, %r51, %r52}, [inUpperUPlaneTexture, {%f21, %f24}];
	// inline asm
	cvt.rn.f32.s32	%f32, %r12;
	fma.rn.ftz.f32 	%f23, %f26, 0f3F000000, %f32;
	// inline asm
	tex.2d.v4.u32.f32 {%r53, %r54, %r55, %r56}, [inUpperVPlaneTexture, {%f23, %f24}];
	// inline asm
	mov.u32 	%r70, %r53;
	mov.u32 	%r69, %r49;

BB16_4:
	mov.b32 	 %f33, %r70;
	mul.ftz.f32 	%f34, %f33, 0f437F0000;
	mov.f32 	%f35, 0f437F0000;
	mov.b32 	 %f36, %r69;
	mul.ftz.f32 	%f37, %f36, 0f437F0000;
	ld.const.f32 	%f38, [kYCbCrFullRangeOffset];
	div.approx.ftz.f32 	%f39, %f35, %f35;
	mul.ftz.f32 	%f40, %f38, %f39;
	mul.ftz.f32 	%f41, %f1, 0f437F0000;
	sub.ftz.f32 	%f42, %f41, %f40;
	ld.const.f32 	%f43, [kYCbCrFullRangeOffset+4];
	mul.ftz.f32 	%f44, %f43, %f39;
	sub.ftz.f32 	%f45, %f37, %f44;
	ld.const.f32 	%f46, [kYCbCrFullRangeOffset+8];
	mul.ftz.f32 	%f47, %f46, %f39;
	sub.ftz.f32 	%f48, %f34, %f47;
	ld.const.f32 	%f49, [k601YCbCrFullRange_To_RGB32f];
	ld.const.f32 	%f50, [k601YCbCrFullRange_To_RGB32f+4];
	mul.ftz.f32 	%f51, %f45, %f50;
	fma.rn.ftz.f32 	%f52, %f42, %f49, %f51;
	ld.const.f32 	%f53, [k601YCbCrFullRange_To_RGB32f+8];
	fma.rn.ftz.f32 	%f2, %f48, %f53, %f52;
	ld.const.f32 	%f54, [k601YCbCrFullRange_To_RGB32f+12];
	ld.const.f32 	%f55, [k601YCbCrFullRange_To_RGB32f+16];
	mul.ftz.f32 	%f56, %f45, %f55;
	fma.rn.ftz.f32 	%f57, %f42, %f54, %f56;
	ld.const.f32 	%f58, [k601YCbCrFullRange_To_RGB32f+20];
	fma.rn.ftz.f32 	%f3, %f48, %f58, %f57;
	ld.const.f32 	%f59, [k601YCbCrFullRange_To_RGB32f+24];
	ld.const.f32 	%f60, [k601YCbCrFullRange_To_RGB32f+28];
	mul.ftz.f32 	%f61, %f45, %f60;
	fma.rn.ftz.f32 	%f62, %f42, %f59, %f61;
	ld.const.f32 	%f63, [k601YCbCrFullRange_To_RGB32f+32];
	fma.rn.ftz.f32 	%f4, %f48, %f63, %f62;
	mad.lo.s32 	%r68, %r2, %r15, %r1;
	cvt.s64.s32	%rd2, %r68;
	setp.eq.s32	%p7, %r16, 0;
	@%p7 bra 	BB16_6;

	shl.b64 	%rd13, %rd2, 4;
	add.s64 	%rd14, %rd1, %rd13;
	mov.f32 	%f64, 0f3F800000;
	st.global.v4.f32 	[%rd14], {%f4, %f3, %f2, %f64};
	bra.uni 	BB16_7;

BB16_6:
	shl.b64 	%rd15, %rd2, 3;
	add.s64 	%rd16, %rd1, %rd15;
	mov.f32 	%f65, 0f3F800000;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f65;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f4;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd16], {%rs4, %rs3, %rs2, %rs1};

BB16_7:
	ret;
}

.visible .entry PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel(
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_0,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_1,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_2,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_3,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_4,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_5,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_6,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_7,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_8,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_9,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_10,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_11,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_12,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_13,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_14,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_15,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_16,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_17,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_18
)
{
	.reg .pred 	%p<5>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<30>;
	.reg .f32 	%f<50>;
	.reg .s64 	%rd<14>;


	ld.param.u32 	%r3, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_0];
	ld.param.u32 	%r4, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_2];
	ld.param.u32 	%r5, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_4];
	ld.param.u64 	%rd3, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_14];
	ld.param.u32 	%r6, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_15];
	ld.param.u32 	%r7, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_16];
	ld.param.u32 	%r8, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_17];
	ld.param.u32 	%r9, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange_To_BGRA_4444_32f_Kernel_param_18];
	cvta.to.global.u64 	%rd1, %rd3;
	mov.u32 	%r10, %ntid.x;
	mov.u32 	%r11, %ctaid.x;
	mov.u32 	%r12, %tid.x;
	mad.lo.s32 	%r1, %r10, %r11, %r12;
	mov.u32 	%r13, %ntid.y;
	mov.u32 	%r14, %ctaid.y;
	mov.u32 	%r15, %tid.y;
	mad.lo.s32 	%r2, %r13, %r14, %r15;
	setp.lt.s32	%p1, %r2, %r9;
	setp.lt.s32	%p2, %r1, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB17_4;
	bra.uni 	BB17_1;

BB17_1:
	add.s32 	%r28, %r1, %r3;
	cvt.rn.f32.s32	%f10, %r28;
	add.ftz.f32 	%f4, %f10, 0f3F000000;
	cvt.rn.f32.s32	%f11, %r2;
	add.ftz.f32 	%f5, %f11, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r16, %r17, %r18, %r19}, [inYPlaneTexture, {%f4, %f5}];
	// inline asm
	cvt.rn.f32.s32	%f12, %r1;
	add.ftz.f32 	%f13, %f12, 0f3F000000;
	mov.b32 	 %f14, %r16;
	cvt.rn.f32.s32	%f15, %r4;
	fma.rn.ftz.f32 	%f6, %f13, 0f3F000000, %f15;
	mul.ftz.f32 	%f9, %f5, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r20, %r21, %r22, %r23}, [inFrameCodedUPlaneTexture, {%f6, %f9}];
	// inline asm
	mov.b32 	 %f16, %r20;
	cvt.rn.f32.s32	%f17, %r5;
	fma.rn.ftz.f32 	%f8, %f13, 0f3F000000, %f17;
	// inline asm
	tex.2d.v4.u32.f32 {%r24, %r25, %r26, %r27}, [inFrameCodedVPlaneTexture, {%f8, %f9}];
	// inline asm
	mov.b32 	 %f18, %r24;
	mul.ftz.f32 	%f19, %f18, 0f437F0000;
	mov.f32 	%f20, 0f437F0000;
	mul.ftz.f32 	%f21, %f16, 0f437F0000;
	mul.ftz.f32 	%f22, %f14, 0f437F0000;
	ld.const.f32 	%f23, [kYCbCrFullRangeOffset];
	div.approx.ftz.f32 	%f24, %f20, %f20;
	mul.ftz.f32 	%f25, %f23, %f24;
	sub.ftz.f32 	%f26, %f22, %f25;
	ld.const.f32 	%f27, [kYCbCrFullRangeOffset+4];
	mul.ftz.f32 	%f28, %f27, %f24;
	sub.ftz.f32 	%f29, %f21, %f28;
	ld.const.f32 	%f30, [kYCbCrFullRangeOffset+8];
	mul.ftz.f32 	%f31, %f30, %f24;
	sub.ftz.f32 	%f32, %f19, %f31;
	ld.const.f32 	%f33, [k601YCbCrFullRange_To_RGB32f];
	ld.const.f32 	%f34, [k601YCbCrFullRange_To_RGB32f+4];
	mul.ftz.f32 	%f35, %f29, %f34;
	fma.rn.ftz.f32 	%f36, %f26, %f33, %f35;
	ld.const.f32 	%f37, [k601YCbCrFullRange_To_RGB32f+8];
	fma.rn.ftz.f32 	%f1, %f32, %f37, %f36;
	ld.const.f32 	%f38, [k601YCbCrFullRange_To_RGB32f+12];
	ld.const.f32 	%f39, [k601YCbCrFullRange_To_RGB32f+16];
	mul.ftz.f32 	%f40, %f29, %f39;
	fma.rn.ftz.f32 	%f41, %f26, %f38, %f40;
	ld.const.f32 	%f42, [k601YCbCrFullRange_To_RGB32f+20];
	fma.rn.ftz.f32 	%f2, %f32, %f42, %f41;
	ld.const.f32 	%f43, [k601YCbCrFullRange_To_RGB32f+24];
	ld.const.f32 	%f44, [k601YCbCrFullRange_To_RGB32f+28];
	mul.ftz.f32 	%f45, %f29, %f44;
	fma.rn.ftz.f32 	%f46, %f26, %f43, %f45;
	ld.const.f32 	%f47, [k601YCbCrFullRange_To_RGB32f+32];
	fma.rn.ftz.f32 	%f3, %f32, %f47, %f46;
	mad.lo.s32 	%r29, %r2, %r6, %r1;
	cvt.s64.s32	%rd2, %r29;
	setp.eq.s32	%p4, %r7, 0;
	@%p4 bra 	BB17_3;

	shl.b64 	%rd10, %rd2, 4;
	add.s64 	%rd11, %rd1, %rd10;
	mov.f32 	%f48, 0f3F800000;
	st.global.v4.f32 	[%rd11], {%f3, %f2, %f1, %f48};
	bra.uni 	BB17_4;

BB17_3:
	shl.b64 	%rd12, %rd2, 3;
	add.s64 	%rd13, %rd1, %rd12;
	mov.f32 	%f49, 0f3F800000;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f49;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f1;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd13], {%rs4, %rs3, %rs2, %rs1};

BB17_4:
	ret;
}

.visible .entry PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel(
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_0,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_1,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_2,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_3,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_4,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_5,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_6,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_7,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_8,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_9,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_10,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_11,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_12,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_13,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_14,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_15,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_16,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_17,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_18
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<71>;
	.reg .f32 	%f<66>;
	.reg .s64 	%rd<17>;


	ld.param.u32 	%r10, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_0];
	ld.param.u32 	%r11, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_6];
	ld.param.u32 	%r12, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_8];
	ld.param.u32 	%r13, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_10];
	ld.param.u32 	%r14, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_12];
	ld.param.u64 	%rd3, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_14];
	ld.param.u32 	%r15, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_15];
	ld.param.u32 	%r16, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_16];
	ld.param.u32 	%r17, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_17];
	ld.param.u32 	%r18, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_18];
	cvta.to.global.u64 	%rd1, %rd3;
	mov.u32 	%r19, %ntid.x;
	mov.u32 	%r20, %ctaid.x;
	mov.u32 	%r21, %tid.x;
	mad.lo.s32 	%r1, %r19, %r20, %r21;
	mov.u32 	%r22, %ntid.y;
	mov.u32 	%r23, %ctaid.y;
	mov.u32 	%r24, %tid.y;
	mad.lo.s32 	%r2, %r22, %r23, %r24;
	setp.lt.s32	%p1, %r2, %r18;
	setp.lt.s32	%p2, %r1, %r17;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB18_7;
	bra.uni 	BB18_1;

BB18_1:
	add.s32 	%r29, %r1, %r10;
	cvt.rn.f32.s32	%f7, %r29;
	add.ftz.f32 	%f5, %f7, 0f3F000000;
	cvt.rn.f32.s32	%f8, %r2;
	add.ftz.f32 	%f6, %f8, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r25, %r26, %r27, %r28}, [inYPlaneTexture, {%f5, %f6}];
	// inline asm
	mov.b32 	 %f1, %r25;
	and.b32  	%r3, %r2, 1;
	setp.eq.s32	%p4, %r3, 0;
	@%p4 bra 	BB18_3;

	cvt.rn.f32.s32	%f13, %r1;
	add.ftz.f32 	%f14, %f13, 0f3F000000;
	selp.u32	%r38, 1, 0, %p4;
	shl.b32 	%r39, %r38, 1;
	shr.s32 	%r40, %r2, 31;
	shr.u32 	%r41, %r40, 30;
	add.s32 	%r42, %r2, %r41;
	and.b32  	%r43, %r42, 2147483644;
	sub.s32 	%r44, %r2, %r43;
	add.s32 	%r45, %r39, %r44;
	shl.b32 	%r46, %r45, 1;
	add.s32 	%r47, %r46, -1;
	shr.s32 	%r48, %r42, 2;
	cvt.rn.f32.s32	%f15, %r48;
	cvt.rn.f32.s32	%f16, %r47;
	mov.f32 	%f17, 0f41000000;
	div.approx.ftz.f32 	%f18, %f16, %f17;
	add.ftz.f32 	%f12, %f15, %f18;
	cvt.rn.f32.s32	%f19, %r13;
	fma.rn.ftz.f32 	%f9, %f14, 0f3F000000, %f19;
	// inline asm
	tex.2d.v4.u32.f32 {%r30, %r31, %r32, %r33}, [inLowerUPlaneTexture, {%f9, %f12}];
	// inline asm
	cvt.rn.f32.s32	%f20, %r14;
	fma.rn.ftz.f32 	%f11, %f14, 0f3F000000, %f20;
	// inline asm
	tex.2d.v4.u32.f32 {%r34, %r35, %r36, %r37}, [inLowerVPlaneTexture, {%f11, %f12}];
	// inline asm
	mov.u32 	%r70, %r34;
	mov.u32 	%r69, %r30;
	bra.uni 	BB18_4;

BB18_3:
	cvt.rn.f32.s32	%f25, %r1;
	add.ftz.f32 	%f26, %f25, 0f3F000000;
	selp.u32	%r57, 1, 0, %p4;
	shl.b32 	%r58, %r57, 1;
	shr.s32 	%r59, %r2, 31;
	shr.u32 	%r60, %r59, 30;
	add.s32 	%r61, %r2, %r60;
	and.b32  	%r62, %r61, 2147483644;
	sub.s32 	%r63, %r2, %r62;
	add.s32 	%r64, %r58, %r63;
	shl.b32 	%r65, %r64, 1;
	add.s32 	%r66, %r65, -1;
	shr.s32 	%r67, %r61, 2;
	cvt.rn.f32.s32	%f27, %r67;
	cvt.rn.f32.s32	%f28, %r66;
	mov.f32 	%f29, 0f41000000;
	div.approx.ftz.f32 	%f30, %f28, %f29;
	add.ftz.f32 	%f24, %f27, %f30;
	cvt.rn.f32.s32	%f31, %r11;
	fma.rn.ftz.f32 	%f21, %f26, 0f3F000000, %f31;
	// inline asm
	tex.2d.v4.u32.f32 {%r49, %r50, %r51, %r52}, [inUpperUPlaneTexture, {%f21, %f24}];
	// inline asm
	cvt.rn.f32.s32	%f32, %r12;
	fma.rn.ftz.f32 	%f23, %f26, 0f3F000000, %f32;
	// inline asm
	tex.2d.v4.u32.f32 {%r53, %r54, %r55, %r56}, [inUpperVPlaneTexture, {%f23, %f24}];
	// inline asm
	mov.u32 	%r70, %r53;
	mov.u32 	%r69, %r49;

BB18_4:
	mov.b32 	 %f33, %r70;
	mul.ftz.f32 	%f34, %f33, 0f437F0000;
	mov.f32 	%f35, 0f437F0000;
	mov.b32 	 %f36, %r69;
	mul.ftz.f32 	%f37, %f36, 0f437F0000;
	ld.const.f32 	%f38, [kYCbCrOffset];
	div.approx.ftz.f32 	%f39, %f35, %f35;
	mul.ftz.f32 	%f40, %f38, %f39;
	mul.ftz.f32 	%f41, %f1, 0f437F0000;
	sub.ftz.f32 	%f42, %f41, %f40;
	ld.const.f32 	%f43, [kYCbCrOffset+4];
	mul.ftz.f32 	%f44, %f43, %f39;
	sub.ftz.f32 	%f45, %f37, %f44;
	ld.const.f32 	%f46, [kYCbCrOffset+8];
	mul.ftz.f32 	%f47, %f46, %f39;
	sub.ftz.f32 	%f48, %f34, %f47;
	ld.const.f32 	%f49, [k709YCbCr_To_RGB32f];
	ld.const.f32 	%f50, [k709YCbCr_To_RGB32f+4];
	mul.ftz.f32 	%f51, %f45, %f50;
	fma.rn.ftz.f32 	%f52, %f42, %f49, %f51;
	ld.const.f32 	%f53, [k709YCbCr_To_RGB32f+8];
	fma.rn.ftz.f32 	%f2, %f48, %f53, %f52;
	ld.const.f32 	%f54, [k709YCbCr_To_RGB32f+12];
	ld.const.f32 	%f55, [k709YCbCr_To_RGB32f+16];
	mul.ftz.f32 	%f56, %f45, %f55;
	fma.rn.ftz.f32 	%f57, %f42, %f54, %f56;
	ld.const.f32 	%f58, [k709YCbCr_To_RGB32f+20];
	fma.rn.ftz.f32 	%f3, %f48, %f58, %f57;
	ld.const.f32 	%f59, [k709YCbCr_To_RGB32f+24];
	ld.const.f32 	%f60, [k709YCbCr_To_RGB32f+28];
	mul.ftz.f32 	%f61, %f45, %f60;
	fma.rn.ftz.f32 	%f62, %f42, %f59, %f61;
	ld.const.f32 	%f63, [k709YCbCr_To_RGB32f+32];
	fma.rn.ftz.f32 	%f4, %f48, %f63, %f62;
	mad.lo.s32 	%r68, %r2, %r15, %r1;
	cvt.s64.s32	%rd2, %r68;
	setp.eq.s32	%p7, %r16, 0;
	@%p7 bra 	BB18_6;

	shl.b64 	%rd13, %rd2, 4;
	add.s64 	%rd14, %rd1, %rd13;
	mov.f32 	%f64, 0f3F800000;
	st.global.v4.f32 	[%rd14], {%f4, %f3, %f2, %f64};
	bra.uni 	BB18_7;

BB18_6:
	shl.b64 	%rd15, %rd2, 3;
	add.s64 	%rd16, %rd1, %rd15;
	mov.f32 	%f65, 0f3F800000;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f65;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f4;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd16], {%rs4, %rs3, %rs2, %rs1};

BB18_7:
	ret;
}

.visible .entry PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel(
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_0,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_1,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_2,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_3,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_4,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_5,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_6,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_7,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_8,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_9,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_10,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_11,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_12,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_13,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_14,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_15,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_16,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_17,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_18
)
{
	.reg .pred 	%p<5>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<30>;
	.reg .f32 	%f<50>;
	.reg .s64 	%rd<14>;


	ld.param.u32 	%r3, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_0];
	ld.param.u32 	%r4, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_2];
	ld.param.u32 	%r5, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_4];
	ld.param.u64 	%rd3, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_14];
	ld.param.u32 	%r6, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_15];
	ld.param.u32 	%r7, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_16];
	ld.param.u32 	%r8, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_17];
	ld.param.u32 	%r9, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_To_BGRA_4444_32f_Kernel_param_18];
	cvta.to.global.u64 	%rd1, %rd3;
	mov.u32 	%r10, %ntid.x;
	mov.u32 	%r11, %ctaid.x;
	mov.u32 	%r12, %tid.x;
	mad.lo.s32 	%r1, %r10, %r11, %r12;
	mov.u32 	%r13, %ntid.y;
	mov.u32 	%r14, %ctaid.y;
	mov.u32 	%r15, %tid.y;
	mad.lo.s32 	%r2, %r13, %r14, %r15;
	setp.lt.s32	%p1, %r2, %r9;
	setp.lt.s32	%p2, %r1, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB19_4;
	bra.uni 	BB19_1;

BB19_1:
	add.s32 	%r28, %r1, %r3;
	cvt.rn.f32.s32	%f10, %r28;
	add.ftz.f32 	%f4, %f10, 0f3F000000;
	cvt.rn.f32.s32	%f11, %r2;
	add.ftz.f32 	%f5, %f11, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r16, %r17, %r18, %r19}, [inYPlaneTexture, {%f4, %f5}];
	// inline asm
	cvt.rn.f32.s32	%f12, %r1;
	add.ftz.f32 	%f13, %f12, 0f3F000000;
	mov.b32 	 %f14, %r16;
	cvt.rn.f32.s32	%f15, %r4;
	fma.rn.ftz.f32 	%f6, %f13, 0f3F000000, %f15;
	mul.ftz.f32 	%f9, %f5, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r20, %r21, %r22, %r23}, [inFrameCodedUPlaneTexture, {%f6, %f9}];
	// inline asm
	mov.b32 	 %f16, %r20;
	cvt.rn.f32.s32	%f17, %r5;
	fma.rn.ftz.f32 	%f8, %f13, 0f3F000000, %f17;
	// inline asm
	tex.2d.v4.u32.f32 {%r24, %r25, %r26, %r27}, [inFrameCodedVPlaneTexture, {%f8, %f9}];
	// inline asm
	mov.b32 	 %f18, %r24;
	mul.ftz.f32 	%f19, %f18, 0f437F0000;
	mov.f32 	%f20, 0f437F0000;
	mul.ftz.f32 	%f21, %f16, 0f437F0000;
	mul.ftz.f32 	%f22, %f14, 0f437F0000;
	ld.const.f32 	%f23, [kYCbCrOffset];
	div.approx.ftz.f32 	%f24, %f20, %f20;
	mul.ftz.f32 	%f25, %f23, %f24;
	sub.ftz.f32 	%f26, %f22, %f25;
	ld.const.f32 	%f27, [kYCbCrOffset+4];
	mul.ftz.f32 	%f28, %f27, %f24;
	sub.ftz.f32 	%f29, %f21, %f28;
	ld.const.f32 	%f30, [kYCbCrOffset+8];
	mul.ftz.f32 	%f31, %f30, %f24;
	sub.ftz.f32 	%f32, %f19, %f31;
	ld.const.f32 	%f33, [k709YCbCr_To_RGB32f];
	ld.const.f32 	%f34, [k709YCbCr_To_RGB32f+4];
	mul.ftz.f32 	%f35, %f29, %f34;
	fma.rn.ftz.f32 	%f36, %f26, %f33, %f35;
	ld.const.f32 	%f37, [k709YCbCr_To_RGB32f+8];
	fma.rn.ftz.f32 	%f1, %f32, %f37, %f36;
	ld.const.f32 	%f38, [k709YCbCr_To_RGB32f+12];
	ld.const.f32 	%f39, [k709YCbCr_To_RGB32f+16];
	mul.ftz.f32 	%f40, %f29, %f39;
	fma.rn.ftz.f32 	%f41, %f26, %f38, %f40;
	ld.const.f32 	%f42, [k709YCbCr_To_RGB32f+20];
	fma.rn.ftz.f32 	%f2, %f32, %f42, %f41;
	ld.const.f32 	%f43, [k709YCbCr_To_RGB32f+24];
	ld.const.f32 	%f44, [k709YCbCr_To_RGB32f+28];
	mul.ftz.f32 	%f45, %f29, %f44;
	fma.rn.ftz.f32 	%f46, %f26, %f43, %f45;
	ld.const.f32 	%f47, [k709YCbCr_To_RGB32f+32];
	fma.rn.ftz.f32 	%f3, %f32, %f47, %f46;
	mad.lo.s32 	%r29, %r2, %r6, %r1;
	cvt.s64.s32	%rd2, %r29;
	setp.eq.s32	%p4, %r7, 0;
	@%p4 bra 	BB19_3;

	shl.b64 	%rd10, %rd2, 4;
	add.s64 	%rd11, %rd1, %rd10;
	mov.f32 	%f48, 0f3F800000;
	st.global.v4.f32 	[%rd11], {%f3, %f2, %f1, %f48};
	bra.uni 	BB19_4;

BB19_3:
	shl.b64 	%rd12, %rd2, 3;
	add.s64 	%rd13, %rd1, %rd12;
	mov.f32 	%f49, 0f3F800000;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f49;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f1;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd13], {%rs4, %rs3, %rs2, %rs1};

BB19_4:
	ret;
}

.visible .entry PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel(
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_0,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_1,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_2,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_3,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_4,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_5,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_6,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_7,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_8,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_9,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_10,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_11,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_12,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_13,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_14,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_15,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_16,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_17,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_18
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<71>;
	.reg .f32 	%f<66>;
	.reg .s64 	%rd<17>;


	ld.param.u32 	%r10, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_0];
	ld.param.u32 	%r11, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_6];
	ld.param.u32 	%r12, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_8];
	ld.param.u32 	%r13, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_10];
	ld.param.u32 	%r14, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_12];
	ld.param.u64 	%rd3, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_14];
	ld.param.u32 	%r15, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_15];
	ld.param.u32 	%r16, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_16];
	ld.param.u32 	%r17, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_17];
	ld.param.u32 	%r18, [PixelFormatConvert_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_18];
	cvta.to.global.u64 	%rd1, %rd3;
	mov.u32 	%r19, %ntid.x;
	mov.u32 	%r20, %ctaid.x;
	mov.u32 	%r21, %tid.x;
	mad.lo.s32 	%r1, %r19, %r20, %r21;
	mov.u32 	%r22, %ntid.y;
	mov.u32 	%r23, %ctaid.y;
	mov.u32 	%r24, %tid.y;
	mad.lo.s32 	%r2, %r22, %r23, %r24;
	setp.lt.s32	%p1, %r2, %r18;
	setp.lt.s32	%p2, %r1, %r17;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB20_7;
	bra.uni 	BB20_1;

BB20_1:
	add.s32 	%r29, %r1, %r10;
	cvt.rn.f32.s32	%f7, %r29;
	add.ftz.f32 	%f5, %f7, 0f3F000000;
	cvt.rn.f32.s32	%f8, %r2;
	add.ftz.f32 	%f6, %f8, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r25, %r26, %r27, %r28}, [inYPlaneTexture, {%f5, %f6}];
	// inline asm
	mov.b32 	 %f1, %r25;
	and.b32  	%r3, %r2, 1;
	setp.eq.s32	%p4, %r3, 0;
	@%p4 bra 	BB20_3;

	cvt.rn.f32.s32	%f13, %r1;
	add.ftz.f32 	%f14, %f13, 0f3F000000;
	selp.u32	%r38, 1, 0, %p4;
	shl.b32 	%r39, %r38, 1;
	shr.s32 	%r40, %r2, 31;
	shr.u32 	%r41, %r40, 30;
	add.s32 	%r42, %r2, %r41;
	and.b32  	%r43, %r42, 2147483644;
	sub.s32 	%r44, %r2, %r43;
	add.s32 	%r45, %r39, %r44;
	shl.b32 	%r46, %r45, 1;
	add.s32 	%r47, %r46, -1;
	shr.s32 	%r48, %r42, 2;
	cvt.rn.f32.s32	%f15, %r48;
	cvt.rn.f32.s32	%f16, %r47;
	mov.f32 	%f17, 0f41000000;
	div.approx.ftz.f32 	%f18, %f16, %f17;
	add.ftz.f32 	%f12, %f15, %f18;
	cvt.rn.f32.s32	%f19, %r13;
	fma.rn.ftz.f32 	%f9, %f14, 0f3F000000, %f19;
	// inline asm
	tex.2d.v4.u32.f32 {%r30, %r31, %r32, %r33}, [inLowerUPlaneTexture, {%f9, %f12}];
	// inline asm
	cvt.rn.f32.s32	%f20, %r14;
	fma.rn.ftz.f32 	%f11, %f14, 0f3F000000, %f20;
	// inline asm
	tex.2d.v4.u32.f32 {%r34, %r35, %r36, %r37}, [inLowerVPlaneTexture, {%f11, %f12}];
	// inline asm
	mov.u32 	%r70, %r34;
	mov.u32 	%r69, %r30;
	bra.uni 	BB20_4;

BB20_3:
	cvt.rn.f32.s32	%f25, %r1;
	add.ftz.f32 	%f26, %f25, 0f3F000000;
	selp.u32	%r57, 1, 0, %p4;
	shl.b32 	%r58, %r57, 1;
	shr.s32 	%r59, %r2, 31;
	shr.u32 	%r60, %r59, 30;
	add.s32 	%r61, %r2, %r60;
	and.b32  	%r62, %r61, 2147483644;
	sub.s32 	%r63, %r2, %r62;
	add.s32 	%r64, %r58, %r63;
	shl.b32 	%r65, %r64, 1;
	add.s32 	%r66, %r65, -1;
	shr.s32 	%r67, %r61, 2;
	cvt.rn.f32.s32	%f27, %r67;
	cvt.rn.f32.s32	%f28, %r66;
	mov.f32 	%f29, 0f41000000;
	div.approx.ftz.f32 	%f30, %f28, %f29;
	add.ftz.f32 	%f24, %f27, %f30;
	cvt.rn.f32.s32	%f31, %r11;
	fma.rn.ftz.f32 	%f21, %f26, 0f3F000000, %f31;
	// inline asm
	tex.2d.v4.u32.f32 {%r49, %r50, %r51, %r52}, [inUpperUPlaneTexture, {%f21, %f24}];
	// inline asm
	cvt.rn.f32.s32	%f32, %r12;
	fma.rn.ftz.f32 	%f23, %f26, 0f3F000000, %f32;
	// inline asm
	tex.2d.v4.u32.f32 {%r53, %r54, %r55, %r56}, [inUpperVPlaneTexture, {%f23, %f24}];
	// inline asm
	mov.u32 	%r70, %r53;
	mov.u32 	%r69, %r49;

BB20_4:
	mov.b32 	 %f33, %r70;
	mul.ftz.f32 	%f34, %f33, 0f437F0000;
	mov.f32 	%f35, 0f437F0000;
	mov.b32 	 %f36, %r69;
	mul.ftz.f32 	%f37, %f36, 0f437F0000;
	ld.const.f32 	%f38, [kYCbCrFullRangeOffset];
	div.approx.ftz.f32 	%f39, %f35, %f35;
	mul.ftz.f32 	%f40, %f38, %f39;
	mul.ftz.f32 	%f41, %f1, 0f437F0000;
	sub.ftz.f32 	%f42, %f41, %f40;
	ld.const.f32 	%f43, [kYCbCrFullRangeOffset+4];
	mul.ftz.f32 	%f44, %f43, %f39;
	sub.ftz.f32 	%f45, %f37, %f44;
	ld.const.f32 	%f46, [kYCbCrFullRangeOffset+8];
	mul.ftz.f32 	%f47, %f46, %f39;
	sub.ftz.f32 	%f48, %f34, %f47;
	ld.const.f32 	%f49, [k709YCbCrFullRange_To_RGB32f];
	ld.const.f32 	%f50, [k709YCbCrFullRange_To_RGB32f+4];
	mul.ftz.f32 	%f51, %f45, %f50;
	fma.rn.ftz.f32 	%f52, %f42, %f49, %f51;
	ld.const.f32 	%f53, [k709YCbCrFullRange_To_RGB32f+8];
	fma.rn.ftz.f32 	%f2, %f48, %f53, %f52;
	ld.const.f32 	%f54, [k709YCbCrFullRange_To_RGB32f+12];
	ld.const.f32 	%f55, [k709YCbCrFullRange_To_RGB32f+16];
	mul.ftz.f32 	%f56, %f45, %f55;
	fma.rn.ftz.f32 	%f57, %f42, %f54, %f56;
	ld.const.f32 	%f58, [k709YCbCrFullRange_To_RGB32f+20];
	fma.rn.ftz.f32 	%f3, %f48, %f58, %f57;
	ld.const.f32 	%f59, [k709YCbCrFullRange_To_RGB32f+24];
	ld.const.f32 	%f60, [k709YCbCrFullRange_To_RGB32f+28];
	mul.ftz.f32 	%f61, %f45, %f60;
	fma.rn.ftz.f32 	%f62, %f42, %f59, %f61;
	ld.const.f32 	%f63, [k709YCbCrFullRange_To_RGB32f+32];
	fma.rn.ftz.f32 	%f4, %f48, %f63, %f62;
	mad.lo.s32 	%r68, %r2, %r15, %r1;
	cvt.s64.s32	%rd2, %r68;
	setp.eq.s32	%p7, %r16, 0;
	@%p7 bra 	BB20_6;

	shl.b64 	%rd13, %rd2, 4;
	add.s64 	%rd14, %rd1, %rd13;
	mov.f32 	%f64, 0f3F800000;
	st.global.v4.f32 	[%rd14], {%f4, %f3, %f2, %f64};
	bra.uni 	BB20_7;

BB20_6:
	shl.b64 	%rd15, %rd2, 3;
	add.s64 	%rd16, %rd1, %rd15;
	mov.f32 	%f65, 0f3F800000;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f65;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f4;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd16], {%rs4, %rs3, %rs2, %rs1};

BB20_7:
	ret;
}

.visible .entry PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel(
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_0,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_1,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_2,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_3,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_4,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_5,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_6,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_7,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_8,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_9,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_10,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_11,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_12,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_13,
	.param .u64 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_14,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_15,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_16,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_17,
	.param .u32 PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_18
)
{
	.reg .pred 	%p<5>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<30>;
	.reg .f32 	%f<50>;
	.reg .s64 	%rd<14>;


	ld.param.u32 	%r3, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_0];
	ld.param.u32 	%r4, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_2];
	ld.param.u32 	%r5, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_4];
	ld.param.u64 	%rd3, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_14];
	ld.param.u32 	%r6, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_15];
	ld.param.u32 	%r7, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_16];
	ld.param.u32 	%r8, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_17];
	ld.param.u32 	%r9, [PixelFormatConvert_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange_To_BGRA_4444_32f_Kernel_param_18];
	cvta.to.global.u64 	%rd1, %rd3;
	mov.u32 	%r10, %ntid.x;
	mov.u32 	%r11, %ctaid.x;
	mov.u32 	%r12, %tid.x;
	mad.lo.s32 	%r1, %r10, %r11, %r12;
	mov.u32 	%r13, %ntid.y;
	mov.u32 	%r14, %ctaid.y;
	mov.u32 	%r15, %tid.y;
	mad.lo.s32 	%r2, %r13, %r14, %r15;
	setp.lt.s32	%p1, %r2, %r9;
	setp.lt.s32	%p2, %r1, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB21_4;
	bra.uni 	BB21_1;

BB21_1:
	add.s32 	%r28, %r1, %r3;
	cvt.rn.f32.s32	%f10, %r28;
	add.ftz.f32 	%f4, %f10, 0f3F000000;
	cvt.rn.f32.s32	%f11, %r2;
	add.ftz.f32 	%f5, %f11, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r16, %r17, %r18, %r19}, [inYPlaneTexture, {%f4, %f5}];
	// inline asm
	cvt.rn.f32.s32	%f12, %r1;
	add.ftz.f32 	%f13, %f12, 0f3F000000;
	mov.b32 	 %f14, %r16;
	cvt.rn.f32.s32	%f15, %r4;
	fma.rn.ftz.f32 	%f6, %f13, 0f3F000000, %f15;
	mul.ftz.f32 	%f9, %f5, 0f3F000000;
	// inline asm
	tex.2d.v4.u32.f32 {%r20, %r21, %r22, %r23}, [inFrameCodedUPlaneTexture, {%f6, %f9}];
	// inline asm
	mov.b32 	 %f16, %r20;
	cvt.rn.f32.s32	%f17, %r5;
	fma.rn.ftz.f32 	%f8, %f13, 0f3F000000, %f17;
	// inline asm
	tex.2d.v4.u32.f32 {%r24, %r25, %r26, %r27}, [inFrameCodedVPlaneTexture, {%f8, %f9}];
	// inline asm
	mov.b32 	 %f18, %r24;
	mul.ftz.f32 	%f19, %f18, 0f437F0000;
	mov.f32 	%f20, 0f437F0000;
	mul.ftz.f32 	%f21, %f16, 0f437F0000;
	mul.ftz.f32 	%f22, %f14, 0f437F0000;
	ld.const.f32 	%f23, [kYCbCrFullRangeOffset];
	div.approx.ftz.f32 	%f24, %f20, %f20;
	mul.ftz.f32 	%f25, %f23, %f24;
	sub.ftz.f32 	%f26, %f22, %f25;
	ld.const.f32 	%f27, [kYCbCrFullRangeOffset+4];
	mul.ftz.f32 	%f28, %f27, %f24;
	sub.ftz.f32 	%f29, %f21, %f28;
	ld.const.f32 	%f30, [kYCbCrFullRangeOffset+8];
	mul.ftz.f32 	%f31, %f30, %f24;
	sub.ftz.f32 	%f32, %f19, %f31;
	ld.const.f32 	%f33, [k709YCbCrFullRange_To_RGB32f];
	ld.const.f32 	%f34, [k709YCbCrFullRange_To_RGB32f+4];
	mul.ftz.f32 	%f35, %f29, %f34;
	fma.rn.ftz.f32 	%f36, %f26, %f33, %f35;
	ld.const.f32 	%f37, [k709YCbCrFullRange_To_RGB32f+8];
	fma.rn.ftz.f32 	%f1, %f32, %f37, %f36;
	ld.const.f32 	%f38, [k709YCbCrFullRange_To_RGB32f+12];
	ld.const.f32 	%f39, [k709YCbCrFullRange_To_RGB32f+16];
	mul.ftz.f32 	%f40, %f29, %f39;
	fma.rn.ftz.f32 	%f41, %f26, %f38, %f40;
	ld.const.f32 	%f42, [k709YCbCrFullRange_To_RGB32f+20];
	fma.rn.ftz.f32 	%f2, %f32, %f42, %f41;
	ld.const.f32 	%f43, [k709YCbCrFullRange_To_RGB32f+24];
	ld.const.f32 	%f44, [k709YCbCrFullRange_To_RGB32f+28];
	mul.ftz.f32 	%f45, %f29, %f44;
	fma.rn.ftz.f32 	%f46, %f26, %f43, %f45;
	ld.const.f32 	%f47, [k709YCbCrFullRange_To_RGB32f+32];
	fma.rn.ftz.f32 	%f3, %f32, %f47, %f46;
	mad.lo.s32 	%r29, %r2, %r6, %r1;
	cvt.s64.s32	%rd2, %r29;
	setp.eq.s32	%p4, %r7, 0;
	@%p4 bra 	BB21_3;

	shl.b64 	%rd10, %rd2, 4;
	add.s64 	%rd11, %rd1, %rd10;
	mov.f32 	%f48, 0f3F800000;
	st.global.v4.f32 	[%rd11], {%f3, %f2, %f1, %f48};
	bra.uni 	BB21_4;

BB21_3:
	shl.b64 	%rd12, %rd2, 3;
	add.s64 	%rd13, %rd1, %rd12;
	mov.f32 	%f49, 0f3F800000;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f49;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f1;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f2;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd13], {%rs4, %rs3, %rs2, %rs1};

BB21_4:
	ret;
}


