IPB

Welcome Guest ( Log In | Register )

Question to someone who knows LAME source code, Strange reordering happens in count1 values
Istrebitel
post Sep 27 2011, 09:31
Post #1





Group: Members
Posts: 54
Joined: 20-October 10
Member No.: 84756



Greetings!

I am toying with LAME source code to do some MDCT coefficients manipulation. I noticed something very strange. Count1 bits are shuffled around between input and output.

I am using CBR part of LAME at 320kbits.
In module quantize.c in function CBR_iteration_loop after iteration_finish_one I output to console a number of last values from MDCT coefficients (exactly - from #406 to #566)
In decoding algorithm (stnadart ISO decoder) once again i output those values.

For example:
Values during input:
3 2 2 0 1 1 1 0 4 0 3 2 0 0 1 1 0 0 0 0 1 0 0 0 (zeroes)
Values during output:
3 2 2 0 1 1 1 0 4 0 3 2 1 1 0 0 0 0 0 0 0 0 0 1 (zeroes)

So, from my POV, Count1 values are in the wrong order.

Moreover:
On input side, bigvalues = 210, count1 = 2, rzero = 74
On output side, bigvalues = 209, count1 = 3, rzero = 73

Maybe on input side something happens with granule's MDCT valeus after iteration_finish_one(gfc, gr, ch);
Or maybe something else happens somewhere i dont know?

Thanks for any help in advance!
Go to the top of the page
+Quote Post
 
Start new topic
Replies (1 - 3)
Istrebitel
post Sep 27 2011, 10:39
Post #2





Group: Members
Posts: 54
Joined: 20-October 10
Member No.: 84756



PS: I think i found the problem source. In the ISO decoder, huffman.c, there is such place

/* v, w, x and y are reversed in the bitstream.
switch them around to make test bistream work. */
//{int i=*v; *v=*y; *y=i; i=*w; *w=*x; *x=i;} //MI */

The line is (was) commented. I noticed that when using 8hz encoder (which is closely based on ISO default encoder), this line is required, otherwise count1 are in wrong order. So i uncommented this line.
Now, it seems that for LAME, it should stay commented.
Why so?
Go to the top of the page
+Quote Post
hlloyge
post Sep 27 2011, 12:07
Post #3





Group: Members
Posts: 701
Joined: 10-January 06
From: Zagreb
Member No.: 27018



Maybe because lame threw away all ISO code? Just guessing...
Go to the top of the page
+Quote Post
Istrebitel
post Sep 27 2011, 15:30
Post #4





Group: Members
Posts: 54
Joined: 20-October 10
Member No.: 84756



Well, i checked with Audacity, it produces the same wave file as default ISO decoder with the code commented.
So it seems that ISO base encoder code was corrupted in some way and ordered count1 values in wrong order, and 8hz inherited those flaws...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 20th December 2014 - 20:56