• misc.h
  • /********************************************************************
     *                                                                  *
     * 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-2015             *
     * by the Xiph.Org Foundation https://xiph.org/                     *
     *                                                                  *
     ********************************************************************
    
     function: miscellaneous prototypes
    
     ********************************************************************/
    
    #ifndef _V_RANDOM_H_
    #define _V_RANDOM_H_
    #include "vorbis/codec.h"
    
    extern void *_vorbis_block_alloc(vorbis_block *vb,long bytes);
    extern void _vorbis_block_ripcord(vorbis_block *vb);
    extern int ov_ilog(ogg_uint32_t v);
    
    #ifdef ANALYSIS
    extern int analysis_noisy;
    extern void _analysis_output(char *base,int i,float *v,int n,int bark,int dB,
                                 ogg_int64_t off);
    extern void _analysis_output_always(char *base,int i,float *v,int n,int bark,int dB,
                                 ogg_int64_t off);
    #endif
    
    #ifdef DEBUG_MALLOC
    
    #define _VDBG_GRAPHFILE "malloc.m"
    #undef _VDBG_GRAPHFILE
    extern void *_VDBG_malloc(void *ptr,long bytes,char *file,long line);
    extern void _VDBG_free(void *ptr,char *file,long line);
    
    #ifndef MISC_C
    #undef _ogg_malloc
    #undef _ogg_calloc
    #undef _ogg_realloc
    #undef _ogg_free
    
    #define _ogg_malloc(x) _VDBG_malloc(NULL,(x),__FILE__,__LINE__)
    #define _ogg_calloc(x,y) _VDBG_malloc(NULL,(x)*(y),__FILE__,__LINE__)
    #define _ogg_realloc(x,y) _VDBG_malloc((x),(y),__FILE__,__LINE__)
    #define _ogg_free(x) _VDBG_free((x),__FILE__,__LINE__)
    #endif
    #endif
    
    #endif