Consts
SWS_ACCURATE_RND = 0x00040000
SWS_AREA = 0x00000020
SWS_BICUBIC = 4
SWS_BICUBLIN = 0x00000040
SWS_BILINEAR = 2
SWS_BITEXACT = 0x00080000
SWS_CS_BT2020 = 9
SWS_CS_DEFAULT = 5
SWS_CS_FCC = 4
SWS_CS_ITU601 = 5
SWS_CS_ITU624 = 5
SWS_CS_ITU709 = 1
SWS_CS_SMPTE170M = 5
SWS_CS_SMPTE240M = 7
SWS_DIRECT_BGR = 0x00008000
SWS_ERROR_DIFFUSION = 0x00800000
SWS_FULL_CHR_H_INP = 0x00004000
SWS_FULL_CHR_H_INT = 0x00002000
SWS_GAUSS = 0x00000080
SWS_LANCZOS = 0x00000200
SWS_MAX_REDUCE_CUTOFF = 0.002
SWS_PARAM_DEFAULT = 123456
SWS_POINT = 0x00000010
SWS_PRINT_INFO = 0x00001000
SWS_SINC = 0x00000100
SWS_SPLINE = 0x00000400
SWS_X = 8
Procs
proc sws_alloc_context(): ptr SwsContext {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_allocVec(length: cint): ptr SwsVector {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_convertPalette8ToPacked24(src, dst: ptr uint8; num_pixels: cint; palette: ptr uint8) {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_convertPalette8ToPacked32(src, dst: ptr uint8; num_pixels: cint; palette: ptr uint8) {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_frame_end(c: ptr SwsContext) {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_frame_start(c: ptr SwsContext; dst, src: ptr AVFrame): cint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_freeContext(swsContext: ptr SwsContext) {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_freeFilter(filter: ptr SwsFilter) {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_freeVec(a: ptr SwsVector) {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_get_class(): ptr AVClass {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_getCachedContext(context: ptr SwsContext; srcW, srcH: cint; srcFormat: AVPixelFormat; dstW, dstH: cint; dstFormmat: AVPixelFormat; flags: cint; srcFilter, dstFilter: ptr SwsFilter; param: ptr cdouble): ptr SwsContext {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_getCoefficients(colorspace: cint): ptr cint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_getColorspaceDetails(c: ptr SwsContext; inv_table: ptr ptr cint; srcRange: ptr cint; table: ptr ptr cint; dstRange, brightness, contrast, saturation: ptr cint): cint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_getContext(srcW, srcH: cint; srcFormat: AVPixelFormat; dstW, dstH: cint; dstFormat: AVPixelFormat; flags: cint; srcFilter, dstFilter: ptr SwsFilter; param: ptr cdouble): ptr SwsContext {. importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_getDefaultFilter(lumaGBlur, chromaGBlur, lumaSharpen, chromaSharpen, chromaHShift, chromaVShift: cfloat; verbose: cint): ptr SwsFilter {. importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_getGaussianVec(variance, quality: cdouble): ptr SwsVector {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_init_context(sws_context: ptr SwsContext; srcFilter, dstFilter: ptr SwsFilter): cint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_isSupportedEndiannessConversion(pix_fmt: AVPixelFormat): cint {. importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_isSupportedInput(pix_fmt: AVPixelFormat): cint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_isSupportedOutput(pix_fmt: AVPixelFormat): cint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_normalizeVec(a: ptr SwsVector; height: cdouble) {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_receive_slice(c: ptr SwsContext; slice_start, slice_height: cuint): cint {. importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_receive_slice_alignment(c: ptr SwsContext): cuint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_scale(c: ptr SwsContext; srcSlice: ptr ptr uint8; srcStride: ptr cint; srcSliceY, srcSliceH: cint; dst: ptr ptr uint8; dstStride: ptr cint): cint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_scale_frame(c: ptr SwsContext; dst, src: ptr AVFrame): cint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_scaleVec(a: ptr SwsVector; scalar: cdouble) {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_send_slice(c: ptr SwsContext; slice_start, slice_height: cuint): cint {. importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc sws_setColorspaceDetails(c: ptr SwsContext; inv_table: ptr cint; srcRange: cint; table: ptr cint; dstRange, brightness, contrast, saturation: cint): cint {. importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swscale_configuration(): cstring {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swscale_license(): cstring {.importc, cdecl, ...raises: [], tags: [], forbids: [].}
proc swscale_version(): cuint {.importc, cdecl, ...raises: [], tags: [], forbids: [].}