user: 请将这段汇编代码片段转换成等效的C代码：

```asm
<vo_format_name>:
  endbr64
  cmp    $0x4d504553,%edi
  je     L318
  jg     L346
  lea    D76(%rip),%rax
  cmp    $0x32555949,%edi
  je     L88
  jle    L453
  cmp    $0x42475220,%edi
  jg     L29
  cmp    $0x42475200,%edi
  jg     L438
  lea    D317(%rip),%rax
  cmp    $0x39304649,%edi
  je     L88
  jle    L57
  cmp    $0x39555659,%edi
  lea    D457(%rip),%rdx
  lea    D697(%rip),%rax
  cmove  %rdx,%rax
  ret
  nopl   (%rax)
L346:
  lea    D640(%rip),%rax
  cmp    $0x52474284,%edi
  je     L88
  jle    L39
  lea    D609(%rip),%rax
  cmp    $0x56555949,%edi
  je     L88
  jle    L294
  lea    D278(%rip),%rax
  cmp    $0x5a524954,%edi
  je     L88
  jle    L271
  lea    D440(%rip),%rax
  cmp    $0x5a524e49,%edi
  je     L88
  cmp    $0x76757963,%edi
  lea    D91(%rip),%rdx
  lea    D697(%rip),%rax
  cmove  %rdx,%rax
  ret
L57:
  lea    D555(%rip),%rax
  cmp    $0x32595559,%edi
  je     L88
  cmp    $0x35353656,%edi
  lea    D547(%rip),%rdx
  lea    D697(%rip),%rax
  cmove  %rdx,%rax
  ret
L271:
  lea    D139(%rip),%rax
  cmp    $0x59565955,%edi
  je     L88
  cmp    $0x5a524942,%edi
  jne    L397
  lea    D579(%rip),%rax
L88:
  ret
L397:
  cmp    $0x56595549,%edi
  lea    D422(%rip),%rdx
  lea    D697(%rip),%rax
  cmove  %rdx,%rax
  ret
  nopl   0x0(%rax,%rax,1)
L294:
  lea    D179(%rip),%rax
  cmp    $0x55595659,%edi
  je     L88
  jle    L180
  lea    D364(%rip),%rax
  cmp    $0x564e5559,%edi
  je     L88
  cmp    $0x564e5955,%edi
  lea    D701(%rip),%rdx
  lea    D697(%rip),%rax
  cmove  %rdx,%rax
  ret
  nopl   (%rax)
L39:
  cmp    $0x52474220,%edi
  jg     L226
  cmp    $0x52474200,%edi
  jg     L232
  lea    D691(%rip),%rax
  cmp    $0x50343434,%edi
  je     L88
  jle    L392
  lea    D322(%rip),%rax
  cmp    $0x50565559,%edi
  je     L88
  cmp    $0x50565955,%edi
  lea    D613(%rip),%rdx
  lea    D697(%rip),%rax
  cmove  %rdx,%rax
  ret
L180:
  lea    D367(%rip),%rax
  cmp    $0x54313459,%edi
  je     L88
  cmp    $0x54323459,%edi
  jne    L297
  lea    D285(%rip),%rax
  ret
L392:
  lea    D611(%rip),%rax
  cmp    $0x50313459,%edi
  je     L88
  cmp    $0x50323234,%edi
  jne    L286
  lea    D380(%rip),%rax
  ret
L297:
  cmp    $0x524a4c43,%edi
  lea    D448(%rip),%rdx
  lea    D697(%rip),%rax
  cmove  %rdx,%rax
  ret
L286:
  cmp    $0x50313134,%edi
  lea    D506(%rip),%rdx
  lea    D697(%rip),%rax
  cmove  %rdx,%rax
  ret
  nopl   0x0(%rax)
L232:
  sub    $0x52474201,%edi
  cmp    $0x1f,%edi
  ja     L330
  lea    D503(%rip),%rdx
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax)
L330:
  lea    D697(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
L226:
  cmp    $0x52474260,%edi
  lea    D728(%rip),%rdx
  lea    D697(%rip),%rax
  cmove  %rdx,%rax
  ret
  nopl   0x0(%rax)
L438:
  sub    $0x42475201,%edi
  cmp    $0x1f,%edi
  ja     L330
  lea    D251(%rip),%rdx
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax)
L453:
  lea    D620(%rip),%rax
  cmp    $0x31435949,%edi
  je     L88
  jle    L432
  lea    D331(%rip),%rax
  cmp    $0x32315659,%edi
  je     L88
  jle    L390
  lea    D519(%rip),%rax
  cmp    $0x32323456,%edi
  je     L88
  cmp    $0x32323459,%edi
  lea    D193(%rip),%rdx
  lea    D697(%rip),%rax
  cmove  %rdx,%rax
  ret
  nopw   0x0(%rax,%rax,1)
L29:
  lea    D445(%rip),%rax
  cmp    $0x42475284,%edi
  je     L88
  cmp    $0x4c504c43,%edi
  jne    L165
  lea    D32(%rip),%rax
  ret
L390:
  lea    D482(%rip),%rax
  cmp    $0x32314d48,%edi
  je     L88
  cmp    $0x3231564e,%edi
  jne    L12
  lea    D94(%rip),%rax
  ret
  cs nopw 0x0(%rax,%rax,1)
L432:
  lea    D209(%rip),%rax
  cmp    $0x30303859,%edi
  je     L88
  jle    L250
  lea    D86(%rip),%rax
  cmp    $0x31313259,%edi
  je     L88
  cmp    $0x3132564e,%edi
  jne    L256
  lea    D590(%rip),%rax
  ret
L165:
  cmp    $0x42475260,%edi
  lea    D657(%rip),%rdx
  lea    D697(%rip),%rax
  cmove  %rdx,%rax
  ret
L12:
  cmp    $0x31555949,%edi
  lea    D704(%rip),%rdx
  lea    D697(%rip),%rax
  cmove  %rdx,%rax
  ret
L256:
  cmp    $0x30323449,%edi
  lea    D410(%rip),%rdx
  lea    D697(%rip),%rax
  cmove  %rdx,%rax
  ret
L250:
  lea    D84(%rip),%rax
  cmp    $0x1dc70082,%edi
  je     L88
  cmp    $0x20203859,%edi
  jne    L82
  lea    D584(%rip),%rax
  ret
L82:
  cmp    $0x1dc70002,%edi
  lea    D424(%rip),%rdx
  lea    D697(%rip),%rax
  cmove  %rdx,%rax
  ret
  nop
  lea    D275(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D454(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D449(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D167(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D635(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D633(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D22(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D495(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D110(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D152(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D294(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D738(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D689(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D138(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
L318:
  lea    D561(%rip),%rax
  ret
```

tool_calls: name: parse_data
arguments: data_label: D76
datatype: string
name: parse_data
arguments: data_label: D317
datatype: string
name: parse_data
arguments: data_label: D457
datatype: string
name: parse_data
arguments: data_label: D697
datatype: string
name: parse_data
arguments: data_label: D640
datatype: string
name: parse_data
arguments: data_label: D609
datatype: string
name: parse_data
arguments: data_label: D278
datatype: string
name: parse_data
arguments: data_label: D440
datatype: string
name: parse_data
arguments: data_label: D91
datatype: string
name: parse_data
arguments: data_label: D555
datatype: string
name: parse_data
arguments: data_label: D547
datatype: string
name: parse_data
arguments: data_label: D139
datatype: string
name: parse_data
arguments: data_label: D579
datatype: string
name: parse_data
arguments: data_label: D422
datatype: string
name: parse_data
arguments: data_label: D179
datatype: string
name: parse_data
arguments: data_label: D364
datatype: string
name: parse_data
arguments: data_label: D701
datatype: string
name: parse_data
arguments: data_label: D691
datatype: string
name: parse_data
arguments: data_label: D322
datatype: string
name: parse_data
arguments: data_label: D613
datatype: string
name: parse_data
arguments: data_label: D367
datatype: string
name: parse_data
arguments: data_label: D285
datatype: string
name: parse_data
arguments: data_label: D611
datatype: string
name: parse_data
arguments: data_label: D380
datatype: string
name: parse_data
arguments: data_label: D448
datatype: string
name: parse_data
arguments: data_label: D506
datatype: string
name: parse_data
arguments: data_label: D728
datatype: string
name: parse_data
arguments: data_label: D620
datatype: string
name: parse_data
arguments: data_label: D331
datatype: string
name: parse_data
arguments: data_label: D519
datatype: string
name: parse_data
arguments: data_label: D193
datatype: string
name: parse_data
arguments: data_label: D445
datatype: string
name: parse_data
arguments: data_label: D32
datatype: string
name: parse_data
arguments: data_label: D482
datatype: string
name: parse_data
arguments: data_label: D94
datatype: string
name: parse_data
arguments: data_label: D209
datatype: string
name: parse_data
arguments: data_label: D86
datatype: string
name: parse_data
arguments: data_label: D590
datatype: string
name: parse_data
arguments: data_label: D657
datatype: string
name: parse_data
arguments: data_label: D704
datatype: string
name: parse_data
arguments: data_label: D410
datatype: string
name: parse_data
arguments: data_label: D84
datatype: string
name: parse_data
arguments: data_label: D584
datatype: string
name: parse_data
arguments: data_label: D424
datatype: string
name: parse_data
arguments: data_label: D275
datatype: string
name: parse_data
arguments: data_label: D454
datatype: string
name: parse_data
arguments: data_label: D449
datatype: string
name: parse_data
arguments: data_label: D167
datatype: string
name: parse_data
arguments: data_label: D635
datatype: string
name: parse_data
arguments: data_label: D633
datatype: string
name: parse_data
arguments: data_label: D22
datatype: string
name: parse_data
arguments: data_label: D495
datatype: string
name: parse_data
arguments: data_label: D110
datatype: string
name: parse_data
arguments: data_label: D152
datatype: string
name: parse_data
arguments: data_label: D294
datatype: string
name: parse_data
arguments: data_label: D738
datatype: string
name: parse_data
arguments: data_label: D689
datatype: string
name: parse_data
arguments: data_label: D138
datatype: string
name: parse_data
arguments: data_label: D561
datatype: string

tool: D76: Packed IYU2

tool: D317: Planar IF09

tool: D457: Planar YVU9

tool: D697: Unknown

tool: D640: RGB 4-bit per byte

tool: D609: Planar IYUV

tool: D278: Zoran MJPEG top field first

tool: D440: Zoran MJPEG non-interlaced

tool: D91: Packed CYUV

tool: D555: Packed YUY2

tool: D547: Packed V655

tool: D139: Packed UYVY

tool: D579: Zoran MJPEG bottom field first

tool: D422: Packed IUYV

tool: D179: Packed YVYU

tool: D364: Packed YUNV

tool: D701: Packed UYNV

tool: D691: Planar 444P

tool: D322: Packed YUVP

tool: D613: Packed UYVP

tool: D367: Packed Y41T

tool: D285: Packed Y42T

tool: D611: Packed Y41P

tool: D380: Planar 422P

tool: D448: Packed CLJR

tool: D506: Planar 411P

tool: D728: ARGB

tool: D620: Packed IY41

tool: D331: Planar YV12

tool: D519: Packed V422

tool: D193: Packed Y422

tool: D445: BGR 4-bit per byte

tool: D32: Planar CLPL

tool: D482: Planar NV12 Macroblock

tool: D94: Planar NV12

tool: D209: Planar Y800

tool: D86: Packed Y211

tool: D590: Planar NV21

tool: D657: ABGR

tool: D704: Packed IYU1

tool: D410: Planar I420

tool: D84: MPEG1/2 Motion Compensation and IDCT

tool: D584: Planar Y8

tool: D424: MPEG1/2 Motion Compensation

tool: D275: BGR 4-bit

tool: D454: RGB 1-bit

tool: D449: RGB 4-bit

tool: D167: BGR 1-bit

tool: D635: RGBA

tool: D633: BGR 15-bit

tool: D22: BGR 8-bit

tool: D495: BGRA

tool: D110: RGB 24-bit

tool: D152: RGB 16-bit

tool: D294: RGB 15-bit

tool: D738: RGB 8-bit

tool: D689: BGR 24-bit

tool: D138: BGR 16-bit

tool: D561: Mpeg PES

assistant: ```c
const char *vo_format_name(int format) {
  switch (format) {
  case ((('R' << 24) | ('G' << 16) | ('B' << 8)) | 1):
    return ("RGB 1-bit");
  case ((('R' << 24) | ('G' << 16) | ('B' << 8)) | 4):
    return ("RGB 4-bit");
  case ((('R' << 24) | ('G' << 16) | ('B' << 8)) | 4 | 128):
    return ("RGB 4-bit per byte");
  case ((('R' << 24) | ('G' << 16) | ('B' << 8)) | 8):
    return ("RGB 8-bit");
  case ((('R' << 24) | ('G' << 16) | ('B' << 8)) | 15):
    return ("RGB 15-bit");
  case ((('R' << 24) | ('G' << 16) | ('B' << 8)) | 16):
    return ("RGB 16-bit");
  case ((('R' << 24) | ('G' << 16) | ('B' << 8)) | 24):
    return ("RGB 24-bit");
  case ((('B' << 24) | ('G' << 16) | ('R' << 8)) | 1):
    return ("BGR 1-bit");
  case ((('B' << 24) | ('G' << 16) | ('R' << 8)) | 4):
    return ("BGR 4-bit");
  case ((('B' << 24) | ('G' << 16) | ('R' << 8)) | 4 | 128):
    return ("BGR 4-bit per byte");
  case ((('B' << 24) | ('G' << 16) | ('R' << 8)) | 8):
    return ("BGR 8-bit");
  case ((('B' << 24) | ('G' << 16) | ('R' << 8)) | 15):
    return ("BGR 15-bit");
  case ((('B' << 24) | ('G' << 16) | ('R' << 8)) | 16):
    return ("BGR 16-bit");
  case ((('B' << 24) | ('G' << 16) | ('R' << 8)) | 24):
    return ("BGR 24-bit");
  case (((('B' << 24) | ('G' << 16) | ('R' << 8)) | 32) | 64):
    return ("ABGR");
  case ((('B' << 24) | ('G' << 16) | ('R' << 8)) | 32):
    return ("BGRA");
  case (((('R' << 24) | ('G' << 16) | ('B' << 8)) | 32) | 64):
    return ("ARGB");
  case ((('R' << 24) | ('G' << 16) | ('B' << 8)) | 32):
    return ("RGBA");
  case 0x39555659:
    return ("Planar YVU9");
  case 0x39304649:
    return ("Planar IF09");
  case 0x32315659:
    return ("Planar YV12");
  case 0x30323449:
    return ("Planar I420");
  case 0x56555949:
    return ("Planar IYUV");
  case 0x4C504C43:
    return ("Planar CLPL");
  case 0x30303859:
    return ("Planar Y800");
  case 0x20203859:
    return ("Planar Y8");
  case 0x50343434:
    return ("Planar 444P");
  case 0x50323234:
    return ("Planar 422P");
  case 0x50313134:
    return ("Planar 411P");
  case 0x3231564E:
    return ("Planar NV12");
  case 0x3132564E:
    return ("Planar NV21");
  case 0x32314D48:
    return ("Planar NV12 Macroblock");
  case 0x56595549:
    return ("Packed IUYV");
  case 0x31435949:
    return ("Packed IY41");
  case 0x31555949:
    return ("Packed IYU1");
  case 0x32555949:
    return ("Packed IYU2");
  case 0x59565955:
    return ("Packed UYVY");
  case 0x564E5955:
    return ("Packed UYNV");
  case 0x76757963:
    return ("Packed CYUV");
  case 0x32323459:
    return ("Packed Y422");
  case 0x32595559:
    return ("Packed YUY2");
  case 0x564E5559:
    return ("Packed YUNV");
  case 0x55595659:
    return ("Packed YVYU");
  case 0x50313459:
    return ("Packed Y41P");
  case 0x31313259:
    return ("Packed Y211");
  case 0x54313459:
    return ("Packed Y41T");
  case 0x54323459:
    return ("Packed Y42T");
  case 0x32323456:
    return ("Packed V422");
  case 0x35353656:
    return ("Packed V655");
  case 0x524A4C43:
    return ("Packed CLJR");
  case 0x50565559:
    return ("Packed YUVP");
  case 0x50565955:
    return ("Packed UYVP");
  case (('M' << 24) | ('P' << 16) | ('E' << 8) | ('S')):
    return ("Mpeg PES");
  case (('Z' << 24) | ('R' << 16) | ('N' << 8) | ('I')):
    return ("Zoran MJPEG non-interlaced");
  case (('Z' << 24) | ('R' << 16) | ('I' << 8) | ('T')):
    return ("Zoran MJPEG top field first");
  case (('Z' << 24) | ('R' << 16) | ('I' << 8) | ('B')):
    return ("Zoran MJPEG bottom field first");
  case (0x1DC70000 | 0x02):
    return ("MPEG1/2 Motion Compensation");
  case (0x1DC70000 | 0x82):
    return ("MPEG1/2 Motion Compensation and IDCT");
  }
  return ("Unknown");
}
```