/* 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 */ #include "dither2YUV.h" #include using namespace std; Dither2YUV::Dither2YUV() { lmmx=mm_support(); } Dither2YUV::~Dither2YUV(){ } void Dither2YUV::doDither(YUVPicture* pic,int depth,int ditherSize, unsigned char* dest,int offset) { int inputType=pic->getImageType(); switch(inputType) { case PICTURE_RGB: doDitherRGB_NORMAL(pic,depth,ditherSize,dest,offset); break; default: std::cout << "unknown RGB type:"<getHeight(); int w=rgbPic->getWidth(); int lumLength=w * h; int colorLength=(w * h) / 4; unsigned char* lum=dest; unsigned char* cr=lum+lumLength; unsigned char* cb=cr+colorLength; unsigned char* rgbSource=rgbPic->getImagePtr(); switch (depth) { case 8: std::cout << "8 bit dither to yuv not supported"<