ImageFlip C++ lib. Simple image flip implementation based on OpenCV

€50.00

The ImageFlip C++ library implements simple image flip function based on OpenCV and compatible with VFilter to be implemented in video processing pipelines.

LICENSE: We sell source code of this library as is, without future updates and technical support according to perpetual non-exclusive royalty-free license. You pay once and can use this library in your software and hardware products without limits. Please read the license agreement before purchasing: LICENSE.

The ImageFlip C++ library implements simple image flip function based on OpenCV and compatible with VFilter to be implemented in video processing pipelines.

LICENSE: We sell source code of this library as is, without future updates and technical support according to perpetual non-exclusive royalty-free license. You pay once and can use this library in your software and hardware products without limits. Please read the license agreement before purchasing: LICENSE.

Overview

ImageFlip C++ library provides high-performance image flip functions with a custom SIMD-optimized implementation. The library is compatible with the VFilter interface for integration into video processing pipelines. It supports three flip modes: left-right, up-down and both (180-degree rotation). The library automatically detects the target platform at compile time and selects the optimal SIMD instruction set: AVX2 or SSE (SSSE3) on x86/x64, NEON on ARM/AArch64, or a scalar fallback on unsupported architectures. The library uses C++17 standard.

Documentation

Documentation: GO TO DOCUMENTATION

Simple interface

namespace cr
{
namespace video
{
class ImageFlip : public VFilter
{
public:

    /// Get the version of the ImageFlip class.
    static std::string getVersion();

    /// Initialize image flip.
    bool initVFilter(VFilterParams& params) override;

    /// Set VFilter parameter.
    bool setParam(VFilterParam id, float value) override;

    /// Get the value of a specific VFilter parameter.
    float getParam(VFilterParam id) override;

    /// Get the structure containing all VFilter parameters.
    void getParams(VFilterParams& params) override;

    /// Execute a VFilter action command.
    bool executeCommand(VFilterCommand id) override;

    /// Process frame.
    bool processFrame(cr::video::Frame& frame) override;

    /// Set mask for filter.
    bool setMask(cr::video::Frame mask) override;

    /// Decode and execute command.
    bool decodeAndExecuteCommand(uint8_t* data, int size) override;
};
}
}