From: Taha Ansari <[email protected]>
To: This list is about using libavcodec, libavformat, libavutil, libavdevice
 and libavfilter. <[email protected]>
Sent: Sat, Dec 7, 2013 6:00 am
Subject: Re: [Libav-user] Converting from AV_SAMPLE_FMT_FLTP to 
AV_SAMPLE_FMT_FLT



On Fri, Dec 6, 2013 at 6:21 AM, Alexandru Rosca <[email protected]> wrote:

I am decoding audio and trying to convert it from the planar format to just FLT 
(packed?). I am making a library which when used will return the buffer with 
the data. I am using swr_convert but if I pass it frame.extended_data, it 
crashes.



Yes, swr_convert functions should be able to do this without any problem.

 

 If I just pass it frame.data[0] I get really crackly audio on the other end. I 
suspect the problem is converting between these formats? Setting 
request_sample_fmt to av_sample_flt doesnt work.




You might want to share some workable sample code, otherwise it is pure 
guessing.





 >>>>>>>


I do not use sws_convert to do this because there is no real conversion 
necessary, just copying.   Since I have to copy data from frame.data[] anyway, 
I do a simple copy for non planar format. But with planar format, channel 1's 
samples are in frame.data[0] and channel 2's samples are in frame.data[1].  You 
just need to copy the 4-byte samples from the two buffers to your single output 
buffer interleaved, i.e., channel 1 - sample 0, channel 2 - sample 0, channel 1 
- sample 1, channel 2 - sample 1, ...


-Felix






_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user






_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

 
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to