	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_main                           ## -- Begin function main
	.p2align	4, 0x90
_main:                                  ## @main
	.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	$24, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %rbx
	movl	%edi, %eax
	andl	$-2, %eax
	cmpl	$4, %eax
	jne	LBB0_45
## %bb.1:
	cmpl	$5, %edi
	jne	LBB0_4
## %bb.2:
	movq	8(%rbx), %rdi
	leaq	L_.str.1(%rip), %rsi
	callq	_strcmp
	testl	%eax, %eax
	jne	LBB0_4
## %bb.3:
	addq	$8, %rbx
	movq	_refcount@GOTPCREL(%rip), %rax
	movl	$1, (%rax)
LBB0_4:
	movq	8(%rbx), %rsi
	movq	_src_filename@GOTPCREL(%rip), %r13
	movq	%rsi, (%r13)
	movq	16(%rbx), %rax
	movq	_video_dst_filename@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
	movq	24(%rbx), %rax
	movq	_audio_dst_filename@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
	movq	_fmt_ctx@GOTPCREL(%rip), %r15
	movq	%r15, %rdi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	callq	_avformat_open_input
	testq	%rax, %rax
	js	LBB0_46
## %bb.5:
	movq	(%r15), %rdi
	xorl	%ebx, %ebx
	xorl	%esi, %esi
	callq	_avformat_find_stream_info
	testq	%rax, %rax
	js	LBB0_48
## %bb.6:
	movq	(%r15), %rdx
	movq	_AVMEDIA_TYPE_VIDEO@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	_video_stream_idx@GOTPCREL(%rip), %r12
	movq	_video_dec_ctx@GOTPCREL(%rip), %r14
	movq	%r12, %rdi
	movq	%r14, %rsi
	callq	_open_codec_context
	testq	%rax, %rax
	js	LBB0_10
## %bb.7:
	movq	(%r15), %rax
	movq	(%rax), %rax
	movq	(%r12), %rcx
	movq	(%rax,%rcx,8), %rax
	movq	_video_stream@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
	movq	_video_dst_filename@GOTPCREL(%rip), %rbx
	movq	(%rbx), %rdi
	leaq	L_.str.4(%rip), %rsi
	callq	_fopen
	movq	_video_dst_file@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
	testq	%rax, %rax
	je	LBB0_25
## %bb.8:
	movq	(%r14), %rax
	movl	(%rax), %edx
	movq	_width@GOTPCREL(%rip), %rcx
	movl	%edx, (%rcx)
	movl	4(%rax), %ecx
	movq	_height@GOTPCREL(%rip), %rsi
	movl	%ecx, (%rsi)
	movl	20(%rax), %r8d
	movq	_pix_fmt@GOTPCREL(%rip), %rax
	movl	%r8d, (%rax)
	movq	_video_dst_data@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movq	_video_dst_linesize@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	$1, %r9d
	callq	_av_image_alloc
	movl	%eax, %ebx
	testl	%eax, %eax
	js	LBB0_35
## %bb.9:
	movq	_video_dst_bufsize@GOTPCREL(%rip), %rax
	movl	%ebx, (%rax)
LBB0_10:
	movq	(%r15), %rdx
	movq	_AVMEDIA_TYPE_AUDIO@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	_audio_stream_idx@GOTPCREL(%rip), %r14
	movq	_audio_dec_ctx@GOTPCREL(%rip), %rsi
	movq	%r14, %rdi
	callq	_open_codec_context
	testq	%rax, %rax
	js	LBB0_12
## %bb.11:
	movq	(%r15), %rax
	movq	(%rax), %rax
	movq	(%r14), %rcx
	movq	(%rax,%rcx,8), %rax
	movq	_audio_stream@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
	movq	_audio_dst_filename@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	leaq	L_.str.4(%rip), %rsi
	callq	_fopen
	movq	_audio_dst_file@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
	testq	%rax, %rax
	je	LBB0_36
LBB0_12:
	movq	(%r15), %rdi
	movq	(%r13), %rdx
	xorl	%esi, %esi
	xorl	%ecx, %ecx
	callq	_av_dump_format
	movq	_audio_stream@GOTPCREL(%rip), %r12
	movq	(%r12), %rax
	movq	_video_stream@GOTPCREL(%rip), %rcx
	orq	(%rcx), %rax
	je	LBB0_24
## %bb.13:
	xorl	%eax, %eax
	callq	_av_frame_alloc
	movq	_frame@GOTPCREL(%rip), %rcx
	movl	%eax, (%rcx)
	testl	%eax, %eax
	je	LBB0_44
## %bb.14:
	movq	_pkt@GOTPCREL(%rip), %r14
	movq	%r14, %rdi
	callq	_av_init_packet
	xorps	%xmm0, %xmm0
	movups	%xmm0, (%r14)
	movq	_video_stream@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	je	LBB0_16
## %bb.15:
	movq	(%r13), %rsi
	movq	_video_dst_filename@GOTPCREL(%rip), %rax
	movq	(%rax), %rdx
	leaq	L_.str.9(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
LBB0_16:
	cmpq	$0, (%r12)
	je	LBB0_18
## %bb.17:
	movq	(%r13), %rsi
	movq	_audio_dst_filename@GOTPCREL(%rip), %rax
	movq	(%rax), %rdx
	leaq	L_.str.10(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
LBB0_18:
	movq	(%r15), %rdi
	movq	_pkt@GOTPCREL(%rip), %r12
	movq	%r12, %rsi
	callq	_av_read_frame
	testq	%rax, %rax
	js	LBB0_26
## %bb.19:
	leaq	-44(%rbp), %r13
	leaq	-64(%rbp), %r14
	jmp	LBB0_21
	.p2align	4, 0x90
LBB0_20:                                ##   in Loop: Header=BB0_21 Depth=1
	movq	%r14, %rdi
	callq	_av_packet_unref
	movq	(%r15), %rdi
	movq	%r12, %rsi
	callq	_av_read_frame
	testq	%rax, %rax
	js	LBB0_26
LBB0_21:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_22 Depth 2
	movups	(%r12), %xmm0
	movaps	%xmm0, -64(%rbp)
	.p2align	4, 0x90
LBB0_22:                                ##   Parent Loop BB0_21 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	%r13, %rdi
	xorl	%esi, %esi
	callq	_decode_packet
	movl	%eax, %ebx
	testl	%eax, %eax
	js	LBB0_20
## %bb.23:                              ##   in Loop: Header=BB0_22 Depth=2
	movl	%ebx, %eax
	leaq	(,%rax,4), %rcx
	addq	%rcx, 8(%r12)
	subq	%rax, (%r12)
	jg	LBB0_22
	jmp	LBB0_20
LBB0_24:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.7(%rip), %rsi
	xorl	%eax, %eax
	callq	_fprintf
	jmp	LBB0_38
LBB0_25:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	(%rbx), %rdx
	jmp	LBB0_37
LBB0_26:
	xorps	%xmm0, %xmm0
	movups	%xmm0, (%r12)
	leaq	-44(%rbp), %r14
	.p2align	4, 0x90
LBB0_27:                                ## =>This Inner Loop Header: Depth=1
	movq	%r14, %rdi
	movl	$1, %esi
	callq	_decode_packet
	cmpl	$0, -44(%rbp)
	jne	LBB0_27
## %bb.28:
	leaq	L_str(%rip), %rdi
	callq	_puts
	movq	_video_stream@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	movq	_audio_dec_ctx@GOTPCREL(%rip), %r14
	movq	_audio_stream@GOTPCREL(%rip), %r15
	je	LBB0_30
## %bb.29:
	movq	_pix_fmt@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_av_get_pix_fmt_name
	movq	_width@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edx
	movq	_height@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	movq	_video_dst_filename@GOTPCREL(%rip), %rsi
	movq	(%rsi), %r8
	leaq	L_.str.12(%rip), %rdi
	movq	%rax, %rsi
	xorl	%eax, %eax
	callq	_printf
LBB0_30:
	cmpq	$0, (%r15)
	je	LBB0_39
## %bb.31:
	movq	(%r14), %rax
	movl	8(%rax), %ebx
	movl	12(%rax), %r15d
	movl	%ebx, %edi
	callq	_av_sample_fmt_is_planar
	testq	%rax, %rax
	je	LBB0_33
## %bb.32:
	movl	%ebx, %edi
	callq	_av_get_sample_fmt_name
	testq	%rax, %rax
	leaq	L_.str.14(%rip), %rsi
	cmovneq	%rax, %rsi
	leaq	L_.str.13(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	%ebx, %edi
	callq	_av_get_packed_sample_fmt
	movl	%eax, %ebx
	movl	$1, %r15d
LBB0_33:
	leaq	-64(%rbp), %rdi
	movl	%ebx, %esi
	callq	_get_format_from_sample_fmt
	movl	%eax, %ebx
	testl	%eax, %eax
	js	LBB0_39
## %bb.34:
	movq	-64(%rbp), %rsi
	movq	(%r14), %rax
	movl	16(%rax), %ecx
	movq	_audio_dst_filename@GOTPCREL(%rip), %rax
	movq	(%rax), %r8
	leaq	L_.str.15(%rip), %rdi
	movl	%r15d, %edx
	xorl	%eax, %eax
	callq	_printf
	jmp	LBB0_39
LBB0_35:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.6(%rip), %rsi
	xorl	%eax, %eax
	callq	_fprintf
	jmp	LBB0_39
LBB0_36:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_audio_dst_filename@GOTPCREL(%rip), %rax
	movq	(%rax), %rdx
LBB0_37:
	leaq	L_.str.5(%rip), %rsi
	xorl	%eax, %eax
	callq	_fprintf
LBB0_38:
	movl	$1, %ebx
LBB0_39:
	movq	_video_dec_ctx@GOTPCREL(%rip), %rdi
	callq	_avcodec_free_context
	movq	_audio_dec_ctx@GOTPCREL(%rip), %rdi
	callq	_avcodec_free_context
	movq	_fmt_ctx@GOTPCREL(%rip), %rdi
	callq	_avformat_close_input
	movq	_video_dst_file@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	testq	%rdi, %rdi
	je	LBB0_41
## %bb.40:
	callq	_fclose
LBB0_41:
	movq	_audio_dst_file@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	testq	%rdi, %rdi
	je	LBB0_43
## %bb.42:
	callq	_fclose
LBB0_43:
	movq	_frame@GOTPCREL(%rip), %rdi
	callq	_av_frame_free
	movq	_video_dst_data@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	(%rax), %edi
	callq	_av_free
	shrl	$31, %ebx
	movl	%ebx, %eax
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_44:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.8(%rip), %rsi
	xorl	%eax, %eax
	callq	_fprintf
	movq	_ENOMEM@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_AVERROR
	movl	%eax, %ebx
	jmp	LBB0_39
LBB0_45:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	(%rbx), %rdx
	leaq	L_.str(%rip), %rsi
	jmp	LBB0_47
LBB0_46:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	(%r13), %rdx
	leaq	L_.str.2(%rip), %rsi
LBB0_47:
	xorl	%eax, %eax
	callq	_fprintf
	movl	$1, %edi
	callq	_exit
LBB0_48:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.3(%rip), %rsi
	xorl	%eax, %eax
	callq	_fprintf
	movl	$1, %edi
	callq	_exit
	.cfi_endproc
                                        ## -- End function
	.comm	_stderr,4,2                     ## @stderr
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"usage: %s [-refcount] input_file video_output_file audio_output_file\nAPI example program to show how to read frames from an input file.\nThis program reads frames from a file, decodes them, and writes decoded\nvideo frames to a rawvideo file named video_output_file, and decoded\naudio frames to a rawaudio file named audio_output_file.\n\nIf the -refcount option is specified, the program use the\nreference counting frame system which allows keeping a copy of\nthe data for longer than one decode call.\n\n"

L_.str.1:                               ## @.str.1
	.asciz	"-refcount"

	.comm	_refcount,4,2                   ## @refcount
	.comm	_src_filename,8,3               ## @src_filename
	.comm	_video_dst_filename,8,3         ## @video_dst_filename
	.comm	_audio_dst_filename,8,3         ## @audio_dst_filename
	.comm	_fmt_ctx,8,3                    ## @fmt_ctx
L_.str.2:                               ## @.str.2
	.asciz	"Could not open source file %s\n"

L_.str.3:                               ## @.str.3
	.asciz	"Could not find stream information\n"

	.comm	_video_stream_idx,8,3           ## @video_stream_idx
	.comm	_video_dec_ctx,8,3              ## @video_dec_ctx
	.comm	_AVMEDIA_TYPE_VIDEO,4,2         ## @AVMEDIA_TYPE_VIDEO
	.comm	_video_stream,8,3               ## @video_stream
L_.str.4:                               ## @.str.4
	.asciz	"wb"

	.comm	_video_dst_file,8,3             ## @video_dst_file
L_.str.5:                               ## @.str.5
	.asciz	"Could not open destination file %s\n"

	.comm	_width,4,2                      ## @width
	.comm	_height,4,2                     ## @height
	.comm	_pix_fmt,4,2                    ## @pix_fmt
	.comm	_video_dst_data,8,3             ## @video_dst_data
	.comm	_video_dst_linesize,4,2         ## @video_dst_linesize
L_.str.6:                               ## @.str.6
	.asciz	"Could not allocate raw video buffer\n"

	.comm	_video_dst_bufsize,4,2          ## @video_dst_bufsize
	.comm	_audio_stream_idx,8,3           ## @audio_stream_idx
	.comm	_audio_dec_ctx,8,3              ## @audio_dec_ctx
	.comm	_AVMEDIA_TYPE_AUDIO,4,2         ## @AVMEDIA_TYPE_AUDIO
	.comm	_audio_stream,8,3               ## @audio_stream
	.comm	_audio_dst_file,8,3             ## @audio_dst_file
L_.str.7:                               ## @.str.7
	.asciz	"Could not find audio or video stream in the input, aborting\n"

	.comm	_frame,4,2                      ## @frame
L_.str.8:                               ## @.str.8
	.asciz	"Could not allocate frame\n"

	.comm	_ENOMEM,4,2                     ## @ENOMEM
	.comm	_pkt,16,3                       ## @pkt
L_.str.9:                               ## @.str.9
	.asciz	"Demuxing video from file '%s' into '%s'\n"

L_.str.10:                              ## @.str.10
	.asciz	"Demuxing audio from file '%s' into '%s'\n"

L_.str.12:                              ## @.str.12
	.asciz	"Play the output video file with the command:\nffplay -f rawvideo -pix_fmt %s -video_size %dx%d %s\n"

L_.str.13:                              ## @.str.13
	.asciz	"Warning: the sample format the decoder produced is planar (%s). This example will output the first channel only.\n"

L_.str.14:                              ## @.str.14
	.asciz	"?"

L_.str.15:                              ## @.str.15
	.asciz	"Play the output audio file with the command:\nffplay -f %s -ac %d -ar %d %s\n"

L_str:                                  ## @str
	.asciz	"Demuxing succeeded."

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_main                           ; -- Begin function main
	.p2align	2
_main:                                  ; @main
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #160
	.cfi_def_cfa_offset 160
	stp	x28, x27, [sp, #64]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #80]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #96]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #112]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #128]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #144]            ; 16-byte Folded Spill
	add	x29, sp, #144
	.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	x19, x1
	and	w8, w0, #0xfffffffe
	cmp	w8, #4
	b.ne	LBB0_46
; %bb.1:
	cmp	w0, #5
	b.ne	LBB0_4
; %bb.2:
	mov	x20, x19
	ldr	x0, [x20, #8]!
Lloh0:
	adrp	x1, l_.str.1@PAGE
Lloh1:
	add	x1, x1, l_.str.1@PAGEOFF
	bl	_strcmp
	cbnz	w0, LBB0_4
; %bb.3:
Lloh2:
	adrp	x8, _refcount@GOTPAGE
Lloh3:
	ldr	x8, [x8, _refcount@GOTPAGEOFF]
	mov	w9, #1
Lloh4:
	str	w9, [x8]
	mov	x19, x20
LBB0_4:
Lloh5:
	adrp	x23, _src_filename@GOTPAGE
Lloh6:
	ldr	x23, [x23, _src_filename@GOTPAGEOFF]
	ldp	x1, x8, [x19, #8]
Lloh7:
	adrp	x27, _video_dst_filename@GOTPAGE
Lloh8:
	ldr	x27, [x27, _video_dst_filename@GOTPAGEOFF]
	str	x1, [x23]
	str	x8, [x27]
	ldr	x8, [x19, #24]
Lloh9:
	adrp	x9, _audio_dst_filename@GOTPAGE
Lloh10:
	ldr	x9, [x9, _audio_dst_filename@GOTPAGEOFF]
Lloh11:
	str	x8, [x9]
Lloh12:
	adrp	x21, _fmt_ctx@GOTPAGE
Lloh13:
	ldr	x21, [x21, _fmt_ctx@GOTPAGEOFF]
	mov	x0, x21
	mov	x2, #0
	mov	x3, #0
	bl	_avformat_open_input
	tbnz	x0, #63, LBB0_47
; %bb.5:
	ldr	x0, [x21]
	mov	x1, #0
	bl	_avformat_find_stream_info
	tbnz	x0, #63, LBB0_48
; %bb.6:
	ldr	x2, [x21]
Lloh14:
	adrp	x8, _AVMEDIA_TYPE_VIDEO@GOTPAGE
Lloh15:
	ldr	x8, [x8, _AVMEDIA_TYPE_VIDEO@GOTPAGEOFF]
Lloh16:
	ldr	w3, [x8]
Lloh17:
	adrp	x20, _video_stream_idx@GOTPAGE
Lloh18:
	ldr	x20, [x20, _video_stream_idx@GOTPAGEOFF]
Lloh19:
	adrp	x19, _video_dec_ctx@GOTPAGE
Lloh20:
	ldr	x19, [x19, _video_dec_ctx@GOTPAGEOFF]
	mov	x0, x20
	mov	x1, x19
	bl	_open_codec_context
Lloh21:
	adrp	x25, _audio_dst_file@GOTPAGE
Lloh22:
	ldr	x25, [x25, _audio_dst_file@GOTPAGEOFF]
Lloh23:
	adrp	x28, _video_stream@GOTPAGE
Lloh24:
	ldr	x28, [x28, _video_stream@GOTPAGEOFF]
Lloh25:
	adrp	x26, _video_dst_file@GOTPAGE
Lloh26:
	ldr	x26, [x26, _video_dst_file@GOTPAGEOFF]
Lloh27:
	adrp	x24, _video_dst_data@GOTPAGE
Lloh28:
	ldr	x24, [x24, _video_dst_data@GOTPAGEOFF]
	tbnz	x0, #63, LBB0_10
; %bb.7:
	ldr	x8, [x21]
	ldr	x8, [x8]
	ldr	x9, [x20]
	ldr	x8, [x8, x9, lsl #3]
	str	x8, [x28]
	ldr	x0, [x27]
Lloh29:
	adrp	x1, l_.str.4@PAGE
Lloh30:
	add	x1, x1, l_.str.4@PAGEOFF
	bl	_fopen
	str	x0, [x26]
	cbz	x0, LBB0_26
; %bb.8:
	ldr	x8, [x19]
Lloh31:
	adrp	x9, _width@GOTPAGE
Lloh32:
	ldr	x9, [x9, _width@GOTPAGEOFF]
	ldp	w2, w3, [x8]
Lloh33:
	str	w2, [x9]
Lloh34:
	adrp	x9, _height@GOTPAGE
Lloh35:
	ldr	x9, [x9, _height@GOTPAGEOFF]
Lloh36:
	str	w3, [x9]
Lloh37:
	adrp	x9, _pix_fmt@GOTPAGE
Lloh38:
	ldr	x9, [x9, _pix_fmt@GOTPAGEOFF]
	ldr	w4, [x8, #20]
Lloh39:
	str	w4, [x9]
	ldr	x0, [x24]
Lloh40:
	adrp	x8, _video_dst_linesize@GOTPAGE
Lloh41:
	ldr	x8, [x8, _video_dst_linesize@GOTPAGEOFF]
Lloh42:
	ldr	w1, [x8]
	mov	w5, #1
	bl	_av_image_alloc
	mov	x19, x0
	tbnz	w0, #31, LBB0_36
; %bb.9:
Lloh43:
	adrp	x8, _video_dst_bufsize@GOTPAGE
Lloh44:
	ldr	x8, [x8, _video_dst_bufsize@GOTPAGEOFF]
Lloh45:
	str	w19, [x8]
	b	LBB0_11
LBB0_10:
	mov	w19, #0
LBB0_11:
	ldr	x2, [x21]
Lloh46:
	adrp	x8, _AVMEDIA_TYPE_AUDIO@GOTPAGE
Lloh47:
	ldr	x8, [x8, _AVMEDIA_TYPE_AUDIO@GOTPAGEOFF]
Lloh48:
	ldr	w3, [x8]
Lloh49:
	adrp	x22, _audio_stream_idx@GOTPAGE
Lloh50:
	ldr	x22, [x22, _audio_stream_idx@GOTPAGEOFF]
Lloh51:
	adrp	x1, _audio_dec_ctx@GOTPAGE
Lloh52:
	ldr	x1, [x1, _audio_dec_ctx@GOTPAGEOFF]
	mov	x0, x22
	bl	_open_codec_context
Lloh53:
	adrp	x20, _audio_stream@GOTPAGE
Lloh54:
	ldr	x20, [x20, _audio_stream@GOTPAGEOFF]
	tbnz	x0, #63, LBB0_13
; %bb.12:
	ldr	x8, [x21]
	ldr	x8, [x8]
	ldr	x9, [x22]
	ldr	x8, [x8, x9, lsl #3]
	str	x8, [x20]
Lloh55:
	adrp	x8, _audio_dst_filename@GOTPAGE
Lloh56:
	ldr	x8, [x8, _audio_dst_filename@GOTPAGEOFF]
Lloh57:
	ldr	x0, [x8]
Lloh58:
	adrp	x1, l_.str.4@PAGE
Lloh59:
	add	x1, x1, l_.str.4@PAGEOFF
	bl	_fopen
	str	x0, [x25]
	cbz	x0, LBB0_37
LBB0_13:
	ldr	x0, [x21]
	ldr	x2, [x23]
	mov	w1, #0
	mov	w3, #0
	bl	_av_dump_format
	ldr	x8, [x20]
	ldr	x9, [x28]
	orr	x8, x8, x9
	cbz	x8, LBB0_25
; %bb.14:
	bl	_av_frame_alloc
Lloh60:
	adrp	x8, _frame@GOTPAGE
Lloh61:
	ldr	x8, [x8, _frame@GOTPAGEOFF]
Lloh62:
	str	w0, [x8]
	cbz	w0, LBB0_45
; %bb.15:
Lloh63:
	adrp	x22, _pkt@GOTPAGE
Lloh64:
	ldr	x22, [x22, _pkt@GOTPAGEOFF]
	mov	x0, x22
	bl	_av_init_packet
	stp	xzr, xzr, [x22]
	ldr	x8, [x28]
	cbz	x8, LBB0_17
; %bb.16:
	ldr	x8, [x23]
	ldr	x9, [x27]
	stp	x8, x9, [sp]
Lloh65:
	adrp	x0, l_.str.9@PAGE
Lloh66:
	add	x0, x0, l_.str.9@PAGEOFF
	bl	_printf
LBB0_17:
	ldr	x8, [x20]
	cbz	x8, LBB0_19
; %bb.18:
	ldr	x8, [x23]
Lloh67:
	adrp	x9, _audio_dst_filename@GOTPAGE
Lloh68:
	ldr	x9, [x9, _audio_dst_filename@GOTPAGEOFF]
Lloh69:
	ldr	x9, [x9]
	stp	x8, x9, [sp]
Lloh70:
	adrp	x0, l_.str.10@PAGE
Lloh71:
	add	x0, x0, l_.str.10@PAGEOFF
	bl	_printf
LBB0_19:
	ldr	x0, [x21]
Lloh72:
	adrp	x22, _pkt@GOTPAGE
Lloh73:
	ldr	x22, [x22, _pkt@GOTPAGEOFF]
	b	LBB0_21
LBB0_20:                                ;   in Loop: Header=BB0_21 Depth=1
	add	x0, sp, #32
	bl	_av_packet_unref
	ldr	x0, [x21]
LBB0_21:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_23 Depth 2
	mov	x1, x22
	bl	_av_read_frame
	tbnz	x0, #63, LBB0_27
; %bb.22:                               ;   in Loop: Header=BB0_21 Depth=1
	ldr	q0, [x22]
	str	q0, [sp, #32]
LBB0_23:                                ;   Parent Loop BB0_21 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	add	x0, sp, #60
	mov	w1, #0
	bl	_decode_packet
	mov	x19, x0
	tbnz	w0, #31, LBB0_20
; %bb.24:                               ;   in Loop: Header=BB0_23 Depth=2
	ldp	x9, x8, [x22]
	add	x8, x8, w19, uxtw #2
	sub	x9, x9, w19, uxtw
	stp	x9, x8, [x22]
	cmp	x9, #0
	b.gt	LBB0_23
	b	LBB0_20
LBB0_25:
Lloh74:
	adrp	x8, _stderr@GOTPAGE
Lloh75:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh76:
	ldr	w0, [x8]
Lloh77:
	adrp	x1, l_.str.7@PAGE
Lloh78:
	add	x1, x1, l_.str.7@PAGEOFF
	b	LBB0_39
LBB0_26:
Lloh79:
	adrp	x8, _stderr@GOTPAGE
Lloh80:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh81:
	ldr	w0, [x8]
	ldr	x8, [x27]
	b	LBB0_38
LBB0_27:
	stp	xzr, xzr, [x22]
LBB0_28:                                ; =>This Inner Loop Header: Depth=1
	add	x0, sp, #60
	mov	w1, #1
	bl	_decode_packet
	ldr	w8, [sp, #60]
	cbnz	w8, LBB0_28
; %bb.29:
Lloh82:
	adrp	x0, l_str@PAGE
Lloh83:
	add	x0, x0, l_str@PAGEOFF
	bl	_puts
	ldr	x8, [x28]
	cbz	x8, LBB0_31
; %bb.30:
Lloh84:
	adrp	x8, _pix_fmt@GOTPAGE
Lloh85:
	ldr	x8, [x8, _pix_fmt@GOTPAGEOFF]
Lloh86:
	ldr	w0, [x8]
	bl	_av_get_pix_fmt_name
Lloh87:
	adrp	x8, _width@GOTPAGE
Lloh88:
	ldr	x8, [x8, _width@GOTPAGEOFF]
Lloh89:
	adrp	x9, _height@GOTPAGE
Lloh90:
	ldr	x9, [x9, _height@GOTPAGEOFF]
	ldr	x10, [x27]
Lloh91:
	ldr	w8, [x8]
Lloh92:
	ldr	w9, [x9]
	stp	x9, x10, [sp, #16]
	stp	x0, x8, [sp]
Lloh93:
	adrp	x0, l_.str.12@PAGE
Lloh94:
	add	x0, x0, l_.str.12@PAGEOFF
	bl	_printf
LBB0_31:
	ldr	x8, [x20]
	cbz	x8, LBB0_40
; %bb.32:
Lloh95:
	adrp	x21, _audio_dec_ctx@GOTPAGE
Lloh96:
	ldr	x21, [x21, _audio_dec_ctx@GOTPAGEOFF]
	ldr	x8, [x21]
	ldp	w19, w20, [x8, #8]
	mov	x0, x19
	bl	_av_sample_fmt_is_planar
	cbz	x0, LBB0_34
; %bb.33:
	mov	x0, x19
	bl	_av_get_sample_fmt_name
Lloh97:
	adrp	x8, l_.str.14@PAGE
Lloh98:
	add	x8, x8, l_.str.14@PAGEOFF
	cmp	x0, #0
	csel	x8, x8, x0, eq
	str	x8, [sp]
Lloh99:
	adrp	x0, l_.str.13@PAGE
Lloh100:
	add	x0, x0, l_.str.13@PAGEOFF
	bl	_printf
	mov	x0, x19
	bl	_av_get_packed_sample_fmt
	mov	x19, x0
	mov	w20, #1
LBB0_34:
	add	x0, sp, #32
	mov	x1, x19
	bl	_get_format_from_sample_fmt
	mov	x19, x0
	tbnz	w0, #31, LBB0_40
; %bb.35:
	ldr	x8, [sp, #32]
	ldr	x9, [x21]
Lloh101:
	adrp	x10, _audio_dst_filename@GOTPAGE
Lloh102:
	ldr	x10, [x10, _audio_dst_filename@GOTPAGEOFF]
Lloh103:
	ldr	x10, [x10]
	ldr	w9, [x9, #16]
	stp	x9, x10, [sp, #16]
	stp	x8, x20, [sp]
Lloh104:
	adrp	x0, l_.str.15@PAGE
Lloh105:
	add	x0, x0, l_.str.15@PAGEOFF
	bl	_printf
	b	LBB0_40
LBB0_36:
Lloh106:
	adrp	x8, _stderr@GOTPAGE
Lloh107:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh108:
	ldr	w0, [x8]
Lloh109:
	adrp	x1, l_.str.6@PAGE
Lloh110:
	add	x1, x1, l_.str.6@PAGEOFF
	bl	_fprintf
	b	LBB0_40
LBB0_37:
Lloh111:
	adrp	x8, _stderr@GOTPAGE
Lloh112:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh113:
	ldr	w0, [x8]
Lloh114:
	adrp	x8, _audio_dst_filename@GOTPAGE
Lloh115:
	ldr	x8, [x8, _audio_dst_filename@GOTPAGEOFF]
Lloh116:
	ldr	x8, [x8]
LBB0_38:
	str	x8, [sp]
Lloh117:
	adrp	x1, l_.str.5@PAGE
Lloh118:
	add	x1, x1, l_.str.5@PAGEOFF
LBB0_39:
	bl	_fprintf
	mov	w19, #1
LBB0_40:
Lloh119:
	adrp	x0, _video_dec_ctx@GOTPAGE
Lloh120:
	ldr	x0, [x0, _video_dec_ctx@GOTPAGEOFF]
	bl	_avcodec_free_context
Lloh121:
	adrp	x0, _audio_dec_ctx@GOTPAGE
Lloh122:
	ldr	x0, [x0, _audio_dec_ctx@GOTPAGEOFF]
	bl	_avcodec_free_context
Lloh123:
	adrp	x0, _fmt_ctx@GOTPAGE
Lloh124:
	ldr	x0, [x0, _fmt_ctx@GOTPAGEOFF]
	bl	_avformat_close_input
	ldr	x0, [x26]
	cbz	x0, LBB0_42
; %bb.41:
	bl	_fclose
LBB0_42:
	ldr	x0, [x25]
	cbz	x0, LBB0_44
; %bb.43:
	bl	_fclose
LBB0_44:
Lloh125:
	adrp	x0, _frame@GOTPAGE
Lloh126:
	ldr	x0, [x0, _frame@GOTPAGEOFF]
	bl	_av_frame_free
	ldr	x8, [x24]
	ldr	w0, [x8]
	bl	_av_free
	lsr	w0, w19, #31
	ldp	x29, x30, [sp, #144]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #128]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #112]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #96]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #80]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #64]             ; 16-byte Folded Reload
	add	sp, sp, #160
	ret
LBB0_45:
Lloh127:
	adrp	x8, _stderr@GOTPAGE
Lloh128:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh129:
	ldr	w0, [x8]
Lloh130:
	adrp	x1, l_.str.8@PAGE
Lloh131:
	add	x1, x1, l_.str.8@PAGEOFF
	bl	_fprintf
Lloh132:
	adrp	x8, _ENOMEM@GOTPAGE
Lloh133:
	ldr	x8, [x8, _ENOMEM@GOTPAGEOFF]
Lloh134:
	ldr	w0, [x8]
	bl	_AVERROR
	mov	x19, x0
	b	LBB0_40
LBB0_46:
Lloh135:
	adrp	x8, _stderr@GOTPAGE
Lloh136:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh137:
	ldr	w0, [x8]
	ldr	x8, [x19]
	str	x8, [sp]
Lloh138:
	adrp	x1, l_.str@PAGE
Lloh139:
	add	x1, x1, l_.str@PAGEOFF
	b	LBB0_49
LBB0_47:
Lloh140:
	adrp	x8, _stderr@GOTPAGE
Lloh141:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh142:
	ldr	w0, [x8]
	ldr	x8, [x23]
	str	x8, [sp]
Lloh143:
	adrp	x1, l_.str.2@PAGE
Lloh144:
	add	x1, x1, l_.str.2@PAGEOFF
	b	LBB0_49
LBB0_48:
Lloh145:
	adrp	x8, _stderr@GOTPAGE
Lloh146:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh147:
	ldr	w0, [x8]
Lloh148:
	adrp	x1, l_.str.3@PAGE
Lloh149:
	add	x1, x1, l_.str.3@PAGEOFF
LBB0_49:
	bl	_fprintf
	mov	w0, #1
	bl	_exit
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpLdrGotStr	Lloh2, Lloh3, Lloh4
	.loh AdrpLdrGot	Lloh12, Lloh13
	.loh AdrpLdrGotStr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh27, Lloh28
	.loh AdrpLdrGot	Lloh25, Lloh26
	.loh AdrpLdrGot	Lloh23, Lloh24
	.loh AdrpLdrGot	Lloh21, Lloh22
	.loh AdrpLdrGot	Lloh19, Lloh20
	.loh AdrpLdrGot	Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGotStr	Lloh37, Lloh38, Lloh39
	.loh AdrpLdrGotStr	Lloh34, Lloh35, Lloh36
	.loh AdrpLdrGotStr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGotStr	Lloh43, Lloh44, Lloh45
	.loh AdrpLdrGot	Lloh53, Lloh54
	.loh AdrpLdrGot	Lloh51, Lloh52
	.loh AdrpLdrGot	Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpAdd	Lloh58, Lloh59
	.loh AdrpLdrGotLdr	Lloh55, Lloh56, Lloh57
	.loh AdrpLdrGotStr	Lloh60, Lloh61, Lloh62
	.loh AdrpLdrGot	Lloh63, Lloh64
	.loh AdrpAdd	Lloh65, Lloh66
	.loh AdrpAdd	Lloh70, Lloh71
	.loh AdrpLdrGotLdr	Lloh67, Lloh68, Lloh69
	.loh AdrpLdrGot	Lloh72, Lloh73
	.loh AdrpAdd	Lloh77, Lloh78
	.loh AdrpLdrGotLdr	Lloh74, Lloh75, Lloh76
	.loh AdrpLdrGotLdr	Lloh79, Lloh80, Lloh81
	.loh AdrpAdd	Lloh82, Lloh83
	.loh AdrpAdd	Lloh93, Lloh94
	.loh AdrpLdrGotLdr	Lloh89, Lloh90, Lloh92
	.loh AdrpLdrGotLdr	Lloh87, Lloh88, Lloh91
	.loh AdrpLdrGotLdr	Lloh84, Lloh85, Lloh86
	.loh AdrpLdrGot	Lloh95, Lloh96
	.loh AdrpAdd	Lloh99, Lloh100
	.loh AdrpAdd	Lloh97, Lloh98
	.loh AdrpAdd	Lloh104, Lloh105
	.loh AdrpLdrGotLdr	Lloh101, Lloh102, Lloh103
	.loh AdrpAdd	Lloh109, Lloh110
	.loh AdrpLdrGotLdr	Lloh106, Lloh107, Lloh108
	.loh AdrpLdrGotLdr	Lloh114, Lloh115, Lloh116
	.loh AdrpLdrGotLdr	Lloh111, Lloh112, Lloh113
	.loh AdrpAdd	Lloh117, Lloh118
	.loh AdrpLdrGot	Lloh123, Lloh124
	.loh AdrpLdrGot	Lloh121, Lloh122
	.loh AdrpLdrGot	Lloh119, Lloh120
	.loh AdrpLdrGot	Lloh125, Lloh126
	.loh AdrpLdrGotLdr	Lloh132, Lloh133, Lloh134
	.loh AdrpAdd	Lloh130, Lloh131
	.loh AdrpLdrGotLdr	Lloh127, Lloh128, Lloh129
	.loh AdrpAdd	Lloh138, Lloh139
	.loh AdrpLdrGotLdr	Lloh135, Lloh136, Lloh137
	.loh AdrpAdd	Lloh143, Lloh144
	.loh AdrpLdrGotLdr	Lloh140, Lloh141, Lloh142
	.loh AdrpAdd	Lloh148, Lloh149
	.loh AdrpLdrGotLdr	Lloh145, Lloh146, Lloh147
	.cfi_endproc
                                        ; -- End function
	.comm	_stderr,4,2                     ; @stderr
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"usage: %s [-refcount] input_file video_output_file audio_output_file\nAPI example program to show how to read frames from an input file.\nThis program reads frames from a file, decodes them, and writes decoded\nvideo frames to a rawvideo file named video_output_file, and decoded\naudio frames to a rawaudio file named audio_output_file.\n\nIf the -refcount option is specified, the program use the\nreference counting frame system which allows keeping a copy of\nthe data for longer than one decode call.\n\n"

l_.str.1:                               ; @.str.1
	.asciz	"-refcount"

	.comm	_refcount,4,2                   ; @refcount
	.comm	_src_filename,8,3               ; @src_filename
	.comm	_video_dst_filename,8,3         ; @video_dst_filename
	.comm	_audio_dst_filename,8,3         ; @audio_dst_filename
	.comm	_fmt_ctx,8,3                    ; @fmt_ctx
l_.str.2:                               ; @.str.2
	.asciz	"Could not open source file %s\n"

l_.str.3:                               ; @.str.3
	.asciz	"Could not find stream information\n"

	.comm	_video_stream_idx,8,3           ; @video_stream_idx
	.comm	_video_dec_ctx,8,3              ; @video_dec_ctx
	.comm	_AVMEDIA_TYPE_VIDEO,4,2         ; @AVMEDIA_TYPE_VIDEO
	.comm	_video_stream,8,3               ; @video_stream
l_.str.4:                               ; @.str.4
	.asciz	"wb"

	.comm	_video_dst_file,8,3             ; @video_dst_file
l_.str.5:                               ; @.str.5
	.asciz	"Could not open destination file %s\n"

	.comm	_width,4,2                      ; @width
	.comm	_height,4,2                     ; @height
	.comm	_pix_fmt,4,2                    ; @pix_fmt
	.comm	_video_dst_data,8,3             ; @video_dst_data
	.comm	_video_dst_linesize,4,2         ; @video_dst_linesize
l_.str.6:                               ; @.str.6
	.asciz	"Could not allocate raw video buffer\n"

	.comm	_video_dst_bufsize,4,2          ; @video_dst_bufsize
	.comm	_audio_stream_idx,8,3           ; @audio_stream_idx
	.comm	_audio_dec_ctx,8,3              ; @audio_dec_ctx
	.comm	_AVMEDIA_TYPE_AUDIO,4,2         ; @AVMEDIA_TYPE_AUDIO
	.comm	_audio_stream,8,3               ; @audio_stream
	.comm	_audio_dst_file,8,3             ; @audio_dst_file
l_.str.7:                               ; @.str.7
	.asciz	"Could not find audio or video stream in the input, aborting\n"

	.comm	_frame,4,2                      ; @frame
l_.str.8:                               ; @.str.8
	.asciz	"Could not allocate frame\n"

	.comm	_ENOMEM,4,2                     ; @ENOMEM
	.comm	_pkt,16,3                       ; @pkt
l_.str.9:                               ; @.str.9
	.asciz	"Demuxing video from file '%s' into '%s'\n"

l_.str.10:                              ; @.str.10
	.asciz	"Demuxing audio from file '%s' into '%s'\n"

l_.str.12:                              ; @.str.12
	.asciz	"Play the output video file with the command:\nffplay -f rawvideo -pix_fmt %s -video_size %dx%d %s\n"

l_.str.13:                              ; @.str.13
	.asciz	"Warning: the sample format the decoder produced is planar (%s). This example will output the first channel only.\n"

l_.str.14:                              ; @.str.14
	.asciz	"?"

l_.str.15:                              ; @.str.15
	.asciz	"Play the output audio file with the command:\nffplay -f %s -ac %d -ar %d %s\n"

l_str:                                  ; @str
	.asciz	"Demuxing succeeded."

.subsections_via_symbols
