user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<vo_format_name>:
  endbr64
  cmp    $0x4d504553,%edi
  je     L184
  jg     L46
  lea    D486(%rip),%rax
  cmp    $0x32555949,%edi
  je     L193
  jle    L294
  cmp    $0x42475220,%edi
  jg     L41
  cmp    $0x42475200,%edi
  jg     L135
  lea    D250(%rip),%rax
  cmp    $0x39304649,%edi
  je     L193
  jle    L323
  cmp    $0x39555659,%edi
  lea    D64(%rip),%rdx
  lea    D15(%rip),%rax
  cmove  %rdx,%rax
  ret
  nopl   (%rax)
L46:
  lea    D711(%rip),%rax
  cmp    $0x52474284,%edi
  je     L193
  jle    L49
  lea    D480(%rip),%rax
  cmp    $0x56555949,%edi
  je     L193
  jle    L324
  lea    D445(%rip),%rax
  cmp    $0x5a524954,%edi
  je     L193
  jle    L26
  lea    D484(%rip),%rax
  cmp    $0x5a524e49,%edi
  je     L193
  cmp    $0x76757963,%edi
  lea    D37(%rip),%rdx
  lea    D15(%rip),%rax
  cmove  %rdx,%rax
  ret
L323:
  lea    D89(%rip),%rax
  cmp    $0x32595559,%edi
  je     L193
  cmp    $0x35353656,%edi
  lea    D488(%rip),%rdx
  lea    D15(%rip),%rax
  cmove  %rdx,%rax
  ret
L26:
  lea    D55(%rip),%rax
  cmp    $0x59565955,%edi
  je     L193
  cmp    $0x5a524942,%edi
  jne    L410
  lea    D396(%rip),%rax
L193:
  ret
L410:
  cmp    $0x56595549,%edi
  lea    D128(%rip),%rdx
  lea    D15(%rip),%rax
  cmove  %rdx,%rax
  ret
  nopl   0x0(%rax,%rax,1)
L324:
  lea    D492(%rip),%rax
  cmp    $0x55595659,%edi
  je     L193
  jle    L333
  lea    D629(%rip),%rax
  cmp    $0x564e5559,%edi
  je     L193
  cmp    $0x564e5955,%edi
  lea    D610(%rip),%rdx
  lea    D15(%rip),%rax
  cmove  %rdx,%rax
  ret
  nopl   (%rax)
L49:
  cmp    $0x52474220,%edi
  jg     L50
  cmp    $0x52474200,%edi
  jg     L216
  lea    D344(%rip),%rax
  cmp    $0x50343434,%edi
  je     L193
  jle    L54
  lea    D681(%rip),%rax
  cmp    $0x50565559,%edi
  je     L193
  cmp    $0x50565955,%edi
  lea    D645(%rip),%rdx
  lea    D15(%rip),%rax
  cmove  %rdx,%rax
  ret
L333:
  lea    D80(%rip),%rax
  cmp    $0x54313459,%edi
  je     L193
  cmp    $0x54323459,%edi
  jne    L354
  lea    D459(%rip),%rax
  ret
L54:
  lea    D676(%rip),%rax
  cmp    $0x50313459,%edi
  je     L193
  cmp    $0x50323234,%edi
  jne    L207
  lea    D397(%rip),%rax
  ret
L354:
  cmp    $0x524a4c43,%edi
  lea    D20(%rip),%rdx
  lea    D15(%rip),%rax
  cmove  %rdx,%rax
  ret
L207:
  cmp    $0x50313134,%edi
  lea    D731(%rip),%rdx
  lea    D15(%rip),%rax
  cmove  %rdx,%rax
  ret
  nopl   0x0(%rax)
L216:
  sub    $0x52474201,%edi
  cmp    $0x1f,%edi
  ja     L290
  lea    D727(%rip),%rdx
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax)
L290:
  lea    D15(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
L50:
  cmp    $0x52474260,%edi
  lea    D184(%rip),%rdx
  lea    D15(%rip),%rax
  cmove  %rdx,%rax
  ret
  nopl   0x0(%rax)
L135:
  sub    $0x42475201,%edi
  cmp    $0x1f,%edi
  ja     L290
  lea    D525(%rip),%rdx
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax)
L294:
  lea    D142(%rip),%rax
  cmp    $0x31435949,%edi
  je     L193
  jle    L241
  lea    D74(%rip),%rax
  cmp    $0x32315659,%edi
  je     L193
  jle    L386
  lea    D526(%rip),%rax
  cmp    $0x32323456,%edi
  je     L193
  cmp    $0x32323459,%edi
  lea    D617(%rip),%rdx
  lea    D15(%rip),%rax
  cmove  %rdx,%rax
  ret
  nopw   0x0(%rax,%rax,1)
L41:
  lea    D403(%rip),%rax
  cmp    $0x42475284,%edi
  je     L193
  cmp    $0x4c504c43,%edi
  jne    L306
  lea    D195(%rip),%rax
  ret
L386:
  lea    D97(%rip),%rax
  cmp    $0x32314d48,%edi
  je     L193
  cmp    $0x3231564e,%edi
  jne    L360
  lea    D708(%rip),%rax
  ret
  cs nopw 0x0(%rax,%rax,1)
L241:
  lea    D355(%rip),%rax
  cmp    $0x30303859,%edi
  je     L193
  jle    L212
  lea    D739(%rip),%rax
  cmp    $0x31313259,%edi
  je     L193
  cmp    $0x3132564e,%edi
  jne    L460
  lea    D455(%rip),%rax
  ret
L306:
  cmp    $0x42475260,%edi
  lea    D663(%rip),%rdx
  lea    D15(%rip),%rax
  cmove  %rdx,%rax
  ret
L360:
  cmp    $0x31555949,%edi
  lea    D407(%rip),%rdx
  lea    D15(%rip),%rax
  cmove  %rdx,%rax
  ret
L460:
  cmp    $0x30323449,%edi
  lea    D745(%rip),%rdx
  lea    D15(%rip),%rax
  cmove  %rdx,%rax
  ret
L212:
  lea    D374(%rip),%rax
  cmp    $0x1dc70082,%edi
  je     L193
  cmp    $0x20203859,%edi
  jne    L272
  lea    D57(%rip),%rax
  ret
L272:
  cmp    $0x1dc70002,%edi
  lea    D253(%rip),%rdx
  lea    D15(%rip),%rax
  cmove  %rdx,%rax
  ret
  nop
  lea    D666(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D410(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D27(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D618(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D648(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D482(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D77(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D141(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D220(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D732(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D473(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D150(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D336(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D404(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
L184:
  lea    D230(%rip),%rax
  ret
```

tool_calls: name: parse_data
arguments: data_tag: D486
type: string
name: parse_data
arguments: data_tag: D250
type: string
name: parse_data
arguments: data_tag: D64
type: string
name: parse_data
arguments: data_tag: D15
type: string
name: parse_data
arguments: data_tag: D711
type: string
name: parse_data
arguments: data_tag: D480
type: string
name: parse_data
arguments: data_tag: D445
type: string
name: parse_data
arguments: data_tag: D484
type: string
name: parse_data
arguments: data_tag: D37
type: string
name: parse_data
arguments: data_tag: D89
type: string
name: parse_data
arguments: data_tag: D488
type: string
name: parse_data
arguments: data_tag: D55
type: string
name: parse_data
arguments: data_tag: D396
type: string
name: parse_data
arguments: data_tag: D128
type: string
name: parse_data
arguments: data_tag: D492
type: string
name: parse_data
arguments: data_tag: D629
type: string
name: parse_data
arguments: data_tag: D610
type: string
name: parse_data
arguments: data_tag: D344
type: string
name: parse_data
arguments: data_tag: D681
type: string
name: parse_data
arguments: data_tag: D645
type: string
name: parse_data
arguments: data_tag: D80
type: string
name: parse_data
arguments: data_tag: D459
type: string
name: parse_data
arguments: data_tag: D676
type: string
name: parse_data
arguments: data_tag: D397
type: string
name: parse_data
arguments: data_tag: D20
type: string
name: parse_data
arguments: data_tag: D731
type: string
name: parse_data
arguments: data_tag: D184
type: string
name: parse_data
arguments: data_tag: D142
type: string
name: parse_data
arguments: data_tag: D74
type: string
name: parse_data
arguments: data_tag: D526
type: string
name: parse_data
arguments: data_tag: D617
type: string
name: parse_data
arguments: data_tag: D403
type: string
name: parse_data
arguments: data_tag: D195
type: string
name: parse_data
arguments: data_tag: D97
type: string
name: parse_data
arguments: data_tag: D708
type: string
name: parse_data
arguments: data_tag: D355
type: string
name: parse_data
arguments: data_tag: D739
type: string
name: parse_data
arguments: data_tag: D455
type: string
name: parse_data
arguments: data_tag: D663
type: string
name: parse_data
arguments: data_tag: D407
type: string
name: parse_data
arguments: data_tag: D745
type: string
name: parse_data
arguments: data_tag: D374
type: string
name: parse_data
arguments: data_tag: D57
type: string
name: parse_data
arguments: data_tag: D253
type: string
name: parse_data
arguments: data_tag: D666
type: string
name: parse_data
arguments: data_tag: D410
type: string
name: parse_data
arguments: data_tag: D27
type: string
name: parse_data
arguments: data_tag: D618
type: string
name: parse_data
arguments: data_tag: D648
type: string
name: parse_data
arguments: data_tag: D482
type: string
name: parse_data
arguments: data_tag: D77
type: string
name: parse_data
arguments: data_tag: D141
type: string
name: parse_data
arguments: data_tag: D220
type: string
name: parse_data
arguments: data_tag: D732
type: string
name: parse_data
arguments: data_tag: D473
type: string
name: parse_data
arguments: data_tag: D150
type: string
name: parse_data
arguments: data_tag: D336
type: string
name: parse_data
arguments: data_tag: D404
type: string
name: parse_data
arguments: data_tag: D230
type: string

tool: D486: Packed IYU2

tool: D250: Planar IF09

tool: D64: Planar YVU9

tool: D15: Unknown

tool: D711: RGB 4-bit per byte

tool: D480: Planar IYUV

tool: D445: Zoran MJPEG top field first

tool: D484: Zoran MJPEG non-interlaced

tool: D37: Packed CYUV

tool: D89: Packed YUY2

tool: D488: Packed V655

tool: D55: Packed UYVY

tool: D396: Zoran MJPEG bottom field first

tool: D128: Packed IUYV

tool: D492: Packed YVYU

tool: D629: Packed YUNV

tool: D610: Packed UYNV

tool: D344: Planar 444P

tool: D681: Packed YUVP

tool: D645: Packed UYVP

tool: D80: Packed Y41T

tool: D459: Packed Y42T

tool: D676: Packed Y41P

tool: D397: Planar 422P

tool: D20: Packed CLJR

tool: D731: Planar 411P

tool: D184: ARGB

tool: D142: Packed IY41

tool: D74: Planar YV12

tool: D526: Packed V422

tool: D617: Packed Y422

tool: D403: BGR 4-bit per byte

tool: D195: Planar CLPL

tool: D97: Planar NV12 Macroblock

tool: D708: Planar NV12

tool: D355: Planar Y800

tool: D739: Packed Y211

tool: D455: Planar NV21

tool: D663: ABGR

tool: D407: Packed IYU1

tool: D745: Planar I420

tool: D374: MPEG1/2 Motion Compensation and IDCT

tool: D57: Planar Y8

tool: D253: MPEG1/2 Motion Compensation

tool: D666: BGR 4-bit

tool: D410: RGB 1-bit

tool: D27: RGB 4-bit

tool: D618: BGR 1-bit

tool: D648: RGBA

tool: D482: BGR 15-bit

tool: D77: BGR 8-bit

tool: D141: BGRA

tool: D220: RGB 24-bit

tool: D732: RGB 16-bit

tool: D473: RGB 15-bit

tool: D150: RGB 8-bit

tool: D336: BGR 24-bit

tool: D404: BGR 16-bit

tool: D230: 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");
}
```