Tor-Einar Jarnbjo
2002-Sep-23 03:53 UTC
[vorbis-dev] More errors in the file format specification Was: Test files for decoder implementation
Hi, I've found some more errors in the file format specification (or at least points, where the specification and actual libvorbis implementation mismatch): - Floor 1 / curve computation / step 1: amplitude value synthesis 21) vector [floor1_final_Y] element [i] = [predicted] - (([val] - 1) divided by 2 using integer division) hould be: 21) vector [floor1_final_Y] element [i] = [predicted] - (([val] + 1) divided by 2 using integer division) <p>- in the function render_line 11) [ady] = [ady] - [base] * [adx] hould be: 11) [ady] = [ady] - absolute value of [base] * [adx] <p>Also, the parameter order of render_point(x0,x1,y0,y1,X) and render_line(x0, y0, x1, y1, v) is not consistent, and the references to the render_line function use different ordering: - Floor 1 / curve computation / step 2: curve synthesis 8) render_line( [lx], [hx], [ly], [hy], [floor] ) 12) render_line( [hx], [hy], [n], [hy], [floor] ) <p><p>Tor <p><p>==================================================================EASY and FREE access to your email anywhere: http://Mailreader.com/ ================================================================== <p>--- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
Tor-Einar Jarnbjo
2002-Sep-23 05:48 UTC
[vorbis-dev] More errors in the file format specification Was: Test files for decoder implementation
And right away a few more: When filling the vector [floor1_final_Y] in floor 1 / amplitude value synthesis, libvorbis is just replacing the values in the vector [floor1_Y] instead of filling a new vector. If there is a reason for allocating and using a new vector instead of just modifying [floor1_Y] the step 5) [predicted] = render_point( vector [floor1_X_list] element [low_neighbor_offset], vector [floor1_X_list] element [high_neighbor_offset], vector [floor1_Y] element [low_neighbor_offset], vector [floor1_Y] element [high_neighbor_offset], vector [floor1_X_list] element [i] ) must read: 5) [predicted] = render_point( vector [floor1_X_list] element [low_neighbor_offset], vector [floor1_X_list] element [high_neighbor_offset], vector [floor1_final_Y] element [low_neighbor_offset], vector [floor1_final_Y] element [high_neighbor_offset], vector [floor1_X_list] element [i] ) <p>Also, in the same block the following step: 19) vector [floor1_final_Y] element [i] = [predicted] - ([val] - [lowroom]) - 1 must read: 19) vector [floor1_final_Y] element [i] = [predicted] - [val] + [hiroom] - 1 <p><p>Tor <p><p><p>==================================================================EASY and FREE access to your email anywhere: http://Mailreader.com/ ================================================================== <p>--- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
Tor-Einar Jarnbjo
2002-Sep-23 09:10 UTC
[vorbis-dev] More errors in the file format specification Was: Test files for decoder implementation
I'll reply to myself once more: In the floor 1 curve synthesis, I see no need for step 11 and 12 to be performed for each iteration. Wouldn't it be enough to do that once before step 15? And is the condition in step 13 (hx > n) at all possible? Tor <p><p><p>==================================================================EASY and FREE access to your email anywhere: http://Mailreader.com/ ================================================================== <p>--- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.