You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdemultimedia/mpeglib/lib/util/render/dither/dither8Bit.h

64 lines
1.2 KiB

/*
dither 8 bit depth yuv images
Copyright (C) 2000 Martin Vogt
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Library General Public License as published by
the Free Software Foundation.
For more information look at the file COPYRIGHT in this package
*/
#ifndef __DITHER_8BIT_H
#define __DITHER_8BIT_H
#include "colorTable8Bit.h"
#define DITH_SIZE 16
class Dither8Bit {
/* Structures used to implement hybrid ordered dither/floyd-steinberg
dither algorithm.
*/
unsigned char *l_darrays[DITH_SIZE];
unsigned char *cr_darrays[DITH_SIZE];
unsigned char *cb_darrays[DITH_SIZE];
// private colormap
unsigned char pixel[256];
ColorTable8Bit* colorTable8Bit;
// Arrays holding quantized value ranged for lum, cr, and cb.
// (used for 8 Bit)
int* lum_values;
int* cr_values;
int* cb_values;
public:
Dither8Bit(unsigned char pixel[256]);
~Dither8Bit();
void ditherImageOrdered (unsigned char* lum,
unsigned char* cr,
unsigned char* cb,
unsigned char* out,
int h,
int w);
private:
void initOrderedDither();
};
#endif