user: 请将以下的汇编代码转换成C语言代码：

```asm
<set_defaults>:
  endbr64
  sub    $0x8,%rsp
  xor    %edi,%edi
  call   <FS460_set_tv_on@plt>
  test   %eax,%eax
  je     L28
L142:
  add    $0x8,%rsp
  ret
  nopl   0x0(%rax,%rax,1)
L28:
  call   <init_special@plt>
  test   %eax,%eax
  jne    L142
  mov    $0x1,%edi
  call   <FS460_set_tv_standard@plt>
  test   %eax,%eax
  jne    L142
  mov    $0x2,%edi
  call   <FS460_set_vga_mode@plt>
  test   %eax,%eax
  jne    L142
  mov    $0x1,%edi
  call   <FS460_set_tvout_mode@plt>
  test   %eax,%eax
  jne    L142
  mov    $0x3e8,%edi
  call   <FS460_set_sharpness@plt>
  test   %eax,%eax
  jne    L142
  mov    $0x320,%edi
  call   <FS460_set_flicker_filter@plt>
  test   %eax,%eax
  jne    L142
  xor    %esi,%esi
  xor    %edi,%edi
  mov    $0x1e0,%ecx
  mov    $0x2d0,%edx
  call   <FS460_set_vga_position@plt>
  test   %eax,%eax
  jne    L142
  mov    $0x32,%edi
  call   <FS460_set_color@plt>
  test   %eax,%eax
  jne    L142
  mov    $0x32,%edi
  call   <FS460_set_brightness@plt>
  test   %eax,%eax
  jne    L142
  mov    $0x32,%edi
  call   <FS460_set_contrast@plt>
  test   %eax,%eax
  jne    L142
  mov    $0x3,%edi
  call   <FS460_set_yc_filter@plt>
  test   %eax,%eax
  jne    L142
  mov    $0x2,%esi
  mov    $0x1,%edi
  call   <FS460_set_sync_mode@plt>
  test   %eax,%eax
  jne    L142
  mov    $0x2,%esi
  mov    $0x3,%edi
  call   <FS460_set_sync_mode@plt>
  test   %eax,%eax
  jne    L142
  xor    %esi,%esi
  xor    %edi,%edi
  xor    %edx,%edx
  call   <FS460_set_sync_invert@plt>
  mov    $0x1,%esi
  mov    $0x1,%edi
  call   <FS460_set_input_mux@plt>
  test   %eax,%eax
  jne    L142
  mov    $0x2,%esi
  mov    $0x3,%edi
  call   <FS460_set_input_mux@plt>
  test   %eax,%eax
  jne    L142
  xor    %edi,%edi
  call   <FS460_set_blender_bypass@plt>
  mov    $0x1,%esi
  mov    $0x1,%edi
  call   <FS460_set_channel_mux@plt>
  test   %eax,%eax
  jne    L142
  mov    $0x4,%esi
  mov    $0x2,%edi
  call   <FS460_set_channel_mux@plt>
  test   %eax,%eax
  jne    L142
  mov    $0x3,%esi
  mov    $0x3,%edi
  call   <FS460_set_channel_mux@plt>
  test   %eax,%eax
  jne    L142
  pop    %rdx
  jmp    1230 <init_blender@plt>
```

assistant: ```c
int set_defaults(void) {
  int err;
  err = FS460_set_tv_on(0);
  if (err)
    return err;
  err = init_special();
  if (err)
    return err;
  err = FS460_set_tv_standard(0x0001);
  if (err)
    return err;
  err = FS460_set_vga_mode(0x0002);
  if (err)
    return err;
  err = FS460_set_tvout_mode(1);
  if (err)
    return err;
  err = FS460_set_sharpness(1000);
  if (err)
    return err;
  err = FS460_set_flicker_filter(800);
  if (err)
    return err;
  err = FS460_set_vga_position(0, 0, 720, 480);
  if (err)
    return err;
  err = FS460_set_color(50);
  if (err)
    return err;
  err = FS460_set_brightness(50);
  if (err)
    return err;
  err = FS460_set_contrast(50);
  if (err)
    return err;
  err = FS460_set_yc_filter(0x0001 | 0x0002);
  if (err)
    return err;
  err = FS460_set_sync_mode(1, 2);
  if (err)
    return err;
  err = FS460_set_sync_mode(3, 2);
  if (err)
    return err;
  err = FS460_set_sync_invert(0, 0, 0);
  err = FS460_set_input_mux(1, 1);
  if (err)
    return err;
  err = FS460_set_input_mux(3, 2);
  if (err)
    return err;
  err = FS460_set_blender_bypass(0);
  err = FS460_set_channel_mux(1, 1);
  if (err)
    return err;
  err = FS460_set_channel_mux(2, 4);
  if (err)
    return err;
  err = FS460_set_channel_mux(3, 3);
  if (err)
    return err;
  err = init_blender();
  if (err)
    return err;
  return 0;
}
```