// File: /workspace/github_c_makefile_star2_O0/tvlabs[P]edge264/edge264_headers.c
// Function: parse_mvc_vui_parameters_extension
static void parse_mvc_vui_parameters_extension(Edge264Decoder *dec, Edge264SeqParameterSet *sps)
{
	log_dec(dec, "  vui_mvc_operation_points:\n");
	for (int i = get_ue16(&dec->_gb, 1023); i-- >= 0;) {
		int temporal_id = get_uv(&dec->_gb, 3);
		log_dec(dec, "    - temporal_id: %u\n"
			"      target_views: [", temporal_id);
		for (int j = get_ue16(&dec->_gb, 1023); j >= 0; j--) {
			int view_id = get_ue16(&dec->_gb, 1023);
			log_dec(dec, j ? "%u," : "%u]\n", view_id);
		}
		if (get_u1(&dec->_gb)) {
			unsigned num_units_in_tick = get_uv(&dec->_gb, 32);
			unsigned time_scale = get_uv(&dec->_gb, 32);
			int fixed_frame_rate_flag = get_u1(&dec->_gb);
			log_dec(dec, "      num_units_in_tick: %u\n"
				"      time_scale: %u\n"
				"      fixed_frame_rate_flag: %u\n",
				num_units_in_tick, time_scale, fixed_frame_rate_flag);
		}
		int vui_mvc_nal_hrd_parameters_present_flag = get_u1(&dec->_gb);
		if (vui_mvc_nal_hrd_parameters_present_flag) {
			log_dec(dec, "      vui_mvc_nal_hrd_parameters:\n");
			parse_hrd_parameters(dec, sps, &sps->nal_hrd_cpb_cnt, "        ");
		}
		int vui_mvc_vcl_hrd_parameters_present_flag = get_u1(&dec->_gb);
		if (vui_mvc_vcl_hrd_parameters_present_flag) {
			log_dec(dec, "      vui_mvc_vcl_hrd_parameters:\n");
			parse_hrd_parameters(dec, sps, &sps->vcl_hrd_cpb_cnt, "        ");
		}
		if (vui_mvc_nal_hrd_parameters_present_flag | vui_mvc_vcl_hrd_parameters_present_flag) {
			int low_delay_hrd_flag = get_u1(&dec->_gb);
			log_dec(dec, "      low_delay_hrd_flag: %u\n", low_delay_hrd_flag);
		}
		int pic_struct_present_flag = get_u1(&dec->_gb);
		log_dec(dec, "      pic_struct_present_flag: %u\n", pic_struct_present_flag);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movswq 0x7ca0(%rax), %rax
cmpq $0x2542, %rax           # imm = 0x2542
jae 0x7d3a7
movq -0x8(%rbp), %rdi
addq $0x7ca2, %rdi           # imm = 0x7CA2
movq -0x8(%rbp), %rax
movswl 0x7ca0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movswq 0x7ca0(%rax), %rax
movl $0x2542, %esi           # imm = 0x2542
subq %rax, %rsi
leaq 0x53e0f(%rip), %rdx     # 0xd1199
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x8(%rbp), %rax
movswl 0x7ca0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x7ca0(%rax)
movq -0x8(%rbp), %rdi
movl $0x3ff, %esi            # imm = 0x3FF
callq 0x76d10
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, -0x14(%rbp)
cmpl $0x0, %eax
jl 0x7d7e2
movq -0x8(%rbp), %rdi
movl $0x3, %esi
callq 0x65e90
movl %eax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movswq 0x7ca0(%rax), %rax
cmpq $0x2542, %rax           # imm = 0x2542
jae 0x7d447
movq -0x8(%rbp), %rdi
addq $0x7ca2, %rdi           # imm = 0x7CA2
movq -0x8(%rbp), %rax
movswl 0x7ca0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movswq 0x7ca0(%rax), %rax
movl $0x2542, %esi           # imm = 0x2542
subq %rax, %rsi
movl -0x18(%rbp), %ecx
leaq 0x53d8c(%rip), %rdx     # 0xd11b6
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x8(%rbp), %rax
movswl 0x7ca0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x7ca0(%rax)
movq -0x8(%rbp), %rdi
movl $0x3ff, %esi            # imm = 0x3FF
callq 0x76d10
movl %eax, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jl 0x7d4fe
movq -0x8(%rbp), %rdi
movl $0x3ff, %esi            # imm = 0x3FF
callq 0x76d10
movl %eax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movswq 0x7ca0(%rax), %rax
cmpq $0x2542, %rax           # imm = 0x2542
jae 0x7d4ee
movq -0x8(%rbp), %rdi
addq $0x7ca2, %rdi           # imm = 0x7CA2
movq -0x8(%rbp), %rax
movswl 0x7ca0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movswq 0x7ca0(%rax), %rax
movl $0x2542, %esi           # imm = 0x2542
subq %rax, %rsi
movl -0x1c(%rbp), %ecx
leaq 0x5362d(%rip), %rdx     # 0xd0aed
leaq 0x53680(%rip), %rax     # 0xd0b47
cmpl $0x0, %ecx
cmovneq %rax, %rdx
movl -0x20(%rbp), %ecx
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x8(%rbp), %rax
movswl 0x7ca0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x7ca0(%rax)
jmp 0x7d4f0
movl -0x1c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x7d458
movq -0x8(%rbp), %rdi
callq 0x77060
cmpl $0x0, %eax
je 0x7d5b2
movq -0x8(%rbp), %rdi
movl $0x20, %esi
callq 0x65e90
movl %eax, -0x24(%rbp)
movq -0x8(%rbp), %rdi
movl $0x20, %esi
callq 0x65e90
movl %eax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
callq 0x77060
movl %eax, -0x2c(%rbp)
movq -0x8(%rbp), %rax
movswq 0x7ca0(%rax), %rax
cmpq $0x2542, %rax           # imm = 0x2542
jae 0x7d5b0
movq -0x8(%rbp), %rdi
addq $0x7ca2, %rdi           # imm = 0x7CA2
movq -0x8(%rbp), %rax
movswl 0x7ca0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movswq 0x7ca0(%rax), %rax
movl $0x2542, %esi           # imm = 0x2542
subq %rax, %rsi
movl -0x24(%rbp), %ecx
movl -0x28(%rbp), %r8d
movl -0x2c(%rbp), %r9d
leaq 0x53c4f(%rip), %rdx     # 0xd11e2
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x8(%rbp), %rax
movswl 0x7ca0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x7ca0(%rax)
jmp 0x7d5b2
movq -0x8(%rbp), %rdi
callq 0x77060
movl %eax, -0x30(%rbp)
cmpl $0x0, -0x30(%rbp)
je 0x7d64b
movq -0x8(%rbp), %rax
movswq 0x7ca0(%rax), %rax
cmpq $0x2542, %rax           # imm = 0x2542
jae 0x7d62f
movq -0x8(%rbp), %rdi
addq $0x7ca2, %rdi           # imm = 0x7CA2
movq -0x8(%rbp), %rax
movswl 0x7ca0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movswq 0x7ca0(%rax), %rax
movl $0x2542, %esi           # imm = 0x2542
subq %rax, %rsi
leaq 0x53c22(%rip), %rdx     # 0xd1234
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x8(%rbp), %rax
movswl 0x7ca0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x7ca0(%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $0x15, %rdx
leaq 0x50731(%rip), %rcx     # 0xcdd77
callq 0xc89e0
movq -0x8(%rbp), %rdi
callq 0x77060
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x7d6e4
movq -0x8(%rbp), %rax
movswq 0x7ca0(%rax), %rax
cmpq $0x2542, %rax           # imm = 0x2542
jae 0x7d6c8
movq -0x8(%rbp), %rdi
addq $0x7ca2, %rdi           # imm = 0x7CA2
movq -0x8(%rbp), %rax
movswl 0x7ca0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movswq 0x7ca0(%rax), %rax
movl $0x2542, %esi           # imm = 0x2542
subq %rax, %rsi
leaq 0x53bac(%rip), %rdx     # 0xd1257
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x8(%rbp), %rax
movswl 0x7ca0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x7ca0(%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $0x16, %rdx
leaq 0x50698(%rip), %rcx     # 0xcdd77
callq 0xc89e0
movl -0x30(%rbp), %eax
orl -0x34(%rbp), %eax
cmpl $0x0, %eax
je 0x7d767
movq -0x8(%rbp), %rdi
callq 0x77060
movl %eax, -0x38(%rbp)
movq -0x8(%rbp), %rax
movswq 0x7ca0(%rax), %rax
cmpq $0x2542, %rax           # imm = 0x2542
jae 0x7d765
movq -0x8(%rbp), %rdi
addq $0x7ca2, %rdi           # imm = 0x7CA2
movq -0x8(%rbp), %rax
movswl 0x7ca0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movswq 0x7ca0(%rax), %rax
movl $0x2542, %esi           # imm = 0x2542
subq %rax, %rsi
movl -0x38(%rbp), %ecx
leaq 0x53b32(%rip), %rdx     # 0xd127a
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x8(%rbp), %rax
movswl 0x7ca0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x7ca0(%rax)
jmp 0x7d767
movq -0x8(%rbp), %rdi
callq 0x77060
movl %eax, -0x3c(%rbp)
movq -0x8(%rbp), %rax
movswq 0x7ca0(%rax), %rax
cmpq $0x2542, %rax           # imm = 0x2542
jae 0x7d7dd
movq -0x8(%rbp), %rdi
addq $0x7ca2, %rdi           # imm = 0x7CA2
movq -0x8(%rbp), %rax
movswl 0x7ca0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movswq 0x7ca0(%rax), %rax
movl $0x2542, %esi           # imm = 0x2542
subq %rax, %rsi
movl -0x3c(%rbp), %ecx
leaq 0x53ad8(%rip), %rdx     # 0xd1298
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x8(%rbp), %rax
movswl 0x7ca0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x7ca0(%rax)
jmp 0x7d3b8
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)