Author: ArcRiley Date: 2007-07-03 05:23:41 -0400 (Tue, 03 Jul 2007) New Revision: 327
Modified: trunk/pysoy/include/ogg.pxd Log: libogg1, libvorbis, and libtheora Modified: trunk/pysoy/include/ogg.pxd =================================================================== --- trunk/pysoy/include/ogg.pxd 2007-07-03 06:03:14 UTC (rev 326) +++ trunk/pysoy/include/ogg.pxd 2007-07-03 09:23:41 UTC (rev 327) @@ -1,139 +1,374 @@ # Ogg Declarations # -# Copyright (C) 2007 Team PySoy +# Copyright (C ) 2007 Team PySoy # -# This program is free software; you can redistribute it and/or modify +# This program is free software you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. +# the Free Software Foundation either version 3 of the License, or +# (at your option ) any later version. # # This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of +# but WITHOUT ANY WARRANTY without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see http://www.gnu.org/licenses +# along with this program if not, see http://www.gnu.org/licenses # # $Id$ -cdef extern from "ogg/os_types.h" : +extern cdef from "ogg/ogg.h" : ctypedef short ogg_int16_t ctypedef unsigned short ogg_uint16_t ctypedef int ogg_int32_t ctypedef unsigned int ogg_uint32_t ctypedef long ogg_int64_t -cdef extern from "ogg/ogg2.h" : - ctypedef enum : - OGG2_SUCCESS - OGG2_HOLE - OGG2_SPAN - OGG2_EVERSION - OGG2_ESERIAL - OGG2_EINVAL - OGG2_EEOS + ctypedef struct oggpack_buffer : + long endbyte + int endbit + unsigned char *buffer + unsigned char *ptr + long storage - cdef struct ogg2_buffer : - void *none - cdef struct ogg2_reference : - void *none - cdef struct ogg2_buffer_state : - void *none - cdef struct ogg2_sync_state : - void *none - cdef struct ogg2_stream_state : - void *none - cdef struct ogg2pack_buffer : - void *none + ctypedef struct ogg_page : + unsigned char *header + long header_len + unsigned char *body + long body_len - ctypedef struct ogg2_packet : - ogg2_reference *packet + ctypedef struct ogg_stream_state : + unsigned char *body_data + long body_storage + long body_fill + long body_returned + int *lacing_vals + ogg_int64_t *granule_vals + long lacing_storage + long lacing_fill + long lacing_packet + long lacing_returned + unsigned char header[282] + int header_fill + int e_o_s + int b_o_s + long + long pageno + ogg_int64_t packetno + ogg_int64_t + + ctypedef struct ogg_packet : + unsigned char *packet long bytes long b_o_s long e_o_s - ogg_int64_t top_granule - ogg_int64_t end_granule + ogg_int64_t ogg_int64_t packetno - ctypedef struct ogg2_page : - ogg2_reference *header - int header_len - ogg2_reference *body - int body_len + typedef struct ogg_sync_state : + unsigned char *data + int storage + int fill + int returned + int unsynced + int header + int body - cdef ogg2_buffer_state *ogg2_buffer_create ( ) - cdef int ogg2pack_buffersize ( ) - cdef ogg2_reference *ogg2pack_writebuffer ( ogg2pack_buffer* ) - cdef ogg2_reference *ogg2packB_writebuffer ( ogg2pack_buffer* ) + cdef void oggpack_writeinit ( oggpack_buffer* ) + cdef void oggpack_writetrunc ( oggpack_buffer*, long ) + cdef void oggpack_writealign ( oggpack_buffer* ) + cdef void oggpack_writecopy ( oggpack_buffer*, void*, long ) + cdef void oggpack_reset ( oggpack_buffer* ) + cdef void oggpack_writeclear ( oggpack_buffer* ) + cdef void oggpack_readinit ( oggpack_buffer*, unsigned char*, int ) + cdef void oggpack_write ( oggpack_buffer*, unsigned long, int ) + cdef long oggpack_look ( oggpack_buffer*, int ) + cdef long oggpack_look1 ( oggpack_buffer* ) + cdef void oggpack_adv ( oggpack_buffer*, int ) + cdef void oggpack_adv1 ( oggpack_buffer* ) + cdef long oggpack_read ( oggpack_buffer*, int ) + cdef long oggpack_read1 ( oggpack_buffer* ) + cdef long oggpack_bytes ( oggpack_buffer* ) + cdef long oggpack_bits ( oggpack_buffer* ) + cdef unsigned char *oggpack_get_buffer ( oggpack_buffer* ) - cdef void ogg2pack_writeinit ( ogg2pack_buffer*, ogg2_buffer_state* ) - cdef void ogg2pack_writealign ( ogg2pack_buffer* ) - cdef void ogg2pack_writeclear ( ogg2pack_buffer* ) - cdef void ogg2pack_readinit ( ogg2pack_buffer*, ogg2_reference* ) - cdef void ogg2pack_write ( ogg2pack_buffer*, unsigned long, int ) - cdef int ogg2pack_look ( ogg2pack_buffer*, int, unsigned long* ) - cdef long ogg2pack_look1 ( ogg2pack_buffer* ) - cdef void ogg2pack_adv ( ogg2pack_buffer*, int ) - cdef void ogg2pack_adv1 ( ogg2pack_buffer* ) - cdef int ogg2pack_read ( ogg2pack_buffer*, int, unsigned long* ) - cdef long ogg2pack_read1 ( ogg2pack_buffer* ) - cdef long ogg2pack_bytes ( ogg2pack_buffer* ) - cdef long ogg2pack_bits ( ogg2pack_buffer* ) - cdef int ogg2pack_eop ( ogg2pack_buffer* ) - cdef void ogg2packB_writeinit ( ogg2pack_buffer*, ogg2_buffer_state* ) - cdef void ogg2packB_writealign ( ogg2pack_buffer* ) - cdef void ogg2packB_writeclear ( ogg2pack_buffer* ) - cdef void ogg2packB_readinit ( ogg2pack_buffer*, ogg2_reference* ) - cdef void ogg2packB_write ( ogg2pack_buffer*, unsigned long, int ) - cdef int ogg2packB_look ( ogg2pack_buffer*, int, unsigned long* ) - cdef long ogg2packB_look1 ( ogg2pack_buffer* ) - cdef void ogg2packB_adv ( ogg2pack_buffer*, int ) - cdef void ogg2packB_adv1 ( ogg2pack_buffer* ) - cdef int ogg2packB_read ( ogg2pack_buffer*, int, unsigned long* ) - cdef long ogg2packB_read1 ( ogg2pack_buffer* ) - cdef long ogg2packB_bytes ( ogg2pack_buffer* ) - cdef long ogg2packB_bits ( ogg2pack_buffer* ) - cdef int ogg2packB_eop ( ogg2pack_buffer* ) + cdef void oggpackB_writeinit ( oggpack_buffer* ) + cdef void oggpackB_writetrunc ( oggpack_buffer*, long ) + cdef void oggpackB_writealign ( oggpack_buffer* ) + cdef void oggpackB_writecopy ( oggpack_buffer*, void*, long ) + cdef void oggpackB_reset ( oggpack_buffer* ) + cdef void oggpackB_writeclear ( oggpack_buffer* ) + cdef void oggpackB_readinit ( oggpack_buffer*, unsigned char*, int ) + cdef void oggpackB_write ( oggpack_buffer*, unsigned long, int ) + cdef long oggpackB_look ( oggpack_buffer*, int ) + cdef long oggpackB_look1 ( oggpack_buffer* ) + cdef void oggpackB_adv ( oggpack_buffer*, int ) + cdef void oggpackB_adv1 ( oggpack_buffer* ) + cdef long oggpackB_read ( oggpack_buffer*, int ) + cdef long oggpackB_read1 ( oggpack_buffer* ) + cdef long oggpackB_bytes ( oggpack_buffer* ) + cdef long oggpackB_bits ( oggpack_buffer* ) + cdef unsigned char *oggpackB_get_buffer ( oggpack_buffer* ) - cdef ogg2_sync_state *ogg2_sync_create ( ) - cdef unsigned char *ogg2_sync_bufferin ( ogg2_sync_state*, long ) - cdef int ogg2_sync_pagein ( ogg2_sync_state*, ogg2_page* ) - cdef int ogg2_sync_read ( ogg2_sync_state*, long ) - cdef int ogg2_sync_wrote ( ogg2_sync_state*, long ) - cdef long ogg2_sync_pageseek ( ogg2_sync_state*, ogg2_page* ) - cdef int ogg2_sync_pageout ( ogg2_sync_state*, ogg2_page* ) - cdef int ogg2_sync_destroy ( ogg2_sync_state* ) - cdef int ogg2_sync_reset ( ogg2_sync_state* ) - cdef long ogg2_sync_bufferout ( ogg2_sync_state*, unsigned char** ) + cdef int ogg_stream_packetin ( ogg_stream_state*, ogg_packet* ) + cdef int ogg_stream_pageout ( ogg_stream_state*, ogg_page* ) + cdef int ogg_stream_flush ( ogg_stream_state*, ogg_page* ) - cdef ogg2_stream_state *ogg2_stream_create ( int ) - cdef int ogg2_stream_destroy ( ogg2_stream_state* ) - cdef int ogg2_stream_reset ( ogg2_stream_state* ) - cdef int ogg2_stream_reset_serialno ( ogg2_stream_state*, int ) - cdef int ogg2_stream_eos ( ogg2_stream_state* ) - cdef int ogg2_stream_setdiscont ( ogg2_stream_state* ) - cdef int ogg2_stream_pagein ( ogg2_stream_state*, ogg2_page* ) - cdef int ogg2_stream_packetout ( ogg2_stream_state*, ogg2_packet* ) - cdef int ogg2_stream_packetpeek ( ogg2_stream_state*, ogg2_packet* ) - cdef int ogg2_stream_packetin ( ogg2_stream_state*, ogg2_packet* ) - cdef int ogg2_stream_pageout ( ogg2_stream_state*, ogg2_page* ) - cdef int ogg2_stream_flush ( ogg2_stream_state*, ogg2_page* ) + cdef int ogg_sync_init ( ogg_sync_state* ) + cdef int ogg_sync_clear ( ogg_sync_state* ) + cdef int ogg_sync_reset ( ogg_sync_state* ) + cdef int ogg_sync_destroy ( ogg_sync_state* ) - cdef int ogg2_page_version ( ogg2_page* ) - cdef int ogg2_page_continued ( ogg2_page* ) - cdef int ogg2_page_bos ( ogg2_page* ) - cdef int ogg2_page_eos ( ogg2_page* ) - cdef ogg_int64_t ogg2_page_granulepos ( ogg2_page* ) - cdef ogg_uint32_t ogg2_page_serialno ( ogg2_page* ) - cdef ogg_uint32_t ogg2_page_pageno ( ogg2_page* ) - cdef int ogg2_page_packets ( ogg2_page* ) - cdef void ogg2_page_set_continued ( ogg2_page*, int ) - cdef void ogg2_page_set_bos ( ogg2_page*, int ) - cdef void ogg2_page_set_eos ( ogg2_page*, int ) - cdef void ogg2_page_set_granulepos( ogg2_page*, ogg_int64_t ) - cdef void ogg2_page_set_serialno ( ogg2_page*, ogg_uint32_t ) - cdef void ogg2_page_set_pageno ( ogg2_page*, ogg_uint32_t ) - cdef int ogg2_page_release ( ogg2_page* ) + cdef char *ogg_sync_buffer ( ogg_sync_state*, long ) + cdef int ogg_sync_wrote ( ogg_sync_state*, long ) + cdef long ogg_sync_pageseek ( ogg_sync_state*, ogg_page* ) + cdef int ogg_sync_pageout ( ogg_sync_state*, ogg_page* ) + cdef int ogg_stream_pagein ( ogg_stream_state*, ogg_page* ) + cdef int ogg_stream_packetout ( ogg_stream_state*, ogg_packet* ) + cdef int ogg_stream_packetpeek ( ogg_stream_state*, ogg_packet* ) - cdef int ogg2_packet_release ( ogg2_packet* ) + cdef int ogg_stream_init ( ogg_stream_state*, int ) + cdef int ogg_stream_clear ( ogg_stream_state* ) + cdef int ogg_stream_reset ( ogg_stream_state* ) + cdef int ogg_stream_reset_serialno ( ogg_stream_state*, int ) + cdef int ogg_stream_destroy ( ogg_stream_state* ) + cdef int ogg_stream_eos ( ogg_stream_state* ) + + cdef void ogg_page_checksum_set ( ogg_page* ) + cdef int ogg_page_version ( ogg_page* ) + cdef int ogg_page_continued ( ogg_page* ) + cdef int ogg_page_bos ( ogg_page* ) + cdef int ogg_page_eos ( ogg_page* ) + cdef int ogg_page_serialno ( ogg_page* ) + cdef long ogg_page_pageno ( ogg_page* ) + cdef int ogg_page_packets ( ogg_page* ) + cdef ogg_int64_t ogg_page_granulepos ( ogg_page* ) + cdef void ogg_packet_clear ( ogg_packet* ) + + +extern cdef from "vorbis/codec.h" : + ctypedef enum : + OV_FALSE + OV_EOF + OV_HOLE + OV_EREAD + OV_EFAULT + OV_EIMPL + OV_EINVAL + OV_ENOTVORBIS + OV_EBADHEADER + OV_EVERSION + OV_ENOTAUDIO + OV_EBADPACKET + OV_EBADLINK + OV_ENOSEEK + + cdef struct vorbis_info : + int version + int channels + long rate + long bitrate_upper + long bitrate_nominal + long bitrate_lower + long bitrate_window + void *codec_setup + + cdef struct vorbis_dsp_state : + int analysisp + vorbis_info *vi + float **pcm + float **pcmret + int pcm_storage + int pcm_current + int pcm_returned + int preextrapolate + int eofflag + long lW + long W + long nW + long centerW + ogg_int64_t granulepos + ogg_int64_t sequence + ogg_int64_t glue_bits + ogg_int64_t time_bits + ogg_int64_t floor_bits + ogg_int64_t res_bits + void *backend_state + + cdef struct vorbis_block : + float **pcm + oggpack_buffer opb + long lW + long W + long nW + int pcmend + int mode + int eofflag + ogg_int64_t granulepos + ogg_int64_t sequence + vorbis_dsp_state *vd + void *localstore + long localtop + long localalloc + long totaluse + alloc_chain *reap + long glue_bits + long time_bits + long floor_bits + long res_bits + void *internal + + cdef struct alloc_chain : + void *ptr + alloc_chain *next + + cdef struct vorbis_comment : + char **user_comments + int *comment_lengths + int comments + char *vendor + + cdef void vorbis_info_init ( vorbis_info* ) + cdef void vorbis_info_clear ( vorbis_info* ) + cdef int vorbis_info_blocksize ( vorbis_info*, int ) + cdef void vorbis_comment_init ( vorbis_comment* ) + cdef void vorbis_comment_add ( vorbis_comment*, char* ) + cdef void vorbis_comment_add_tag ( vorbis_comment*, char*, char* ) + cdef char *vorbis_comment_query ( vorbis_comment*, char*, int ) + cdef int vorbis_comment_query_count ( vorbis_comment*, char* ) + cdef void vorbis_comment_clear ( vorbis_comment* ) + cdef int vorbis_block_init ( vorbis_dsp_state*, vorbis_block* ) + cdef int vorbis_block_clear ( vorbis_block* ) + cdef void vorbis_dsp_clear ( vorbis_dsp_state* ) + cdef double vorbis_granule_time ( vorbis_dsp_state*, ogg_int64_t ) + cdef int vorbis_analysis_init ( vorbis_dsp_state*, vorbis_info* ) + cdef int vorbis_commentheader_out ( vorbis_comment*, ogg_packet* ) + cdef int vorbis_analysis_headerout ( vorbis_dsp_state*, + vorbis_comment*, ogg_packet*, + ogg_packet*, ogg_packet* ) + cdef float **vorbis_analysis_buffer ( vorbis_dsp_state*, int ) + cdef int vorbis_analysis_wrote ( vorbis_dsp_state*, int ) + cdef int vorbis_analysis_blockout ( vorbis_dsp_state*, vorbis_block* ) + cdef int vorbis_analysis ( vorbis_block*, ogg_packet* ) + cdef int vorbis_bitrate_addblock ( vorbis_block* ) + cdef int vorbis_bitrate_flushpacket ( vorbis_dsp_state*, ogg_packet* ) + cdef int vorbis_synthesis_headerin ( vorbis_info*, vorbis_comment*, + ogg_packet* ) + cdef int vorbis_synthesis_init ( vorbis_dsp_state*, vorbis_info* ) + cdef int vorbis_synthesis_restart ( vorbis_dsp_state* ) + cdef int vorbis_synthesis ( vorbis_block*, ogg_packet* ) + cdef int vorbis_synthesis_trackonly ( vorbis_block*, ogg_packet* ) + cdef int vorbis_synthesis_blockin ( vorbis_dsp_state*, vorbis_block* ) + cdef int vorbis_synthesis_pcmout ( vorbis_dsp_state*, float*** ) + cdef int vorbis_synthesis_lapout ( vorbis_dsp_state*, float*** ) + cdef int vorbis_synthesis_read ( vorbis_dsp_state*, int ) + cdef long vorbis_packet_blocksize ( vorbis_info*, ogg_packet* ) + cdef int vorbis_synthesis_halfrate ( vorbis_info*, int ) + cdef int vorbis_synthesis_halfrate_p( vorbis_info *v ) + + +extern cdef from "theora/theora.h" : + ctypedef enum : + OC_FAULT + OC_EINVAL + OC_DISABLED + OC_BADHEADER + OC_NOTFORMAT + OC_VERSION + OC_IMPL + OC_BADPACKET + OC_NEWPACKET + OC_DUPFRAME + + ctypedef enum theora_colorspace : + OC_CS_UNSPECIFIED, + OC_CS_ITU_REC_470M, + OC_CS_ITU_REC_470BG, + OC_CS_NSPACES + + ctypedef enum theora_pixelformat : + OC_PF_420, + OC_PF_RSVD, + OC_PF_422, + OC_PF_444, + + ctypedef struct yuv_buffer : + int y_width + int y_height + int y_stride + int uv_width + int uv_height + int uv_stride + unsigned char *y + unsigned char *u + unsigned char *v + + ctypedef struct theora_info : + ogg_uint32_t width + ogg_uint32_t height + ogg_uint32_t frame_width + ogg_uint32_t frame_height + ogg_uint32_t offset_x + ogg_uint32_t offset_y + ogg_uint32_t fps_numerator + ogg_uint32_t fps_denominator + ogg_uint32_t aspect_numerator + ogg_uint32_t aspect_denominator + theora_colorspace colorspace + int target_bitrate + int quality + int quick_p + unsigned char version_major + unsigned char version_minor + unsigned char version_subminor + void *codec_setup + int dropframes_p + int keyframe_auto_p + ogg_uint32_t keyframe_frequency + ogg_uint32_t keyframe_frequency_force + ogg_uint32_t keyframe_data_target_bitrate + ogg_int32_t keyframe_auto_threshold + ogg_uint32_t keyframe_mindistance + ogg_int32_t noise_sensitivity + ogg_int32_t sharpness + theora_pixelformat pixelformat + + ctypedef struct theora_state : + theora_info *i + ogg_int64_t + void *internal_encode + void *internal_decode + + cdef struct theora_comment : + char **user_comments + int *_lengths + int comments + char *vendor + + cdef char *theora_version_string ( ) + cdef ogg_uint32_t theora_version_number( ) + cdef int theora_encode_init ( theora_state*, theora_info* ) + cdef int theora_encode_YUVin ( theora_state*, yuv_buffer* ) + cdef int theora_encode_packetout ( theora_state*, int, ogg_packet* ) + cdef int theora_encode_header ( theora_state*, ogg_packet* ) + cdef int theora_encode_comment ( theora_comment*, ogg_packet* ) + cdef int theora_encode_tables ( theora_state*, ogg_packet* ) + cdef int theora_decode_header ( theora_info*, theora_comment*, + ogg_packet* ) + cdef int theora_decode_init ( theora_state*, theora_info* ) + cdef int theora_decode_packetin ( theora_state*, ogg_packet* ) + cdef int theora_decode_YUVout ( theora_state*, yuv_buffer* ) + cdef int theora_packet_isheader ( ogg_packet* ) + cdef int theora_packet_iskeyframe ( ogg_packet* ) + cdef int theora_granule_shift ( theora_info* ) + cdef ogg_int64_t theora_granule_frame ( theora_state*, ogg_int64_t ) + cdef double theora_granule_time ( theora_state*, ogg_int64_t ) + cdef void theora_info_init ( theora_info* ) + cdef void theora_info_clear ( theora_info* ) + cdef void theora_clear ( theora_state* ) + cdef void theora_comment_init ( theora_comment* ) + cdef void theora_comment_add ( theora_comment*, char* ) + cdef void theora_comment_add_tag ( theora_comment*, char*, char* ) + cdef char *theora_comment_query ( theora_comment*, char*, int ) + cdef int theora_comment_query_count ( theora_comment*, char* ) + cdef void theora_comment_clear ( theora_comment* ) _______________________________________________ PySoy-SVN mailing list [email protected] http://www.pysoy.org/mailman/listinfo/pysoy-svn
