Hauptseite   Klassenhierarchie   Alphabetische Liste   Übersicht   Auflistung der Dateien   Elementübersicht  

FrameData.h

00001 /***************************************************************************
00002                           FrameData.h  -  description
00003                              -------------------
00004     begin                : Son Dez 15 2002
00005     copyright            : (C) 2002 by Christian Tusche
00006     email                : christian.tusche@stud.uni-goettingen.de
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 #ifndef FRAMEDATA_H
00019 #define FRAMEDATA_H
00020 
00021 #include <inttypes.h>
00022 #include <unistd.h>
00023 
00024 
00029 class VideoFrame;
00030 
00031 class FrameData {
00032     friend class VideoFrame;
00033 public:
00040     FrameData( int x, int y, uint8_t *memseg = NULL, size_t size = 0 );
00041     
00042     
00043     ~FrameData();
00044     
00047     void SetFrame( FrameData *bild );
00048     
00051     void SetFrame( uint8_t *bild );
00052 
00055     void SetFrame( uint8_t *y, uint8_t *u, uint8_t *v );
00056 
00060     int FramePointer( uint8_t *&bild );
00061 
00065     int FramePointer( uint8_t *&y, uint8_t *&u, uint8_t *&v );
00066 
00067 
00070     int ColorModel( void ) { return c_model; }
00071 
00074     void ColorModel( int cmodel );
00075     
00076 private:
00079     void alloc_data(void);
00080 
00083     void free_data( void );
00084 
00087     void yuv_planes( void );
00088 
00089 
00090     uint8_t *data;                               // linearer Framebuffer
00091     size_t data_size;                            // Größe der zur verfügungstehenden Daten
00092     uint8_t *y_plane, *u_plane, *v_plane;        // yuv-Planes
00093     size_t frame_size;                           // Größe der Bildedaten
00094     size_t y_size, u_size, v_size;               // Größe der Komponentendaten
00095     
00096     int c_model;                                 // Farbraum
00097 
00098     int breite;
00099     int hoehe;
00100 
00101     bool alloc_buf;            // data selbst angelegt
00102     //bool data_ok;              // data zeigt auf gültigen Framebuffer
00103 };
00104 
00105 #endif

Erzeugt am Tue Dec 31 22:54:54 2002 für av_convert von doxygen1.2.9.1 geschrieben von Dimitri van Heesch, © 1997-2001