VS2008 project files.
[xiph/unicode.git] / vorbis-java / TODO
blob11456cf56e09d6847123ac058e1abc6bd2e5db85
1 \r
2 JVorbis Todo Checklist\r
3 ----------------------\r
5 libvorbis
6 ----------------------\r
7 // DONE - Vorbis Comment support added into header
9 vorbis_encode_init_vbr( vi, 2, 44100, .4f )) - quality should be able to be increased/decresed but not tested yet
10 finish support for managed bitrate options
12 Optimize
14 manual memory cleanup - _vorbis_pull_ripcord, saves values from a mock vorbis_block_alloc to track localstorage offsets and keep memory footprint down\r
16 Check multiple loops to combine throughout the main loop
18 rewrite to let the java garbage collector manage memory more in main loop - ByteStreams or ArrayLists etc
20         System.arraycopy everywhere instead of memcpy, memmove\r
21         Arrays.fill instead of memsets and hardloops
24 add low quality support from aoTuV - http://www.geocities.jp/aoyoume/aotuv/
26 OOP classes\r
28 Get rid of floor1_func, res0_func, map0_func\r
29                 _floor_P\r
30                 _residue_P\r
31                 _map_P\r
33 Abstract as j-ogg, jcraft\r
35         (may only be needed for decode or encode other than 2 channels 44100 rate .4f quality)\r
36         _floor_P        (currently only supports floor1)\r
37         _residue_P      (currently only supports res0)\r
38         _mapping_P      (currently only supports mapping0)\r
40         add floor1 (info, look and functions)\r
41                 vorbis_info_floor1.java, vorbis_look_floor1.java, oggpack_buffer.java\r
43         add residue0 (info, look) and create residue type 0,1,2 [functions]\r
44                 vorbis_info_residue0.java, vorbis_look_residue0.java, oggpack_buffer.java\r
47         add mapping0 (info, look and functions) - *** ilog is actually ilog2 function - see mapping0.c\r
48                 vorbis_info_mapping0.java, < no look function >, oggpack_buffer.java\r
50 Java signed (>>) to unsigned (>>>) bit shift changes\r
51 These all need inteligent checks\r
52 vorbisenc.java          4\r
53 vorbis_dsp_state        2\r
54 mdct_lookup             17\r
55 drft_lookup             4\r
56 codebook                4\r
57 bitrate_manager_state   1\r
60 codec_setup_info.java\r
61 abstract classes for \r
62 // vorbis_info_mapping\r
63 // vorbis_info_floor\r
64 // vorbis_info_residue\r
65 right now limits to mapping0 floor1 residue0\r
67 private_state.java\r
68 absctract classes for\r
69 // vorbis_look_floor\r
70 // vorbis_look_residue\r
71 right now limits to residue0 and floor1\r
75 vorbis_block.java - conserve memory in vorbis_analysis_blockout\r
76 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 );\r
77 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\r
80 vorbis_dsp_state.java\r
81 need to work System.arraycopy loop to work with more than 2 channels\r
83 vorbis_look_psy.java\r
84 possible pointer leak and array wrap around.  I doubt it, but thats what i wrote, file hasnt been edited in a while\r
86 vorbisenc.java\r
87 implementation for more than just VBR encoded files\r
88 managed bitrate portions were left out and never documented well\r
90 libvorbis.books data package\r
91 only imported residue data for 2 channel 44100 Hz audio processesing.\r
92 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.\r
94 libvorbis.modes data package\r
95 again only impemented the template for 44100 Hz audio a la reside book data\r
102 libshout
103 ----------------------
104 total system state managment
105 error exception flow
106 reconnecting, buffering
107 \r\r
126 References\r
127 ----------\r
130 http://xiph.org/vorbis/doc/Vorbis_I_spec.html\r
132 http://xiph.org/vorbis/doc/