libpromeki 1.0.0-alpha
PROfessional MEdia toolKIt
 
Loading...
Searching...
No Matches
cscregistry.h
Go to the documentation of this file.
1
8#pragma once
9
10
11#include <promeki/config.h>
12#if PROMEKI_ENABLE_CSC
13#include <promeki/namespace.h>
14#include <promeki/pixelformat.h>
15
16PROMEKI_NAMESPACE_BEGIN
17
18class CSCContext;
19
36class CSCRegistry {
37 public:
50 using LineFuncPtr = void (*)(const void *const *srcPlanes, const size_t *srcStrides,
51 void *const *dstPlanes, const size_t *dstStrides, size_t width,
52 CSCContext &ctx);
53
60 static void registerFastPath(const PixelFormat &src, const PixelFormat &dst, LineFuncPtr func);
61
68 static LineFuncPtr lookupFastPath(const PixelFormat &src, const PixelFormat &dst);
69
70 private:
71 CSCRegistry() = delete;
72};
73
74PROMEKI_NAMESPACE_END
75
76#endif // PROMEKI_ENABLE_CSC