mirror of
https://github.com/roytam1/UXP.git
synced 2026-05-29 17:31:07 +00:00
be2516a091
Removed some obsolete patches that were either backports from newer svn revisions, or a fix for older, non-applicable assemblers. Update our own README to account for upstream's migration to git. I didn't remove the bug 703135 patch as it's for MSVC it seems, and we still use MSVC for Windows. Also deleted some unneeded upstream code deleted by Mozilla as well.
117 lines
4.0 KiB
C
117 lines
4.0 KiB
C
/********************************************************************
|
|
* *
|
|
* THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
|
|
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
|
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
|
* *
|
|
* THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2009 *
|
|
* by the Xiph.Org Foundation and contributors http://www.xiph.org/ *
|
|
* *
|
|
********************************************************************
|
|
|
|
function:
|
|
last mod: $Id$
|
|
|
|
********************************************************************/
|
|
#if !defined(_internal_H)
|
|
# define _internal_H (1)
|
|
# include <stdlib.h>
|
|
# include <limits.h>
|
|
# if defined(HAVE_CONFIG_H)
|
|
# include "config.h"
|
|
# endif
|
|
# include "theora/codec.h"
|
|
# include "theora/theora.h"
|
|
# include "ocintrin.h"
|
|
|
|
# if !defined(__GNUC_PREREQ)
|
|
# if defined(__GNUC__)&&defined(__GNUC_MINOR__)
|
|
# define __GNUC_PREREQ(_maj,_min) \
|
|
((__GNUC__<<16)+__GNUC_MINOR__>=((_maj)<<16)+(_min))
|
|
# else
|
|
# define __GNUC_PREREQ(_maj,_min) 0
|
|
# endif
|
|
# endif
|
|
|
|
# if defined(_MSC_VER)
|
|
/*Disable missing EMMS warnings.*/
|
|
# pragma warning(disable:4799)
|
|
/*Thank you Microsoft, I know the order of operations.*/
|
|
# pragma warning(disable:4554)
|
|
# endif
|
|
/*You, too, gcc.*/
|
|
# if __GNUC_PREREQ(4,2)
|
|
# pragma GCC diagnostic ignored "-Wparentheses"
|
|
# endif
|
|
|
|
/*Some assembly constructs require aligned operands.
|
|
The following macros are _only_ intended for structure member declarations.
|
|
Although they will sometimes work on stack variables, gcc will often silently
|
|
ignore them.
|
|
A separate set of macros could be made for manual stack alignment, but we
|
|
don't actually require it anywhere.*/
|
|
# if defined(OC_X86_ASM)||defined(OC_ARM_ASM)
|
|
# if defined(__GNUC__)
|
|
# define OC_ALIGN8(expr) expr __attribute__((aligned(8)))
|
|
# define OC_ALIGN16(expr) expr __attribute__((aligned(16)))
|
|
# elif defined(_MSC_VER)
|
|
# define OC_ALIGN8(expr) __declspec (align(8)) expr
|
|
# define OC_ALIGN16(expr) __declspec (align(16)) expr
|
|
# else
|
|
# error "Alignment macros required for this platform."
|
|
# endif
|
|
# endif
|
|
# if !defined(OC_ALIGN8)
|
|
# define OC_ALIGN8(expr) expr
|
|
# endif
|
|
# if !defined(OC_ALIGN16)
|
|
# define OC_ALIGN16(expr) expr
|
|
# endif
|
|
|
|
|
|
|
|
/*This library's version.*/
|
|
# define OC_VENDOR_STRING "Xiph.Org libtheora 1.2.0alpha 20100924 (Ptalarbvorm)"
|
|
|
|
/*Theora bitstream version.*/
|
|
# define TH_VERSION_MAJOR (3)
|
|
# define TH_VERSION_MINOR (2)
|
|
# define TH_VERSION_SUB (1)
|
|
# define TH_VERSION_CHECK(_info,_maj,_min,_sub) \
|
|
((_info)->version_major>(_maj)||(_info)->version_major==(_maj)&& \
|
|
((_info)->version_minor>(_min)||(_info)->version_minor==(_min)&& \
|
|
(_info)->version_subminor>=(_sub)))
|
|
|
|
|
|
|
|
/*A map from the index in the zig zag scan to the coefficient number in a
|
|
block.*/
|
|
extern const unsigned char OC_FZIG_ZAG[128];
|
|
/*A map from the coefficient number in a block to its index in the zig zag
|
|
scan.*/
|
|
extern const unsigned char OC_IZIG_ZAG[64];
|
|
/*A map from physical macro block ordering to bitstream macro block
|
|
ordering within a super block.*/
|
|
extern const unsigned char OC_MB_MAP[2][2];
|
|
/*A list of the indices in the oc_mb_map array that can be valid for each of
|
|
the various chroma decimation types.*/
|
|
extern const unsigned char OC_MB_MAP_IDXS[TH_PF_NFORMATS][12];
|
|
/*The number of indices in the oc_mb_map array that can be valid for each of
|
|
the various chroma decimation types.*/
|
|
extern const unsigned char OC_MB_MAP_NIDXS[TH_PF_NFORMATS];
|
|
|
|
|
|
|
|
int oc_ilog(unsigned _v);
|
|
void *oc_aligned_malloc(size_t _sz,size_t _align);
|
|
void oc_aligned_free(void *_ptr);
|
|
void **oc_malloc_2d(size_t _height,size_t _width,size_t _sz);
|
|
void **oc_calloc_2d(size_t _height,size_t _width,size_t _sz);
|
|
void oc_free_2d(void *_ptr);
|
|
|
|
void oc_ycbcr_buffer_flip(th_ycbcr_buffer _dst,
|
|
const th_ycbcr_buffer _src);
|
|
|
|
#endif
|