1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-15 11:25:10 +00:00
mpv/tremor/tremor.diff
diego d653bc6138 _vorbis_block_alloc() is used w/o prototype, this will crash on ia64.
Add a header file with the function prototype to address this issue.
This has the positive side effect of fixing a couple of implicit
declaration warnings.
The problem was originally reported as Debian bug 447278.
patch by Dann Frazier and Andrea Mennucci, mennucc1 debian org


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24824 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-10-20 22:41:24 +00:00

187 lines
4.7 KiB
Diff

--- misc.h 2005-01-04 16:29:01.000000000 +0100
+++ misc.h 2004-12-30 13:09:20.000000000 +0100
@@ -29,8 +29,9 @@
/* 64 bit multiply */
#include <sys/types.h>
+#include "config.h"
-#if BYTE_ORDER==LITTLE_ENDIAN
+#ifndef WORDS_BIGENDIAN
union magic {
struct {
ogg_int32_t lo;
@@ -38,9 +39,7 @@
} halves;
ogg_int64_t whole;
};
-#endif
-
-#if BYTE_ORDER==BIG_ENDIAN
+#else
union magic {
struct {
ogg_int32_t hi;
--- os_types.h 2005-01-04 16:29:02.000000000 +0100
+++ os_types.h 2005-01-05 10:39:07.000000000 +0100
@@ -32,57 +32,11 @@
#define _ogg_realloc realloc
#define _ogg_free free
-#ifdef _WIN32
-
-# ifndef __GNUC__
- /* MSVC/Borland */
- typedef __int64 ogg_int64_t;
- typedef __int32 ogg_int32_t;
- typedef unsigned __int32 ogg_uint32_t;
- typedef __int16 ogg_int16_t;
-# else
- /* Cygwin */
- #include <_G_config.h>
- typedef _G_int64_t ogg_int64_t;
- typedef _G_int32_t ogg_int32_t;
- typedef _G_uint32_t ogg_uint32_t;
- typedef _G_int16_t ogg_int16_t;
-# endif
-
-#elif defined(__MACOS__)
-
-# include <sys/types.h>
- typedef SInt16 ogg_int16_t;
- typedef SInt32 ogg_int32_t;
- typedef UInt32 ogg_uint32_t;
- typedef SInt64 ogg_int64_t;
-
-#elif defined(__MACOSX__) /* MacOS X Framework build */
-
-# include <sys/types.h>
- typedef int16_t ogg_int16_t;
- typedef int32_t ogg_int32_t;
- typedef u_int32_t ogg_uint32_t;
+ #include <inttypes.h>
typedef int64_t ogg_int64_t;
-
-#elif defined(__BEOS__)
-
- /* Be */
-# include <inttypes.h>
-
-#elif defined (__EMX__)
-
- /* OS/2 GCC */
- typedef short ogg_int16_t;
- typedef int ogg_int32_t;
- typedef unsigned int ogg_uint32_t;
- typedef long long ogg_int64_t;
-
-#else
-
-# include <sys/types.h>
-# include "config_types.h"
-
-#endif
+ typedef int32_t ogg_int32_t;
+ typedef uint32_t ogg_uint32_t;
+ typedef uint16_t ogg_uint16_t;
+ typedef int16_t ogg_int16_t;
#endif /* _OS_TYPES_H */
--- sharedbook.c 30 Dec 2004 12:09:20 -0000 1.1
+++ sharedbook.c 18 Aug 2005 16:13:54 -0000
@@ -208,7 +211,7 @@
int indexdiv=1;
for(k=0;k<b->dim;k++){
int index= (j/indexdiv)%quantvals;
- int point;
+ ogg_int32_t point;
int val=VFLOAT_MULTI(delta,delpoint,
abs(b->quantlist[index]),&point);
@@ -242,7 +245,7 @@
int lastpoint=0;
for(k=0;k<b->dim;k++){
- int point;
+ ogg_int32_t point;
int val=VFLOAT_MULTI(delta,delpoint,
abs(b->quantlist[j*b->dim+k]),&point);
--- block.h (revision 0)
+++ block.h (revision 0)
@@ -0,0 +1,24 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggVorbis 'TREMOR' 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 OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
+ * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: basic shared block operations
+
+ ********************************************************************/
+
+#ifndef _V_BLOCK_H_
+#define _V_BLOCK_H_
+
+void *_vorbis_block_alloc(vorbis_block *vb,long bytes);
+void _vorbis_block_ripcord(vorbis_block *vb);
+
+#endif
--- floor0.c (revision 24821)
+++ floor0.c (working copy)
@@ -25,6 +25,7 @@
#include "codebook.h"
#include "misc.h"
#include "os.h"
+#include "block.h"
#define LSP_FRACBITS 14
--- floor1.c (revision 24821)
+++ floor1.c (working copy)
@@ -24,6 +24,7 @@
#include "registry.h"
#include "codebook.h"
#include "misc.h"
+#include "block.h"
#define floor1_rangedB 140 /* floor 1 fixed at -140dB to 0dB range */
--- synthesis.c (revision 24821)
+++ synthesis.c (working copy)
@@ -23,6 +23,7 @@
#include "registry.h"
#include "misc.h"
#include "os.h"
+#include "block.h"
int vorbis_synthesis(vorbis_block *vb,ogg_packet *op){
vorbis_dsp_state *vd=vb->vd;
--- res012.c (revision 24821)
+++ res012.c (working copy)
@@ -25,6 +25,7 @@
#include "codebook.h"
#include "misc.h"
#include "os.h"
+#include "block.h"
typedef struct {
vorbis_info_residue0 *info;
--- block.c (revision 24821)
+++ block.c (working copy)
@@ -25,6 +25,7 @@
#include "window.h"
#include "registry.h"
#include "misc.h"
+#include "block.h"
static int ilog(unsigned int v){
int ret=0;