VisualC/external/include/MPEGfilter.h
changeset 556 2686e67b59fd
parent 495 b4d178cd982d
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/VisualC/external/include/MPEGfilter.h	Mon Jan 09 04:20:54 2012 -0500
     1.3 @@ -0,0 +1,67 @@
     1.4 +/*
     1.5 +    SMPEG - SDL MPEG Player Library
     1.6 +    Copyright (C) 1999  Loki Entertainment Software
     1.7 +
     1.8 +    This library is free software; you can redistribute it and/or
     1.9 +    modify it under the terms of the GNU Library General Public
    1.10 +    License as published by the Free Software Foundation; either
    1.11 +    version 2 of the License, or (at your option) any later version.
    1.12 +
    1.13 +    This library is distributed in the hope that it will be useful,
    1.14 +    but WITHOUT ANY WARRANTY; without even the implied warranty of
    1.15 +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    1.16 +    Library General Public License for more details.
    1.17 +
    1.18 +    You should have received a copy of the GNU Library General Public
    1.19 +    License along with this library; if not, write to the Free
    1.20 +    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    1.21 +*/
    1.22 +
    1.23 +/* MPEG filters */
    1.24 +
    1.25 +#ifndef _MPEGFILTER_H_
    1.26 +#define _MPEGFILTER_H_
    1.27 +
    1.28 +/* SMPEG filter info flags */
    1.29 +#define SMPEG_FILTER_INFO_MB_ERROR    1
    1.30 +#define SMPEG_FILTER_INFO_PIXEL_ERROR 2
    1.31 +
    1.32 +/* Filter info from SMPEG */
    1.33 +typedef struct SMPEG_FilterInfo {
    1.34 +  Uint16* yuv_mb_square_error;
    1.35 +  Uint16* yuv_pixel_square_error;
    1.36 +} SMPEG_FilterInfo;
    1.37 +
    1.38 +/* MPEG filter definition */
    1.39 +struct SMPEG_Filter;
    1.40 +
    1.41 +/* Callback functions for the filter */
    1.42 +typedef void (* SMPEG_FilterCallback)( SDL_Overlay * dest, SDL_Overlay * source, SDL_Rect * region, SMPEG_FilterInfo * filter_info, void * data );
    1.43 +typedef void (* SMPEG_FilterDestroy)( struct SMPEG_Filter * filter );
    1.44 +
    1.45 +/* The filter definition itself */
    1.46 +typedef struct SMPEG_Filter {
    1.47 +  Uint32 flags;
    1.48 +  void * data;
    1.49 +  SMPEG_FilterCallback callback;
    1.50 +  SMPEG_FilterDestroy destroy;
    1.51 +} SMPEG_Filter;
    1.52 +
    1.53 +/* SMPEG built-in filters. */
    1.54 +#ifdef __cplusplus
    1.55 +extern "C" {
    1.56 +#endif
    1.57 +
    1.58 +/* The null filter (default). It simply copies the source rectangle to the video overlay. */ 
    1.59 +extern DECLSPEC SMPEG_Filter * SMPEGfilter_null(void);
    1.60 +
    1.61 +/* The bilinear filter. A basic low-pass filter that will produce a smoother image. */ 
    1.62 +extern DECLSPEC SMPEG_Filter * SMPEGfilter_bilinear(void);
    1.63 +
    1.64 +/* The deblocking filter. It filters block borders and non-intra coded blocks to reduce blockiness */ 
    1.65 +extern DECLSPEC SMPEG_Filter * SMPEGfilter_deblocking(void);
    1.66 +
    1.67 +#ifdef __cplusplus
    1.68 +};
    1.69 +#endif
    1.70 +#endif /* _MPEGFILTER_H_ */