	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function decode_idat_chunk
_decode_idat_chunk:                     ## @decode_idat_chunk
	.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
	pushq	%rax
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rcx, %r12
	movq	%rdi, %r15
	xorl	%r13d, %r13d
	cmpl	$9, (%rsi)
	setge	%al
	movq	_PNG_IHDR@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%ecx, 4(%rsi)
	je	LBB0_10
## %bb.1:
	movl	%edx, %r14d
	movq	%rsi, %rbx
	movb	%al, %r13b
	incq	%r13
	movl	8(%rsi), %eax
	movq	_PNG_IDAT@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%eax, %ecx
	je	LBB0_14
LBB0_2:
	orl	%ecx, %eax
	movl	%eax, 8(%rbx)
	cmpq	$0, 64(%rbx)
	je	LBB0_5
## %bb.3:
	movq	16(%rbx), %rax
	movq	_PNG_COLOR_TYPE_PALETTE@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_5
## %bb.4:
	subl	%r13d, 28(%rbx)
LBB0_5:
	movq	%rbx, %rdi
	movl	%r14d, %esi
	callq	_png_decode_idat
	cmpq	$0, 64(%rbx)
	je	LBB0_8
## %bb.6:
	movq	16(%rbx), %rcx
	movq	_PNG_COLOR_TYPE_PALETTE@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rcx
	je	LBB0_8
## %bb.7:
	addl	%r13d, 28(%rbx)
LBB0_8:
	testl	%eax, %eax
	js	LBB0_13
## %bb.9:
	addq	$56, %rbx
	movq	%rbx, %rdi
	movl	$4, %esi
	callq	_bytestream2_skip
	xorl	%eax, %eax
	jmp	LBB0_13
LBB0_10:
	movq	_AV_LOG_ERROR@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	L_.str(%rip), %rdx
	movq	%r15, %rdi
	callq	_av_log
LBB0_11:
	movq	_AVERROR_INVALIDDATA@GOTPCREL(%rip), %rax
LBB0_12:
	movl	(%rax), %eax
LBB0_13:
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_14:
	movl	176(%rbx), %edx
	movl	180(%rbx), %esi
	movq	%r15, %rdi
	callq	_ff_set_dimensions
	testl	%eax, %eax
	js	LBB0_13
## %bb.15:
	movq	16(%rbx), %rdi
	callq	_ff_png_get_nb_channels
                                        ## kill: def $eax killed $eax def $rax
	movl	%eax, 12(%rbx)
	movl	(%rbx), %edx
	imull	%edx, %eax
	movl	%eax, 24(%rbx)
	leal	7(%rax), %r8d
	sarl	$3, %r8d
	movl	%r8d, 28(%rbx)
	movl	36(%rbx), %ecx
	imull	%eax, %ecx
	addl	$7, %ecx
	sarl	$3, %ecx
	movl	%ecx, 32(%rbx)
	leal	-2(%rdx), %ecx
	rorl	%ecx
	cmpl	$2, %ecx
	jb	LBB0_22
## %bb.16:
	cmpl	$3, %ecx
	je	LBB0_22
## %bb.17:
	cmpl	$7, %ecx
	jne	LBB0_30
## %bb.18:
	movq	16(%rbx), %rcx
	movq	_PNG_COLOR_TYPE_GRAY@GOTPCREL(%rip), %rsi
	movl	$131, %edi
	cmpq	(%rsi), %rcx
	je	LBB0_45
## %bb.19:
	movq	_PNG_COLOR_TYPE_RGB@GOTPCREL(%rip), %rsi
	movl	$128, %edi
	cmpq	(%rsi), %rcx
	je	LBB0_45
## %bb.20:
	movq	_PNG_COLOR_TYPE_RGB_ALPHA@GOTPCREL(%rip), %rsi
	movb	$1, %dil
	cmpq	(%rsi), %rcx
	jne	LBB0_31
## %bb.21:
	movq	_AV_PIX_FMT_RGBA64BE@GOTPCREL(%rip), %rax
	jmp	LBB0_44
LBB0_22:
	movq	16(%rbx), %rsi
	movq	_PNG_COLOR_TYPE_RGB@GOTPCREL(%rip), %r9
	movl	$129, %edi
	cmpq	(%r9), %rsi
	je	LBB0_45
## %bb.23:
	xorl	%edi, %edi
	cmpl	$3, %ecx
	ja	LBB0_31
## %bb.24:
	cmpl	$2, %ecx
	je	LBB0_31
## %bb.25:
	movq	_PNG_COLOR_TYPE_RGB_ALPHA@GOTPCREL(%rip), %rdi
	cmpq	(%rdi), %rsi
	jne	LBB0_27
## %bb.26:
	movq	_AV_PIX_FMT_RGBA@GOTPCREL(%rip), %rax
	jmp	LBB0_44
LBB0_27:
	xorl	%edi, %edi
	cmpl	$3, %ecx
	ja	LBB0_31
## %bb.28:
	cmpl	$2, %ecx
	je	LBB0_31
## %bb.29:
	movq	_PNG_COLOR_TYPE_GRAY@GOTPCREL(%rip), %rcx
	movl	$130, %edi
	cmpq	(%rcx), %rsi
	je	LBB0_45
LBB0_30:
	xorl	%edi, %edi
LBB0_31:
	cmpl	$8, %eax
	ja	LBB0_35
## %bb.32:
	movl	$278, %ecx                      ## imm = 0x116
	btl	%eax, %ecx
	jae	LBB0_35
## %bb.33:
	movq	16(%rbx), %rcx
	movq	_PNG_COLOR_TYPE_PALETTE@GOTPCREL(%rip), %rsi
	cmpq	(%rsi), %rcx
	jne	LBB0_35
## %bb.34:
	movq	_AV_PIX_FMT_PAL8@GOTPCREL(%rip), %rax
	jmp	LBB0_44
LBB0_35:
	cmpl	$8, %edx
	je	LBB0_40
## %bb.36:
	cmpl	$1, %edx
	jne	LBB0_42
## %bb.37:
	cmpl	$1, %eax
	jne	LBB0_42
## %bb.38:
	movq	8(%r15), %rax
	movq	_AV_CODEC_ID_APNG@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_42
## %bb.39:
	movq	_AV_PIX_FMT_MONOBLACK@GOTPCREL(%rip), %rax
	jmp	LBB0_44
LBB0_40:
	movq	16(%rbx), %rax
	movq	_PNG_COLOR_TYPE_GRAY_ALPHA@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_42
## %bb.41:
	movq	_AV_PIX_FMT_YA8@GOTPCREL(%rip), %rax
	jmp	LBB0_44
LBB0_42:
	movq	16(%rbx), %rcx
	movq	_PNG_COLOR_TYPE_GRAY_ALPHA@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rcx
	sete	%al
	andb	%al, %dil
	cmpb	$1, %dil
	jne	LBB0_65
## %bb.43:
	movq	_AV_PIX_FMT_YA16BE@GOTPCREL(%rip), %rax
LBB0_44:
	movl	(%rax), %edi
LBB0_45:
	movl	%edi, (%r15)
	cmpq	$0, 64(%rbx)
	je	LBB0_49
## %bb.46:
	movq	16(%rbx), %rcx
	movq	_PNG_COLOR_TYPE_PALETTE@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rcx
	je	LBB0_49
## %bb.47:
	addl	$-128, %edi
	cmpl	$4, %edi
	jae	LBB0_64
## %bb.48:
	movslq	%edi, %rax
	leaq	l_switch.table.decode_idat_chunk(%rip), %rcx
	movq	(%rcx,%rax,8), %rax
	movl	(%rax), %eax
	movl	%eax, (%r15)
	addl	%r13d, %r8d
	movl	%r8d, 28(%rbx)
LBB0_49:
	leaq	172(%rbx), %rsi
	movq	_AV_GET_BUFFER_FLAG_REF@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r15, %rdi
	callq	_ff_thread_get_buffer
	testl	%eax, %eax
	js	LBB0_13
## %bb.50:
	movq	8(%r15), %rax
	movq	_AV_CODEC_ID_APNG@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_53
## %bb.51:
	movq	40(%rbx), %rax
	movq	_APNG_DISPOSE_OP_PREVIOUS@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_53
## %bb.52:
	leaq	168(%rbx), %rsi
	movq	%rsi, -48(%rbp)                 ## 8-byte Spill
	movq	%r15, %rdi
	callq	_ff_thread_release_buffer
	movq	_AV_GET_BUFFER_FLAG_REF@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r15, %rdi
	movq	-48(%rbp), %rsi                 ## 8-byte Reload
	callq	_ff_thread_get_buffer
	testl	%eax, %eax
	js	LBB0_13
LBB0_53:
	movq	_AV_PICTURE_TYPE_I@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 24(%r12)
	movl	$1, (%r12)
	xorl	%eax, %eax
	cmpq	$0, 128(%rbx)
	setne	%al
	movl	%eax, 4(%r12)
	movq	%r15, %rdi
	callq	_ff_thread_finish_setup
	cmpq	$0, 128(%rbx)
	je	LBB0_55
## %bb.54:
	movq	$0, 160(%rbx)
	movl	24(%rbx), %esi
	movl	36(%rbx), %edx
	xorl	%edi, %edi
	callq	_ff_png_pass_row_size
	movl	%eax, %ecx
	movl	%eax, 52(%rbx)
	movl	32(%rbx), %edx
	jmp	LBB0_56
LBB0_55:
	movl	32(%rbx), %edx
	movl	%edx, %ecx
LBB0_56:
	incl	%ecx
	movl	%ecx, 48(%rbx)
	leaq	L_.str.3(%rip), %rsi
	movq	%r15, %rdi
	callq	_ff_dlog
	movq	8(%r12), %rax
	movl	(%rax), %ecx
	movl	%ecx, 152(%rbx)
	movq	16(%r12), %rcx
	movl	(%rcx), %ecx
	movl	%ecx, 148(%rbx)
	movl	(%r15), %ecx
	movq	_AV_PIX_FMT_PAL8@GOTPCREL(%rip), %rdx
	cmpl	(%rdx), %ecx
	jne	LBB0_58
## %bb.57:
	movl	4(%rax), %edi
	movl	144(%rbx), %esi
	movl	$1024, %edx                     ## imm = 0x400
	callq	_memcpy
LBB0_58:
	leaq	136(%rbx), %rdi
	leaq	140(%rbx), %rsi
	movl	32(%rbx), %edx
	callq	_av_fast_padded_mallocz
	cmpl	$0, 136(%rbx)
	je	LBB0_11
## %bb.59:
	cmpq	$0, 128(%rbx)
	jne	LBB0_61
## %bb.60:
	movq	16(%rbx), %rax
	movq	_PNG_COLOR_TYPE_RGB_ALPHA@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_62
LBB0_61:
	leaq	112(%rbx), %rdi
	leaq	120(%rbx), %rsi
	movl	32(%rbx), %edx
	callq	_av_fast_padded_malloc
	cmpq	$0, 112(%rbx)
	je	LBB0_11
LBB0_62:
	leaq	96(%rbx), %rdi
	leaq	104(%rbx), %rsi
	movl	32(%rbx), %edx
	addl	$16, %edx
	callq	_av_fast_padded_malloc
	movq	96(%rbx), %rcx
	testq	%rcx, %rcx
	je	LBB0_66
## %bb.63:
	addq	$15, %rcx
	movq	%rcx, 72(%rbx)
	movl	8(%rbx), %eax
	movl	48(%rbx), %edx
	movl	%edx, 80(%rbx)
	movq	%rcx, 88(%rbx)
	movq	_PNG_IDAT@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	jmp	LBB0_2
LBB0_64:
	leaq	L_.str.2(%rip), %rsi
	movq	%r15, %rdi
                                        ## kill: def $edx killed $edx killed $rdx
	callq	_avpriv_request_sample
	jmp	LBB0_11
LBB0_65:
	leaq	L_.str.1(%rip), %rsi
	movq	%r15, %rdi
                                        ## kill: def $edx killed $edx killed $rdx
	callq	_avpriv_report_missing_feature
	movq	_AVERROR_PATCHWELCOME@GOTPCREL(%rip), %rax
	jmp	LBB0_12
LBB0_66:
	movq	_ENOMEM@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_AVERROR                        ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_PNG_IHDR,4,2                   ## @PNG_IHDR
	.comm	_AV_LOG_ERROR,4,2               ## @AV_LOG_ERROR
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"IDAT without IHDR\n"

	.comm	_AVERROR_INVALIDDATA,4,2        ## @AVERROR_INVALIDDATA
	.comm	_PNG_IDAT,4,2                   ## @PNG_IDAT
	.comm	_PNG_COLOR_TYPE_RGB,8,3         ## @PNG_COLOR_TYPE_RGB
	.comm	_PNG_COLOR_TYPE_RGB_ALPHA,8,3   ## @PNG_COLOR_TYPE_RGB_ALPHA
	.comm	_AV_PIX_FMT_RGBA,8,3            ## @AV_PIX_FMT_RGBA
	.comm	_PNG_COLOR_TYPE_GRAY,8,3        ## @PNG_COLOR_TYPE_GRAY
	.comm	_AV_PIX_FMT_RGBA64BE,8,3        ## @AV_PIX_FMT_RGBA64BE
	.comm	_PNG_COLOR_TYPE_PALETTE,8,3     ## @PNG_COLOR_TYPE_PALETTE
	.comm	_AV_PIX_FMT_PAL8,4,2            ## @AV_PIX_FMT_PAL8
	.comm	_AV_CODEC_ID_APNG,8,3           ## @AV_CODEC_ID_APNG
	.comm	_AV_PIX_FMT_MONOBLACK,4,2       ## @AV_PIX_FMT_MONOBLACK
	.comm	_PNG_COLOR_TYPE_GRAY_ALPHA,8,3  ## @PNG_COLOR_TYPE_GRAY_ALPHA
	.comm	_AV_PIX_FMT_YA8,8,3             ## @AV_PIX_FMT_YA8
	.comm	_AV_PIX_FMT_YA16BE,8,3          ## @AV_PIX_FMT_YA16BE
L_.str.1:                               ## @.str.1
	.asciz	"Bit depth %d color type %d"

	.comm	_AVERROR_PATCHWELCOME,4,2       ## @AVERROR_PATCHWELCOME
L_.str.2:                               ## @.str.2
	.asciz	"bit depth %d and color type %d with TRNS"

	.comm	_AV_GET_BUFFER_FLAG_REF,4,2     ## @AV_GET_BUFFER_FLAG_REF
	.comm	_APNG_DISPOSE_OP_PREVIOUS,8,3   ## @APNG_DISPOSE_OP_PREVIOUS
	.comm	_AV_PICTURE_TYPE_I,4,2          ## @AV_PICTURE_TYPE_I
L_.str.3:                               ## @.str.3
	.asciz	"row_size=%d crow_size =%d\n"

	.comm	_ENOMEM,4,2                     ## @ENOMEM
	.no_dead_strip	_decode_idat_chunk
	.section	__DATA,__const
	.p2align	3                               ## @switch.table.decode_idat_chunk
l_switch.table.decode_idat_chunk:
	.quad	_AV_PIX_FMT_RGBA64BE
	.quad	_AV_PIX_FMT_RGBA
	.quad	_AV_PIX_FMT_YA8
	.quad	_AV_PIX_FMT_YA16BE

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function decode_idat_chunk
_decode_idat_chunk:                     ; @decode_idat_chunk
	.cfi_startproc
; %bb.0:
	stp	x26, x25, [sp, #-80]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 80
	stp	x24, x23, [sp, #16]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #32]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #48]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #64]             ; 16-byte Folded Spill
	add	x29, sp, #64
	.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
	mov	x21, x0
	ldp	w8, w9, [x1]
	cmp	w8, #8
	mov	w8, #1
	cinc	x24, x8, gt
Lloh0:
	adrp	x8, _PNG_IHDR@GOTPAGE
Lloh1:
	ldr	x8, [x8, _PNG_IHDR@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	tst	w8, w9
	b.eq	LBB0_10
; %bb.1:
	mov	x20, x2
	mov	x19, x1
	ldr	w8, [x1, #8]
Lloh3:
	adrp	x25, _PNG_IDAT@GOTPAGE
Lloh4:
	ldr	x25, [x25, _PNG_IDAT@GOTPAGEOFF]
	ldr	w9, [x25]
	tst	w9, w8
	b.eq	LBB0_14
LBB0_2:
	orr	w8, w8, w9
	str	w8, [x19, #8]
	ldr	x8, [x19, #64]
Lloh5:
	adrp	x21, _PNG_COLOR_TYPE_PALETTE@GOTPAGE
Lloh6:
	ldr	x21, [x21, _PNG_COLOR_TYPE_PALETTE@GOTPAGEOFF]
	cbz	x8, LBB0_5
; %bb.3:
	ldr	x8, [x19, #16]
	ldr	x9, [x21]
	cmp	x8, x9
	b.eq	LBB0_5
; %bb.4:
	ldr	w8, [x19, #28]
	sub	w8, w8, w24
	str	w8, [x19, #28]
LBB0_5:
	mov	x0, x19
	mov	x1, x20
	bl	_png_decode_idat
	ldr	x8, [x19, #64]
	cbz	x8, LBB0_8
; %bb.6:
	ldr	x8, [x19, #16]
	ldr	x9, [x21]
	cmp	x8, x9
	b.eq	LBB0_8
; %bb.7:
	ldr	w8, [x19, #28]
	add	w8, w8, w24
	str	w8, [x19, #28]
LBB0_8:
	tbnz	w0, #31, LBB0_13
; %bb.9:
	add	x0, x19, #56
	mov	w1, #4
	bl	_bytestream2_skip
	mov	w0, #0
	b	LBB0_13
LBB0_10:
Lloh7:
	adrp	x8, _AV_LOG_ERROR@GOTPAGE
Lloh8:
	ldr	x8, [x8, _AV_LOG_ERROR@GOTPAGEOFF]
Lloh9:
	ldr	w1, [x8]
Lloh10:
	adrp	x2, l_.str@PAGE
Lloh11:
	add	x2, x2, l_.str@PAGEOFF
	mov	x0, x21
	bl	_av_log
LBB0_11:
Lloh12:
	adrp	x8, _AVERROR_INVALIDDATA@GOTPAGE
Lloh13:
	ldr	x8, [x8, _AVERROR_INVALIDDATA@GOTPAGEOFF]
LBB0_12:
	ldr	w0, [x8]
LBB0_13:
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #16]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp], #80             ; 16-byte Folded Reload
	ret
LBB0_14:
	mov	x22, x3
	ldp	w2, w1, [x19, #176]
	mov	x0, x21
	bl	_ff_set_dimensions
	tbnz	w0, #31, LBB0_13
; %bb.15:
	ldr	x0, [x19, #16]
	bl	_ff_png_get_nb_channels
	str	w0, [x19, #12]
	ldr	w2, [x19]
	mul	w9, w2, w0
	add	w8, w9, #7
	asr	w8, w8, #3
	stp	w9, w8, [x19, #24]
	ldr	w10, [x19, #36]
	orr	w11, wzr, #0x7
	madd	w10, w10, w9, w11
	asr	w10, w10, #3
	str	w10, [x19, #32]
	sub	w10, w2, #2
	ror	w11, w10, #1
	cmp	w11, #2
	ccmp	w11, #3, #4, hs
	b.ne	LBB0_18
; %bb.16:
	ldr	x12, [x19, #16]
Lloh14:
	adrp	x10, _PNG_COLOR_TYPE_RGB@GOTPAGE
Lloh15:
	ldr	x10, [x10, _PNG_COLOR_TYPE_RGB@GOTPAGEOFF]
Lloh16:
	ldr	x10, [x10]
	cmp	x12, x10
	b.ne	LBB0_21
; %bb.17:
	mov	w9, #129
	b	LBB0_48
LBB0_18:
	cmp	w11, #7
	b.ne	LBB0_29
; %bb.19:
	ldr	x10, [x19, #16]
Lloh17:
	adrp	x11, _PNG_COLOR_TYPE_GRAY@GOTPAGE
Lloh18:
	ldr	x11, [x11, _PNG_COLOR_TYPE_GRAY@GOTPAGEOFF]
Lloh19:
	ldr	x11, [x11]
	cmp	x10, x11
	b.ne	LBB0_38
; %bb.20:
	mov	w9, #131
	b	LBB0_48
LBB0_21:
	mov	w10, #0
	cmp	w11, #3
	b.hi	LBB0_30
; %bb.22:
	cmp	w11, #2
	b.eq	LBB0_30
; %bb.23:
Lloh20:
	adrp	x10, _PNG_COLOR_TYPE_RGB_ALPHA@GOTPAGE
Lloh21:
	ldr	x10, [x10, _PNG_COLOR_TYPE_RGB_ALPHA@GOTPAGEOFF]
Lloh22:
	ldr	x10, [x10]
	cmp	x12, x10
	b.ne	LBB0_25
; %bb.24:
Lloh23:
	adrp	x9, _AV_PIX_FMT_RGBA@GOTPAGE
Lloh24:
	ldr	x9, [x9, _AV_PIX_FMT_RGBA@GOTPAGEOFF]
	b	LBB0_47
LBB0_25:
	mov	w10, #0
	cmp	w11, #3
	b.hi	LBB0_30
; %bb.26:
	cmp	w11, #2
	b.eq	LBB0_30
; %bb.27:
Lloh25:
	adrp	x10, _PNG_COLOR_TYPE_GRAY@GOTPAGE
Lloh26:
	ldr	x10, [x10, _PNG_COLOR_TYPE_GRAY@GOTPAGEOFF]
Lloh27:
	ldr	x10, [x10]
	cmp	x12, x10
	b.ne	LBB0_29
; %bb.28:
	mov	w9, #130
	b	LBB0_48
LBB0_29:
	mov	w10, #0
LBB0_30:
	cmp	w9, #8
	mov	w11, #1
	lsl	w11, w11, w9
	mov	w12, #278
	and	w11, w11, w12
	ccmp	w11, #0, #4, ls
	b.eq	LBB0_33
; %bb.31:
	ldr	x11, [x19, #16]
Lloh28:
	adrp	x12, _PNG_COLOR_TYPE_PALETTE@GOTPAGE
Lloh29:
	ldr	x12, [x12, _PNG_COLOR_TYPE_PALETTE@GOTPAGEOFF]
Lloh30:
	ldr	x12, [x12]
	cmp	x11, x12
	b.ne	LBB0_33
; %bb.32:
Lloh31:
	adrp	x9, _AV_PIX_FMT_PAL8@GOTPAGE
Lloh32:
	ldr	x9, [x9, _AV_PIX_FMT_PAL8@GOTPAGEOFF]
	b	LBB0_47
LBB0_33:
Lloh33:
	adrp	x11, _PNG_COLOR_TYPE_GRAY_ALPHA@GOTPAGE
Lloh34:
	ldr	x11, [x11, _PNG_COLOR_TYPE_GRAY_ALPHA@GOTPAGEOFF]
	cmp	w2, #8
	b.eq	LBB0_40
; %bb.34:
	cmp	w2, #1
	b.ne	LBB0_42
; %bb.35:
	cmp	w9, #1
	b.ne	LBB0_42
; %bb.36:
	ldr	x9, [x21, #8]
Lloh35:
	adrp	x12, _AV_CODEC_ID_APNG@GOTPAGE
Lloh36:
	ldr	x12, [x12, _AV_CODEC_ID_APNG@GOTPAGEOFF]
Lloh37:
	ldr	x12, [x12]
	cmp	x9, x12
	b.eq	LBB0_42
; %bb.37:
Lloh38:
	adrp	x9, _AV_PIX_FMT_MONOBLACK@GOTPAGE
Lloh39:
	ldr	x9, [x9, _AV_PIX_FMT_MONOBLACK@GOTPAGEOFF]
	b	LBB0_47
LBB0_38:
Lloh40:
	adrp	x11, _PNG_COLOR_TYPE_RGB@GOTPAGE
Lloh41:
	ldr	x11, [x11, _PNG_COLOR_TYPE_RGB@GOTPAGEOFF]
Lloh42:
	ldr	x11, [x11]
	cmp	x10, x11
	b.ne	LBB0_45
; %bb.39:
	mov	w9, #128
	b	LBB0_48
LBB0_40:
	ldr	x9, [x19, #16]
	ldr	x12, [x11]
	cmp	x9, x12
	b.ne	LBB0_42
; %bb.41:
Lloh43:
	adrp	x9, _AV_PIX_FMT_YA8@GOTPAGE
Lloh44:
	ldr	x9, [x9, _AV_PIX_FMT_YA8@GOTPAGEOFF]
	b	LBB0_47
LBB0_42:
	ldr	x3, [x19, #16]
	ldr	x9, [x11]
	cmp	x3, x9
	cset	w9, eq
	and	w9, w10, w9
	cmp	w9, #1
	b.ne	LBB0_44
; %bb.43:
Lloh45:
	adrp	x9, _AV_PIX_FMT_YA16BE@GOTPAGE
Lloh46:
	ldr	x9, [x9, _AV_PIX_FMT_YA16BE@GOTPAGEOFF]
	b	LBB0_47
LBB0_44:
Lloh47:
	adrp	x1, l_.str.1@PAGE
Lloh48:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	x0, x21
	bl	_avpriv_report_missing_feature
Lloh49:
	adrp	x8, _AVERROR_PATCHWELCOME@GOTPAGE
Lloh50:
	ldr	x8, [x8, _AVERROR_PATCHWELCOME@GOTPAGEOFF]
	b	LBB0_12
LBB0_45:
Lloh51:
	adrp	x11, _PNG_COLOR_TYPE_RGB_ALPHA@GOTPAGE
Lloh52:
	ldr	x11, [x11, _PNG_COLOR_TYPE_RGB_ALPHA@GOTPAGEOFF]
Lloh53:
	ldr	x11, [x11]
	cmp	x10, x11
	b.ne	LBB0_69
; %bb.46:
Lloh54:
	adrp	x9, _AV_PIX_FMT_RGBA64BE@GOTPAGE
Lloh55:
	ldr	x9, [x9, _AV_PIX_FMT_RGBA64BE@GOTPAGEOFF]
LBB0_47:
	ldr	w9, [x9]
LBB0_48:
	str	w9, [x21]
	ldr	x10, [x19, #64]
	cbz	x10, LBB0_52
; %bb.49:
	ldr	x3, [x19, #16]
Lloh56:
	adrp	x10, _PNG_COLOR_TYPE_PALETTE@GOTPAGE
Lloh57:
	ldr	x10, [x10, _PNG_COLOR_TYPE_PALETTE@GOTPAGEOFF]
Lloh58:
	ldr	x10, [x10]
	cmp	x3, x10
	b.eq	LBB0_52
; %bb.50:
	sub	w9, w9, #128
	cmp	w9, #4
	b.hs	LBB0_67
; %bb.51:
Lloh59:
	adrp	x10, l_switch.table.decode_idat_chunk@PAGE
Lloh60:
	add	x10, x10, l_switch.table.decode_idat_chunk@PAGEOFF
	ldr	x9, [x10, w9, sxtw #3]
	ldr	x9, [x9]
	str	w9, [x21]
	add	w8, w8, w24
	str	w8, [x19, #28]
LBB0_52:
	add	x1, x19, #172
Lloh61:
	adrp	x26, _AV_GET_BUFFER_FLAG_REF@GOTPAGE
Lloh62:
	ldr	x26, [x26, _AV_GET_BUFFER_FLAG_REF@GOTPAGEOFF]
	ldr	w2, [x26]
	mov	x0, x21
	bl	_ff_thread_get_buffer
	tbnz	w0, #31, LBB0_13
; %bb.53:
	ldr	x8, [x21, #8]
Lloh63:
	adrp	x9, _AV_CODEC_ID_APNG@GOTPAGE
Lloh64:
	ldr	x9, [x9, _AV_CODEC_ID_APNG@GOTPAGEOFF]
Lloh65:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_56
; %bb.54:
	ldr	x8, [x19, #40]
Lloh66:
	adrp	x9, _APNG_DISPOSE_OP_PREVIOUS@GOTPAGE
Lloh67:
	ldr	x9, [x9, _APNG_DISPOSE_OP_PREVIOUS@GOTPAGEOFF]
Lloh68:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_56
; %bb.55:
	add	x23, x19, #168
	mov	x0, x21
	mov	x1, x23
	bl	_ff_thread_release_buffer
	ldr	w2, [x26]
	mov	x0, x21
	mov	x1, x23
	bl	_ff_thread_get_buffer
	tbnz	w0, #31, LBB0_13
LBB0_56:
Lloh69:
	adrp	x8, _AV_PICTURE_TYPE_I@GOTPAGE
Lloh70:
	ldr	x8, [x8, _AV_PICTURE_TYPE_I@GOTPAGEOFF]
Lloh71:
	ldr	w8, [x8]
	str	w8, [x22, #24]
	mov	w8, #1
	ldr	x9, [x19, #128]
	cmp	x9, #0
	cset	w9, ne
	stp	w8, w9, [x22]
	mov	x0, x21
	bl	_ff_thread_finish_setup
	ldr	x8, [x19, #128]
	cbz	x8, LBB0_58
; %bb.57:
	str	xzr, [x19, #160]
	ldr	w1, [x19, #24]
	ldr	w2, [x19, #36]
	mov	x0, #0
	bl	_ff_png_pass_row_size
	str	w0, [x19, #52]
	ldr	w2, [x19, #32]
	b	LBB0_59
LBB0_58:
	ldr	w2, [x19, #32]
	mov	x0, x2
LBB0_59:
	add	w3, w0, #1
	str	w3, [x19, #48]
Lloh72:
	adrp	x1, l_.str.3@PAGE
Lloh73:
	add	x1, x1, l_.str.3@PAGEOFF
	mov	x0, x21
	bl	_ff_dlog
	ldp	x8, x9, [x22, #8]
	ldr	w10, [x8]
	str	w10, [x19, #152]
	ldr	w9, [x9]
	str	w9, [x19, #148]
	ldr	w9, [x21]
Lloh74:
	adrp	x10, _AV_PIX_FMT_PAL8@GOTPAGE
Lloh75:
	ldr	x10, [x10, _AV_PIX_FMT_PAL8@GOTPAGEOFF]
Lloh76:
	ldr	w10, [x10]
	cmp	w9, w10
	b.ne	LBB0_61
; %bb.60:
	ldr	w0, [x8, #4]
	ldr	w1, [x19, #144]
	mov	w2, #1024
	bl	_memcpy
LBB0_61:
	add	x0, x19, #136
	add	x1, x19, #140
	ldr	w2, [x19, #32]
	bl	_av_fast_padded_mallocz
	ldr	w8, [x19, #136]
	cbz	w8, LBB0_11
; %bb.62:
	ldr	x8, [x19, #128]
	cbnz	x8, LBB0_64
; %bb.63:
	ldr	x8, [x19, #16]
Lloh77:
	adrp	x9, _PNG_COLOR_TYPE_RGB_ALPHA@GOTPAGE
Lloh78:
	ldr	x9, [x9, _PNG_COLOR_TYPE_RGB_ALPHA@GOTPAGEOFF]
Lloh79:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_65
LBB0_64:
	add	x0, x19, #112
	add	x1, x19, #120
	ldr	w2, [x19, #32]
	bl	_av_fast_padded_malloc
	ldr	x8, [x19, #112]
	cbz	x8, LBB0_11
LBB0_65:
	add	x0, x19, #96
	add	x1, x19, #104
	ldr	w8, [x19, #32]
	add	w2, w8, #16
	bl	_av_fast_padded_malloc
	ldr	x8, [x19, #96]
	cbz	x8, LBB0_68
; %bb.66:
	add	x8, x8, #15
	str	x8, [x19, #72]
	ldr	w9, [x19, #48]
	str	w9, [x19, #80]
	str	x8, [x19, #88]
	ldr	w9, [x25]
	ldr	w8, [x19, #8]
	b	LBB0_2
LBB0_67:
Lloh80:
	adrp	x1, l_.str.2@PAGE
Lloh81:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x0, x21
	bl	_avpriv_request_sample
	b	LBB0_11
LBB0_68:
Lloh82:
	adrp	x8, _ENOMEM@GOTPAGE
Lloh83:
	ldr	x8, [x8, _ENOMEM@GOTPAGEOFF]
Lloh84:
	ldr	w0, [x8]
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #16]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp], #80             ; 16-byte Folded Reload
	b	_AVERROR
LBB0_69:
	mov	w10, #1
	b	LBB0_30
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpAdd	Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.loh AdrpLdrGot	Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGot	Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.loh AdrpLdrGot	Lloh31, Lloh32
	.loh AdrpLdrGot	Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGot	Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGot	Lloh43, Lloh44
	.loh AdrpLdrGot	Lloh45, Lloh46
	.loh AdrpLdrGot	Lloh49, Lloh50
	.loh AdrpAdd	Lloh47, Lloh48
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpLdrGot	Lloh54, Lloh55
	.loh AdrpLdrGotLdr	Lloh56, Lloh57, Lloh58
	.loh AdrpAdd	Lloh59, Lloh60
	.loh AdrpLdrGot	Lloh61, Lloh62
	.loh AdrpLdrGotLdr	Lloh63, Lloh64, Lloh65
	.loh AdrpLdrGotLdr	Lloh66, Lloh67, Lloh68
	.loh AdrpLdrGotLdr	Lloh69, Lloh70, Lloh71
	.loh AdrpLdrGotLdr	Lloh74, Lloh75, Lloh76
	.loh AdrpAdd	Lloh72, Lloh73
	.loh AdrpLdrGotLdr	Lloh77, Lloh78, Lloh79
	.loh AdrpAdd	Lloh80, Lloh81
	.loh AdrpLdrGotLdr	Lloh82, Lloh83, Lloh84
	.cfi_endproc
                                        ; -- End function
	.comm	_PNG_IHDR,4,2                   ; @PNG_IHDR
	.comm	_AV_LOG_ERROR,4,2               ; @AV_LOG_ERROR
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"IDAT without IHDR\n"

	.comm	_AVERROR_INVALIDDATA,4,2        ; @AVERROR_INVALIDDATA
	.comm	_PNG_IDAT,4,2                   ; @PNG_IDAT
	.comm	_PNG_COLOR_TYPE_RGB,8,3         ; @PNG_COLOR_TYPE_RGB
	.comm	_PNG_COLOR_TYPE_RGB_ALPHA,8,3   ; @PNG_COLOR_TYPE_RGB_ALPHA
	.comm	_AV_PIX_FMT_RGBA,8,3            ; @AV_PIX_FMT_RGBA
	.comm	_PNG_COLOR_TYPE_GRAY,8,3        ; @PNG_COLOR_TYPE_GRAY
	.comm	_AV_PIX_FMT_RGBA64BE,8,3        ; @AV_PIX_FMT_RGBA64BE
	.comm	_PNG_COLOR_TYPE_PALETTE,8,3     ; @PNG_COLOR_TYPE_PALETTE
	.comm	_AV_PIX_FMT_PAL8,4,2            ; @AV_PIX_FMT_PAL8
	.comm	_AV_CODEC_ID_APNG,8,3           ; @AV_CODEC_ID_APNG
	.comm	_AV_PIX_FMT_MONOBLACK,4,2       ; @AV_PIX_FMT_MONOBLACK
	.comm	_PNG_COLOR_TYPE_GRAY_ALPHA,8,3  ; @PNG_COLOR_TYPE_GRAY_ALPHA
	.comm	_AV_PIX_FMT_YA8,8,3             ; @AV_PIX_FMT_YA8
	.comm	_AV_PIX_FMT_YA16BE,8,3          ; @AV_PIX_FMT_YA16BE
l_.str.1:                               ; @.str.1
	.asciz	"Bit depth %d color type %d"

	.comm	_AVERROR_PATCHWELCOME,4,2       ; @AVERROR_PATCHWELCOME
l_.str.2:                               ; @.str.2
	.asciz	"bit depth %d and color type %d with TRNS"

	.comm	_AV_GET_BUFFER_FLAG_REF,4,2     ; @AV_GET_BUFFER_FLAG_REF
	.comm	_APNG_DISPOSE_OP_PREVIOUS,8,3   ; @APNG_DISPOSE_OP_PREVIOUS
	.comm	_AV_PICTURE_TYPE_I,4,2          ; @AV_PICTURE_TYPE_I
l_.str.3:                               ; @.str.3
	.asciz	"row_size=%d crow_size =%d\n"

	.comm	_ENOMEM,4,2                     ; @ENOMEM
	.no_dead_strip	_decode_idat_chunk
	.section	__DATA,__const
	.p2align	3                               ; @switch.table.decode_idat_chunk
l_switch.table.decode_idat_chunk:
	.quad	_AV_PIX_FMT_RGBA64BE
	.quad	_AV_PIX_FMT_RGBA
	.quad	_AV_PIX_FMT_YA8
	.quad	_AV_PIX_FMT_YA16BE

.subsections_via_symbols
