view tremor/tremor.diff @ 34972:445009e9ee8d

When the LUMINANCE16 format is less than 14 bit try to use a depth texture instead. On Intel 945 this is vastly faster (after re-enabling the Z16 support in the driver again for newer versions) due to no need for any software conversion. It also has slightly higher precision, good enough for the 14 and possibly 12 bit formats. 10 and 9 bit formats still look horrible, no idea what causes this, there is very little information on the internal precision of the hardware. It is still useful for those since swscale is faster converting 10 bit formats to 16 bit than to 8 bit.
author reimar
date Wed, 08 Aug 2012 19:18:02 +0000
parents 5affa2074131
children
line wrap: on
line source

--- misc.h	2005-01-04 16:29:01.000000000 +0100
+++ misc.h	2004-12-30 13:09:20.000000000 +0100
@@ -18,6 +18,7 @@
 #ifndef _V_RANDOM_H_
 #define _V_RANDOM_H_
 #include "ivorbiscodec.h"
+#include "codec_internal.h"
 #include "os_types.h"
 
 #include "asm_arm.h"
@@ -29,8 +30,10 @@
 /* 64 bit multiply */

 #include <sys/types.h>
+#include <stdlib.h>
+#include "config.h"

-#if BYTE_ORDER==LITTLE_ENDIAN
+#if !HAVE_BIGENDIAN
 union magic {
   struct {
     ogg_int32_t lo;
@@ -38,9 +41,7 @@
   } halves;
   ogg_int64_t whole;
 };
-#endif
-
-#if BYTE_ORDER==BIG_ENDIAN
+#else
 union magic {
   struct {
     ogg_int32_t hi;
--- 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;
--- os.h	(revision 25873)
+++ os.h	(working copy)
@@ -20,2 +20,3 @@
+#include "config.h"
 #include <math.h>
 #include "os_types.h"

-#ifndef _V_IFDEFJAIL_H_
-#  define _V_IFDEFJAIL_H_
+#define STIN static inline

-#  ifdef __GNUC__
-#    define STIN static __inline__
-#  elif _WIN32
-#    define STIN static __inline
-#  endif
-#else
-#  define STIN static
-#endif
-
 #ifndef M_PI
 #  define M_PI (3.1415926536f)
 #endif
--- os_types.h	2008-05-27 14:59:21.000000000 +0200
+++ os_types.h	2008-05-27 15:00:50.000000000 +0200
@@ -32,6 +32,15 @@
 #define _ogg_realloc realloc
 #define _ogg_free    free

+#include <inttypes.h>
+typedef int64_t  ogg_int64_t;
+typedef int32_t  ogg_int32_t;
+typedef int16_t  ogg_int16_t;
+typedef uint32_t ogg_uint32_t;
+typedef uint16_t ogg_uint16_t;
+
+#if 0
+
 #ifdef _WIN32

 #  ifndef __GNUC__
@@ -85,4 +94,6 @@

 #endif

+#endif /* 0 */
+
 #endif  /* _OS_TYPES_H */
--- mapping0.c	(revision 28274)
+++ mapping0.c	(revision 28275)
@@ -19,6 +20,7 @@
 #include <string.h>
 #include <math.h>
 #include "ogg.h"
+#include "os.h"
 #include "ivorbiscodec.h"
 #include "mdct.h"
 #include "codec_internal.h"