Guiliani  Version 2.5 revision 7293 (documentation build 13)
GUIVideoDecoder.h
1/*
2* Copyright (C) TES Electronic Solutions GmbH,
3* All Rights Reserved.
4* Contact: info@guiliani.de
5*
6* This file is part of the Guiliani HMI framework
7* for the development of graphical user interfaces on embedded systems.
8*/
9
10#ifndef GUIVIDEODECODER__H_
11#define GUIVIDEODECODER__H_
12
13#include "eC_Types.h"
14#include "eC_File.h"
15#include "eC_TList_doubleLinked.h"
16#include "eC_String.h"
17
18#include "GUICommonEnums.h"
19#include "GUIVideoData.h"
20
22
26{
27public:
30 {
31 }
32
41 virtual eC_Bool Decode(CGUIVideoData &kImageData, eC_File *pTmpImgFile) = 0;
42
48 virtual void DecodeFrame(const eC_UByte* const pkData, const eC_UInt& uiLength, eC_UByte* pkDestination) = 0;
49
53 virtual void SetBPP(const eC_UByte& ubBPP) = 0;
54
59 virtual void SetDestinationFormat(const CGUICommonEnums::ImageType_t& eDestinationFormat) = 0;
60
61protected:
64 {
65 }
66
70 inline void SwapEndianess16(eC_UShort &ubData)
71 {
72 eC_UShort usTmp = ubData;
73 ubData= ((usTmp&0x00FF)<<8)|((usTmp&0xFF00)>>8);
74 }
75
79 inline void SwapEndianess32(eC_UInt &uiData)
80 {
81 eC_UInt uiTmp = uiData;
82 uiData = (((uiTmp&0x000000FF)<<24)|((uiTmp&0x0000FF00)<<8)|((uiTmp&0x00FF0000)>>8)|((uiTmp&0xFF000000)>>24));
83 }
84};
85
86#endif
ImageType_t
Definition: GUICommonEnums.h:80
Contains information about a video loaded by CGUIVideoDecoder.
Definition: GUIVideoData.h:23
Base class for the video-decoders.
Definition: GUIVideoDecoder.h:26
virtual eC_Bool Decode(CGUIVideoData &kImageData, eC_File *pTmpImgFile)=0
CGUIVideoDecoder()
Definition: GUIVideoDecoder.h:63
virtual void DecodeFrame(const eC_UByte *const pkData, const eC_UInt &uiLength, eC_UByte *pkDestination)=0
void SwapEndianess16(eC_UShort &ubData)
Definition: GUIVideoDecoder.h:70
virtual void SetDestinationFormat(const CGUICommonEnums::ImageType_t &eDestinationFormat)=0
virtual ~CGUIVideoDecoder()
Definition: GUIVideoDecoder.h:29
void SwapEndianess32(eC_UInt &uiData)
Definition: GUIVideoDecoder.h:79
virtual void SetBPP(const eC_UByte &ubBPP)=0