// File: /workspace/github_c_makefile_star2_O0/videolan[P]bitstream/examples/./bitstream/mpeg/psi/desc_3f.h
// Function: desc3f_tag_extension_str
static inline const char *desc3f_tag_extension_str(uint8_t tag)
{
    switch (tag) {
        case DESC3F_TAG_OBJECT_UPDATE: return "object_update";
        case DESC3F_TAG_HEVC_TIMING_HRD: return "HEVC_timing_and_HRD";
        case DESC3F_TAG_AF_EXTENSIONS: return "af_extensions";
        case DESC3F_TAG_HEVC_OPERATION_POINT: return "HEVC_operation_point";
        case DESC3F_TAG_HEVC_HIERARCHY: return "HEVC_hierarchy";
        case DESC3F_TAG_GREEN: return "Green_extension";
        case DESC3F_TAG_MPEG_H_3DAUDIO: return "MPEG-H_3dAudio";
        case DESC3F_TAG_MPEG_H_3DAUDIO_CONFIG: return "MPEG-H_3dAudio_config";
        case DESC3F_TAG_MPEG_H_3DAUDIO_SCENE: return "MPEG-H_3dAudio_scene";
        case DESC3F_TAG_MPEG_H_3DAUDIO_TEXT: return "MPEG-H_3dAudio_text";
        case DESC3F_TAG_MPEG_H_3DAUDIO_MULTI_STREAM:
            return "MPEG-H_3dAudio_multi_stream";
        case DESC3F_TAG_MPEG_H_3DAUDIO_DRC_LOUDNESS:
            return "MPEG-H_3dAudio_drc_loudness";
        case DESC3F_TAG_MPEG_H_3DAUDIO_COMMAND: return "MPEG-H_3dAudio_command";
        case DESC3F_TAG_QUALITY: return "quality";
        case DESC3F_TAG_VIRTUAL_SEGMENTATION: return "virtual_segmentation";
        case DESC3F_TAG_TIMED_METADATA: return "timed_metadata";
        case DESC3F_TAG_HEVC_TILE_SUBSTREAM: return "HEVC_tile_substream";
        case DESC3F_TAG_HEVC_SUBREGION: return "HEVC_subregion";
        case DESC3F_TAG_JXS_VIDEO: return "JXS_video";
        case DESC3F_TAG_VVC_TIMING_HRD: return "VVC_timing_hrd";
        case DESC3F_TAG_EVC_TIMING_HRD: return "EVC_timing_hrd";
    }
    return "Unknown";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movb %dil, %al
movb %al, -0x9(%rbp)
movzbl -0x9(%rbp), %eax
addl $-0x2, %eax
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0x14, %eax
ja 0x16a29
movq -0x18(%rbp), %rax
leaq 0xcbc5(%rip), %rcx      # 0x234b0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x100b7(%rip), %rax     # 0x269b2
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100b5(%rip), %rax     # 0x269c0
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100b9(%rip), %rax     # 0x269d4
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100b7(%rip), %rax     # 0x269e2
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100bc(%rip), %rax     # 0x269f7
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100bb(%rip), %rax     # 0x26a06
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100bb(%rip), %rax     # 0x26a16
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100ba(%rip), %rax     # 0x26a25
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100c0(%rip), %rax     # 0x26a3b
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100c5(%rip), %rax     # 0x26a50
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100c9(%rip), %rax     # 0x26a64
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100d5(%rip), %rax     # 0x26a80
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100e1(%rip), %rax     # 0x26a9c
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100eb(%rip), %rax     # 0x26ab3
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100e6(%rip), %rax     # 0x26abb
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100ee(%rip), %rax     # 0x26ad0
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100f0(%rip), %rax     # 0x26adf
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100f7(%rip), %rax     # 0x26af3
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100f9(%rip), %rax     # 0x26b02
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100f6(%rip), %rax     # 0x26b0c
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100f8(%rip), %rax     # 0x26b1b
movq %rax, -0x8(%rbp)
jmp 0x16a34
leaq 0x100fa(%rip), %rax     # 0x26b2a
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
popq %rbp
retq
nopw (%rax,%rax)