	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function ivtv_yuv_handle_vertical
_ivtv_yuv_handle_vertical:              ## @ivtv_yuv_handle_vertical
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$120, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %r12
	movq	%rdi, %r14
	movslq	48(%rsi), %rsi
	movl	(%r12), %edx
	movl	4(%r12), %ecx
	movl	8(%r12), %r8d
	movl	12(%r12), %r9d
	leaq	L_.str(%rip), %rdi
	xorl	%r15d, %r15d
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_WARN
	cmpq	$0, 24(%r12)
	leaq	L_.str.3(%rip), %r13
	leaq	L_.str.2(%rip), %rbx
	movq	%rbx, %rsi
	cmoveq	%r13, %rsi
	leaq	L_.str.1(%rip), %rdi
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_YUV
	cmpq	$0, 16(%r12)
	movq	%rbx, %rsi
	cmoveq	%r13, %rsi
	leaq	L_.str.4(%rip), %rdi
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_YUV
	cmpq	$0, 40(%r12)
	cmoveq	%r13, %rbx
	leaq	L_.str.5(%rip), %rdi
	movq	%rbx, %rsi
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_WARN
	movl	8(%r12), %eax
	leal	-8(%rax), %ecx
	cmpl	$8, %eax
	cmovll	%r15d, %ecx
	movq	%rcx, -144(%rbp)                ## 8-byte Spill
	movl	$8, %r9d
	cmovll	%eax, %r9d
	leal	16(%r9), %edi
	cmpq	$0, 32(%r12)
	cmovel	%r9d, %edi
	movq	24(%r12), %r11
	xorl	%r15d, %r15d
	testq	%r11, %r11
	sete	%r13b
	movl	(%r12), %r10d
	movl	4(%r12), %r8d
	movl	%r8d, %eax
	leal	(%r10,%rdi), %esi
	movl	%r13d, %ecx
	shll	%cl, %esi
	shll	$16, %eax
	movq	16(%r12), %rcx
	movq	%rcx, -88(%rbp)                 ## 8-byte Spill
	testq	%rcx, %rcx
	setne	%cl
	leal	(%r10,%r9), %ebx
	sarl	%cl, %ebx
	movl	%eax, -80(%rbp)                 ## 4-byte Spill
	cltd
	idivl	%r10d
	movl	%eax, %ecx
	movq	%rdi, -72(%rbp)                 ## 8-byte Spill
	imull	%edi, %ecx
	imull	%r9d, %eax
	movl	%r8d, %edi
	shrl	$31, %edi
	addl	%r8d, %edi
	sarl	%edi
	cmpl	%r10d, %edi
	movl	%esi, -108(%rbp)                ## 4-byte Spill
	movl	%ebx, -104(%rbp)                ## 4-byte Spill
	movl	%eax, -44(%rbp)                 ## 4-byte Spill
	movl	%ecx, -60(%rbp)                 ## 4-byte Spill
	movl	%edi, -76(%rbp)                 ## 4-byte Spill
	jl	LBB0_3
## %bb.1:
	testq	%r11, %r11
	jne	LBB0_3
## %bb.2:
	movl	%r10d, %eax
	shll	$22, %eax
	cltd
	idivl	%r8d
	xorl	%ecx, %ecx
	cmpl	%edi, %edx
	setge	%cl
	addl	%eax, %ecx
	movl	%ecx, %eax
	sarl	$2, %eax
	movq	%rax, -128(%rbp)                ## 8-byte Spill
	movl	%ecx, %eax
	sarl	$3, %eax
	movq	%rax, -120(%rbp)                ## 8-byte Spill
	movl	%ecx, -48(%rbp)                 ## 4-byte Spill
	movl	%ecx, %eax
	sarl	%eax
	movl	%eax, -52(%rbp)                 ## 4-byte Spill
	movl	$0, -56(%rbp)                   ## 4-byte Folded Spill
	movl	$17, %ecx
	movl	$17, %edi
	movq	%r11, %rdx
	movq	-88(%rbp), %rbx                 ## 8-byte Reload
	movq	-72(%rbp), %r11                 ## 8-byte Reload
	jmp	LBB0_9
LBB0_3:
	cmpl	%r10d, %r8d
	jge	LBB0_4
## %bb.5:
	movq	%r11, %r13
	movl	%r10d, %eax
	shrl	$31, %eax
	addl	%r10d, %eax
	sarl	%eax
	cmpl	%eax, %r8d
	movq	-88(%rbp), %rbx                 ## 8-byte Reload
	movq	-72(%rbp), %r11                 ## 8-byte Reload
	jge	LBB0_6
## %bb.7:
	movl	%r10d, %eax
	shll	$20, %eax
	cltd
	idivl	%r8d
	movl	%eax, %ecx
	sarl	%ecx
	andl	$1, %eax
	addl	%ecx, %eax
	movl	%eax, %edx
	sarl	$2, %edx
	movl	$15, %edi
	movl	$258, -56(%rbp)                 ## 4-byte Folded Spill
                                        ## imm = 0x102
	movl	$16, %ecx
	movl	%eax, -48(%rbp)                 ## 4-byte Spill
	movl	%eax, -52(%rbp)                 ## 4-byte Spill
	movq	%rdx, -120(%rbp)                ## 8-byte Spill
                                        ## kill: def $edx killed $edx killed $rdx def $rdx
	movq	%rdx, -128(%rbp)                ## 8-byte Spill
	jmp	LBB0_8
LBB0_4:
	movb	%r13b, %r15b
	movl	%r15d, -56(%rbp)                ## 4-byte Spill
	movl	%r10d, %eax
	shll	$22, %eax
	cltd
	idivl	%r8d
	movl	%eax, %ecx
	sarl	%ecx
	andl	$1, %eax
	addl	%ecx, %eax
	movl	%eax, %edx
	sarl	$2, %edx
	movl	%eax, %ecx
	sarl	%ecx
	movl	%ecx, -52(%rbp)                 ## 4-byte Spill
	cmpq	$1, %r11
	movl	$17, %ecx
	movl	$17, %edi
	sbbl	$0, %edi
	movl	%eax, -48(%rbp)                 ## 4-byte Spill
	movl	%eax, %esi
	sarl	$3, %esi
	movq	-88(%rbp), %rbx                 ## 8-byte Reload
	testq	%rbx, %rbx
	movq	%rdx, -128(%rbp)                ## 8-byte Spill
	cmovel	%edx, %esi
	movq	%rsi, -120(%rbp)                ## 8-byte Spill
	movq	%r11, %rdx
	movq	-72(%rbp), %r11                 ## 8-byte Reload
	jmp	LBB0_9
LBB0_6:
	xorl	%esi, %esi
	testq	%r13, %r13
	sete	%sil
	movl	%r10d, %eax
	shll	$21, %eax
	cltd
	idivl	%r8d
	movl	%eax, %ecx
	sarl	%ecx
	andl	$1, %eax
	addl	%ecx, %eax
	movl	%eax, %edx
	sarl	$2, %edx
	movl	$16, %ecx
	movl	$16, %edi
	subl	%esi, %edi
	addl	$257, %esi                      ## imm = 0x101
	movl	%esi, -56(%rbp)                 ## 4-byte Spill
	movl	%eax, %esi
	sarl	$3, %esi
	testq	%rbx, %rbx
	movq	%rdx, -128(%rbp)                ## 8-byte Spill
	cmovel	%edx, %esi
	movq	%rsi, -120(%rbp)                ## 8-byte Spill
	movl	%eax, -48(%rbp)                 ## 4-byte Spill
	movl	%eax, -52(%rbp)                 ## 4-byte Spill
LBB0_8:
	movq	%r13, %rdx
LBB0_9:
	xorl	%r13d, %r13d
	testq	%rbx, %rbx
	setne	%r13b
	xorl	%ebx, %ebx
	movq	%rdx, -72(%rbp)                 ## 8-byte Spill
	testq	%rdx, %rdx
	setne	%bl
                                        ## kill: def $cl killed $cl killed $ecx
	sarl	%cl, -44(%rbp)                  ## 4-byte Folded Spill
	movl	%edi, %ecx
	sarl	%cl, -60(%rbp)                  ## 4-byte Folded Spill
	cmpl	%r8d, %r10d
	movl	$131072, %ecx                   ## imm = 0x20000
	movl	$4080, %eax                     ## imm = 0xFF0
	cmovnel	%eax, %ecx
	movl	%ecx, -96(%rbp)                 ## 4-byte Spill
	movl	$1048576, %ecx                  ## imm = 0x100000
	cmovnel	%eax, %ecx
	movl	%ecx, -92(%rbp)                 ## 4-byte Spill
	movl	$262144, %esi                   ## imm = 0x40000
	cmovnel	%eax, %esi
	movl	$720896, %ecx                   ## imm = 0xB0000
	cmovnel	%eax, %ecx
	movl	%ecx, -148(%rbp)                ## 4-byte Spill
	cmpl	$480, (%r14)                    ## imm = 0x1E0
	movl	$18743319, %eax                 ## imm = 0x11E0017
	movl	$22020119, %edx                 ## imm = 0x1500017
	cmovel	%eax, %edx
	movl	12(%r12), %eax
	movl	%eax, %ecx
	andl	$-2, %ecx
	shll	$15, %ecx
	testl	%eax, %eax
	movl	%esi, -152(%rbp)                ## 4-byte Spill
	js	LBB0_10
## %bb.11:
	shrl	%eax
	addl	%edx, %eax
	addl	%ecx, %eax
	movl	%eax, -100(%rbp)                ## 4-byte Spill
	jmp	LBB0_12
LBB0_10:
	sarl	%eax
	addl	%ecx, %eax
	subl	%eax, %edx
	movl	%edx, -100(%rbp)                ## 4-byte Spill
LBB0_12:
	shll	$16, %ebx
	movq	-144(%rbp), %rax                ## 8-byte Reload
	movl	%eax, %r12d
	shrl	%r12d
	shll	$16, %r13d
	leal	(%r10,%rax), %esi
	addl	%esi, %r9d
	shll	$15, %r9d
	addl	$-32768, %r9d                   ## imm = 0x8000
	movl	$1, %eax
	cmpl	%r8d, %r10d
	je	LBB0_14
## %bb.13:
	leal	(%r8,%r8), %eax
	cltd
	idivl	%r10d
                                        ## kill: def $eax killed $eax def $rax
	leal	2(%rax), %ecx
	sarl	%ecx
	andl	$1, %eax
	addl	%ecx, %eax
LBB0_14:
	movq	%r8, -136(%rbp)                 ## 8-byte Spill
	leal	(%r11,%rsi), %r15d
	decl	%r15d
	andl	$-65536, %r9d                   ## imm = 0xFFFF0000
	movl	%eax, %ecx
	shll	$16, %ecx
	addl	%eax, %ecx
	imull	$46, %eax, %edx
	sarl	%eax
	addl	%ecx, %eax
	movslq	%edx, %rdi
	imulq	$-1370734243, %rdi, %rdx        ## imm = 0xAE4C415D
	shrq	$32, %rdx
	addl	%edx, %edi
	movl	%edi, %edx
	shrl	$31, %edx
	sarl	$6, %edi
	addl	%edx, %edi
	addl	%ecx, %edi
	movzwl	%di, %ecx
	sarl	$16, %edi
	movzwl	%ax, %edx
	sarl	$16, %eax
	subl	%eax, %edx
	leal	65537(%rdx), %eax
	movl	$65537, %esi                    ## imm = 0x10001
	subl	%edi, %ecx
	je	LBB0_17
## %bb.15:
	leal	65537(%rcx), %esi
	cmpl	%r10d, -76(%rbp)                ## 4-byte Folded Reload
	jg	LBB0_17
## %bb.16:
	movl	%esi, %ecx
	andl	$-65536, %ecx                   ## imm = 0xFFFF0000
	shrl	%esi
	andl	$32767, %esi                    ## imm = 0x7FFF
	orl	%ecx, %esi
LBB0_17:
	movl	-80(%rbp), %ecx                 ## 4-byte Reload
	orl	%ecx, -108(%rbp)                ## 4-byte Folded Spill
	orl	%ecx, -104(%rbp)                ## 4-byte Folded Spill
	movq	-144(%rbp), %rcx                ## 8-byte Reload
	leal	(%rbx,%rcx), %r11d
	addl	$65536, %r11d                   ## imm = 0x10000
	leal	(%rbx,%rcx), %r8d
	addl	$65537, %r8d                    ## imm = 0x10001
	orl	%r15d, %r9d
	cmpq	$0, -72(%rbp)                   ## 8-byte Folded Reload
	leal	-65537(%rsi), %ecx
	cmovnel	%esi, %ecx
	cmpq	$0, -88(%rbp)                   ## 8-byte Folded Reload
	cmovel	%edx, %eax
	leal	65536(%r13,%r12), %edi
	leal	(%r12,%r13), %esi
	addl	$65537, %esi                    ## imm = 0x10001
	movl	-60(%rbp), %ebx                 ## 4-byte Reload
	movl	%ebx, %edx
	shll	$16, %edx
	orl	%ebx, %edx
	addl	%ecx, %edx
	movl	-44(%rbp), %ecx                 ## 4-byte Reload
	movl	%ecx, %r13d
	shll	$16, %r13d
	orl	%ecx, %r13d
	addl	%eax, %r13d
	movq	-136(%rbp), %rcx                ## 8-byte Reload
	cmpl	%ecx, %r10d
	movq	%r9, -144(%rbp)                 ## 8-byte Spill
	movl	%esi, -88(%rbp)                 ## 4-byte Spill
	movl	%edi, -72(%rbp)                 ## 4-byte Spill
	movl	%r8d, -80(%rbp)                 ## 4-byte Spill
	movl	%r11d, -76(%rbp)                ## 4-byte Spill
	movl	%edx, -60(%rbp)                 ## 4-byte Spill
	jne	LBB0_19
## %bb.18:
	movl	$0, -136(%rbp)                  ## 4-byte Folded Spill
	movl	$1, -44(%rbp)                   ## 4-byte Folded Spill
	jmp	LBB0_20
LBB0_19:
	shll	$16, %r10d
	movl	%r10d, %eax
	cltd
	idivl	%ecx
	movl	%eax, %ecx
	sarl	$16, %ecx
	btl	$15, %eax
	adcl	$0, %ecx
	cmpl	$1, %ecx
	adcl	$0, %ecx
	movl	%ecx, -136(%rbp)                ## 4-byte Spill
	movl	%ecx, -44(%rbp)                 ## 4-byte Spill
LBB0_20:
	movl	-96(%rbp), %ebx                 ## 4-byte Reload
	movl	-92(%rbp), %r12d                ## 4-byte Reload
	movl	%ebx, %edi
	movl	$10548, %esi                    ## imm = 0x2934
	callq	_write_reg
	movl	%r12d, %edi
	movl	$10556, %esi                    ## imm = 0x293C
	callq	_write_reg
	movslq	100(%r14), %rsi
	movl	96(%r14), %ecx
	leaq	L_.str.6(%rip), %rdi
	movl	%ebx, %edx
	movl	%r12d, %r8d
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_YUV
	movl	-152(%rbp), %ebx                ## 4-byte Reload
	movl	%ebx, %edi
	movl	$10564, %esi                    ## imm = 0x2944
	callq	_write_reg
	movl	-148(%rbp), %r12d               ## 4-byte Reload
	movl	%r12d, %edi
	movl	$10572, %esi                    ## imm = 0x294C
	callq	_write_reg
	movslq	92(%r14), %rsi
	movl	88(%r14), %ecx
	leaq	L_.str.7(%rip), %rdi
	movl	%ebx, %edx
	movl	%r12d, %r8d
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_YUV
	movl	-48(%rbp), %ebx                 ## 4-byte Reload
	movl	%ebx, %edi
	movl	$10552, %esi                    ## imm = 0x2938
	callq	_write_reg
	movl	%ebx, %edi
	movl	$10544, %esi                    ## imm = 0x2930
	callq	_write_reg
	movslq	84(%r14), %rsi
	movl	80(%r14), %ecx
	leaq	L_.str.8(%rip), %rdi
	movl	%ebx, %edx
	movl	%ebx, %r8d
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_YUV
	movq	-120(%rbp), %rbx                ## 8-byte Reload
	movl	%ebx, %edi
	movl	$10536, %esi                    ## imm = 0x2928
	callq	_write_reg
	leal	1300(%rbx), %r15d
	movl	%r15d, %edi
	movl	$10540, %esi                    ## imm = 0x292C
	callq	_write_reg
	movslq	76(%r14), %rsi
	movl	72(%r14), %ecx
	leaq	L_.str.9(%rip), %rdi
	movl	%ebx, %edx
	movl	%r15d, %r8d
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_YUV
	movq	-128(%rbp), %rbx                ## 8-byte Reload
	movl	%ebx, %edi
	movl	$10528, %esi                    ## imm = 0x2920
	callq	_write_reg
	leal	1300(%rbx), %r15d
	movl	%r15d, %edi
	movl	$10532, %esi                    ## imm = 0x2924
	callq	_write_reg
	movslq	68(%r14), %rsi
	movl	64(%r14), %ecx
	leaq	L_.str.10(%rip), %rdi
	movl	%ebx, %edx
	movl	%r15d, %r8d
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_YUV
	movl	-108(%rbp), %r15d               ## 4-byte Reload
	movl	%r15d, %edi
	movl	$10520, %esi                    ## imm = 0x2918
	callq	_write_reg
	movl	-104(%rbp), %ebx                ## 4-byte Reload
	movl	%ebx, %edi
	movl	$10524, %esi                    ## imm = 0x291C
	callq	_write_reg
	movslq	60(%r14), %rsi
	movl	56(%r14), %ecx
	leaq	L_.str.11(%rip), %rdi
	movl	%r15d, %edx
	movl	%ebx, %r8d
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_YUV
	movl	-56(%rbp), %ebx                 ## 4-byte Reload
	movl	%ebx, %edi
	movl	$10604, %esi                    ## imm = 0x296C
	callq	_write_reg
	movslq	52(%r14), %rsi
	leaq	L_.str.12(%rip), %rdi
	movl	%ebx, %edx
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_YUV
	movl	-52(%rbp), %ebx                 ## 4-byte Reload
	movl	%ebx, %edi
	movl	$10568, %esi                    ## imm = 0x2948
	callq	_write_reg
	movl	%ebx, %edi
	movl	$10560, %esi                    ## imm = 0x2940
	callq	_write_reg
	movslq	48(%r14), %rsi
	movl	44(%r14), %ecx
	leaq	L_.str.13(%rip), %rdi
	movl	%ebx, %edx
	movl	%ebx, %r8d
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_YUV
	movl	-76(%rbp), %r15d                ## 4-byte Reload
	movl	%r15d, %edi
	movl	$10576, %esi                    ## imm = 0x2950
	callq	_write_reg
	movl	-80(%rbp), %ebx                 ## 4-byte Reload
	movl	%ebx, %edi
	movl	$10580, %esi                    ## imm = 0x2954
	callq	_write_reg
	movslq	40(%r14), %rsi
	movl	36(%r14), %ecx
	leaq	L_.str.14(%rip), %rdi
	movl	%r15d, %edx
	movl	%ebx, %r8d
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_YUV
	movl	-72(%rbp), %r15d                ## 4-byte Reload
	movl	%r15d, %edi
	movl	$10584, %esi                    ## imm = 0x2958
	callq	_write_reg
	movl	-88(%rbp), %ebx                 ## 4-byte Reload
	movl	%ebx, %edi
	movl	$10588, %esi                    ## imm = 0x295C
	callq	_write_reg
	movslq	32(%r14), %rsi
	movl	28(%r14), %ecx
	leaq	L_.str.15(%rip), %rdi
	movl	%r15d, %edx
	movl	%ebx, %r8d
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_YUV
	movq	-144(%rbp), %rbx                ## 8-byte Reload
	movl	%ebx, %edi
	movl	$10592, %esi                    ## imm = 0x2960
	callq	_write_reg
	movslq	24(%r14), %rsi
	leaq	L_.str.16(%rip), %rdi
	movl	%ebx, %edx
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_YUV
	movl	-60(%rbp), %ebx                 ## 4-byte Reload
	movl	%ebx, %edi
	movl	$10596, %esi                    ## imm = 0x2964
	callq	_write_reg
	movl	%r13d, %edi
	movl	$10600, %esi                    ## imm = 0x2968
	callq	_write_reg
	movslq	20(%r14), %rsi
	movl	16(%r14), %ecx
	leaq	L_.str.17(%rip), %rdi
	movl	%ebx, %edx
	movl	%r13d, %r8d
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_YUV
	movl	-100(%rbp), %ebx                ## 4-byte Reload
	movl	%ebx, %edi
	movl	$10396, %esi                    ## imm = 0x289C
	callq	_write_reg
	movslq	12(%r14), %rsi
	leaq	L_.str.18(%rip), %rdi
	movl	%ebx, %edx
	xorl	%eax, %eax
	callq	_IVTV_DEBUG_YUV
	movl	-136(%rbp), %ebx                ## 4-byte Reload
	cmpl	4(%r14), %ebx
	je	LBB0_22
## %bb.21:
	movq	%r14, %rdi
	movl	$-1, %esi
	movl	%ebx, %edx
	movl	$-1, %ecx
	callq	_ivtv_yuv_filter
	movl	%ebx, 4(%r14)
LBB0_22:
	movl	-44(%rbp), %ebx                 ## 4-byte Reload
	cmpl	8(%r14), %ebx
	je	LBB0_24
## %bb.23:
	movq	%r14, %rdi
	movl	$-1, %esi
	movl	$-1, %edx
	movl	%ebx, %ecx
	callq	_ivtv_yuv_filter
	movl	%ebx, 8(%r14)
LBB0_24:
	addq	$120, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Adjust to height %d src_h %d dst_h %d src_y %d dst_y %d\n"

L_.str.1:                               ## @.str.1
	.asciz	"Scaling mode Y: %s\n"

L_.str.2:                               ## @.str.2
	.asciz	"Interlaced"

L_.str.3:                               ## @.str.3
	.asciz	"Progressive"

L_.str.4:                               ## @.str.4
	.asciz	"Scaling mode UV: %s\n"

L_.str.5:                               ## @.str.5
	.asciz	"Source video: %s\n"

L_.str.6:                               ## @.str.6
	.asciz	"Update reg 0x2934 %08x->%08x 0x293c %08x->%08x\n"

L_.str.7:                               ## @.str.7
	.asciz	"Update reg 0x2944 %08x->%08x 0x294c %08x->%08x\n"

L_.str.8:                               ## @.str.8
	.asciz	"Update reg 0x2930 %08x->%08x 0x2938 %08x->%08x\n"

L_.str.9:                               ## @.str.9
	.asciz	"Update reg 0x2928 %08x->%08x 0x292c %08x->%08x\n"

L_.str.10:                              ## @.str.10
	.asciz	"Update reg 0x2920 %08x->%08x 0x2924 %08x->%08x\n"

L_.str.11:                              ## @.str.11
	.asciz	"Update reg 0x2918 %08x->%08x 0x291C %08x->%08x\n"

L_.str.12:                              ## @.str.12
	.asciz	"Update reg 0x296c %08x->%08x\n"

L_.str.13:                              ## @.str.13
	.asciz	"Update reg 0x2940 %08x->%08x 0x2948 %08x->%08x\n"

L_.str.14:                              ## @.str.14
	.asciz	"Update reg 0x2950 %08x->%08x 0x2954 %08x->%08x\n"

L_.str.15:                              ## @.str.15
	.asciz	"Update reg 0x2958 %08x->%08x 0x295C %08x->%08x\n"

L_.str.16:                              ## @.str.16
	.asciz	"Update reg 0x2960 %08x->%08x \n"

L_.str.17:                              ## @.str.17
	.asciz	"Update reg 0x2964 %08x->%08x 0x2968 %08x->%08x\n"

L_.str.18:                              ## @.str.18
	.asciz	"Update reg 0x289c %08x->%08x\n"

	.no_dead_strip	_ivtv_yuv_handle_vertical
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function ivtv_yuv_handle_vertical
_ivtv_yuv_handle_vertical:              ; @ivtv_yuv_handle_vertical
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #240
	.cfi_def_cfa_offset 240
	stp	x28, x27, [sp, #144]            ; 16-byte Folded Spill
	stp	x26, x25, [sp, #160]            ; 16-byte Folded Spill
	stp	x24, x23, [sp, #176]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #192]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #208]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #224]            ; 16-byte Folded Spill
	add	x29, sp, #224
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x20, x1
	mov	x19, x0
	ldrsw	x1, [x1, #48]
	ldp	w8, w9, [x20]
	ldp	w10, w11, [x20, #8]
	stp	x10, x11, [sp, #16]
	stp	x8, x9, [sp]
Lloh0:
	adrp	x0, l_.str@PAGE
Lloh1:
	add	x0, x0, l_.str@PAGEOFF
	bl	_IVTV_DEBUG_WARN
	ldr	x8, [x20, #24]
Lloh2:
	adrp	x21, l_.str.2@PAGE
Lloh3:
	add	x21, x21, l_.str.2@PAGEOFF
Lloh4:
	adrp	x22, l_.str.3@PAGE
Lloh5:
	add	x22, x22, l_.str.3@PAGEOFF
	cmp	x8, #0
	csel	x1, x22, x21, eq
Lloh6:
	adrp	x0, l_.str.1@PAGE
Lloh7:
	add	x0, x0, l_.str.1@PAGEOFF
	bl	_IVTV_DEBUG_YUV
	ldr	x8, [x20, #16]
	cmp	x8, #0
	csel	x1, x22, x21, eq
Lloh8:
	adrp	x0, l_.str.4@PAGE
Lloh9:
	add	x0, x0, l_.str.4@PAGEOFF
	bl	_IVTV_DEBUG_YUV
	ldr	x8, [x20, #40]
	cmp	x8, #0
	csel	x1, x22, x21, eq
Lloh10:
	adrp	x0, l_.str.5@PAGE
Lloh11:
	add	x0, x0, l_.str.5@PAGEOFF
	bl	_IVTV_DEBUG_WARN
	ldr	w8, [x20, #8]
	subs	w9, w8, #8
	csel	w15, wzr, w9, lt
	mov	w9, #8
	csel	w14, w8, w9, lt
	ldp	x10, x8, [x20, #24]
	add	w9, w14, #16
	cmp	x8, #0
	csel	w16, w14, w9, eq
	ldr	x11, [x20, #16]
	cmp	x10, #0
	cset	w17, eq
	ldp	w9, w8, [x20]
	lsl	w13, w8, #16
	cmp	x11, #0
	cset	w26, ne
	cmp	w8, #0
	cinc	w12, w8, lt
	asr	w12, w12, #1
	cmp	w12, w9
	b.lt	LBB0_3
; %bb.1:
	cbnz	x10, LBB0_3
; %bb.2:
	lsl	w0, w9, #22
	sdiv	w1, w0, w8
	msub	w0, w1, w8, w0
	cmp	w0, w12
	cinc	w22, w1, ge
	asr	w0, w22, #2
	stp	x0, xzr, [sp, #40]              ; 16-byte Folded Spill
	asr	w25, w22, #3
	asr	w21, w22, #1
	mov	w1, #17
	mov	w2, #17
	b	LBB0_6
LBB0_3:
	cmp	w8, w9
	b.ge	LBB0_5
; %bb.4:
	lsl	w0, w9, #20
	sdiv	w0, w0, w8
	and	w1, w0, #0x1
	add	w0, w1, w0, asr #1
	lsl	w1, w9, #21
	sdiv	w1, w1, w8
	and	w2, w1, #0x1
	add	w2, w2, w1, asr #1
	cmp	w9, #0
	cinc	w1, w9, lt
	asr	w3, w0, #2
	mov	w4, #15
	mov	w5, #258
	mov	w6, #16
	asr	w7, w2, #2
	cmp	x10, #0
	mov	w21, #257
	cinc	w23, w21, eq
	cinc	w24, w4, ne
	asr	w21, w2, #3
	cmp	x11, #0
	csel	w21, w7, w21, eq
	mov	w22, #16
	cmp	w8, w1, asr #1
	csel	w1, w6, w22, lt
	csel	w25, w3, w21, lt
	csel	w22, w0, w2, lt
	csel	w21, w0, w2, lt
	csel	w2, w3, w7, lt
	csel	w0, w5, w23, lt
	stp	x2, x0, [sp, #40]               ; 16-byte Folded Spill
	csel	w2, w4, w24, lt
	b	LBB0_6
LBB0_5:
	lsl	w0, w9, #22
	sdiv	w0, w0, w8
	and	w1, w0, #0x1
	add	w22, w1, w0, asr #1
	asr	w1, w22, #2
	asr	w21, w22, #1
	cmp	x10, #0
	mov	w0, #16
	cinc	w2, w0, ne
	asr	w0, w22, #3
	cmp	x11, #0
	str	x1, [sp, #40]                   ; 8-byte Folded Spill
	csel	w25, w1, w0, eq
	mov	w1, #17
	mov	x0, x17
	str	x0, [sp, #48]                   ; 8-byte Folded Spill
LBB0_6:
	add	w3, w9, w16
	add	w4, w9, w14
	mov	w0, #4080
	mov	w6, #131072
	cmp	w9, w8
	csel	w28, w6, w0, eq
	mov	w5, #1048576
	csel	w24, w5, w0, eq
	mov	w5, #262144
	csel	w27, w5, w0, eq
	mov	w5, #720896
	csel	w23, w5, w0, eq
	cmp	x10, #0
	mov	w0, #65536
	csel	w5, w0, w6, eq
	cmp	x11, #0
	csel	w6, w0, w6, eq
	ldr	w0, [x19]
	mov	w7, #23
	movk	w7, #286, lsl #16
	add	w30, w7, #800, lsl #12          ; =3276800
	cmp	w0, #480
	csel	w30, w7, w30, eq
	ldr	w20, [x20, #12]
	lsl	w0, w20, #15
	and	w0, w0, #0xffff0000
	sdiv	w7, w13, w9
	tbnz	w20, #31, LBB0_8
; %bb.7:
	add	w20, w30, w20, lsr #1
	add	w0, w20, w0
	b	LBB0_9
LBB0_8:
	add	w0, w0, w20, asr #1
	sub	w0, w30, w0
LBB0_9:
	stur	x0, [x29, #-88]                 ; 8-byte Folded Spill
	lsl	w3, w3, w17
	asr	w0, w4, w26
	add	w30, w5, w15
	add	w6, w6, w15, lsr #1
	mul	w17, w7, w16
	mul	w4, w7, w14
	add	w5, w9, w15
	add	w15, w5, w16
	sub	w15, w15, #1
	add	w14, w5, w14
	lsl	w14, w14, #15
	sub	w14, w14, #8, lsl #12           ; =32768
	and	w14, w14, #0xffff0000
	cmp	w9, w8
	b.ne	LBB0_11
; %bb.10:
	mov	w16, #1
	b	LBB0_12
LBB0_11:
	lsl	w16, w8, #1
	sdiv	w16, w16, w9
	add	w5, w16, #2
	and	w16, w16, #0x1
	add	w16, w16, w5, asr #1
LBB0_12:
	orr	w3, w3, w13
	orr	w20, w0, w13
	add	w13, w30, #1
	stp	x3, x13, [sp, #56]              ; 16-byte Folded Spill
	add	w13, w6, #1
	str	x13, [sp, #88]                  ; 8-byte Folded Spill
	orr	w13, w14, w15
	str	x13, [sp, #112]                 ; 8-byte Folded Spill
	asr	w13, w4, w1
	asr	w14, w17, w2
	mov	w15, #65537
	add	w17, w16, w16, lsl #16
	add	w0, w17, w16, asr #1
	mov	w1, #46
	mul	w16, w16, w1
	mov	w1, #16733
	movk	w1, #44620, lsl #16
	smull	x1, w16, w1
	lsr	x1, x1, #32
	add	w16, w1, w16
	asr	w1, w16, #6
	add	w16, w1, w16, lsr #31
	add	w16, w16, w17
	and	w1, w16, #0xffff
	asr	w2, w16, #16
	and	w16, w0, #0xffff
	sub	w16, w16, w0, asr #16
	add	w17, w16, w15
	subs	w0, w1, w2
	b.eq	LBB0_15
; %bb.13:
	add	w15, w0, w15
	cmp	w12, w9
	b.gt	LBB0_15
; %bb.14:
	and	w12, w15, #0xffff0000
	bfxil	w12, w15, #1, #15
	mov	x15, x12
LBB0_15:
	mov	w12, #-65537
	add	w12, w15, w12
	cmp	x10, #0
	csel	w10, w12, w15, eq
	cmp	x11, #0
	csel	w11, w16, w17, eq
	orr	w12, w14, w14, lsl #16
	add	w10, w10, w12
	str	x10, [sp, #80]                  ; 8-byte Folded Spill
	orr	w10, w13, w13, lsl #16
	add	w10, w11, w10
	str	x10, [sp, #72]                  ; 8-byte Folded Spill
	cmp	w9, w8
	stur	x6, [x29, #-96]                 ; 8-byte Folded Spill
	str	x30, [sp, #96]                  ; 8-byte Folded Spill
	b.ne	LBB0_17
; %bb.16:
	str	wzr, [sp, #108]                 ; 4-byte Folded Spill
	mov	w8, #1
	b	LBB0_18
LBB0_17:
	lsl	w9, w9, #16
	sdiv	w8, w9, w8
	ubfx	w9, w8, #15, #1
	add	w8, w9, w8, asr #16
	cmp	w8, #0
	cinc	w8, w8, eq
	str	w8, [sp, #108]                  ; 4-byte Folded Spill
LBB0_18:
	stur	w8, [x29, #-100]                ; 4-byte Folded Spill
	mov	x0, x28
	mov	w1, #10548
	bl	_write_reg
	mov	x0, x24
	mov	w1, #10556
	bl	_write_reg
	ldp	w8, w1, [x19, #96]
                                        ; kill: def $w1 killed $w1 def $x1
	sxtw	x1, w1
	stp	x8, x24, [sp, #8]
	str	x28, [sp]
Lloh12:
	adrp	x0, l_.str.6@PAGE
Lloh13:
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_IVTV_DEBUG_YUV
	mov	x0, x27
	mov	w1, #10564
	bl	_write_reg
	mov	x0, x23
	mov	w1, #10572
	bl	_write_reg
	ldp	w8, w1, [x19, #88]
                                        ; kill: def $w1 killed $w1 def $x1
	sxtw	x1, w1
	stp	x8, x23, [sp, #8]
	str	x27, [sp]
Lloh14:
	adrp	x0, l_.str.7@PAGE
Lloh15:
	add	x0, x0, l_.str.7@PAGEOFF
	bl	_IVTV_DEBUG_YUV
	mov	x0, x22
	mov	w1, #10552
	bl	_write_reg
	mov	x0, x22
	mov	w1, #10544
	bl	_write_reg
	ldp	w8, w1, [x19, #80]
                                        ; kill: def $w1 killed $w1 def $x1
	sxtw	x1, w1
	stp	x8, x22, [sp, #8]
	str	x22, [sp]
Lloh16:
	adrp	x0, l_.str.8@PAGE
Lloh17:
	add	x0, x0, l_.str.8@PAGEOFF
	bl	_IVTV_DEBUG_YUV
	mov	x0, x25
	mov	w1, #10536
	bl	_write_reg
	add	w22, w25, #1300
	mov	x0, x22
	mov	w1, #10540
	bl	_write_reg
	ldp	w8, w1, [x19, #72]
                                        ; kill: def $w1 killed $w1 def $x1
	sxtw	x1, w1
	stp	x8, x22, [sp, #8]
	str	x25, [sp]
Lloh18:
	adrp	x0, l_.str.9@PAGE
Lloh19:
	add	x0, x0, l_.str.9@PAGEOFF
	bl	_IVTV_DEBUG_YUV
	ldr	x23, [sp, #40]                  ; 8-byte Folded Reload
	mov	x0, x23
	mov	w1, #10528
	bl	_write_reg
	add	w22, w23, #1300
	mov	x0, x22
	mov	w1, #10532
	bl	_write_reg
	ldp	w8, w1, [x19, #64]
                                        ; kill: def $w1 killed $w1 def $x1
	sxtw	x1, w1
	stp	x8, x22, [sp, #8]
	str	x23, [sp]
Lloh20:
	adrp	x0, l_.str.10@PAGE
Lloh21:
	add	x0, x0, l_.str.10@PAGEOFF
	bl	_IVTV_DEBUG_YUV
	ldr	x22, [sp, #56]                  ; 8-byte Folded Reload
	mov	x0, x22
	mov	w1, #10520
	bl	_write_reg
	mov	x0, x20
	mov	w1, #10524
	bl	_write_reg
	ldp	w8, w1, [x19, #56]
                                        ; kill: def $w1 killed $w1 def $x1
	sxtw	x1, w1
	stp	x8, x20, [sp, #8]
	str	x22, [sp]
Lloh22:
	adrp	x0, l_.str.11@PAGE
Lloh23:
	add	x0, x0, l_.str.11@PAGEOFF
	bl	_IVTV_DEBUG_YUV
	ldr	x20, [sp, #48]                  ; 8-byte Folded Reload
	mov	x0, x20
	mov	w1, #10604
	bl	_write_reg
	ldrsw	x1, [x19, #52]
	str	x20, [sp]
Lloh24:
	adrp	x0, l_.str.12@PAGE
Lloh25:
	add	x0, x0, l_.str.12@PAGEOFF
	bl	_IVTV_DEBUG_YUV
	mov	x0, x21
	mov	w1, #10568
	bl	_write_reg
	mov	x0, x21
	mov	w1, #10560
	bl	_write_reg
	ldp	w8, w1, [x19, #44]
                                        ; kill: def $w1 killed $w1 def $x1
	sxtw	x1, w1
	stp	x8, x21, [sp, #8]
	str	x21, [sp]
Lloh26:
	adrp	x0, l_.str.13@PAGE
Lloh27:
	add	x0, x0, l_.str.13@PAGEOFF
	bl	_IVTV_DEBUG_YUV
	ldr	x20, [sp, #96]                  ; 8-byte Folded Reload
	mov	x0, x20
	mov	w1, #10576
	bl	_write_reg
	ldr	x21, [sp, #64]                  ; 8-byte Folded Reload
	mov	x0, x21
	mov	w1, #10580
	bl	_write_reg
	ldp	w8, w1, [x19, #36]
                                        ; kill: def $w1 killed $w1 def $x1
	sxtw	x1, w1
	stp	x8, x21, [sp, #8]
	str	x20, [sp]
Lloh28:
	adrp	x0, l_.str.14@PAGE
Lloh29:
	add	x0, x0, l_.str.14@PAGEOFF
	bl	_IVTV_DEBUG_YUV
	ldur	x20, [x29, #-96]                ; 8-byte Folded Reload
	mov	x0, x20
	mov	w1, #10584
	bl	_write_reg
	ldr	x21, [sp, #88]                  ; 8-byte Folded Reload
	mov	x0, x21
	mov	w1, #10588
	bl	_write_reg
	ldp	w8, w1, [x19, #28]
                                        ; kill: def $w1 killed $w1 def $x1
	sxtw	x1, w1
	stp	x8, x21, [sp, #8]
	str	x20, [sp]
Lloh30:
	adrp	x0, l_.str.15@PAGE
Lloh31:
	add	x0, x0, l_.str.15@PAGEOFF
	bl	_IVTV_DEBUG_YUV
	ldr	x20, [sp, #112]                 ; 8-byte Folded Reload
	mov	x0, x20
	mov	w1, #10592
	bl	_write_reg
	ldrsw	x1, [x19, #24]
	str	x20, [sp]
Lloh32:
	adrp	x0, l_.str.16@PAGE
Lloh33:
	add	x0, x0, l_.str.16@PAGEOFF
	bl	_IVTV_DEBUG_YUV
	ldr	x20, [sp, #80]                  ; 8-byte Folded Reload
	mov	x0, x20
	mov	w1, #10596
	bl	_write_reg
	ldr	x21, [sp, #72]                  ; 8-byte Folded Reload
	mov	x0, x21
	mov	w1, #10600
	bl	_write_reg
	ldp	w8, w1, [x19, #16]
                                        ; kill: def $w1 killed $w1 def $x1
	sxtw	x1, w1
	stp	x8, x21, [sp, #8]
	str	x20, [sp]
Lloh34:
	adrp	x0, l_.str.17@PAGE
Lloh35:
	add	x0, x0, l_.str.17@PAGEOFF
	bl	_IVTV_DEBUG_YUV
	ldur	x20, [x29, #-88]                ; 8-byte Folded Reload
	mov	x0, x20
	mov	w1, #10396
	bl	_write_reg
	ldrsw	x1, [x19, #12]
	str	x20, [sp]
Lloh36:
	adrp	x0, l_.str.18@PAGE
Lloh37:
	add	x0, x0, l_.str.18@PAGEOFF
	bl	_IVTV_DEBUG_YUV
	ldr	w8, [x19, #4]
	ldr	w20, [sp, #108]                 ; 4-byte Folded Reload
	cmp	w20, w8
	b.eq	LBB0_20
; %bb.19:
	mov	x0, x19
	mov	w1, #-1
	mov	x2, x20
	mov	w3, #-1
	bl	_ivtv_yuv_filter
	str	w20, [x19, #4]
LBB0_20:
	ldr	w8, [x19, #8]
	ldur	w20, [x29, #-100]               ; 4-byte Folded Reload
	cmp	w20, w8
	b.eq	LBB0_22
; %bb.21:
	mov	x0, x19
	mov	w1, #-1
	mov	w2, #-1
	mov	x3, x20
	bl	_ivtv_yuv_filter
	str	w20, [x19, #8]
LBB0_22:
	ldp	x29, x30, [sp, #224]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #208]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #192]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #176]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #160]            ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #144]            ; 16-byte Folded Reload
	add	sp, sp, #240
	ret
	.loh AdrpAdd	Lloh10, Lloh11
	.loh AdrpAdd	Lloh8, Lloh9
	.loh AdrpAdd	Lloh6, Lloh7
	.loh AdrpAdd	Lloh4, Lloh5
	.loh AdrpAdd	Lloh2, Lloh3
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpAdd	Lloh36, Lloh37
	.loh AdrpAdd	Lloh34, Lloh35
	.loh AdrpAdd	Lloh32, Lloh33
	.loh AdrpAdd	Lloh30, Lloh31
	.loh AdrpAdd	Lloh28, Lloh29
	.loh AdrpAdd	Lloh26, Lloh27
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpAdd	Lloh18, Lloh19
	.loh AdrpAdd	Lloh16, Lloh17
	.loh AdrpAdd	Lloh14, Lloh15
	.loh AdrpAdd	Lloh12, Lloh13
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Adjust to height %d src_h %d dst_h %d src_y %d dst_y %d\n"

l_.str.1:                               ; @.str.1
	.asciz	"Scaling mode Y: %s\n"

l_.str.2:                               ; @.str.2
	.asciz	"Interlaced"

l_.str.3:                               ; @.str.3
	.asciz	"Progressive"

l_.str.4:                               ; @.str.4
	.asciz	"Scaling mode UV: %s\n"

l_.str.5:                               ; @.str.5
	.asciz	"Source video: %s\n"

l_.str.6:                               ; @.str.6
	.asciz	"Update reg 0x2934 %08x->%08x 0x293c %08x->%08x\n"

l_.str.7:                               ; @.str.7
	.asciz	"Update reg 0x2944 %08x->%08x 0x294c %08x->%08x\n"

l_.str.8:                               ; @.str.8
	.asciz	"Update reg 0x2930 %08x->%08x 0x2938 %08x->%08x\n"

l_.str.9:                               ; @.str.9
	.asciz	"Update reg 0x2928 %08x->%08x 0x292c %08x->%08x\n"

l_.str.10:                              ; @.str.10
	.asciz	"Update reg 0x2920 %08x->%08x 0x2924 %08x->%08x\n"

l_.str.11:                              ; @.str.11
	.asciz	"Update reg 0x2918 %08x->%08x 0x291C %08x->%08x\n"

l_.str.12:                              ; @.str.12
	.asciz	"Update reg 0x296c %08x->%08x\n"

l_.str.13:                              ; @.str.13
	.asciz	"Update reg 0x2940 %08x->%08x 0x2948 %08x->%08x\n"

l_.str.14:                              ; @.str.14
	.asciz	"Update reg 0x2950 %08x->%08x 0x2954 %08x->%08x\n"

l_.str.15:                              ; @.str.15
	.asciz	"Update reg 0x2958 %08x->%08x 0x295C %08x->%08x\n"

l_.str.16:                              ; @.str.16
	.asciz	"Update reg 0x2960 %08x->%08x \n"

l_.str.17:                              ; @.str.17
	.asciz	"Update reg 0x2964 %08x->%08x 0x2968 %08x->%08x\n"

l_.str.18:                              ; @.str.18
	.asciz	"Update reg 0x289c %08x->%08x\n"

	.no_dead_strip	_ivtv_yuv_handle_vertical
.subsections_via_symbols
