#pragma once #include "av.hpp" extern "C" { typedef struct SwsFilter SwsFilter; typedef struct SwsContext SwsContext; } #include #include #include namespace sws{ template using deleter = av::deleter; struct error : std::runtime_error { using runtime_error::runtime_error; }; using context = std::unique_ptr>; context create_context(av::frame const & src, av::frame const & dest, int flags = 0, SwsFilter * src_filter = nullptr, SwsFilter * dest_filter = nullptr, double * params = nullptr); void scale(context const & c, av::frame const & src, av::frame const & dest); }