	.file	"extr_uvc_v4l2.c_uvc_v4l2_try_format.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC0:
	.string	"Trying format 0x%08x (%c%c%c%c): %ux%u.\n"
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC1:
	.string	"Unsupported size %ux%u.\n"
	.section	.rodata.str1.8
	.align 8
.LC2:
	.string	"Using default frame interval %u.%u us (%u.%u fps).\n"
	.text
	.p2align 4
	.type	uvc_v4l2_try_format, @function
uvc_v4l2_try_format:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	sub	rsp, 88
	.cfi_def_cfa_offset 144
	mov	rax, QWORD PTR [rdi]
	mov	QWORD PTR 40[rsp], rdi
	mov	QWORD PTR 48[rsp], rdx
	mov	QWORD PTR 56[rsp], rcx
	mov	QWORD PTR 64[rsp], r8
	cmp	QWORD PTR [rsi], rax
	je	.L2
.L34:
	mov	r13d, DWORD PTR EINVAL[rip]
	neg	r13d
.L1:
	add	rsp, 88
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	mov	eax, r13d
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L2:
	.cfi_restore_state
	mov	eax, DWORD PTR 20[rsi]
	mov	r9d, DWORD PTR 16[rsi]
	sub	rsp, 8
	.cfi_def_cfa_offset 152
	mov	r12, rsi
	mov	ecx, DWORD PTR 8[rsi]
	mov	edx, DWORD PTR 8[rsi]
	push	rax
	.cfi_def_cfa_offset 160
	mov	edi, DWORD PTR UVC_TRACE_FORMAT[rip]
	push	r9
	.cfi_def_cfa_offset 168
	push	rax
	.cfi_def_cfa_offset 176
	mov	r8d, DWORD PTR 12[rsi]
	xor	eax, eax
	lea	rsi, .LC0[rip]
	call	uvc_trace@PLT
	mov	rax, QWORD PTR 72[rsp]
	add	rsp, 32
	.cfi_def_cfa_offset 144
	mov	ecx, DWORD PTR 8[rax]
	test	ecx, ecx
	je	.L4
	mov	rsi, QWORD PTR 8[r12]
	mov	rax, QWORD PTR 40[rax]
	xor	edx, edx
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L36:
	add	edx, 1
	add	rax, 32
	cmp	edx, ecx
	je	.L4
.L6:
	mov	r15, rax
	cmp	QWORD PTR [rax], rsi
	jne	.L36
.L5:
	mov	eax, DWORD PTR 8[r15]
	mov	r13d, DWORD PTR 16[r12]
	mov	r14d, DWORD PTR 20[r12]
	mov	edi, DWORD PTR UVC_TRACE_FORMAT[rip]
	test	eax, eax
	je	.L8
	mov	eax, r13d
	xor	r9d, r9d
	mov	QWORD PTR 72[rsp], r12
	imul	eax, r14d
	mov	DWORD PTR 12[rsp], -1
	mov	r12d, r9d
	mov	QWORD PTR 32[rsp], 0
	mov	DWORD PTR 28[rsp], r14d
	mov	DWORD PTR 24[rsp], eax
	mov	eax, r13d
	mov	r13, r15
	mov	r15d, eax
	jmp	.L11
	.p2align 4,,10
	.p2align 3
.L37:
	mov	DWORD PTR 12[rsp], ebp
.L9:
	add	r12d, 1
	cmp	DWORD PTR 8[r13], r12d
	jbe	.L10
.L11:
	mov	ecx, r12d
	mov	esi, r15d
	sal	rcx, 4
	mov	rax, rcx
	add	rax, QWORD PTR 24[r13]
	mov	QWORD PTR 16[rsp], rcx
	mov	r14d, DWORD PTR [rax]
	mov	ebp, DWORD PTR 4[rax]
	mov	edi, r14d
	call	min@PLT
	mov	esi, DWORD PTR 28[rsp]
	mov	edi, ebp
	imul	ebp, r14d
	mov	ebx, eax
	call	min@PLT
	add	ebp, DWORD PTR 24[rsp]
	imul	ebx, eax
	add	ebx, ebx
	sub	ebp, ebx
	cmp	ebp, DWORD PTR 12[rsp]
	jnb	.L9
	mov	rcx, QWORD PTR 16[rsp]
	add	rcx, QWORD PTR 24[r13]
	mov	QWORD PTR 32[rsp], rcx
	test	ebp, ebp
	jne	.L37
.L10:
	cmp	QWORD PTR 32[rsp], 0
	mov	r12, QWORD PTR 72[rsp]
	mov	r15, r13
	mov	edi, DWORD PTR UVC_TRACE_FORMAT[rip]
	je	.L38
	mov	r14, QWORD PTR 32[rsp]
	mov	eax, 100000000
	lea	rsi, .LC2[rip]
	cdq
	mov	ebp, DWORD PTR 8[r14]
	idiv	ebp
	mov	r11d, ebp
	cdqe
	mov	r9, rax
	imul	rax, rax, 1717986919
	mov	edx, r9d
	sar	edx, 31
	sar	rax, 34
	sub	eax, edx
	lea	ecx, [rax+rax*4]
	mov	eax, 10000000
	cdq
	add	ecx, ecx
	idiv	ebp
	movsx	rdx, ebp
	sub	r9d, ecx
	imul	rdx, rdx, 1717986919
	sar	rdx, 34
	mov	r8d, eax
	mov	eax, ebp
	sar	eax, 31
	sub	edx, eax
	lea	eax, [rdx+rdx*4]
	add	eax, eax
	sub	r11d, eax
	xor	eax, eax
	mov	ecx, r11d
	call	uvc_trace@PLT
	mov	rbx, QWORD PTR 48[rsp]
	mov	edx, 20
	xor	esi, esi
	mov	rdi, rbx
	call	memset@PLT
	mov	eax, DWORD PTR 16[r13]
	mov	rdi, r14
	mov	esi, ebp
	mov	DWORD PTR [rbx], 1
	mov	DWORD PTR 16[rbx], eax
	mov	eax, DWORD PTR 12[r14]
	mov	DWORD PTR 12[rbx], eax
	call	uvc_try_frame_interval@PLT
	mov	r14, QWORD PTR 40[rsp]
	mov	DWORD PTR 8[rbx], eax
	lea	rbp, 12[r14]
	mov	rdi, rbp
	call	mutex_lock@PLT
	mov	rax, QWORD PTR 24[r14]
	mov	eax, DWORD PTR [rax]
	test	DWORD PTR UVC_QUIRK_PROBE_EXTRAFIELDS[rip], eax
	je	.L13
	mov	eax, DWORD PTR 16[r14]
	mov	DWORD PTR 4[rbx], eax
.L13:
	mov	rbx, QWORD PTR 48[rsp]
	mov	rdi, QWORD PTR 40[rsp]
	mov	rsi, rbx
	call	uvc_probe_video@PLT
	mov	rdi, rbp
	mov	r13d, eax
	call	mutex_unlock@PLT
	test	r13d, r13d
	js	.L1
	mov	rsi, QWORD PTR 32[rsp]
	mov	rdi, r15
	mov	eax, DWORD PTR [rsi]
	mov	DWORD PTR 16[r12], eax
	mov	eax, DWORD PTR 4[rsi]
	mov	DWORD PTR 20[r12], eax
	mov	eax, DWORD PTR V4L2_FIELD_NONE[rip]
	mov	DWORD PTR 36[r12], eax
	call	uvc_v4l2_get_bytesperline@PLT
	mov	DWORD PTR 32[r12], eax
	mov	eax, DWORD PTR 4[rbx]
	mov	DWORD PTR 28[r12], eax
	mov	eax, DWORD PTR 12[r15]
	mov	DWORD PTR 24[r12], eax
	mov	rax, QWORD PTR 56[rsp]
	test	rax, rax
	je	.L14
	mov	QWORD PTR [rax], r15
.L14:
	mov	rax, QWORD PTR 64[rsp]
	test	rax, rax
	je	.L1
	mov	rsi, QWORD PTR 32[rsp]
	mov	QWORD PTR [rax], rsi
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L4:
	mov	rax, QWORD PTR 40[rsp]
	mov	r15, QWORD PTR 32[rax]
	mov	rax, QWORD PTR [r15]
	mov	QWORD PTR 8[r12], rax
	jmp	.L5
	.p2align 4,,10
	.p2align 3
.L38:
	mov	r14d, DWORD PTR 20[r12]
	mov	r13d, DWORD PTR 16[r12]
.L8:
	mov	ecx, r14d
	mov	edx, r13d
	lea	rsi, .LC1[rip]
	xor	eax, eax
	call	uvc_trace@PLT
	jmp	.L34
	.cfi_endproc
.LFE0:
	.size	uvc_v4l2_try_format, .-uvc_v4l2_try_format
	.comm	V4L2_FIELD_NONE,4,4
	.comm	UVC_TRACE_FORMAT,4,4
	.comm	UVC_QUIRK_PROBE_EXTRAFIELDS,4,4
	.comm	EINVAL,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_uvc_v4l2.c_uvc_v4l2_try_format.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"Trying format 0x%08x (%c%c%c%c): %ux%u.\012\000"
	.align	2
.LC1:
	.ascii	"Unsupported size %ux%u.\012\000"
	.align	2
.LC2:
	.ascii	"Using default frame interval %u.%u us (%u.%u fps).\012"
	.ascii	"\000"
	.global	__aeabi_idiv
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	uvc_v4l2_try_format, %function
uvc_v4l2_try_format:
	@ args = 4, pretend = 0, frame = 24
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r9, r0
	mov	r8, r1
	ldr	r0, [r1]
	ldr	r1, [r9]
	sub	sp, sp, #52
	cmp	r0, r1
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	beq	.L2
.L34:
	ldr	r3, .L40
	ldr	r4, [r3]
	rsb	r4, r4, #0
.L1:
	mov	r0, r4
	add	sp, sp, #52
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L2:
	add	r0, r8, #8
	ldm	r0, {r0, r1, ip}
	ldr	r3, [r8, #4]
	str	r1, [sp, #16]
	str	r1, [sp, #4]
	ldr	r1, .L40+4
	str	r0, [sp, #12]
	str	r0, [sp]
	ldr	r0, [r1]
	mov	r2, r3
	ldr	r1, .L40+8
	str	ip, [sp, #8]
	bl	uvc_trace
	ldr	r0, [r9, #4]
	cmp	r0, #0
	beq	.L4
	mov	r2, #0
	ldr	ip, [r8, #4]
	ldr	r3, [r9, #24]
	b	.L6
.L36:
	cmp	r2, r0
	add	r3, r3, #20
	beq	.L4
.L6:
	ldr	r1, [r3]
	mov	r6, r3
	cmp	r1, ip
	add	r2, r2, #1
	bne	.L36
.L5:
	ldr	r3, [r6, #4]
	ldr	r10, [r8, #8]
	cmp	r3, #0
	ldr	fp, [r8, #12]
	beq	.L37
	mov	r5, #0
	mvn	r3, #0
	mul	r2, fp, r10
	str	r5, [sp, #28]
	str	r8, [sp, #44]
	str	r2, [sp, #24]
	mov	r8, r6
	str	r9, [sp, #40]
	mov	r6, fp
	mov	fp, r10
	mov	r10, r5
	mov	r5, r3
	b	.L11
.L38:
	mov	r5, r4
.L9:
	ldr	r1, [r8, #4]
	cmp	r1, r10
	bls	.L10
.L11:
	ldr	r0, [r8, #16]
	mov	r1, fp
	ldr	r4, [r0, r10, lsl #4]
	add	ip, r0, r10, lsl #4
	mov	r0, r4
	ldr	r9, [ip, #4]
	bl	min
	mov	r1, r6
	mov	r7, r0
	mov	r0, r9
	bl	min
	ldr	r3, [sp, #24]
	mul	r7, r0, r7
	mla	r3, r9, r4, r3
	sub	r4, r3, r7, lsl #1
	cmp	r4, r5
	lsl	r1, r10, #4
	add	r10, r10, #1
	bcs	.L9
	ldr	r0, [r8, #16]
	cmp	r4, #0
	add	r3, r0, r1
	str	r3, [sp, #28]
	bne	.L38
.L10:
	ldr	r3, [sp, #28]
	mov	r6, r8
	cmp	r3, #0
	ldr	r3, .L40+4
	ldr	r9, [sp, #40]
	ldr	r8, [sp, #44]
	ldr	r4, [r3]
	beq	.L39
	ldr	ip, [sp, #28]
	ldr	r10, .L40+12
	ldr	r5, [ip, #8]
	ldr	r0, .L40+16
	smull	r3, r2, r10, r5
	mov	r1, r5
	asr	r7, r5, #31
	rsb	r7, r7, r2, asr #2
	bl	__aeabi_idiv
	smull	r3, r10, r0, r10
	asr	r3, r0, #31
	rsb	r10, r3, r10, asr #2
	add	r10, r10, r10, lsl #2
	mov	r1, r5
	sub	r10, r0, r10, lsl #1
	ldr	r0, .L40+20
	str	r10, [sp, #4]
	bl	__aeabi_idiv
	add	fp, r7, r7, lsl #2
	sub	fp, r5, fp, lsl #1
	mov	r3, fp
	mov	r2, r7
	ldr	r1, .L40+24
	str	r0, [sp]
	mov	r0, r4
	bl	uvc_trace
	ldr	r4, [sp, #32]
	mov	r2, #16
	mov	r1, #0
	add	r0, r4, #4
	bl	memset
	mov	r0, #1
	ldr	ip, [sp, #28]
	ldr	r2, [r6, #12]
	ldr	r3, [ip, #12]
	mov	r1, r5
	str	r2, [r4, #16]
	str	r3, [r4, #12]
	str	r0, [r4]
	mov	r0, ip
	bl	uvc_try_frame_interval
	add	r5, r9, #8
	str	r0, [r4, #8]
	mov	r0, r5
	bl	mutex_lock
	ldr	r2, [r9, #16]
	ldr	r3, .L40+28
	ldr	r2, [r2]
	ldr	r3, [r3]
	ldr	r7, [sp, #32]
	tst	r2, r3
	ldrne	r3, [r9, #12]
	mov	r1, r7
	strne	r3, [r4, #4]
	mov	r0, r9
	bl	uvc_probe_video
	mov	r4, r0
	mov	r0, r5
	bl	mutex_unlock
	cmp	r4, #0
	blt	.L1
	ldr	r0, [sp, #28]
	ldr	r3, .L40+32
	ldr	r1, [r0]
	ldr	r2, [r3]
	ldr	r3, [r0, #4]
	str	r1, [r8, #8]
	str	r2, [r8, #28]
	mov	r1, r0
	str	r3, [r8, #12]
	mov	r0, r6
	bl	uvc_v4l2_get_bytesperline
	ldr	r2, [r7, #4]
	ldr	r3, [r6, #8]
	str	r0, [r8, #24]
	mov	r0, r4
	ldr	r1, [sp, #36]
	str	r3, [r8, #16]
	ldr	r3, [sp, #88]
	cmp	r1, #0
	str	r2, [r8, #20]
	strne	r6, [r1]
	cmp	r3, #0
	ldrne	r2, [sp, #28]
	strne	r2, [r3]
	add	sp, sp, #52
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L4:
	ldr	r6, [r9, #20]
	ldr	r3, [r6]
	str	r3, [r8, #4]
	b	.L5
.L39:
	ldr	r10, [r8, #8]
	ldr	fp, [r8, #12]
.L8:
	mov	r3, fp
	mov	r2, r10
	mov	r0, r4
	ldr	r1, .L40+36
	bl	uvc_trace
	b	.L34
.L37:
	ldr	r3, .L40+4
	ldr	r4, [r3]
	b	.L8
.L41:
	.align	2
.L40:
	.word	EINVAL
	.word	UVC_TRACE_FORMAT
	.word	.LC0
	.word	1717986919
	.word	100000000
	.word	10000000
	.word	.LC2
	.word	UVC_QUIRK_PROBE_EXTRAFIELDS
	.word	V4L2_FIELD_NONE
	.word	.LC1
	.size	uvc_v4l2_try_format, .-uvc_v4l2_try_format
	.comm	V4L2_FIELD_NONE,4,4
	.comm	UVC_TRACE_FORMAT,4,4
	.comm	UVC_QUIRK_PROBE_EXTRAFIELDS,4,4
	.comm	EINVAL,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
