mirror of
https://github.com/vgmstream/vgmstream.git
synced 2025-02-17 11:18:31 +01:00
update libvorbis
- compiled with mingw-w64 GCC 12.2 - version 1.3.7 (vorbis) + 1.3.5 (ogg) - removes vorbisenc code for smaller DLL - optimization flags for slightly improved performance
This commit is contained in:
parent
0c77e5bec4
commit
0688de3146
26
ext_includes/ogg/config_types.h
Normal file
26
ext_includes/ogg/config_types.h
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#ifndef __CONFIG_TYPES_H__
|
||||||
|
#define __CONFIG_TYPES_H__
|
||||||
|
|
||||||
|
/* these are filled in by configure or cmake*/
|
||||||
|
#define INCLUDE_INTTYPES_H 1
|
||||||
|
#define INCLUDE_STDINT_H 1
|
||||||
|
#define INCLUDE_SYS_TYPES_H 1
|
||||||
|
|
||||||
|
#if INCLUDE_INTTYPES_H
|
||||||
|
# include <inttypes.h>
|
||||||
|
#endif
|
||||||
|
#if INCLUDE_STDINT_H
|
||||||
|
# include <stdint.h>
|
||||||
|
#endif
|
||||||
|
#if INCLUDE_SYS_TYPES_H
|
||||||
|
# include <sys/types.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef int16_t ogg_int16_t;
|
||||||
|
typedef uint16_t ogg_uint16_t;
|
||||||
|
typedef int32_t ogg_int32_t;
|
||||||
|
typedef uint32_t ogg_uint32_t;
|
||||||
|
typedef int64_t ogg_int64_t;
|
||||||
|
typedef uint64_t ogg_uint64_t;
|
||||||
|
|
||||||
|
#endif
|
@ -5,13 +5,12 @@
|
|||||||
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: toplevel libogg include
|
function: toplevel libogg include
|
||||||
last mod: $Id: ogg.h 7188 2004-07-20 07:26:04Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
#ifndef _OGG_H
|
#ifndef _OGG_H
|
||||||
@ -21,8 +20,14 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
#include <ogg/os_types.h>
|
#include <ogg/os_types.h>
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
void *iov_base;
|
||||||
|
size_t iov_len;
|
||||||
|
} ogg_iovec_t;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
long endbyte;
|
long endbyte;
|
||||||
int endbit;
|
int endbit;
|
||||||
@ -53,8 +58,8 @@ typedef struct {
|
|||||||
|
|
||||||
int *lacing_vals; /* The values that will go to the segment table */
|
int *lacing_vals; /* The values that will go to the segment table */
|
||||||
ogg_int64_t *granule_vals; /* granulepos values for headers. Not compact
|
ogg_int64_t *granule_vals; /* granulepos values for headers. Not compact
|
||||||
this way, but it is simple coupled to the
|
this way, but it is simple coupled to the
|
||||||
lacing fifo */
|
lacing fifo */
|
||||||
long lacing_storage;
|
long lacing_storage;
|
||||||
long lacing_fill;
|
long lacing_fill;
|
||||||
long lacing_packet;
|
long lacing_packet;
|
||||||
@ -69,10 +74,10 @@ typedef struct {
|
|||||||
of a logical bitstream */
|
of a logical bitstream */
|
||||||
long serialno;
|
long serialno;
|
||||||
long pageno;
|
long pageno;
|
||||||
ogg_int64_t packetno; /* sequence number for decode; the framing
|
ogg_int64_t packetno; /* sequence number for decode; the framing
|
||||||
knows where there's a hole in the data,
|
knows where there's a hole in the data,
|
||||||
but we need coupling so that the codec
|
but we need coupling so that the codec
|
||||||
(which is in a seperate abstraction
|
(which is in a separate abstraction
|
||||||
layer) also knows about the gap */
|
layer) also knows about the gap */
|
||||||
ogg_int64_t granulepos;
|
ogg_int64_t granulepos;
|
||||||
|
|
||||||
@ -88,12 +93,12 @@ typedef struct {
|
|||||||
long e_o_s;
|
long e_o_s;
|
||||||
|
|
||||||
ogg_int64_t granulepos;
|
ogg_int64_t granulepos;
|
||||||
|
|
||||||
ogg_int64_t packetno; /* sequence number for decode; the framing
|
ogg_int64_t packetno; /* sequence number for decode; the framing
|
||||||
knows where there's a hole in the data,
|
knows where there's a hole in the data,
|
||||||
but we need coupling so that the codec
|
but we need coupling so that the codec
|
||||||
(which is in a seperate abstraction
|
(which is in a separate abstraction
|
||||||
layer) also knows about the gap */
|
layer) also knows about the gap */
|
||||||
} ogg_packet;
|
} ogg_packet;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -110,6 +115,7 @@ typedef struct {
|
|||||||
/* Ogg BITSTREAM PRIMITIVES: bitstream ************************/
|
/* Ogg BITSTREAM PRIMITIVES: bitstream ************************/
|
||||||
|
|
||||||
extern void oggpack_writeinit(oggpack_buffer *b);
|
extern void oggpack_writeinit(oggpack_buffer *b);
|
||||||
|
extern int oggpack_writecheck(oggpack_buffer *b);
|
||||||
extern void oggpack_writetrunc(oggpack_buffer *b,long bits);
|
extern void oggpack_writetrunc(oggpack_buffer *b,long bits);
|
||||||
extern void oggpack_writealign(oggpack_buffer *b);
|
extern void oggpack_writealign(oggpack_buffer *b);
|
||||||
extern void oggpack_writecopy(oggpack_buffer *b,void *source,long bits);
|
extern void oggpack_writecopy(oggpack_buffer *b,void *source,long bits);
|
||||||
@ -128,6 +134,7 @@ extern long oggpack_bits(oggpack_buffer *b);
|
|||||||
extern unsigned char *oggpack_get_buffer(oggpack_buffer *b);
|
extern unsigned char *oggpack_get_buffer(oggpack_buffer *b);
|
||||||
|
|
||||||
extern void oggpackB_writeinit(oggpack_buffer *b);
|
extern void oggpackB_writeinit(oggpack_buffer *b);
|
||||||
|
extern int oggpackB_writecheck(oggpack_buffer *b);
|
||||||
extern void oggpackB_writetrunc(oggpack_buffer *b,long bits);
|
extern void oggpackB_writetrunc(oggpack_buffer *b,long bits);
|
||||||
extern void oggpackB_writealign(oggpack_buffer *b);
|
extern void oggpackB_writealign(oggpack_buffer *b);
|
||||||
extern void oggpackB_writecopy(oggpack_buffer *b,void *source,long bits);
|
extern void oggpackB_writecopy(oggpack_buffer *b,void *source,long bits);
|
||||||
@ -148,15 +155,20 @@ extern unsigned char *oggpackB_get_buffer(oggpack_buffer *b);
|
|||||||
/* Ogg BITSTREAM PRIMITIVES: encoding **************************/
|
/* Ogg BITSTREAM PRIMITIVES: encoding **************************/
|
||||||
|
|
||||||
extern int ogg_stream_packetin(ogg_stream_state *os, ogg_packet *op);
|
extern int ogg_stream_packetin(ogg_stream_state *os, ogg_packet *op);
|
||||||
|
extern int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov,
|
||||||
|
int count, long e_o_s, ogg_int64_t granulepos);
|
||||||
extern int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
|
extern int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
|
||||||
|
extern int ogg_stream_pageout_fill(ogg_stream_state *os, ogg_page *og, int nfill);
|
||||||
extern int ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
|
extern int ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
|
||||||
|
extern int ogg_stream_flush_fill(ogg_stream_state *os, ogg_page *og, int nfill);
|
||||||
|
|
||||||
/* Ogg BITSTREAM PRIMITIVES: decoding **************************/
|
/* Ogg BITSTREAM PRIMITIVES: decoding **************************/
|
||||||
|
|
||||||
extern int ogg_sync_init(ogg_sync_state *oy);
|
extern int ogg_sync_init(ogg_sync_state *oy);
|
||||||
extern int ogg_sync_clear(ogg_sync_state *oy);
|
extern int ogg_sync_clear(ogg_sync_state *oy);
|
||||||
extern int ogg_sync_reset(ogg_sync_state *oy);
|
extern int ogg_sync_reset(ogg_sync_state *oy);
|
||||||
extern int ogg_sync_destroy(ogg_sync_state *oy);
|
extern int ogg_sync_destroy(ogg_sync_state *oy);
|
||||||
|
extern int ogg_sync_check(ogg_sync_state *oy);
|
||||||
|
|
||||||
extern char *ogg_sync_buffer(ogg_sync_state *oy, long size);
|
extern char *ogg_sync_buffer(ogg_sync_state *oy, long size);
|
||||||
extern int ogg_sync_wrote(ogg_sync_state *oy, long bytes);
|
extern int ogg_sync_wrote(ogg_sync_state *oy, long bytes);
|
||||||
@ -173,18 +185,19 @@ extern int ogg_stream_clear(ogg_stream_state *os);
|
|||||||
extern int ogg_stream_reset(ogg_stream_state *os);
|
extern int ogg_stream_reset(ogg_stream_state *os);
|
||||||
extern int ogg_stream_reset_serialno(ogg_stream_state *os,int serialno);
|
extern int ogg_stream_reset_serialno(ogg_stream_state *os,int serialno);
|
||||||
extern int ogg_stream_destroy(ogg_stream_state *os);
|
extern int ogg_stream_destroy(ogg_stream_state *os);
|
||||||
|
extern int ogg_stream_check(ogg_stream_state *os);
|
||||||
extern int ogg_stream_eos(ogg_stream_state *os);
|
extern int ogg_stream_eos(ogg_stream_state *os);
|
||||||
|
|
||||||
extern void ogg_page_checksum_set(ogg_page *og);
|
extern void ogg_page_checksum_set(ogg_page *og);
|
||||||
|
|
||||||
extern int ogg_page_version(ogg_page *og);
|
extern int ogg_page_version(const ogg_page *og);
|
||||||
extern int ogg_page_continued(ogg_page *og);
|
extern int ogg_page_continued(const ogg_page *og);
|
||||||
extern int ogg_page_bos(ogg_page *og);
|
extern int ogg_page_bos(const ogg_page *og);
|
||||||
extern int ogg_page_eos(ogg_page *og);
|
extern int ogg_page_eos(const ogg_page *og);
|
||||||
extern ogg_int64_t ogg_page_granulepos(ogg_page *og);
|
extern ogg_int64_t ogg_page_granulepos(const ogg_page *og);
|
||||||
extern int ogg_page_serialno(ogg_page *og);
|
extern int ogg_page_serialno(const ogg_page *og);
|
||||||
extern long ogg_page_pageno(ogg_page *og);
|
extern long ogg_page_pageno(const ogg_page *og);
|
||||||
extern int ogg_page_packets(ogg_page *og);
|
extern int ogg_page_packets(const ogg_page *og);
|
||||||
|
|
||||||
extern void ogg_packet_clear(ogg_packet *op);
|
extern void ogg_packet_clear(ogg_packet *op);
|
||||||
|
|
||||||
@ -194,9 +207,3 @@ extern void ogg_packet_clear(ogg_packet *op);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _OGG_H */
|
#endif /* _OGG_H */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,8 +10,7 @@
|
|||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: #ifdef jail to whip a few platforms into the UNIX ideal.
|
function: Define a consistent set of types on each platform.
|
||||||
last mod: $Id: os_types.h 7524 2004-08-11 04:20:36Z conrad $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
#ifndef _OS_TYPES_H
|
#ifndef _OS_TYPES_H
|
||||||
@ -24,47 +23,52 @@
|
|||||||
#define _ogg_realloc realloc
|
#define _ogg_realloc realloc
|
||||||
#define _ogg_free free
|
#define _ogg_free free
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
|
|
||||||
# if defined(__CYGWIN__)
|
# if defined(__CYGWIN__)
|
||||||
# include <_G_config.h>
|
# include <stdint.h>
|
||||||
typedef _G_int64_t ogg_int64_t;
|
typedef int16_t ogg_int16_t;
|
||||||
typedef _G_int32_t ogg_int32_t;
|
typedef uint16_t ogg_uint16_t;
|
||||||
typedef _G_uint32_t ogg_uint32_t;
|
typedef int32_t ogg_int32_t;
|
||||||
typedef _G_int16_t ogg_int16_t;
|
typedef uint32_t ogg_uint32_t;
|
||||||
typedef _G_uint16_t ogg_uint16_t;
|
typedef int64_t ogg_int64_t;
|
||||||
|
typedef uint64_t ogg_uint64_t;
|
||||||
# elif defined(__MINGW32__)
|
# elif defined(__MINGW32__)
|
||||||
typedef short ogg_int16_t;
|
# include <sys/types.h>
|
||||||
typedef unsigned short ogg_uint16_t;
|
typedef short ogg_int16_t;
|
||||||
typedef int ogg_int32_t;
|
typedef unsigned short ogg_uint16_t;
|
||||||
typedef unsigned int ogg_uint32_t;
|
typedef int ogg_int32_t;
|
||||||
typedef long long ogg_int64_t;
|
typedef unsigned int ogg_uint32_t;
|
||||||
typedef unsigned long long ogg_uint64_t;
|
typedef long long ogg_int64_t;
|
||||||
|
typedef unsigned long long ogg_uint64_t;
|
||||||
# elif defined(__MWERKS__)
|
# elif defined(__MWERKS__)
|
||||||
typedef long long ogg_int64_t;
|
typedef long long ogg_int64_t;
|
||||||
|
typedef unsigned long long ogg_uint64_t;
|
||||||
typedef int ogg_int32_t;
|
typedef int ogg_int32_t;
|
||||||
typedef unsigned int ogg_uint32_t;
|
typedef unsigned int ogg_uint32_t;
|
||||||
typedef short ogg_int16_t;
|
typedef short ogg_int16_t;
|
||||||
typedef unsigned short ogg_uint16_t;
|
typedef unsigned short ogg_uint16_t;
|
||||||
# else
|
# else
|
||||||
/* MSVC/Borland */
|
# if defined(_MSC_VER) && (_MSC_VER >= 1800) /* MSVC 2013 and newer */
|
||||||
typedef __int64 ogg_int64_t;
|
# include <stdint.h>
|
||||||
typedef __int32 ogg_int32_t;
|
typedef int16_t ogg_int16_t;
|
||||||
typedef unsigned __int32 ogg_uint32_t;
|
typedef uint16_t ogg_uint16_t;
|
||||||
typedef __int16 ogg_int16_t;
|
typedef int32_t ogg_int32_t;
|
||||||
typedef unsigned __int16 ogg_uint16_t;
|
typedef uint32_t ogg_uint32_t;
|
||||||
|
typedef int64_t ogg_int64_t;
|
||||||
|
typedef uint64_t ogg_uint64_t;
|
||||||
|
# else
|
||||||
|
/* MSVC/Borland */
|
||||||
|
typedef __int64 ogg_int64_t;
|
||||||
|
typedef __int32 ogg_int32_t;
|
||||||
|
typedef unsigned __int32 ogg_uint32_t;
|
||||||
|
typedef unsigned __int64 ogg_uint64_t;
|
||||||
|
typedef __int16 ogg_int16_t;
|
||||||
|
typedef unsigned __int16 ogg_uint16_t;
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
#elif defined(__MACOS__)
|
#elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */
|
||||||
|
|
||||||
# include <sys/types.h>
|
|
||||||
typedef SInt16 ogg_int16_t;
|
|
||||||
typedef UInt16 ogg_uint16_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>
|
# include <sys/types.h>
|
||||||
typedef int16_t ogg_int16_t;
|
typedef int16_t ogg_int16_t;
|
||||||
@ -72,16 +76,29 @@
|
|||||||
typedef int32_t ogg_int32_t;
|
typedef int32_t ogg_int32_t;
|
||||||
typedef u_int32_t ogg_uint32_t;
|
typedef u_int32_t ogg_uint32_t;
|
||||||
typedef int64_t ogg_int64_t;
|
typedef int64_t ogg_int64_t;
|
||||||
|
typedef u_int64_t ogg_uint64_t;
|
||||||
|
|
||||||
|
#elif defined(__HAIKU__)
|
||||||
|
|
||||||
|
/* Haiku */
|
||||||
|
# include <sys/types.h>
|
||||||
|
typedef short ogg_int16_t;
|
||||||
|
typedef unsigned short ogg_uint16_t;
|
||||||
|
typedef int ogg_int32_t;
|
||||||
|
typedef unsigned int ogg_uint32_t;
|
||||||
|
typedef long long ogg_int64_t;
|
||||||
|
typedef unsigned long long ogg_uint64_t;
|
||||||
|
|
||||||
#elif defined(__BEOS__)
|
#elif defined(__BEOS__)
|
||||||
|
|
||||||
/* Be */
|
/* Be */
|
||||||
# include <inttypes.h>
|
# include <inttypes.h>
|
||||||
typedef int16_t ogg_int16_t;
|
typedef int16_t ogg_int16_t;
|
||||||
typedef u_int16_t ogg_uint16_t;
|
typedef uint16_t ogg_uint16_t;
|
||||||
typedef int32_t ogg_int32_t;
|
typedef int32_t ogg_int32_t;
|
||||||
typedef u_int32_t ogg_uint32_t;
|
typedef uint32_t ogg_uint32_t;
|
||||||
typedef int64_t ogg_int64_t;
|
typedef int64_t ogg_int64_t;
|
||||||
|
typedef uint64_t ogg_uint64_t;
|
||||||
|
|
||||||
#elif defined (__EMX__)
|
#elif defined (__EMX__)
|
||||||
|
|
||||||
@ -91,6 +108,8 @@
|
|||||||
typedef int ogg_int32_t;
|
typedef int ogg_int32_t;
|
||||||
typedef unsigned int ogg_uint32_t;
|
typedef unsigned int ogg_uint32_t;
|
||||||
typedef long long ogg_int64_t;
|
typedef long long ogg_int64_t;
|
||||||
|
typedef unsigned long long ogg_uint64_t;
|
||||||
|
|
||||||
|
|
||||||
#elif defined (DJGPP)
|
#elif defined (DJGPP)
|
||||||
|
|
||||||
@ -99,11 +118,13 @@
|
|||||||
typedef int ogg_int32_t;
|
typedef int ogg_int32_t;
|
||||||
typedef unsigned int ogg_uint32_t;
|
typedef unsigned int ogg_uint32_t;
|
||||||
typedef long long ogg_int64_t;
|
typedef long long ogg_int64_t;
|
||||||
|
typedef unsigned long long ogg_uint64_t;
|
||||||
|
|
||||||
#elif defined(R5900)
|
#elif defined(R5900)
|
||||||
|
|
||||||
/* PS2 EE */
|
/* PS2 EE */
|
||||||
typedef long ogg_int64_t;
|
typedef long ogg_int64_t;
|
||||||
|
typedef unsigned long ogg_uint64_t;
|
||||||
typedef int ogg_int32_t;
|
typedef int ogg_int32_t;
|
||||||
typedef unsigned ogg_uint32_t;
|
typedef unsigned ogg_uint32_t;
|
||||||
typedef short ogg_int16_t;
|
typedef short ogg_int16_t;
|
||||||
@ -116,10 +137,20 @@
|
|||||||
typedef signed int ogg_int32_t;
|
typedef signed int ogg_int32_t;
|
||||||
typedef unsigned int ogg_uint32_t;
|
typedef unsigned int ogg_uint32_t;
|
||||||
typedef long long int ogg_int64_t;
|
typedef long long int ogg_int64_t;
|
||||||
|
typedef unsigned long long int ogg_uint64_t;
|
||||||
|
|
||||||
|
#elif defined(__TMS320C6X__)
|
||||||
|
|
||||||
|
/* TI C64x compiler */
|
||||||
|
typedef signed short ogg_int16_t;
|
||||||
|
typedef unsigned short ogg_uint16_t;
|
||||||
|
typedef signed int ogg_int32_t;
|
||||||
|
typedef unsigned int ogg_uint32_t;
|
||||||
|
typedef long long int ogg_int64_t;
|
||||||
|
typedef unsigned long long int ogg_uint64_t;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
# include <sys/types.h>
|
|
||||||
# include <ogg/config_types.h>
|
# include <ogg/config_types.h>
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -6,12 +6,11 @@
|
|||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
|
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: libvorbis codec headers
|
function: libvorbis codec headers
|
||||||
last mod: $Id: codec.h 13293 2007-07-24 00:09:47Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
@ -121,7 +120,7 @@ typedef struct vorbis_block{
|
|||||||
|
|
||||||
/* vorbis_block is a single block of data to be processed as part of
|
/* vorbis_block is a single block of data to be processed as part of
|
||||||
the analysis/synthesis stream; it belongs to a specific logical
|
the analysis/synthesis stream; it belongs to a specific logical
|
||||||
bitstream, but is independant from other vorbis_blocks belonging to
|
bitstream, but is independent from other vorbis_blocks belonging to
|
||||||
that logical bitstream. *************************************************/
|
that logical bitstream. *************************************************/
|
||||||
|
|
||||||
struct alloc_chain{
|
struct alloc_chain{
|
||||||
@ -166,28 +165,30 @@ extern void vorbis_info_init(vorbis_info *vi);
|
|||||||
extern void vorbis_info_clear(vorbis_info *vi);
|
extern void vorbis_info_clear(vorbis_info *vi);
|
||||||
extern int vorbis_info_blocksize(vorbis_info *vi,int zo);
|
extern int vorbis_info_blocksize(vorbis_info *vi,int zo);
|
||||||
extern void vorbis_comment_init(vorbis_comment *vc);
|
extern void vorbis_comment_init(vorbis_comment *vc);
|
||||||
extern void vorbis_comment_add(vorbis_comment *vc, char *comment);
|
extern void vorbis_comment_add(vorbis_comment *vc, const char *comment);
|
||||||
extern void vorbis_comment_add_tag(vorbis_comment *vc,
|
extern void vorbis_comment_add_tag(vorbis_comment *vc,
|
||||||
char *tag, char *contents);
|
const char *tag, const char *contents);
|
||||||
extern char *vorbis_comment_query(vorbis_comment *vc, char *tag, int count);
|
extern char *vorbis_comment_query(vorbis_comment *vc, const char *tag, int count);
|
||||||
extern int vorbis_comment_query_count(vorbis_comment *vc, char *tag);
|
extern int vorbis_comment_query_count(vorbis_comment *vc, const char *tag);
|
||||||
extern void vorbis_comment_clear(vorbis_comment *vc);
|
extern void vorbis_comment_clear(vorbis_comment *vc);
|
||||||
|
|
||||||
extern int vorbis_block_init(vorbis_dsp_state *v, vorbis_block *vb);
|
extern int vorbis_block_init(vorbis_dsp_state *v, vorbis_block *vb);
|
||||||
extern int vorbis_block_clear(vorbis_block *vb);
|
extern int vorbis_block_clear(vorbis_block *vb);
|
||||||
extern void vorbis_dsp_clear(vorbis_dsp_state *v);
|
extern void vorbis_dsp_clear(vorbis_dsp_state *v);
|
||||||
extern double vorbis_granule_time(vorbis_dsp_state *v,
|
extern double vorbis_granule_time(vorbis_dsp_state *v,
|
||||||
ogg_int64_t granulepos);
|
ogg_int64_t granulepos);
|
||||||
|
|
||||||
|
extern const char *vorbis_version_string(void);
|
||||||
|
|
||||||
/* Vorbis PRIMITIVES: analysis/DSP layer ****************************/
|
/* Vorbis PRIMITIVES: analysis/DSP layer ****************************/
|
||||||
|
|
||||||
extern int vorbis_analysis_init(vorbis_dsp_state *v,vorbis_info *vi);
|
extern int vorbis_analysis_init(vorbis_dsp_state *v,vorbis_info *vi);
|
||||||
extern int vorbis_commentheader_out(vorbis_comment *vc, ogg_packet *op);
|
extern int vorbis_commentheader_out(vorbis_comment *vc, ogg_packet *op);
|
||||||
extern int vorbis_analysis_headerout(vorbis_dsp_state *v,
|
extern int vorbis_analysis_headerout(vorbis_dsp_state *v,
|
||||||
vorbis_comment *vc,
|
vorbis_comment *vc,
|
||||||
ogg_packet *op,
|
ogg_packet *op,
|
||||||
ogg_packet *op_comm,
|
ogg_packet *op_comm,
|
||||||
ogg_packet *op_code);
|
ogg_packet *op_code);
|
||||||
extern float **vorbis_analysis_buffer(vorbis_dsp_state *v,int vals);
|
extern float **vorbis_analysis_buffer(vorbis_dsp_state *v,int vals);
|
||||||
extern int vorbis_analysis_wrote(vorbis_dsp_state *v,int vals);
|
extern int vorbis_analysis_wrote(vorbis_dsp_state *v,int vals);
|
||||||
extern int vorbis_analysis_blockout(vorbis_dsp_state *v,vorbis_block *vb);
|
extern int vorbis_analysis_blockout(vorbis_dsp_state *v,vorbis_block *vb);
|
||||||
@ -195,12 +196,12 @@ extern int vorbis_analysis(vorbis_block *vb,ogg_packet *op);
|
|||||||
|
|
||||||
extern int vorbis_bitrate_addblock(vorbis_block *vb);
|
extern int vorbis_bitrate_addblock(vorbis_block *vb);
|
||||||
extern int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd,
|
extern int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd,
|
||||||
ogg_packet *op);
|
ogg_packet *op);
|
||||||
|
|
||||||
/* Vorbis PRIMITIVES: synthesis layer *******************************/
|
/* Vorbis PRIMITIVES: synthesis layer *******************************/
|
||||||
extern int vorbis_synthesis_idheader(ogg_packet *op);
|
extern int vorbis_synthesis_idheader(ogg_packet *op);
|
||||||
extern int vorbis_synthesis_headerin(vorbis_info *vi,vorbis_comment *vc,
|
extern int vorbis_synthesis_headerin(vorbis_info *vi,vorbis_comment *vc,
|
||||||
ogg_packet *op);
|
ogg_packet *op);
|
||||||
|
|
||||||
extern int vorbis_synthesis_init(vorbis_dsp_state *v,vorbis_info *vi);
|
extern int vorbis_synthesis_init(vorbis_dsp_state *v,vorbis_info *vi);
|
||||||
extern int vorbis_synthesis_restart(vorbis_dsp_state *v);
|
extern int vorbis_synthesis_restart(vorbis_dsp_state *v);
|
||||||
|
@ -6,12 +6,11 @@
|
|||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: stdio-based convenience library for opening/seeking/decoding
|
function: stdio-based convenience library for opening/seeking/decoding
|
||||||
last mod: $Id: vorbisfile.h 13293 2007-07-24 00:09:47Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
@ -43,17 +42,35 @@ typedef struct {
|
|||||||
long (*tell_func) (void *datasource);
|
long (*tell_func) (void *datasource);
|
||||||
} ov_callbacks;
|
} ov_callbacks;
|
||||||
|
|
||||||
#if 0
|
#ifndef OV_EXCLUDE_STATIC_CALLBACKS
|
||||||
|
|
||||||
/* a few sets of convenient callbacks, especially for use under
|
/* a few sets of convenient callbacks, especially for use under
|
||||||
* Windows where ov_open_callbacks() should always be used instead of
|
* Windows where ov_open_callbacks() should always be used instead of
|
||||||
* ov_open() to avoid problems with incompatable crt.o version linking
|
* ov_open() to avoid problems with incompatible crt.o version linking
|
||||||
* issues. */
|
* issues. */
|
||||||
|
|
||||||
static int _ov_header_fseek_wrap(FILE *f,ogg_int64_t off,int whence){
|
static int _ov_header_fseek_wrap(FILE *f,ogg_int64_t off,int whence){
|
||||||
if(f==NULL)return(-1);
|
if(f==NULL)return(-1);
|
||||||
|
|
||||||
|
#ifdef __MINGW32__
|
||||||
|
return fseeko64(f,off,whence);
|
||||||
|
#elif defined (_WIN32)
|
||||||
|
return _fseeki64(f,off,whence);
|
||||||
|
#else
|
||||||
return fseek(f,off,whence);
|
return fseek(f,off,whence);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* These structs below (OV_CALLBACKS_DEFAULT etc) are defined here as
|
||||||
|
* static data. That means that every file which includes this header
|
||||||
|
* will get its own copy of these structs whether it uses them or
|
||||||
|
* not unless it #defines OV_EXCLUDE_STATIC_CALLBACKS.
|
||||||
|
* These static symbols are essential on platforms such as Windows on
|
||||||
|
* which several different versions of stdio support may be linked to
|
||||||
|
* by different DLLs, and we need to be certain we know which one
|
||||||
|
* we're using (the same one as the main application).
|
||||||
|
*/
|
||||||
|
|
||||||
static ov_callbacks OV_CALLBACKS_DEFAULT = {
|
static ov_callbacks OV_CALLBACKS_DEFAULT = {
|
||||||
(size_t (*)(void *, size_t, size_t, void *)) fread,
|
(size_t (*)(void *, size_t, size_t, void *)) fread,
|
||||||
(int (*)(void *, ogg_int64_t, int)) _ov_header_fseek_wrap,
|
(int (*)(void *, ogg_int64_t, int)) _ov_header_fseek_wrap,
|
||||||
@ -104,8 +121,8 @@ typedef struct OggVorbis_File {
|
|||||||
ogg_int64_t *dataoffsets;
|
ogg_int64_t *dataoffsets;
|
||||||
long *serialnos;
|
long *serialnos;
|
||||||
ogg_int64_t *pcmlengths; /* overloaded to maintain binary
|
ogg_int64_t *pcmlengths; /* overloaded to maintain binary
|
||||||
compatability; x2 size, stores both
|
compatibility; x2 size, stores both
|
||||||
beginning and end values */
|
beginning and end values */
|
||||||
vorbis_info *vi;
|
vorbis_info *vi;
|
||||||
vorbis_comment *vc;
|
vorbis_comment *vc;
|
||||||
|
|
||||||
@ -129,14 +146,14 @@ typedef struct OggVorbis_File {
|
|||||||
|
|
||||||
|
|
||||||
extern int ov_clear(OggVorbis_File *vf);
|
extern int ov_clear(OggVorbis_File *vf);
|
||||||
extern int ov_fopen(char *path,OggVorbis_File *vf);
|
extern int ov_fopen(const char *path,OggVorbis_File *vf);
|
||||||
extern int ov_open(FILE *f,OggVorbis_File *vf,char *initial,long ibytes);
|
extern int ov_open(FILE *f,OggVorbis_File *vf,const char *initial,long ibytes);
|
||||||
extern int ov_open_callbacks(void *datasource, OggVorbis_File *vf,
|
extern int ov_open_callbacks(void *datasource, OggVorbis_File *vf,
|
||||||
char *initial, long ibytes, ov_callbacks callbacks);
|
const char *initial, long ibytes, ov_callbacks callbacks);
|
||||||
|
|
||||||
extern int ov_test(FILE *f,OggVorbis_File *vf,char *initial,long ibytes);
|
extern int ov_test(FILE *f,OggVorbis_File *vf,const char *initial,long ibytes);
|
||||||
extern int ov_test_callbacks(void *datasource, OggVorbis_File *vf,
|
extern int ov_test_callbacks(void *datasource, OggVorbis_File *vf,
|
||||||
char *initial, long ibytes, ov_callbacks callbacks);
|
const char *initial, long ibytes, ov_callbacks callbacks);
|
||||||
extern int ov_test_open(OggVorbis_File *vf);
|
extern int ov_test_open(OggVorbis_File *vf);
|
||||||
|
|
||||||
extern long ov_bitrate(OggVorbis_File *vf,int i);
|
extern long ov_bitrate(OggVorbis_File *vf,int i);
|
||||||
@ -169,9 +186,12 @@ extern vorbis_info *ov_info(OggVorbis_File *vf,int link);
|
|||||||
extern vorbis_comment *ov_comment(OggVorbis_File *vf,int link);
|
extern vorbis_comment *ov_comment(OggVorbis_File *vf,int link);
|
||||||
|
|
||||||
extern long ov_read_float(OggVorbis_File *vf,float ***pcm_channels,int samples,
|
extern long ov_read_float(OggVorbis_File *vf,float ***pcm_channels,int samples,
|
||||||
int *bitstream);
|
int *bitstream);
|
||||||
|
extern long ov_read_filter(OggVorbis_File *vf,char *buffer,int length,
|
||||||
|
int bigendianp,int word,int sgned,int *bitstream,
|
||||||
|
void (*filter)(float **pcm,long channels,long samples,void *filter_param),void *filter_param);
|
||||||
extern long ov_read(OggVorbis_File *vf,char *buffer,int length,
|
extern long ov_read(OggVorbis_File *vf,char *buffer,int length,
|
||||||
int bigendianp,int word,int sgned,int *bitstream);
|
int bigendianp,int word,int sgned,int *bitstream);
|
||||||
extern int ov_crosslap(OggVorbis_File *vf1,OggVorbis_File *vf2);
|
extern int ov_crosslap(OggVorbis_File *vf1,OggVorbis_File *vf2);
|
||||||
|
|
||||||
extern int ov_halfrate(OggVorbis_File *vf,int flag);
|
extern int ov_halfrate(OggVorbis_File *vf,int flag);
|
||||||
@ -183,4 +203,3 @@ extern int ov_halfrate_p(OggVorbis_File *vf);
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
|
;
|
||||||
|
; vgmstream's libvorbis.def
|
||||||
|
; fused from official ogg.def + vorbis.def (without vorbisenc functions) + vorbisfile.def
|
||||||
|
;
|
||||||
LIBRARY libvorbis.dll
|
LIBRARY libvorbis.dll
|
||||||
EXPORTS
|
EXPORTS
|
||||||
|
|
||||||
|
;;; ogg.def
|
||||||
;
|
;
|
||||||
oggpack_writeinit
|
oggpack_writeinit
|
||||||
oggpack_writetrunc
|
oggpack_writetrunc
|
||||||
@ -59,6 +65,8 @@ ogg_stream_reset
|
|||||||
ogg_stream_reset_serialno
|
ogg_stream_reset_serialno
|
||||||
ogg_stream_destroy
|
ogg_stream_destroy
|
||||||
ogg_stream_eos
|
ogg_stream_eos
|
||||||
|
ogg_stream_pageout_fill
|
||||||
|
ogg_stream_flush_fill
|
||||||
;
|
;
|
||||||
ogg_page_checksum_set
|
ogg_page_checksum_set
|
||||||
ogg_page_version
|
ogg_page_version
|
||||||
@ -70,6 +78,8 @@ ogg_page_serialno
|
|||||||
ogg_page_pageno
|
ogg_page_pageno
|
||||||
ogg_page_packets
|
ogg_page_packets
|
||||||
ogg_packet_clear
|
ogg_packet_clear
|
||||||
|
|
||||||
|
;;; vorbis.def
|
||||||
;
|
;
|
||||||
_floor_P
|
_floor_P
|
||||||
_mapping_P
|
_mapping_P
|
||||||
@ -116,13 +126,17 @@ vorbis_synthesis_halfrate_p
|
|||||||
vorbis_synthesis_idheader
|
vorbis_synthesis_idheader
|
||||||
;
|
;
|
||||||
vorbis_window
|
vorbis_window
|
||||||
_analysis_output_always
|
;_analysis_output_always
|
||||||
vorbis_encode_init
|
;vorbis_encode_init
|
||||||
vorbis_encode_setup_managed
|
;vorbis_encode_setup_managed
|
||||||
vorbis_encode_setup_vbr
|
;vorbis_encode_setup_vbr
|
||||||
vorbis_encode_init_vbr
|
;vorbis_encode_init_vbr
|
||||||
vorbis_encode_setup_init
|
;vorbis_encode_setup_init
|
||||||
vorbis_encode_ctl
|
;vorbis_encode_ctl
|
||||||
|
;
|
||||||
|
vorbis_version_string
|
||||||
|
|
||||||
|
;;; vorbisfile.def
|
||||||
;
|
;
|
||||||
ov_clear
|
ov_clear
|
||||||
ov_open
|
ov_open
|
||||||
@ -158,3 +172,4 @@ ov_test_open
|
|||||||
ov_crosslap
|
ov_crosslap
|
||||||
ov_halfrate
|
ov_halfrate
|
||||||
ov_halfrate_p
|
ov_halfrate_p
|
||||||
|
ov_fopen
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user