// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/mpeg/psi/pmt.h
// Function: pmt_get_streamtype_txt
static inline const char *pmt_get_streamtype_txt(uint8_t i_stream_type) {
    /* ISO/IEC 13818-1 | Table 2-36 - Stream type assignments */
    if (i_stream_type == 0)
        return "Reserved";
    switch (i_stream_type) {
        case 0x01: return "11172-2 video (MPEG-1)";
        case 0x02: return "13818-2 video (MPEG-2)";
        case 0x03: return "11172-3 audio (MPEG-1)";
        case 0x04: return "13818-3 audio (MPEG-2)";
        case 0x05: return "13818-1 private sections";
        case 0x06: return "13818-1 PES private data";
        case 0x07: return "13522 MHEG";
        case 0x08: return "H.222.0/13818-1 Annex A - DSM CC";
        case 0x09: return "H.222.1";
        case 0x0A: return "13818-6 type A";
        case 0x0B: return "13818-6 type B";
        case 0x0C: return "13818-6 type C";
        case 0x0D: return "13818-6 type D";
        case 0x0E: return "H.222.0/13818-1 auxiliary";
        case 0x0F: return "13818-7 Audio with ADTS transport syntax";
        case 0x10: return "14496-2 Visual (MPEG-4 part 2 video)";
        case 0x11: return "14496-3 Audio with LATM transport syntax (14496-3/AMD 1)";
        case 0x12: return "14496-1 SL-packetized or FlexMux stream in PES packets";
        case 0x13: return "14496-1 SL-packetized or FlexMux stream in 14496 sections";
        case 0x14: return "ISO/IEC 13818-6 Synchronized Download Protocol";
        case 0x15: return "Metadata in PES packets";
        case 0x16: return "Metadata in metadata_sections";
        case 0x17: return "Metadata in 13818-6 Data Carousel";
        case 0x18: return "Metadata in 13818-6 Object Carousel";
        case 0x19: return "Metadata in 13818-6 Synchronized Download Protocol";
        case 0x1A: return "13818-11 MPEG-2 IPMP stream";
        case 0x1B: return "H.264/14496-10 video (MPEG-4/AVC)";
        case 0x24: return "H.265 video (MPEG-H/HEVC)";
        case 0x42: return "AVS Video";
        case 0x7F: return "IPMP stream";
        case 0x81: return "ATSC A/52";
        case 0x86: return "SCTE 35 Splice Information Table";
        case 0x87: return "ATSC A/52e";
        default  : return "Unknown";
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movb %dil, %al
movb %al, -0x9(%rbp)
movzbl -0x9(%rbp), %eax
cmpl $0x0, %eax
jne 0x1cf73
leaq 0x75a3(%rip), %rax      # 0x2450d
movq %rax, -0x8(%rbp)
jmp 0x1d19e
movzbl -0x9(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0x86, %eax
ja 0x1d193
movq -0x18(%rbp), %rax
leaq 0x66b7(%rip), %rcx      # 0x2364c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xdd64(%rip), %rax      # 0x2ad09
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdd6b(%rip), %rax      # 0x2ad20
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdd72(%rip), %rax      # 0x2ad37
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdd79(%rip), %rax      # 0x2ad4e
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdd80(%rip), %rax      # 0x2ad65
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdd89(%rip), %rax      # 0x2ad7e
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdd92(%rip), %rax      # 0x2ad97
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdd8d(%rip), %rax      # 0x2ada2
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdd9e(%rip), %rax      # 0x2adc3
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdd96(%rip), %rax      # 0x2adcb
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdd95(%rip), %rax      # 0x2adda
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdd94(%rip), %rax      # 0x2ade9
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdd93(%rip), %rax      # 0x2adf8
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdd92(%rip), %rax      # 0x2ae07
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdd9c(%rip), %rax      # 0x2ae21
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xddb5(%rip), %rax      # 0x2ae4a
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xddca(%rip), %rax      # 0x2ae6f
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xddf3(%rip), %rax      # 0x2aea8
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xde1a(%rip), %rax      # 0x2aedf
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xde44(%rip), %rax      # 0x2af19
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xde63(%rip), %rax      # 0x2af48
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xde6b(%rip), %rax      # 0x2af60
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xde79(%rip), %rax      # 0x2af7e
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xde8b(%rip), %rax      # 0x2afa0
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xde9f(%rip), %rax      # 0x2afc4
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdec5(%rip), %rax      # 0x2aff7
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xded4(%rip), %rax      # 0x2b013
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdee9(%rip), %rax      # 0x2b035
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdef6(%rip), %rax      # 0x2b04f
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdea1(%rip), %rax      # 0x2b007
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdee6(%rip), %rax      # 0x2b059
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdee3(%rip), %rax      # 0x2b063
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0xdef7(%rip), %rax      # 0x2b084
movq %rax, -0x8(%rbp)
jmp 0x1d19e
leaq 0x9990(%rip), %rax      # 0x26b2a
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
popq %rbp
retq
nopw %cs:(%rax,%rax)