From e2de64d6f1beb9e492daf5b886e19933c1fa41dd Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdemultimedia@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- mpeglib/lib/util/render/dither2YUV/dither2YUV.h | 64 +++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 mpeglib/lib/util/render/dither2YUV/dither2YUV.h (limited to 'mpeglib/lib/util/render/dither2YUV/dither2YUV.h') diff --git a/mpeglib/lib/util/render/dither2YUV/dither2YUV.h b/mpeglib/lib/util/render/dither2YUV/dither2YUV.h new file mode 100644 index 00000000..5ef26b2b --- /dev/null +++ b/mpeglib/lib/util/render/dither2YUV/dither2YUV.h @@ -0,0 +1,64 @@ +/* + this class dithery RGB picture to yuv12 + 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 __DITHER2YUV_H +#define __DITHER2YUV_H + + +#include "../../mmx/mmx.h" +#include "../yuvPicture.h" + + +#include +#include "rgb2yuv16.h" +#include "rgb2yuv32.h" + +#define _SIZE_NONE 0 +#define _SIZE_NORMAL 1 +#define _SIZE_DOUBLE 2 + + +/** + Wraps all calls to software ditherer and the different + resolutions,mmx enhancements, and doublesize ditherers. +*/ + + +class Dither2YUV { + + int lmmx; + + int bpp; + + + public: + Dither2YUV(); + ~Dither2YUV(); + + int getDitherSize(); + void setDitherSize(int ditherSize); + + void doDither(YUVPicture* pic,int depth,int ditherSize, + unsigned char* dest,int offset); + + + private: + void doDitherRGB_NORMAL(YUVPicture* pic,int depth,int ditherSize, + unsigned char* dest,int offset); + + void doDither2YUV_std(YUVPicture* pic,int depth, + unsigned char* dest,int offset); + +}; + +#endif -- cgit v1.2.1