#include <osdsurface.h>
Definition at line 19 of file osdsurface.h.
Public Member Functions | |
| OSDSurface (int w, int h) | |
| ~OSDSurface () | |
| void | Clear (void) |
| void | ClearUsed (void) |
| bool | IsClear () |
| bool | IntersectsDrawn (QRect &newrect) |
| void | AddRect (QRect &newrect) |
| bool | Changed (void) |
| void | SetChanged (bool change) |
| int | GetRevision () |
| void | BlendToYV12 (unsigned char *yptr, unsigned char *uptr, unsigned char *vptr, int ystride, int ustride, int vstride) const |
| Alpha blends OSDSurface to yuv buffer of the same size. | |
| void | BlendToARGB (unsigned char *argbptr, uint stride, uint height, bool blendtoblack=false, uint threshold=0) const |
| Alpha blends OSDSurface to ARGB buffer. | |
| void | DitherToI44 (unsigned char *outbuf, bool ifirst, uint stride, uint height) const |
| Copies and converts OSDSurface to either a greyscale IA44 or AI44 buffer. | |
| void | DitherToIA44 (unsigned char *outbuf, uint stride, uint height) const |
| Copies and converts OSDSurface to a greyscale IA44 buffer. | |
| void | DitherToAI44 (unsigned char *outbuf, uint stride, uint height) const |
| Copies and converts OSDSurface to a greyscale AI44 buffer. | |
Public Attributes | |
| int | revision |
| unsigned char * | yuvbuffer |
| unsigned char * | y |
| unsigned char * | u |
| unsigned char * | v |
| unsigned char * | alpha |
| int | width |
| int | height |
| int | size |
| QRegion | usedRegions |
| QMutex | usedRegionsLock |
| short int | rec_lut [256] |
| short int * | rec_lut |
| unsigned char | pow_lut [256][256] |
| blendregion_ptr | blendregionfunc |
| blendcolumn2_ptr | blendcolumn2func |
| blendcolumn_ptr | blendcolumnfunc |
| blendcolor_ptr | blendcolorfunc |
| blendconst_ptr | blendconstfunc |
| bool | changed |
| bool | usemmx |
| unsigned char | cropTbl [256+2 *MAX_NEG_CROP] |
| unsigned char * | cm |
| OSDSurface::OSDSurface | ( | int | w, | |
| int | h | |||
| ) |
Definition at line 19 of file osdsurface.cpp.
| OSDSurface::~OSDSurface | ( | ) |
Definition at line 80 of file osdsurface.cpp.
| void OSDSurface::Clear | ( | void | ) |
| void OSDSurface::ClearUsed | ( | void | ) |
| bool OSDSurface::IsClear | ( | void | ) |
| bool OSDSurface::IntersectsDrawn | ( | QRect & | newrect | ) |
Definition at line 144 of file osdsurface.cpp.
Referenced by OSDTypeBox::Draw(), and OSDTypeImage::Draw().
| void OSDSurface::AddRect | ( | QRect & | newrect | ) |
Definition at line 155 of file osdsurface.cpp.
Referenced by OSDTypePositionRectangle::Draw(), OSDTypeBox::Draw(), OSDTypeEditSlider::Draw(), OSDTypeImage::Draw(), OSDTypeTeletext::DrawRect(), and TTFFont::merge_text().
| bool OSDSurface::Changed | ( | void | ) | [inline] |
Definition at line 32 of file osdsurface.h.
Referenced by VideoOutput::DisplayOSD(), VideoOutputXv::DisplayOSD(), and VideoOutputQuartz::ProcessFrame().
| void OSDSurface::SetChanged | ( | bool | change | ) | [inline] |
| int OSDSurface::GetRevision | ( | ) | [inline] |
Definition at line 39 of file osdsurface.h.
Referenced by VideoOutput::DisplayOSD(), VideoOutputXv::DisplayOSD(), and ChromaKeyOSD::ProcessOSD().
| void OSDSurface::BlendToYV12 | ( | unsigned char * | yptr, | |
| unsigned char * | uptr, | |||
| unsigned char * | vptr, | |||
| int | ystride, | |||
| int | ustride, | |||
| int | vstride | |||
| ) | const |
Alpha blends OSDSurface to yuv buffer of the same size.
| yptrdest | Pointer to Y buffer to blend OSD to. | |
| uptrdest | Pointer to U buffer to blend OSD to. | |
| vptrdest | Pointer to V buffer to blend OSD to. |
Definition at line 566 of file osdsurface.cpp.
Referenced by VideoOutput::DisplayOSD().
| void OSDSurface::BlendToARGB | ( | unsigned char * | argbptr, | |
| uint | stride, | |||
| uint | height, | |||
| bool | blendtoblack = false, |
|||
| uint | threshold = 0 | |||
| ) | const |
Alpha blends OSDSurface to ARGB buffer.
| stride | Length of each line in output buffer in bytes | |
| outheight | Number of lines in output buffer | |
| blend_to_black | Uses Alpha to blend buffer to black | |
| threshold | Alpha threshold above which to perform blending |
Definition at line 690 of file osdsurface.cpp.
Referenced by VideoOutput::DisplayOSD(), and ChromaKeyOSD::ProcessOSD().
| void OSDSurface::DitherToI44 | ( | unsigned char * | outbuf, | |
| bool | ifirst, | |||
| uint | stride, | |||
| uint | height | |||
| ) | const |
Copies and converts OSDSurface to either a greyscale IA44 or AI44 buffer.
| outbuf | Output buffer | |
| ifirst | If true output buffer is AI44, otherwise it is IA44 | |
| stride | Length of each line in output buffer in bytes | |
| outheight | Number of lines in output buffer |
Definition at line 778 of file osdsurface.cpp.
Referenced by DitherToAI44(), and DitherToIA44().
Copies and converts OSDSurface to a greyscale IA44 buffer.
| outbuf | Output buffer | |
| stride | Length of each line in output buffer in bytes | |
| outheight | Number of lines in output buffer |
Definition at line 876 of file osdsurface.cpp.
Referenced by VideoOutput::DisplayOSD().
Copies and converts OSDSurface to a greyscale AI44 buffer.
| outbuf | Output buffer | |
| stride | Length of each line in output buffer in bytes | |
| outheight | Number of lines in output buffer |
Definition at line 891 of file osdsurface.cpp.
Referenced by VideoOutput::DisplayOSD().
Definition at line 53 of file osdsurface.h.
Referenced by GetRevision(), OSDSurface(), and SetChanged().
| unsigned char* OSDSurface::yuvbuffer |
Definition at line 55 of file osdsurface.h.
Referenced by VideoOutputXv::DisplayOSD(), OSDSurface(), and ~OSDSurface().
| unsigned char* OSDSurface::y |
Definition at line 58 of file osdsurface.h.
Referenced by BlendToARGB(), BlendToYV12(), Clear(), ClearUsed(), VideoOutputXv::DisplayOSD(), DitherToI44(), OSDType708CC::Draw(), OSDTypePositionRectangle::Draw(), OSDTypeBox::Draw(), OSDTypeEditSlider::Draw(), OSDTypeImage::Draw(), OSDTypeTeletext::DrawRect(), TTFFont::merge_text(), OSDSurface(), OSDListBtnTypeItem::paint(), and VideoOutputQuartz::ProcessFrame().
| unsigned char* OSDSurface::u |
Definition at line 59 of file osdsurface.h.
Referenced by BlendToARGB(), BlendToYV12(), Clear(), ClearUsed(), VideoOutputXv::DisplayOSD(), OSDTypeEditSlider::Draw(), OSDTypeImage::Draw(), OSDTypeTeletext::DrawRect(), TTFFont::merge_text(), OSDSurface(), and VideoOutputQuartz::ProcessFrame().
| unsigned char* OSDSurface::v |
Definition at line 60 of file osdsurface.h.
Referenced by BlendToARGB(), BlendToYV12(), Clear(), ClearUsed(), VideoOutputXv::DisplayOSD(), OSDTypeEditSlider::Draw(), OSDTypeImage::Draw(), OSDTypeTeletext::DrawRect(), TTFFont::merge_text(), OSDSurface(), and VideoOutputQuartz::ProcessFrame().
| unsigned char* OSDSurface::alpha |
Definition at line 62 of file osdsurface.h.
Referenced by BlendToARGB(), BlendToYV12(), Clear(), ClearUsed(), VideoOutputXv::DisplayOSD(), DitherToI44(), OSDTypeBox::Draw(), OSDTypeEditSlider::Draw(), OSDTypeImage::Draw(), OSDTypeTeletext::DrawRect(), TTFFont::merge_text(), OSDSurface(), VideoOutputQuartz::ProcessFrame(), and ~OSDSurface().
Definition at line 64 of file osdsurface.h.
Referenced by BlendToARGB(), BlendToYV12(), OSDType708CC::CalcBounds(), ClearUsed(), DitherToI44(), OSDType708CC::Draw(), OSDTypeCC::Draw(), OSDTypePositionRectangle::Draw(), OSDTypeBox::Draw(), OSDTypeEditSlider::Draw(), OSDTypeImage::Draw(), OSDTypeTeletext::DrawCharacter(), OSDTypeText::DrawHiLiteString(), OSDTypeTeletext::DrawRect(), OSDTypeText::DrawString(), TTFFont::merge_text(), and OSDSurface().
Definition at line 65 of file osdsurface.h.
Referenced by BlendToARGB(), BlendToYV12(), OSDType708CC::CalcBounds(), ClearUsed(), DitherToI44(), OSDType708CC::Draw(), OSDTypeCC::Draw(), OSDTypePositionRectangle::Draw(), OSDTypeBox::Draw(), OSDTypeEditSlider::Draw(), OSDTypeImage::Draw(), OSDTypeTeletext::DrawCharacter(), OSDTypeText::DrawHiLiteString(), OSDTypeText::DrawString(), TTFFont::merge_text(), and OSDSurface().
| int OSDSurface::size |
| QRegion OSDSurface::usedRegions |
Definition at line 68 of file osdsurface.h.
Referenced by AddRect(), BlendToARGB(), BlendToYV12(), Clear(), ClearUsed(), DitherToI44(), IntersectsDrawn(), and IsClear().
QMutex OSDSurface::usedRegionsLock [mutable] |
Definition at line 69 of file osdsurface.h.
Referenced by AddRect(), BlendToARGB(), BlendToYV12(), Clear(), ClearUsed(), DitherToI44(), and IntersectsDrawn().
| short int OSDSurface::rec_lut[256] |
Definition at line 72 of file osdsurface.h.
Referenced by OSDTypeBox::Draw(), OSDTypeEditSlider::Draw(), OSDTypeImage::Draw(), TTFFont::merge_text(), and OSDSurface().
| short int* OSDSurface::rec_lut |
Definition at line 74 of file osdsurface.h.
| unsigned char OSDSurface::pow_lut[256][256] |
Definition at line 76 of file osdsurface.h.
Referenced by OSDTypeBox::Draw(), OSDTypeEditSlider::Draw(), OSDTypeImage::Draw(), TTFFont::merge_text(), and OSDSurface().
Definition at line 79 of file osdsurface.h.
Referenced by OSDTypeEditSlider::Draw(), and OSDSurface().
Definition at line 86 of file osdsurface.h.
Referenced by blendtoargb_8_init(), blendtoyv12_8_init(), and OSDSurface().
| unsigned char OSDSurface::cropTbl[256+2 *MAX_NEG_CROP] |
| unsigned char* OSDSurface::cm |
Definition at line 89 of file osdsurface.h.
Referenced by BlendToARGB(), blendtoargb_8_c(), and OSDSurface().
1.5.5