[xiph-commits] r13486 - trunk/vorbis-java
bcohee at svn.xiph.org
bcohee at svn.xiph.org
Wed Aug 8 17:11:50 PDT 2007
Author: bcohee
Date: 2007-08-08 17:11:50 -0700 (Wed, 08 Aug 2007)
New Revision: 13486
Added:
trunk/vorbis-java/TODO
Log:
Renamed
Copied: trunk/vorbis-java/TODO (from rev 13476, trunk/vorbis-java/Todo.txt)
===================================================================
--- trunk/vorbis-java/TODO (rev 0)
+++ trunk/vorbis-java/TODO 2007-08-09 00:11:50 UTC (rev 13486)
@@ -0,0 +1,136 @@
+
+JVorbis Todo Checklist
+----------------------
+
+libvorbis
+----------------------
+// DONE - Vorbis Comment support added into header
+
+vorbis_encode_init_vbr( vi, 2, 44100, .4f )) - quality should be able to be increased/decresed but not tested yet
+finish support for managed bitrate options
+
+Optimize
+
+manual memory cleanup - _vorbis_pull_ripcord, saves values from a mock vorbis_block_alloc to track localstorage offsets and keep memory footprint down
+
+Check multiple loops to combine throughout the main loop
+
+rewrite to let the java garbage collector manage memory more in main loop - ByteStreams or ArrayLists etc
+
+ System.arraycopy everywhere instead of memcpy, memmove
+ Arrays.fill instead of memsets and hardloops
+
+
+add low quality support from aoTuV - http://www.geocities.jp/aoyoume/aotuv/
+
+OOP classes
+
+merge same classes into combined packages : http://jarticles.com/package/package_eng.html
+
+Get rid of floor1_func, res0_func, map0_func
+ _floor_P
+ _residue_P
+ _map_P
+
+Abstract as j-ogg, jcraft
+
+ (may only be needed for decode or encode other than 2 channels 44100 rate .4f quality)
+ _floor_P (currently only supports floor1)
+ _residue_P (currently only supports res0)
+ _mapping_P (currently only supports mapping0)
+
+ add floor1 (info, look and functions)
+ vorbis_info_floor1.java, vorbis_look_floor1.java, oggpack_buffer.java
+
+ add residue0 (info, look) and create residue type 0,1,2 [functions]
+ vorbis_info_residue0.java, vorbis_look_residue0.java, oggpack_buffer.java
+
+
+ add mapping0 (info, look and functions) - *** ilog is actually ilog2 function - see mapping0.c
+ vorbis_info_mapping0.java, < no look function >, oggpack_buffer.java
+
+Java signed (>>) to unsigned (>>>) bit shift changes
+These all need inteligent checks
+vorbisenc.java 4
+vorbis_dsp_state 2
+mdct_lookup 17
+drft_lookup 4
+codebook 4
+bitrate_manager_state 1
+
+
+codec_setup_info.java
+abstract classes for
+// vorbis_info_mapping
+// vorbis_info_floor
+// vorbis_info_residue
+right now limits to mapping0 floor1 residue0
+
+private_state.java
+absctract classes for
+// vorbis_look_floor
+// vorbis_look_residue
+right now limits to residue0 and floor1
+
+
+
+vorbis_block.java - conserve memory in vorbis_analysis_blockout
+mapping0_forward - this is where the logfft (vbi->pcm) data discrepensies come out to haunt. main impact is the call to floor_posts[i][PACKETBLOBS/2] = floor1_fit( b.flr[info.floorsubmap[submap]], logmdct, logfft );
+call to accumulate_fit( logmask, logmdct, look.sorted_index[i], look.sorted_index[i+1], fits[i], n, info ); sets off the lsfit_acc data when (flr[mdct+i]+info.twofitatten >= flr[i]) is very marginal factions (.00001). This snowballs to cause the line deltas to return different results than C library. Basiclly I think it just draws a different sound, cutting or adding in places the C lib does not, and by marginal amounts, but this may have to do with timing as well. Needs investigation
+
+
+vorbis_dsp_state.java
+need to work System.arraycopy loop to work with more than 2 channels
+
+vorbis_look_psy.java
+possible pointer leak and array wrap around. I doubt it, but thats what i wrote, file hasnt been edited in a while
+
+vorbisenc.java
+implementation for more than just VBR encoded files
+managed bitrate portions were left out and never documented well
+
+libvorbis.books data package
+only imported residue data for 2 channel 44100 Hz audio processesing.
+meant to write a script to import the rest of the data ( single channel data?, and higher and lower sampling rates ) once this one was finished (imported by hand :-(), but moved forward and never got back to it.
+
+libvorbis.modes data package
+again only impemented the template for 44100 Hz audio a la reside book data
+
+
+
+
+
+
+libshout
+----------------------
+total system state managment
+error exception flow
+reconnecting, buffering
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+References
+----------
+
+
+http://xiph.org/vorbis/doc/Vorbis_I_spec.html
+
+http://xiph.org/vorbis/doc/
+
More information about the commits
mailing list