// File: /workspace/github_c_makefile_star2_O1/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_7f19.h
// Function: desc7f19_print
static inline void desc7f19_print(const uint8_t *p_desc, f_print pf_print,
                                  void *opaque, print_type_t i_print_type)
{
    if (i_print_type == PRINT_XML)
        pf_print(opaque, "<AUDIO_PRESELECTION_DESC>");

    uint8_t *p;
    desc7f19_each_presel(p_desc, p_desc_n) {
        switch (i_print_type) {
            case PRINT_XML:
                pf_print(opaque,
                         "<AUDIO_PRESELECTION"
                         " id=\"%u\""
                         " audio_rendering_indication=\"%u\""
                         " audio_description=\"%u\""
                         " spoken_subtitles=\"%u\""
                         " dialogue_enhancement=\"%u\""
                         " interactivity_enabled=\"%u\""
                         ">",
                         desc7f19_presel_get_preselection_id(p_desc_n),
                         desc7f19_presel_get_audio_rendering_indication(p_desc_n),
                         desc7f19_presel_get_audio_description(p_desc_n),
                         desc7f19_presel_get_spoken_subtitles(p_desc_n),
                         desc7f19_presel_get_dialogue_enhancement(p_desc_n),
                         desc7f19_presel_get_interactivity_enabled(p_desc_n)
                        );
                if ((p = desc7f19_presel_get_language_code_ptr(p_desc_n))) {
                    char code[4];
                    memcpy(code, p, 3);
                    code[3] = '\0';
                    pf_print(opaque, "<AUDIO_PRESELECTION_LANG code=\"%s\"/>",
                             code);
                }
                if ((p = desc7f19_presel_get_text_label_ptr(p_desc_n))) {
                    pf_print(opaque, "<AUDIO_PRESELECTION_TEXT"
                             " message_id=\"%u\"/>",
                             desc7f19_presel_text_get_message_id(p));
                }
                if ((p = desc7f19_presel_get_multi_stream_info_ptr(p_desc_n))) {
                    uint8_t nb = desc7f19_presel_msi_get_num_aux_components(p);
                    char comp_tags[nb * 2 + 1];
                    for (uint8_t i = 0; i < nb; i++)
                        sprintf(comp_tags + i * 2, "%02x", p[i + 1]);
                    pf_print(opaque, "<AUDIO_PRESELECTION_MSI "
                             "components=\"%s\"/>",
                             comp_tags);
                }
                pf_print(opaque, "</AUDIO_PRESELECTION>");
                break;
            default:
                pf_print(opaque,
                         "    - desc 7f19 audio_preselection"
                         " id=%u"
                         " audio_rendering_indication=%u"
                         "%s"
                         "%s"
                         "%s"
                         "%s"
                         "",
                         desc7f19_presel_get_preselection_id(p_desc_n),
                         desc7f19_presel_get_audio_rendering_indication(p_desc_n),
                         desc7f19_presel_get_audio_description(p_desc_n) ?
                         " audio_description" : "",
                         desc7f19_presel_get_spoken_subtitles(p_desc_n) ?
                         " spoken_subtitles" : "",
                         desc7f19_presel_get_dialogue_enhancement(p_desc_n) ?
                         " dialogue_enhancement" : "",
                         desc7f19_presel_get_interactivity_enabled(p_desc_n) ?
                         " interactivity_enabled" : ""
                        );
                if ((p = desc7f19_presel_get_language_code_ptr(p_desc_n))) {
                    char code[4];
                    memcpy(code, p, 3);
                    code[3] = '\0';
                    pf_print(opaque,
                             "        - language code=\"%s\"", code);
                }
                if ((p = desc7f19_presel_get_text_label_ptr(p_desc_n))) {
                    pf_print(opaque, "        - text label message_id=%u",
                             desc7f19_presel_text_get_message_id(p));
                }
                if ((p = desc7f19_presel_get_multi_stream_info_ptr(p_desc_n))) {
                    uint8_t nb = desc7f19_presel_msi_get_num_aux_components(p);
                    char comp_tags[nb * 2 + 1];
                    for (uint8_t i = 0; i < nb; i++)
                        sprintf(comp_tags + i * 2, "%02x", p[i + 1]);
                    pf_print(opaque, "        - multi_stream_info %s",
                             comp_tags);
                }
        }
    }

    if (i_print_type == PRINT_XML)
        pf_print(opaque, "</AUDIO_PRESELECTION_DESC>");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, -0x50(%rbp)
movl %esi, -0x3c(%rbp)
cmpl $0x1, %esi
jne 0x10fc7
leaq 0x818e(%rip), %rsi      # 0x1914e
xorl %eax, %eax
callq 0x8c56
movq -0x50(%rbp), %rax
cmpb $0x4, 0x1(%rax)
jb 0x113d8
movq -0x50(%rbp), %rax
leaq 0x2(%rax), %rbx
leaq 0x4(%rax), %r13
leaq 0x2daa(%rip), %r15      # 0x13d92
movq %rbx, -0x68(%rbp)
movzbl (%r13), %ecx
movl %ecx, %edx
shrl $0x3, %edx
andl $0x7, %ecx
leaq 0x2(%r13), %r12
movzbl 0x1(%r13), %edi
cmpl $0x1, -0x3c(%rbp)
jne 0x110b8
movl %edi, %r8d
shrl $0x7, %r8d
movl %edi, %r9d
shrl $0x6, %r9d
andl $0x1, %r9d
movl %edi, %r10d
shrl $0x5, %r10d
andl $0x1, %r10d
shrl $0x4, %edi
andl $0x1, %edi
leaq 0x8132(%rip), %rsi      # 0x19168
xorl %eax, %eax
pushq %rdi
pushq %r10
callq 0x8c56
addq $0x10, %rsp
testb $0x8, 0x1(%r13)
je 0x11072
movb 0x2(%r12), %al
movb %al, -0x2e(%rbp)
movzwl (%r12), %eax
movw %ax, -0x30(%rbp)
movb $0x0, -0x2d(%rbp)
leaq 0x81a0(%rip), %rsi      # 0x19207
leaq -0x30(%rbp), %rdx
xorl %eax, %eax
callq 0x8c56
movb 0x1(%r13), %al
testb $0x4, %al
je 0x110a3
testb $0x8, %al
movq %r12, %rcx
movl $0x0, %edx
cmoveq %rdx, %rcx
addq $0x3, %rcx
testb $0x8, %al
cmoveq %r12, %rcx
movzbl (%rcx), %edx
leaq 0x8190(%rip), %rsi      # 0x1922c
xorl %eax, %eax
callq 0x8c56
movzbl 0x1(%r13), %eax
testb $0x2, %al
jne 0x11183
xorl %r14d, %r14d
jmp 0x111a3
testb %dil, %dil
leaq 0x8224(%rip), %r8       # 0x192e6
leaq 0x8b99(%rip), %rax      # 0x19c62
cmovnsq %rax, %r8
testb $0x40, %dil
leaq 0x8221(%rip), %r9       # 0x192f9
cmoveq %rax, %r9
testb $0x20, %dil
leaq 0x8224(%rip), %r10      # 0x1930b
cmoveq %rax, %r10
testb $0x10, %dil
leaq 0x822b(%rip), %rdi      # 0x19321
cmoveq %rax, %rdi
leaq 0x8196(%rip), %rsi      # 0x19297
xorl %eax, %eax
pushq %rdi
pushq %r10
callq 0x8c56
addq $0x10, %rsp
testb $0x8, 0x1(%r13)
je 0x1113d
movb 0x2(%r12), %al
movb %al, -0x2a(%rbp)
movzwl (%r12), %eax
movw %ax, -0x2c(%rbp)
movb $0x0, -0x29(%rbp)
leaq 0x7f11(%rip), %rsi      # 0x19043
leaq -0x2c(%rbp), %rdx
xorl %eax, %eax
callq 0x8c56
movb 0x1(%r13), %al
testb $0x4, %al
je 0x1116e
testb $0x8, %al
movq %r12, %rcx
movl $0x0, %edx
cmoveq %rdx, %rcx
addq $0x3, %rcx
testb $0x8, %al
cmoveq %r12, %rcx
movzbl (%rcx), %edx
leaq 0x81d1(%rip), %rsi      # 0x19338
xorl %eax, %eax
callq 0x8c56
movzbl 0x1(%r13), %eax
testb $0x2, %al
jne 0x1122c
xorl %r14d, %r14d
jmp 0x1124c
testb $0x8, %al
movq %r12, %r14
movl $0x0, %ecx
cmoveq %rcx, %r14
addq $0x3, %r14
testb $0x8, %al
cmoveq %r12, %r14
btl $0x2, %eax
adcq $0x0, %r14
testq %r14, %r14
je 0x11219
movq %r12, -0x58(%rbp)
movq %r13, -0x60(%rbp)
movq %rsp, -0x48(%rbp)
movzbl (%r14), %eax
movq %rsp, %rcx
addq $-0x10, %rcx
movq %rcx, -0x38(%rbp)
movq %rcx, %rsp
cmpl $0x20, %eax
jb 0x111f7
shrl $0x5, %eax
movzbl %al, %r13d
movq -0x38(%rbp), %r12
xorl %ebx, %ebx
movzbl 0x1(%r14,%rbx), %edx
movq %r12, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x31e0
incq %rbx
addq $0x2, %r12
cmpq %rbx, %r13
jne 0x111d8
leaq 0x8059(%rip), %rsi      # 0x19257
movq -0x38(%rbp), %rdx
xorl %eax, %eax
callq 0x8c56
movq -0x48(%rbp), %rsp
movq -0x68(%rbp), %rbx
movq -0x60(%rbp), %r13
movq -0x58(%rbp), %r12
leaq 0x8061(%rip), %rsi      # 0x19281
xorl %eax, %eax
callq 0x8c56
jmp 0x112c8
testb $0x8, %al
movq %r12, %r14
movl $0x0, %ecx
cmoveq %rcx, %r14
addq $0x3, %r14
testb $0x8, %al
cmoveq %r12, %r14
btl $0x2, %eax
adcq $0x0, %r14
testq %r14, %r14
je 0x112c8
movq %r12, -0x58(%rbp)
movq %r13, -0x60(%rbp)
movq %rsp, -0x48(%rbp)
movzbl (%r14), %eax
movq %rsp, %rcx
addq $-0x10, %rcx
movq %rcx, -0x38(%rbp)
movq %rcx, %rsp
cmpl $0x20, %eax
movq %r15, %r12
jb 0x112a3
shrl $0x5, %eax
movzbl %al, %r13d
movq -0x38(%rbp), %r15
xorl %ebx, %ebx
movzbl 0x1(%r14,%rbx), %edx
movq %r15, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x31e0
incq %rbx
addq $0x2, %r15
cmpq %rbx, %r13
jne 0x11284
leaq 0x80b1(%rip), %rsi      # 0x1935b
movq -0x38(%rbp), %rdx
xorl %eax, %eax
callq 0x8c56
movq -0x48(%rbp), %rsp
movq -0x68(%rbp), %rbx
movq -0x60(%rbp), %r13
movq %r12, %r15
movq -0x58(%rbp), %r12
movzbl 0x1(%r13), %ecx
xorl %esi, %esi
testb $0x8, %cl
setne %dil
movl %ecx, %eax
shrb $0x2, %al
andb $0x1, %al
movl %ecx, %edx
andb $0x1, %dl
btl $0x1, %ecx
adcb %dl, %al
testb $0x2, %cl
jne 0x112f2
xorl %r8d, %r8d
jmp 0x11315
testb $0x8, %cl
movq %r12, %r8
movl $0x0, %r9d
cmoveq %r9, %r8
addq $0x3, %r8
testb $0x8, %cl
cmoveq %r12, %r8
btl $0x2, %ecx
adcq $0x0, %r8
movb %dil, %sil
leal (%rsi,%rsi,2), %esi
addl $0x2, %esi
addb %sil, %al
testq %r8, %r8
je 0x11330
movb (%r8), %sil
shrb $0x5, %sil
addb %sil, %al
testb %dl, %dl
jne 0x11338
xorl %edx, %edx
jmp 0x11398
testb $0x2, %cl
jne 0x11341
xorl %edx, %edx
jmp 0x11363
testb $0x8, %cl
movq %r12, %rdx
movl $0x0, %esi
cmoveq %rsi, %rdx
addq $0x3, %rdx
testb $0x8, %cl
cmoveq %r12, %rdx
btl $0x2, %ecx
adcq $0x0, %rdx
testq %rdx, %rdx
je 0x11376
movzbl (%rdx), %ecx
shrl $0x5, %ecx
addq %rcx, %rdx
incq %rdx
jmp 0x11398
testb $0x8, %cl
movq %r12, %rdx
movl $0x0, %esi
cmoveq %rsi, %rdx
addq $0x3, %rdx
testb $0x8, %cl
cmoveq %r12, %rdx
btl $0x2, %ecx
adcq $0x0, %rdx
testq %rdx, %rdx
je 0x113a4
movb (%rdx), %cl
andb $0x1f, %cl
addb %cl, %al
movzbl %al, %eax
addq %rax, %r13
cmpq %r13, %rbx
jbe 0x113b4
xorl %r13d, %r13d
jmp 0x113cf
leaq 0x2(%r13), %rax
movq -0x50(%rbp), %rcx
movzbl 0x1(%rcx), %ecx
addq %rbx, %rcx
cmpq %rcx, %rax
movl $0x0, %eax
cmovaq %rax, %r13
testq %r13, %r13
jne 0x10fec
cmpl $0x1, -0x3c(%rbp)
jne 0x113ec
leaq 0x7f95(%rip), %rsi      # 0x1937a
xorl %eax, %eax
callq 0x8c56
leaq -0x28(%rbp), %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq