IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
combining main data in mp3 file, mp3 frame, decode
treemon
post Feb 16 2013, 09:21
Post #1





Group: Members
Posts: 1
Joined: 16-February 13
Member No.: 106667



This is my first post here, I am happy to find this forum where I can share specific problems, hopefully I will get some direction,

I am trying to decode mp3 file using my C code for informative purposes, I dont want to use any library etc. I have gone through previous threads and I can do following stuffs successfully

1. take an mp3 file and process as bitstream that gives me correct number of physical frames
2. decode frame header and side information and store main data in a array of struct.
2. Now I want to convert these physical frames into logical frames for making better sense of data.

I have learned that side info has pointer to begin_main_data and we can sum part_2_3len to get total size of main data

so,

size of main data ( in bits) = part2_3_length (g1 + channel0) + part2_3_length (g1 +channel1) + part2_3_length (g2 + channel0) + part2_3_length (g2 + channel1)
so is it true ?


And below the frame by frame debug log for an mp3 file

fs -> frame size, (excluding header)

bmd -> begin main data pointer

smd -> size main data (in bytes)

======output =========

fs : 413, bmd : 0, smd : 1
fs : 414, bmd : 381, smd : 651
fs : 414, bmd : 62, smd : 470
fs : 414, bmd : 28, smd : 409
fs : 414, bmd : 79, smd : 430
fs : 414, bmd : 117, smd : 385
fs : 414, bmd : 173, smd : 333
....
...

From above log it seems that either my code is wrong or conceptually I am missing something first physical frame has no data of its own, second frame has 381 bytes in first frame and remaining (651-381 = 270) in its own frame, so in its own frame 414 -32 - 270 = 112 are left as byte reservoir which should be used by next frame, but the third frame is starting from -62 offset and not -112

can you pls make me understand what is wrong with my procedure

Thanks a lot
Abhishek

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: 21st December 2014 - 01:06