[cvs] / xvidcore / src / utils / emms.h Repository:
ViewVC logotype

View of /xvidcore/src/utils/emms.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.12 - (download) (annotate)
Sun Feb 9 19:32:52 2003 UTC (21 years, 1 month ago) by edgomez
Branch: MAIN
CVS Tags: release-0_9_1, release-0_9_2
Branch point for: release-0_9_1-fixes
Changes since 1.11: +3 -5 lines
I made all these changes on my own working copy until i had
something really usable wihtout regressions for most users.

I think its place is now in CVS. Here is a ChangeLog summary
generated from my local patches.

base-0
    Imported xvidcore 0.9.0 into arch repository
patch-1
    Updated to current stable CVS_HEAD
patch-2
    Changed build system for Unix OSes
patch-3
    Fixes for the new build system in sources.
patch-4
    Fixed options and added the --disable-assembly option
patch-5
    Fixed a BSD checking in nasm output format.
patch-6
    Fixed the "ar" "s" option for some platforms.
patch-7
    Changed the way I add strings into variables.
patch-8
    Fixed portab.h for _DEBUG target and GCC/ICC compilers.
patch-9
    Added Altivec detection (Guillaume Morin)
patch-10
    Fixed MacOSX build.
patch-11
    Fixed WIN32/_MSC_VER confusion and updated MSVC libxvidcore.dsp project file.
patch-12
    DivX4 compatibility layer has been turned into an option (default:disable).

ToDo:
    - Fix IA64 assembly file selection.
    - Do I disable PPC assembly code ? (according to Guillaume, it needs to be updated)
/*****************************************************************************
 *
 *  XVID MPEG-4 VIDEO CODEC
 *  - emms wrapper API header -
 *
 *  Copyright(C) 2002 Michael Militzer <isibaar@xvid.org>
 *
 *  This file is part of XviD, a free MPEG-4 video encoder/decoder
 *
 *  XviD is free software; you can redistribute it and/or modify it
 *  under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 *
 *  Under section 8 of the GNU General Public License, the copyright
 *  holders of XVID explicitly forbid distribution in the following
 *  countries:
 *
 *    - Japan
 *    - United States of America
 *
 *  Linking XviD statically or dynamically with other modules is making a
 *  combined work based on XviD.  Thus, the terms and conditions of the
 *  GNU General Public License cover the whole combination.
 *
 *  As a special exception, the copyright holders of XviD give you
 *  permission to link XviD with independent modules that communicate with
 *  XviD solely through the VFW1.1 and DShow interfaces, regardless of the
 *  license terms of these independent modules, and to copy and distribute
 *  the resulting combined work under terms of your choice, provided that
 *  every copy of the combined work is accompanied by a complete copy of
 *  the source code of XviD (the version of XviD used to produce the
 *  combined work), being distributed under the terms of the GNU General
 *  Public License plus this exception.  An independent module is a module
 *  which is not derived from or based on XviD.
 *
 *  Note that people who make modified versions of XviD are not obligated
 *  to grant this special exception for their modified versions; it is
 *  their choice whether to do so.  The GNU General Public License gives
 *  permission to release a modified version without this exception; this
 *  exception also makes it possible to release a modified version which
 *  carries forward this exception.
 *
 * $Id: emms.h,v 1.12 2003/02/09 19:32:52 edgomez Exp $
 *
 ****************************************************************************/

#include "../xvid.h"

#ifndef _EMMS_H_
#define _EMMS_H_

/*****************************************************************************
 * emms API
 ****************************************************************************/

typedef void (emmsFunc) (void);

typedef emmsFunc *emmsFuncPtr;

/* Our global function pointer - defined in emms.c */
extern emmsFuncPtr emms;

/* Implemented functions */

emmsFunc emms_c;
emmsFunc emms_mmx;

/*****************************************************************************
 * Prototypes
 ****************************************************************************/

#if defined(ARCH_IS_IA32)
extern int check_cpu_features(void);
extern void sse_os_trigger(void);
extern void sse2_os_trigger(void);
#elif defined(ARCH_IS_IA64)
static int check_cpu_features(void) { return XVID_CPU_IA64; }
#else
static int check_cpu_features(void) { return 0; } /* is 0 an acceptable value? */
#endif


#endif

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4