/* Copyright (C) 2011-2020, Dirk Krause SPDX-License-Identifier: BSD-3-Clause */ /* WARNING: This file was generated by the dkct program (see http://dktools.sourceforge.net/ for details). Changes you make here will be lost if dkct is run again! You should modify the original source and run dkct on it. Original source: dk3pixre.ctr */ /** @file dk3pixre.h Header file for the dk3pixre module. */ #ifndef DK3PIXRE_H_INCLUDED /** Avoid multiple inclusions. */ #define DK3PIXRE_H_INCLUDED 1 #line 10 "dk3pixre.ctr" #ifdef __cplusplus extern "C" { #endif /** Set up resampling structure. This function must be called before you start any conversion using dk3pixre_convert(). @param pp Resampling structure. @param inw Input number of bits per component. @param outw Output number of bits per component. @return 1 on success, 0 on error. */ int dk3pixre_set(dk3_pixel_resample_t *pp, size_t inw, size_t outw); /** Check whether a pixel value can be converted without quality loss. @param pp Pixel resampling structure. @param inval Value to convert. @return 1 on success, 0 on error. */ int dk3pixre_can_convert(dk3_pixel_resample_t const *pp, dk3_bif_pixel_t inval); /** Resample pixel. The dk3_pixel_resample_t structure must already be set up using dk3pixre_set(). @param pp Resampling structure. @param inval Value to resample. @return Pixel component resampled. */ dk3_bif_pixel_t dk3pixre_convert(dk3_pixel_resample_t const *pp, dk3_bif_pixel_t inval); /** Get mask for maximum output value. @param pp Resampling structure. @return Maximum value for given number of output bits. */ dk3_bif_pixel_t dk3pixre_get_max_value(dk3_pixel_resample_t const *pp); /** Get one pixel component value from packed bytes. @param row Pixel data. @param vi Value index. @param bpc Number of bits per component. @return Pixel component value. */ dk3_bif_pixel_t dk3pixre_get_value_from_packed_bytes( unsigned char const *row, dk3_bif_coord_t vi, size_t bpc ); /** Get maximum pixel value for a given bit width. @param w Bit width. @return Maximum value on success, 0 on error. */ dk3_bif_pixel_t dk3pixre_maximum_for_width(size_t w); #ifdef __cplusplus } #endif #endif