	.file	"extr_encx264.c_apply_h264_level.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC1:
	.string	"apply_h264_level: no level specified"
	.align 8
.LC3:
	.string	"apply_h264_level: invalid resolution (width: %d, height: %d)"
	.align 8
.LC4:
	.string	"apply_h264_level [warning]: interlaced flag not supported for level %s, disabling"
	.align 8
.LC5:
	.string	"apply_h264_level [warning]: frame size (%dx%d, %d macroblocks) too high for level %s (max. %d macroblocks)"
	.align 8
.LC6:
	.string	"apply_h264_level [warning]: framerate (%.3f) too high for level %s at %dx%d (max. %.3f)"
	.align 8
.LC7:
	.string	"apply_h264_level [warning]: frame too wide (%d) for level %s (max. %d)"
	.align 8
.LC8:
	.string	"apply_h264_level [warning]: frame too tall (%d) for level %s (max. %d)"
	.align 8
.LC9:
	.string	"apply_h264_level: invalid level %s"
	.text
	.p2align 4
	.globl	apply_h264_level
	.type	apply_h264_level, @function
apply_h264_level:
.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, 40
	.cfi_def_cfa_offset 96
	mov	QWORD PTR 8[rsp], rdi
	mov	DWORD PTR 4[rsp], r8d
	test	rdx, rdx
	je	.L2
	mov	rax, QWORD PTR hb_h264_level_names[rip]
	mov	rbp, rsi
	mov	rdi, rdx
	mov	r12, rdx
	mov	rsi, QWORD PTR [rax]
	call	strcasecmp@PLT
	test	rax, rax
	je	.L3
	mov	r14, QWORD PTR hb_h264_level_values[rip]
	mov	r13d, DWORD PTR [r14]
	test	r13d, r13d
	je	.L4
	mov	r15, QWORD PTR hb_h264_level_names[rip]
	add	r14, 4
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L5:
	mov	r13d, DWORD PTR [r14]
	add	r15, 8
	add	r14, 4
	test	r13d, r13d
	je	.L4
.L8:
	mov	rdi, QWORD PTR [r15]
	mov	rsi, r12
	call	strcmp@PLT
	mov	ebx, eax
	test	eax, eax
	jne	.L5
	mov	r14, QWORD PTR x264_levels[rip]
	mov	eax, DWORD PTR [r14]
	test	eax, eax
	jne	.L7
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L82:
	mov	eax, DWORD PTR 40[r14]
	add	r14, 40
	test	eax, eax
	je	.L4
.L7:
	cmp	r13d, eax
	jne	.L82
	mov	rax, QWORD PTR X264_RC_CRF[rip]
	cmp	QWORD PTR 64[rbp], rax
	je	.L83
.L41:
	cmp	QWORD PTR 56[rbp], 0
	jne	.L11
	mov	rax, QWORD PTR X264_CQM_FLAT[rip]
	xor	ecx, ecx
	cmp	QWORD PTR 0[rbp], rax
	je	.L10
.L11:
	mov	rax, QWORD PTR 8[rsp]
	xor	ecx, ecx
	cmp	DWORD PTR [rax], 10
	sete	cl
	add	ecx, 1
.L10:
	mov	esi, DWORD PTR 8[rbp]
	mov	edx, DWORD PTR 12[rbp]
	test	esi, esi
	jle	.L12
	test	edx, edx
	jle	.L12
	cmp	QWORD PTR 32[r14], 0
	mov	rax, QWORD PTR 40[rbp]
	je	.L14
	test	rax, rax
	jne	.L15
	xor	r15d, r15d
	cmp	QWORD PTR 104[rbp], 0
	jne	.L15
.L16:
	lea	eax, 30[rsi]
	add	esi, 15
	lea	r13d, 30[rdx]
	cmovns	eax, esi
	sar	eax, 4
	add	edx, 15
	cmovns	r13d, edx
	mov	DWORD PTR 16[rsp], eax
	sar	r13d, 4
.L19:
	mov	eax, DWORD PTR 16[rsp]
	mov	esi, DWORD PTR 16[rbp]
	pxor	xmm2, xmm2
	movss	DWORD PTR 20[rsp], xmm2
	imul	eax, r13d
	mov	DWORD PTR 8[rsp], eax
	test	esi, esi
	jle	.L20
	mov	edi, DWORD PTR 20[rbp]
	test	edi, edi
	jle	.L20
	imul	eax, edi
	pxor	xmm1, xmm1
	pxor	xmm0, xmm0
	cvtsi2ss	xmm1, edi
	cvtsi2ss	xmm0, esi
	cdq
	idiv	esi
	divss	xmm1, xmm0
	mov	ebx, eax
	movss	DWORD PTR 20[rsp], xmm1
.L20:
	cmp	DWORD PTR 24[rbp], 1
	je	.L22
	mov	eax, DWORD PTR 4[r14]
	mov	esi, 16
	mov	DWORD PTR 28[rsp], ecx
	cdq
	idiv	DWORD PTR 8[rsp]
	mov	edi, eax
	call	MIN@PLT
	mov	esi, 1
	mov	rdi, rax
	call	MAX@PLT
	mov	esi, DWORD PTR 28[rbp]
	mov	edi, eax
	mov	DWORD PTR 24[rsp], eax
	call	MIN@PLT
	mov	edx, DWORD PTR 24[rsp]
	mov	ecx, DWORD PTR 28[rsp]
	mov	DWORD PTR 28[rbp], eax
	cmp	edx, 1
	jle	.L84
	cmp	edx, 3
	jle	.L85
	.p2align 4,,10
	.p2align 3
.L22:
	cmp	ecx, 3
	je	.L25
	mov	edx, 12
	cmp	ecx, 2
	je	.L26
	xor	edx, edx
	cmp	ecx, 1
	sete	dl
	add	edx, 4
.L26:
	mov	eax, DWORD PTR 8[r14]
	mov	edi, DWORD PTR 80[rbp]
	imul	eax, edx
	test	eax, eax
	lea	esi, 3[rax]
	cmovns	esi, eax
	sar	esi, 2
	test	edi, edi
	jne	.L27
	mov	DWORD PTR 80[rbp], esi
.L28:
	imul	edx, DWORD PTR 12[r14]
	mov	edi, DWORD PTR 84[rbp]
	test	edx, edx
	mov	esi, edx
	lea	eax, 3[rdx]
	cmovs	esi, eax
	sar	esi, 2
	test	edi, edi
	jne	.L29
	mov	DWORD PTR 84[rbp], esi
.L25:
	cmp	QWORD PTR 40[rbp], 0
	mov	esi, DWORD PTR 16[r14]
	setne	cl
	mov	edi, DWORD PTR 48[rbp]
	sar	esi, cl
	call	MIN@PLT
	mov	r9d, DWORD PTR 20[r14]
	mov	DWORD PTR 48[rbp], eax
	cmp	r9d, DWORD PTR 8[rsp]
	jge	.L30
	mov	esi, DWORD PTR 4[rsp]
	test	esi, esi
	jne	.L86
.L31:
	lea	edi, 0[0+r9*8]
	call	sqrt@PLT
.L80:
	mov	r15d, 1
.L37:
	mov	eax, DWORD PTR [r14]
	mov	DWORD PTR 32[rbp], eax
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L3:
	mov	rax, QWORD PTR hb_h264_level_names[rip]
	mov	rdi, r12
	mov	rsi, QWORD PTR [rax]
	call	strcasecmp@PLT
	test	rax, rax
	jne	.L2
	xor	r15d, r15d
.L1:
	add	rsp, 40
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	mov	eax, r15d
	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
	lea	rdi, .LC1[rip]
	xor	eax, eax
	mov	r15d, -1
	call	hb_error@PLT
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L15:
	mov	edi, DWORD PTR 4[rsp]
	test	edi, edi
	jne	.L87
.L17:
	mov	QWORD PTR 104[rbp], 0
	mov	r15d, 1
	mov	QWORD PTR 40[rbp], 0
	jmp	.L16
	.p2align 4,,10
	.p2align 3
.L14:
	add	esi, 15
	lea	r13d, 15[rdx]
	sar	esi, 4
	sar	r13d, 4
	mov	DWORD PTR 16[rsp], esi
	test	rax, rax
	je	.L88
.L18:
	add	r13d, 1
	xor	r15d, r15d
	and	r13d, -2
	jmp	.L19
	.p2align 4,,10
	.p2align 3
.L30:
	mov	eax, DWORD PTR 24[r14]
	cmp	eax, ebx
	jge	.L33
	mov	ecx, DWORD PTR 4[rsp]
	test	ecx, ecx
	je	.L31
	pxor	xmm1, xmm1
	pxor	xmm0, xmm0
	mov	ecx, DWORD PTR 12[rbp]
	mov	edx, DWORD PTR 8[rbp]
	cvtsi2ss	xmm1, eax
	mov	rsi, r12
	lea	rdi, .LC6[rip]
	mov	eax, 2
	cvtsi2ss	xmm0, DWORD PTR 8[rsp]
	divss	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR 20[rsp]
	cvtss2sd	xmm1, xmm1
	call	hb_log@PLT
.L32:
	mov	eax, DWORD PTR 20[r14]
	mov	r15d, 1
	lea	edi, 0[0+rax*8]
	call	sqrt@PLT
	mov	ebx, eax
	cmp	DWORD PTR 16[rsp], eax
	jg	.L39
.L34:
	cmp	r13d, ebx
	jle	.L37
	mov	eax, DWORD PTR 4[rsp]
	test	eax, eax
	je	.L80
	sal	ebx, 4
	mov	r15d, ebx
	jmp	.L36
	.p2align 4,,10
	.p2align 3
.L83:
	movsd	xmm0, QWORD PTR .LC2[rip]
	comisd	xmm0, QWORD PTR 72[rbp]
	mov	ecx, 3
	jbe	.L41
	jmp	.L10
.L88:
	cmp	QWORD PTR 104[rbp], 0
	jne	.L18
	xor	r15d, r15d
	jmp	.L19
	.p2align 4,,10
	.p2align 3
.L33:
	lea	edi, 0[0+r9*8]
	call	sqrt@PLT
	mov	ebx, eax
	cmp	eax, DWORD PTR 16[rsp]
	jge	.L34
	mov	edx, DWORD PTR 4[rsp]
	test	edx, edx
	je	.L80
.L39:
	mov	r15d, ebx
	mov	esi, DWORD PTR 8[rbp]
	xor	eax, eax
	mov	rdx, r12
	sal	r15d, 4
	lea	rdi, .LC7[rip]
	mov	ecx, r15d
	call	hb_log@PLT
	cmp	r13d, ebx
	jle	.L80
.L36:
	mov	esi, DWORD PTR 12[rbp]
	mov	ecx, r15d
	mov	rdx, r12
	lea	rdi, .LC8[rip]
	xor	eax, eax
	call	hb_log@PLT
	jmp	.L80
	.p2align 4,,10
	.p2align 3
.L29:
	call	MIN@PLT
	mov	DWORD PTR 84[rbp], eax
	jmp	.L25
	.p2align 4,,10
	.p2align 3
.L27:
	mov	DWORD PTR 24[rsp], edx
	call	MIN@PLT
	mov	edx, DWORD PTR 24[rsp]
	mov	DWORD PTR 80[rbp], eax
	jmp	.L28
	.p2align 4,,10
	.p2align 3
.L84:
	mov	QWORD PTR 96[rbp], 0
	jmp	.L22
	.p2align 4,,10
	.p2align 3
.L85:
	mov	eax, DWORD PTR X264_B_PYRAMID_NONE[rip]
	mov	DWORD PTR 88[rbp], eax
	jmp	.L22
	.p2align 4,,10
	.p2align 3
.L86:
	mov	esi, DWORD PTR 16[rsp]
	mov	edx, r13d
	mov	ecx, DWORD PTR 8[rsp]
	mov	r8, r12
	sal	edx, 4
	lea	rdi, .LC5[rip]
	xor	eax, eax
	sal	esi, 4
	call	hb_log@PLT
	jmp	.L32
	.p2align 4,,10
	.p2align 3
.L87:
	mov	rsi, r12
	lea	rdi, .LC4[rip]
	xor	eax, eax
	mov	DWORD PTR 8[rsp], ecx
	call	hb_log@PLT
	mov	esi, DWORD PTR 8[rbp]
	mov	edx, DWORD PTR 12[rbp]
	mov	ecx, DWORD PTR 8[rsp]
	jmp	.L17
.L12:
	lea	rdi, .LC3[rip]
	xor	eax, eax
	mov	r15d, -1
	call	hb_error@PLT
	jmp	.L1
.L4:
	mov	rsi, r12
	lea	rdi, .LC9[rip]
	xor	eax, eax
	or	r15d, -1
	call	hb_error@PLT
	jmp	.L1
	.cfi_endproc
.LFE0:
	.size	apply_h264_level, .-apply_h264_level
	.comm	x264_levels,8,8
	.comm	hb_h264_level_values,8,8
	.comm	hb_h264_level_names,8,8
	.comm	X264_RC_CRF,8,8
	.comm	X264_CQM_FLAT,8,8
	.comm	X264_B_PYRAMID_NONE,4,4
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC2:
	.long	0
	.long	1072693248
	.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_encx264.c_apply_h264_level.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"apply_h264_level: no level specified\000"
	.global	__aeabi_dcmplt
	.align	2
.LC1:
	.ascii	"apply_h264_level: invalid resolution (width: %d, he"
	.ascii	"ight: %d)\000"
	.align	2
.LC2:
	.ascii	"apply_h264_level [warning]: interlaced flag not sup"
	.ascii	"ported for level %s, disabling\000"
	.global	__aeabi_idiv
	.global	__aeabi_i2f
	.global	__aeabi_fdiv
	.align	2
.LC3:
	.ascii	"apply_h264_level [warning]: frame size (%dx%d, %d m"
	.ascii	"acroblocks) too high for level %s (max. %d macroblo"
	.ascii	"cks)\000"
	.global	__aeabi_f2d
	.align	2
.LC4:
	.ascii	"apply_h264_level [warning]: framerate (%.3f) too hi"
	.ascii	"gh for level %s at %dx%d (max. %.3f)\000"
	.align	2
.LC5:
	.ascii	"apply_h264_level [warning]: frame too wide (%d) for"
	.ascii	" level %s (max. %d)\000"
	.align	2
.LC6:
	.ascii	"apply_h264_level [warning]: frame too tall (%d) for"
	.ascii	" level %s (max. %d)\000"
	.align	2
.LC7:
	.ascii	"apply_h264_level: invalid level %s\000"
	.text
	.align	2
	.global	apply_h264_level
	.syntax unified
	.arm
	.fpu softvfp
	.type	apply_h264_level, %function
apply_h264_level:
	@ args = 4, pretend = 0, frame = 16
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	subs	r6, r2, #0
	sub	sp, sp, #44
	beq	.L2
	ldr	r3, .L94
	mov	r9, r0
	ldr	r7, [r3]
	mov	r5, r1
	ldr	r4, [r7]
	mov	r0, r6
	mov	r1, r4
	bl	strcasecmp
	subs	r8, r0, #0
	beq	.L1
	ldr	r3, .L94+4
	ldr	r10, [r3]
	ldr	r8, [r10]
	cmp	r8, #0
	beq	.L4
	mov	r0, r4
	b	.L8
.L5:
	ldr	r8, [r10, #4]!
	cmp	r8, #0
	beq	.L4
	ldr	r0, [r7, #4]!
.L8:
	mov	r1, r6
	bl	strcmp
	cmp	r0, #0
	bne	.L5
	ldr	r3, .L94+8
	mov	r4, r0
	ldr	r7, [r3]
	ldr	r3, [r7]
	cmp	r3, #0
	bne	.L7
	b	.L4
.L86:
	ldr	r3, [r7, #32]!
	cmp	r3, #0
	beq	.L4
.L7:
	cmp	r8, r3
	bne	.L86
	ldr	r3, .L94+12
	ldr	r2, [r5, #48]
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L87
.L40:
	ldr	r3, [r5, #40]
	cmp	r3, #0
	bne	.L10
	ldr	r2, .L94+16
	ldr	r1, [r5]
	ldr	r2, [r2]
	cmp	r1, r2
	beq	.L9
.L10:
	ldr	r3, [r9]
	cmp	r3, #10
	moveq	r3, #2
	movne	r3, #1
.L9:
	ldmib	r5, {r1, r2}
	cmp	r1, #0
	ble	.L11
	cmp	r2, #0
	ble	.L11
	ldr	r8, [r7, #28]
	ldr	r0, [r5, #32]
	cmp	r8, #0
	beq	.L13
	cmp	r0, #0
	bne	.L14
	ldr	r8, [r5, #80]
	cmp	r8, #0
	bne	.L14
.L15:
	adds	r10, r1, #15
	addmi	r10, r1, #30
	adds	r9, r2, #15
	addmi	r9, r2, #30
	asr	r10, r10, #4
	asr	r9, r9, #4
.L18:
	ldr	r1, [r5, #12]
	mul	fp, r10, r9
	cmp	r1, #0
	ble	.L46
	ldr	r2, [r5, #16]
	cmp	r2, #0
	ble	.L46
	mul	r0, fp, r2
	str	r3, [sp, #36]
	str	r1, [sp, #32]
	str	r2, [sp, #24]
	bl	__aeabi_idiv
	ldr	r2, [sp, #24]
	mov	r4, r0
	mov	r0, r2
	bl	__aeabi_i2f
	mov	r2, r0
	ldr	r1, [sp, #32]
	str	r2, [sp, #24]
	mov	r0, r1
	bl	__aeabi_i2f
	ldr	r2, [sp, #24]
	mov	r1, r0
	mov	r0, r2
	bl	__aeabi_fdiv
	ldr	r3, [sp, #36]
	str	r0, [sp, #24]	@ float
.L19:
	ldr	r2, [r5, #20]
	cmp	r2, #1
	beq	.L21
	mov	r1, fp
	ldr	r0, [r7, #4]
	str	r3, [sp, #36]
	bl	__aeabi_idiv
	mov	r1, #16
	bl	MIN
	mov	r1, #1
	bl	MAX
	ldr	r1, [r5, #24]
	str	r0, [sp, #32]
	bl	MIN
	ldr	r2, [sp, #32]
	ldr	r3, [sp, #36]
	cmp	r2, #1
	movle	r2, #0
	str	r0, [r5, #24]
	strle	r2, [r5, #76]
	ble	.L21
	cmp	r2, #3
	ldrle	r2, .L94+20
	ldrle	r2, [r2]
	strle	r2, [r5, #72]
.L21:
	cmp	r3, #3
	beq	.L24
	cmp	r3, #2
	moveq	r3, #12
	beq	.L25
	cmp	r3, #1
	moveq	r3, #5
	movne	r3, #4
.L25:
	ldr	r1, [r7, #8]
	ldr	r0, [r5, #64]
	mul	r1, r3, r1
	cmp	r1, #0
	add	r2, r1, #3
	movlt	r1, r2
	cmp	r0, #0
	asr	r1, r1, #2
	streq	r1, [r5, #64]
	bne	.L88
.L27:
	ldr	r1, [r7, #12]
	ldr	r0, [r5, #68]
	mul	r1, r3, r1
	cmp	r1, #0
	add	r3, r1, #3
	movlt	r1, r3
	cmp	r0, #0
	asr	r1, r1, #2
	streq	r1, [r5, #68]
	bne	.L89
.L24:
	ldr	r3, [r5, #32]
	ldr	r1, [r7, #16]
	subs	r3, r3, #0
	movne	r3, #1
	ldr	r0, [r5, #36]
	asr	r1, r1, r3
	bl	MIN
	ldr	r2, [r7, #20]
	str	r0, [r5, #36]
	cmp	r2, fp
	bge	.L29
	ldr	r3, [sp, #80]
	cmp	r3, #0
	bne	.L90
.L30:
	lsl	r0, r2, #3
	bl	sqrt
.L84:
	mov	r8, #1
.L36:
	ldr	r3, [r7]
	str	r3, [r5, #28]
.L1:
	mov	r0, r8
	add	sp, sp, #44
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L14:
	ldr	r0, [sp, #80]
	cmp	r0, #0
	bne	.L91
.L16:
	mov	r0, #0
	mov	r8, #1
	str	r0, [r5, #80]
	str	r0, [r5, #32]
	b	.L15
.L46:
	mov	r2, #0
	str	r2, [sp, #24]	@ float
	b	.L19
.L13:
	add	r10, r1, #15
	add	r9, r2, #15
	cmp	r0, #0
	asr	r10, r10, #4
	asr	r9, r9, #4
	beq	.L92
.L17:
	add	r9, r9, #1
	bic	r9, r9, #1
	b	.L18
.L29:
	ldr	r3, [r7, #24]
	cmp	r3, r4
	bge	.L32
	ldr	r1, [sp, #80]
	cmp	r1, #0
	beq	.L30
	ldr	r0, [sp, #24]	@ float
	str	r3, [sp, #32]
	bl	__aeabi_f2d
	mov	r2, r1
	mov	r1, r0
	ldr	r3, [sp, #32]
	mov	r0, r3
	mov	r3, r2
	mov	r2, r1
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	bl	__aeabi_i2f
	mov	r4, r0
	mov	r0, fp
	bl	__aeabi_i2f
	mov	r1, r0
	mov	r0, r4
	bl	__aeabi_fdiv
	bl	__aeabi_f2d
	add	r3, sp, #24
	ldmia	r3, {r2-r3}
	ldr	ip, [r5, #8]
	str	r0, [sp, #16]
	str	r1, [sp, #20]
	ldr	r1, [r5, #4]
	ldr	r0, .L94+24
	stmib	sp, {r1, ip}
	str	r6, [sp]
	bl	hb_log
	b	.L31
.L87:
	ldr	r3, .L94+28
	mov	r2, #0
	add	r1, r5, #56
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	cmp	r0, #0
	movne	r3, #3
	beq	.L40
	b	.L9
.L32:
	lsl	r0, r2, #3
	bl	sqrt
	cmp	r0, r10
	mov	r4, r0
	blt	.L93
.L33:
	cmp	r9, r4
	ble	.L36
	ldr	r3, [sp, #80]
	cmp	r3, #0
	beq	.L84
	lsl	r8, r4, #4
.L35:
	mov	r3, r8
	mov	r2, r6
	ldr	r1, [r5, #8]
	ldr	r0, .L94+32
	bl	hb_log
	b	.L84
.L92:
	ldr	r2, [r5, #80]
	cmp	r2, #0
	bne	.L17
	b	.L18
.L89:
	bl	MIN
	str	r0, [r5, #68]
	b	.L24
.L88:
	str	r3, [sp, #32]
	bl	MIN
	ldr	r3, [sp, #32]
	str	r0, [r5, #64]
	b	.L27
.L90:
	str	r2, [sp, #4]
	mov	r3, fp
	ldr	r0, .L94+36
	str	r6, [sp]
	lsl	r2, r9, #4
	lsl	r1, r10, #4
	bl	hb_log
.L31:
	ldr	r0, [r7, #20]
	lsl	r0, r0, #3
	bl	sqrt
	cmp	r10, r0
	mov	r4, r0
	movle	r8, #1
	ble	.L33
.L38:
	lsl	r8, r4, #4
	mov	r3, r8
	mov	r2, r6
	ldr	r1, [r5, #4]
	ldr	r0, .L94+40
	bl	hb_log
	cmp	r9, r4
	ble	.L84
	b	.L35
.L93:
	ldr	r3, [sp, #80]
	cmp	r3, #0
	beq	.L84
	b	.L38
.L91:
	mov	r1, r6
	ldr	r0, .L94+44
	str	r3, [sp, #24]
	bl	hb_log
	ldmib	r5, {r1, r2}
	ldr	r3, [sp, #24]
	b	.L16
.L2:
	ldr	r0, .L94+48
	bl	hb_error
	mvn	r8, #0
	b	.L1
.L11:
	ldr	r0, .L94+52
	bl	hb_error
	mvn	r8, #0
	b	.L1
.L4:
	mov	r1, r6
	ldr	r0, .L94+56
	bl	hb_error
	mvn	r8, #0
	b	.L1
.L95:
	.align	2
.L94:
	.word	hb_h264_level_names
	.word	hb_h264_level_values
	.word	x264_levels
	.word	X264_RC_CRF
	.word	X264_CQM_FLAT
	.word	X264_B_PYRAMID_NONE
	.word	.LC4
	.word	1072693248
	.word	.LC6
	.word	.LC3
	.word	.LC5
	.word	.LC2
	.word	.LC0
	.word	.LC1
	.word	.LC7
	.size	apply_h264_level, .-apply_h264_level
	.comm	x264_levels,4,4
	.comm	hb_h264_level_values,4,4
	.comm	hb_h264_level_names,4,4
	.comm	X264_RC_CRF,4,4
	.comm	X264_CQM_FLAT,4,4
	.comm	X264_B_PYRAMID_NONE,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
