[FFmpeg-devel] [PATCH] avfilter/vf_lut3d: add planar rgb support
Clément Bœsch
u at pkh.me
Fri May 4 21:38:22 EEST 2018
On Thu, May 03, 2018 at 08:08:03PM +0200, Paul B Mahol wrote:
> Signed-off-by: Paul B Mahol <onemda at gmail.com>
> ---
> libavfilter/vf_lut3d.c | 114 +++++++++++++++++++++++++++++++++++++++++++++++--
> 1 file changed, 111 insertions(+), 3 deletions(-)
>
> diff --git a/libavfilter/vf_lut3d.c b/libavfilter/vf_lut3d.c
> index c9b72249aa..2f8fc723b7 100644
> --- a/libavfilter/vf_lut3d.c
> +++ b/libavfilter/vf_lut3d.c
> @@ -198,6 +198,83 @@ static inline struct rgbvec interp_tetrahedral(const LUT3DContext *lut3d,
> return c;
> }
>
> +#define DEFINE_INTERP_FUNC_PLANAR(name, nbits, depth) \
> +static int interp_##nbits##_##name##_p##depth(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) \
align style
[...]
> #define SET_FUNC(name) do { \
> - if (is16bit) lut3d->interp = interp_16_##name; \
> - else lut3d->interp = interp_8_##name; \
> + if (planar) { \
> + switch (depth) { \
> + case 8: lut3d->interp = interp_8_##name##_p8; break; \
> + case 9: lut3d->interp = interp_16_##name##_p9; break; \
> + case 10: lut3d->interp = interp_16_##name##_p10; break; \
> + case 12: lut3d->interp = interp_16_##name##_p12; break; \
> + case 14: lut3d->interp = interp_16_##name##_p14; break; \
> + case 16: lut3d->interp = interp_16_##name##_p16; break; \
> + } \
> + } else if (is16bit) { lut3d->interp = interp_16_##name; \
> + } else { lut3d->interp = interp_8_##name; } \
align style
[...]
aside from these details, LGTM, thanks
feel free to adjust the av_clip in DEFINE_INTERP_FUNC in another commit if
it works
--
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20180504/28732a5e/attachment.sig>
More information about the ffmpeg-devel
mailing list