Procs
proc swr_alloc(): ptr SwrContext {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_alloc_set_opts(s: ptr SwrContext; out_ch_layout: int64; out_sample_fmt: AVSampleFormat; out_sample_rate: cint; in_ch_layout: int64; in_sample_fmt: AVSampleFormat; in_sample_rate, log_offset: cint; log_ctx: pointer): ptr SwrContext {. importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_build_matrix(in_layout, out_layout: uint64; center_mix_level, surround_mix_level, lfe_mix_level, rematrix_maxval, rematrix_volume: cdouble; matrix: ptr cdouble; stride: cint; matrix_encoding: AVMatrixEncoding; log_ctx: pointer): cint {. importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_close(s: ptr SwrContext) {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_config_frame(swr: ptr SwrContext; out, in: ptr AVFrame): cint {. importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_convert(s: ptr SwrContext; out: ptr ptr uint8; out_count: cint; in: ptr ptr uint8; in_count: cint): cint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_convert_frame(swr: ptr SwrContext; output, input: ptr AVFrame): cint {. importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_drop_output(s: ptr SwrContext; count: cint): cint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_free(s: ptr ptr SwrContext) {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_get_class(): ptr AVClass {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_get_delay(s: ptr SwrContext; base: int64): int64 {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_get_out_samples(s: ptr SwrContext; in_samples: cint): cint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_init(s: ptr SwrContext): cint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_inject_silence(s: ptr SwrContext; count: cint): cint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_is_initialized(s: ptr SwrContext): cint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_next_pts(s: ptr SwrContext; pts: int64): int64 {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_set_channel_mapping(s: ptr SwrContext; channel_map: ptr cint): cint {. importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_set_compensation(s: ptr SwrContext; sample_delta: cint; compensation_distance: cint): cint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swr_set_matrix(s: ptr SwrContext; matrix: ptr cdouble; stride: cint): cint {. importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swresample_configuration(): cstring {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swresample_license(): cstring {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swresample_version(): cuint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}