// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/dvb/si/desc_44.h
// Function: desc44_print
static inline void desc44_print(const uint8_t *p_desc, f_print pf_print,
                                void *opaque, print_type_t i_print_type)
{
    uint8_t i_fecouter = desc44_get_fecouter(p_desc);
    const char *psz_fecouter = "reserved";
    uint8_t i_modulation = desc44_get_modulation(p_desc);
    const char *psz_modulation = "reserved";

    switch (i_fecouter) {
        case 0x0: psz_fecouter = "undefined"; break;
        case 0x1: psz_fecouter = "none"; break;
        case 0x2: psz_fecouter = "rs(204/188)"; break;
    }

    switch (i_modulation) {
        case 0x0: psz_modulation = "undefined"; break;
        case 0x1: psz_modulation = "16-qam"; break;
        case 0x2: psz_modulation = "32-qam"; break;
        case 0x3: psz_modulation = "64-qam"; break;
        case 0x4: psz_modulation = "128-qam"; break;
        case 0x5: psz_modulation = "256-qam"; break;
    }

    switch (i_print_type) {
    case PRINT_XML:
        pf_print(opaque,
             "<CABLE_DESC frequency=\"%" PRIu64 "\" fecouter=\"%s\" modulation=\"%s\" symbolrate=\"%u\" fecinner=\"%s\"/>",
             desc44_get_frequency(p_desc), psz_fecouter, psz_modulation,
             desc44_get_symbolrate(p_desc),
             dvb_delivery_get_fec(desc43_get_fecinner(p_desc)));
        break;
    default:
        pf_print(opaque,
             "    - desc 44 dvb-c frequency=%" PRIu64 " Hz fecouter=%s modulation=%s symbolrate=%u fecinner=%s",
             desc44_get_frequency(p_desc), psz_fecouter, psz_modulation,
             desc44_get_symbolrate(p_desc),
             dvb_delivery_get_fec(desc43_get_fecinner(p_desc)));
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x173f0
movb %al, -0x1d(%rbp)
leaq 0x18396(%rip), %rax     # 0x244d3
movq %rax, -0x48(%rbp)
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
callq 0x17410
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, -0x29(%rbp)
movq %rax, -0x38(%rbp)
movzbl -0x1d(%rbp), %eax
movl %eax, -0x3c(%rbp)
testl %eax, %eax
je 0xc17c
jmp 0xc168
movl -0x3c(%rbp), %eax
subl $0x1, %eax
je 0xc189
jmp 0xc172
movl -0x3c(%rbp), %eax
subl $0x2, %eax
je 0xc196
jmp 0xc1a1
leaq 0x1ff54(%rip), %rax     # 0x2c0d7
movq %rax, -0x28(%rbp)
jmp 0xc1a1
leaq 0x1ad88(%rip), %rax     # 0x26f18
movq %rax, -0x28(%rbp)
jmp 0xc1a1
leaq 0x1ad80(%rip), %rax     # 0x26f1d
movq %rax, -0x28(%rbp)
movzbl -0x29(%rbp), %eax
movq %rax, -0x50(%rbp)
subq $0x5, %rax
ja 0xc20f
movq -0x50(%rbp), %rax
leaq 0x1729e(%rip), %rcx     # 0x23458
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1ff0d(%rip), %rax     # 0x2c0d7
movq %rax, -0x38(%rbp)
jmp 0xc20f
leaq 0x1ab7a(%rip), %rax     # 0x26d51
movq %rax, -0x38(%rbp)
jmp 0xc20f
leaq 0x1ad45(%rip), %rax     # 0x26f29
movq %rax, -0x38(%rbp)
jmp 0xc20f
leaq 0x1ad3f(%rip), %rax     # 0x26f30
movq %rax, -0x38(%rbp)
jmp 0xc20f
leaq 0x1ad39(%rip), %rax     # 0x26f37
movq %rax, -0x38(%rbp)
jmp 0xc20f
leaq 0x1ad34(%rip), %rax     # 0x26f3f
movq %rax, -0x38(%rbp)
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0xc290
jmp 0xc219
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x8(%rbp), %rdi
callq 0x17430
movq %rax, -0x78(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x8(%rbp), %rdi
callq 0x17230
movl %eax, -0x5c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x17340
movzbl %al, %edi
callq 0x17260
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rdx
movq -0x70(%rbp), %rcx
movq -0x68(%rbp), %r8
movl -0x5c(%rbp), %r9d
movq -0x58(%rbp), %r10
leaq 0x1acc5(%rip), %rsi     # 0x26f47
movq %rax, (%rsp)
movb $0x0, %al
callq *%r10
jmp 0xc326
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x8(%rbp), %rdi
callq 0x17430
movq %rax, -0xa8(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x8(%rbp), %rdi
callq 0x17230
movl %eax, -0x8c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x17340
movzbl %al, %edi
callq 0x17260
movq -0xb0(%rbp), %rdi
movq -0xa8(%rbp), %rdx
movq -0xa0(%rbp), %rcx
movq -0x98(%rbp), %r8
movl -0x8c(%rbp), %r9d
movq -0x88(%rbp), %r10
leaq 0x1ac84(%rip), %rsi     # 0x26fa1
movq %rax, (%rsp)
movb $0x0, %al
callq *%r10
addq $0xc0, %rsp
popq %rbp
retq
nop