diff -urN libvorbis-1.3.4-orig/lib/block.c libvorbis-1.3.4/lib/block.c
--- libvorbis-1.3.4-orig/lib/block.c	2014-01-22 18:53:32 +0900
+++ libvorbis-1.3.4/lib/block.c	2014-02-05 13:33:13 +0900
@@ -30,6 +30,7 @@
 #include "lpc.h"
 #include "registry.h"
 #include "misc.h"
+#include "block.h"
 
 static int ilog2(unsigned int v){
   int ret=0;
diff -urN libvorbis-1.3.4-orig/lib/block.h libvorbis-1.3.4/lib/block.h
--- libvorbis-1.3.4-orig/lib/block.h	1970-01-01 09:00:00 +0900
+++ libvorbis-1.3.4/lib/block.h	2014-02-05 13:33:13 +0900
@@ -0,0 +1,23 @@
+/********************************************************************
+ *                                                                  *
+ * THIS FILE IS PART OF THE OggVorbis 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 OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009             *
+ * by the Xiph.Org Foundation http://www.xiph.org/                  *
+ *                                                                  *
+ ********************************************************************
+
+ function: PCM data vector blocking, windowing and dis/reassembly
+ last mod: $Id: $
+
+ ********************************************************************/
+
+#ifndef _V_BLOCK_
+#define _V_BLOCK_
+
+extern const float *vorbis_window(vorbis_dsp_state *v,int W);
+
+#endif
diff -urN libvorbis-1.3.4-orig/lib/info.c libvorbis-1.3.4/lib/info.c
--- libvorbis-1.3.4-orig/lib/info.c	2014-01-23 03:03:37 +0900
+++ libvorbis-1.3.4/lib/info.c	2014-02-05 13:33:16 +0900
@@ -658,7 +658,7 @@
   }else{
     ogg_int64_t granuleoff=0xffffffff;
     granuleoff<<=31;
-    granuleoff|=0x7ffffffff;
+    granuleoff|=0x7fffffff;
     return(((double)granulepos+2+granuleoff+granuleoff)/v->vi->rate);
   }
 }
diff -urN libvorbis-1.3.4-orig/lib/lsp.c libvorbis-1.3.4/lib/lsp.c
--- libvorbis-1.3.4-orig/lib/lsp.c	2014-01-22 18:53:32 +0900
+++ libvorbis-1.3.4/lib/lsp.c	2014-02-05 13:33:16 +0900
@@ -309,7 +309,6 @@
 #define EPSILON 10e-7
 static int Laguerre_With_Deflation(float *a,int ord,float *r){
   int i,m;
-  double lastdelta=0.f;
   double *defl=alloca(sizeof(*defl)*(ord+1));
   for(i=0;i<=ord;i++)defl[i]=a[i];
 
@@ -346,7 +345,6 @@
       if(delta<0.f)delta*=-1;
 
       if(fabs(delta/new)<10e-12)break;
-      lastdelta=delta;
     }
 
     r[m-1]=new;
diff -urN libvorbis-1.3.4-orig/lib/os.h libvorbis-1.3.4/lib/os.h
--- libvorbis-1.3.4-orig/lib/os.h	2014-01-22 18:53:32 +0900
+++ libvorbis-1.3.4/lib/os.h	2014-02-05 13:33:16 +0900
@@ -99,7 +99,7 @@
           "movw %0,%%dx\n\t"
           "andw $62463,%%dx\n\t"
           "movw %%dx,%1\n\t"
-          "fldcw %1\n\t":"=m"(ret):"m"(temp): "dx");
+          "fldcw %1\n\t": "=m"(ret),"=m"(temp): : "dx");
   *fpu=ret;
 }
 
@@ -174,7 +174,7 @@
 
 typedef int vorbis_fpu_control;
 
-static int vorbis_ftoi(double f){
+static __inline int vorbis_ftoi(double f){
         /* Note: MSVC and GCC (at least on some systems) round towards zero, thus,
            the floor() call is required to ensure correct roudning of
            negative numbers */
@@ -182,8 +182,8 @@
 }
 
 /* We don't have special code for this compiler/arch, so do it the slow way */
-#  define vorbis_fpu_setround(vorbis_fpu_control) {}
-#  define vorbis_fpu_restore(vorbis_fpu_control) {}
+static __inline void vorbis_fpu_setround(vorbis_fpu_control *fpu){}
+static __inline void vorbis_fpu_restore(vorbis_fpu_control fpu){}
 
 #endif /* default implementation */
 
diff -urN libvorbis-1.3.4-orig/lib/psy.c libvorbis-1.3.4/lib/psy.c
--- libvorbis-1.3.4-orig/lib/psy.c	2014-01-22 18:53:32 +0900
+++ libvorbis-1.3.4/lib/psy.c	2014-02-05 13:33:16 +0900
@@ -52,13 +52,6 @@
   }
 }
 
-void _vi_gpsy_free(vorbis_info_psy_global *i){
-  if(i){
-    memset(i,0,sizeof(*i));
-    _ogg_free(i);
-  }
-}
-
 void _vi_psy_free(vorbis_info_psy *i){
   if(i){
     memset(i,0,sizeof(*i));
diff -urN libvorbis-1.3.4-orig/lib/res0.c libvorbis-1.3.4/lib/res0.c
--- libvorbis-1.3.4-orig/lib/res0.c	2014-01-22 18:53:32 +0900
+++ libvorbis-1.3.4/lib/res0.c	2014-02-05 13:33:16 +0900
@@ -66,7 +66,7 @@
 
 } vorbis_look_residue0;
 
-void res0_free_info(vorbis_info_residue *i){
+static void res0_free_info(vorbis_info_residue *i){
   vorbis_info_residue0 *info=(vorbis_info_residue0 *)i;
   if(info){
     memset(info,0,sizeof(*info));
@@ -74,7 +74,7 @@
   }
 }
 
-void res0_free_look(vorbis_look_residue *i){
+static void res0_free_look(vorbis_look_residue *i){
   int j;
   if(i){
 
@@ -171,7 +171,7 @@
 }
 
 
-void res0_pack(vorbis_info_residue *vr,oggpack_buffer *opb){
+static void res0_pack(vorbis_info_residue *vr,oggpack_buffer *opb){
   vorbis_info_residue0 *info=(vorbis_info_residue0 *)vr;
   int j,acc=0;
   oggpack_write(opb,info->begin,24);
@@ -201,7 +201,7 @@
 }
 
 /* vorbis_info is for range checking */
-vorbis_info_residue *res0_unpack(vorbis_info *vi,oggpack_buffer *opb){
+static vorbis_info_residue *res0_unpack(vorbis_info *vi,oggpack_buffer *opb){
   int j,acc=0;
   vorbis_info_residue0 *info=_ogg_calloc(1,sizeof(*info));
   codec_setup_info     *ci=vi->codec_setup;
@@ -265,8 +265,8 @@
   return(NULL);
 }
 
-vorbis_look_residue *res0_look(vorbis_dsp_state *vd,
-                               vorbis_info_residue *vr){
+static vorbis_look_residue *res0_look(vorbis_dsp_state *vd,
+                                      vorbis_info_residue *vr){
   vorbis_info_residue0 *info=(vorbis_info_residue0 *)vr;
   vorbis_look_residue0 *look=_ogg_calloc(1,sizeof(*look));
   codec_setup_info     *ci=vd->vi->codec_setup;
@@ -713,8 +713,8 @@
   return(0);
 }
 
-int res0_inverse(vorbis_block *vb,vorbis_look_residue *vl,
-                 float **in,int *nonzero,int ch){
+static int res0_inverse(vorbis_block *vb,vorbis_look_residue *vl,
+                        float **in,int *nonzero,int ch){
   int i,used=0;
   for(i=0;i<ch;i++)
     if(nonzero[i])
@@ -725,8 +725,9 @@
     return(0);
 }
 
-int res1_forward(oggpack_buffer *opb,vorbis_block *vb,vorbis_look_residue *vl,
-                 int **in,int *nonzero,int ch, long **partword, int submap){
+static int res1_forward(oggpack_buffer *opb,vorbis_block *vb,
+                        vorbis_look_residue *vl,int **in,int *nonzero,int ch,
+                        long **partword,int submap){
   int i,used=0;
   (void)vb;
   for(i=0;i<ch;i++)
@@ -745,8 +746,8 @@
   }
 }
 
-long **res1_class(vorbis_block *vb,vorbis_look_residue *vl,
-                  int **in,int *nonzero,int ch){
+static long **res1_class(vorbis_block *vb,vorbis_look_residue *vl,
+                         int **in,int *nonzero,int ch){
   int i,used=0;
   for(i=0;i<ch;i++)
     if(nonzero[i])
@@ -757,8 +758,8 @@
     return(0);
 }
 
-int res1_inverse(vorbis_block *vb,vorbis_look_residue *vl,
-                 float **in,int *nonzero,int ch){
+static int res1_inverse(vorbis_block *vb,vorbis_look_residue *vl,
+                        float **in,int *nonzero,int ch){
   int i,used=0;
   for(i=0;i<ch;i++)
     if(nonzero[i])
@@ -769,7 +770,7 @@
     return(0);
 }
 
-long **res2_class(vorbis_block *vb,vorbis_look_residue *vl,
+static long **res2_class(vorbis_block *vb,vorbis_look_residue *vl,
                   int **in,int *nonzero,int ch){
   int i,used=0;
   for(i=0;i<ch;i++)
@@ -783,9 +784,9 @@
 /* res2 is slightly more different; all the channels are interleaved
    into a single vector and encoded. */
 
-int res2_forward(oggpack_buffer *opb,
-                 vorbis_block *vb,vorbis_look_residue *vl,
-                 int **in,int *nonzero,int ch, long **partword,int submap){
+static int res2_forward(oggpack_buffer *opb,vorbis_block *vb,
+                        vorbis_look_residue *vl,int **in,int *nonzero,int ch,
+                        long **partword,int submap){
   long i,j,k,n=vb->pcmend/2,used=0;
 
   /* don't duplicate the code; use a working vector hack for now and
@@ -812,8 +813,8 @@
 }
 
 /* duplicate code here as speed is somewhat more important */
-int res2_inverse(vorbis_block *vb,vorbis_look_residue *vl,
-                 float **in,int *nonzero,int ch){
+static int res2_inverse(vorbis_block *vb,vorbis_look_residue *vl,
+                        float **in,int *nonzero,int ch){
   long i,k,l,s;
   vorbis_look_residue0 *look=(vorbis_look_residue0 *)vl;
   vorbis_info_residue0 *info=look->info;
diff -urN libvorbis-1.3.4-orig/lib/sharedbook.c libvorbis-1.3.4/lib/sharedbook.c
--- libvorbis-1.3.4-orig/lib/sharedbook.c	2014-01-22 21:32:53 +0900
+++ libvorbis-1.3.4/lib/sharedbook.c	2014-02-05 13:35:27 +0900
@@ -70,7 +70,7 @@
 /* given a list of word lengths, generate a list of codewords.  Works
    for length ordered or unordered, always assigns the lowest valued
    codewords first.  Extended to handle unused entries (length 0) */
-ogg_uint32_t *_make_words(char *l,long n,long sparsecount){
+static ogg_uint32_t *_make_words(char *l,long n,long sparsecount){
   long i,j,count=0;
   ogg_uint32_t marker[33];
   ogg_uint32_t *r=_ogg_malloc((sparsecount?sparsecount:n)*sizeof(*r));
@@ -533,7 +533,7 @@
                               -3, 1, 0, 4, 8, 7, -1, 3, 2,
                               -3,-4,-5, 4, 3, 2, -1,-2,-3};
 
-void run_test(static_codebook *b,float *comp){
+static void run_test(static_codebook *b,float *comp){
   float *out=_book_unquantize(b,b->entries,NULL);
   int i;
 
@@ -559,7 +559,7 @@
   }
 }
 
-int main(){
+int main(void){
   /* run the nine dequant tests, and compare to the hand-rolled results */
   fprintf(stderr,"Dequant test 1... ");
   run_test(&test1,test1_result);
diff -urN libvorbis-1.3.4-orig/lib/vorbisfile.c libvorbis-1.3.4/lib/vorbisfile.c
--- libvorbis-1.3.4-orig/lib/vorbisfile.c	2014-01-22 18:53:32 +0900
+++ libvorbis-1.3.4/lib/vorbisfile.c	2014-02-05 13:36:15 +0900
@@ -29,6 +29,7 @@
 
 #include "os.h"
 #include "misc.h"
+#include "block.h"
 
 /* A 'chained bitstream' is a Vorbis bitstream that contains more than
    one logical bitstream arranged end to end (the only form of Ogg
@@ -1827,7 +1828,7 @@
   }
 }
 
-static int host_is_big_endian() {
+static int host_is_big_endian(void) {
   ogg_int32_t pattern = 0xfeedface; /* deadbeef */
   unsigned char *bytewise = (unsigned char *)&pattern;
   if (bytewise[0] == 0xfe) return 1;
@@ -2058,8 +2059,6 @@
   }
 }
 
-extern const float *vorbis_window(vorbis_dsp_state *v,int W);
-
 static void _ov_splice(float **pcm,float **lappcm,
                        int n1, int n2,
                        int ch1, int ch2,
