[FFmpeg-devel] Using new decoder interface
btiplitz at gmail.com
Thu Mar 2 17:38:22 EET 2017
I've tried to update my code from avcodec_decode_audio4 to the new
avcodec_send_packet. I've got a block of data to decode, so this is not a
1. When I pass a big block of data to the interface, the time required to
process the buffer goes from 1.5s to 30s.
2. When I try and pass data to the system block by block, (or bunches of
blocks), the block size has to be a multiple of the underlying packet
size. Otherwise, the decoder discards the incomplete packet.
3. I also tried to detect when the buffer was getting low and add data to
the buffer, but it appears that this additional data was ignored.
I tried specifically the instructions on
https://blogs.gentoo.org/lu_zero/2016/03/29/new-avcodec-api/ but this
exhibits the same behavior, where an odd block size is discarded so I loose
the blocks using this exact approach unless the block size sent is a
multiple of the frame size.
I looks to be like the new method works well for streaming, but not so well
for non streaming decoding.
More information about the ffmpeg-devel