When converting between AAC and Opus formats (aac2opus or opus2aac), the av_frame_get_buffer API is frequently called.
Objective
The goal is to optimize the code logic and reduce the frequent allocation and deallocation of memory.
In the case of aac2opus, av_frame_get_buffer is still frequently called.
In the case of opus2aac, the goal is to avoid calling av_frame_get_buffer and reduce memory allocations.
Additional Note
Before calling the av_audio_fifo_read API, use av_frame_make_writable to check if the frame is writable. If it is not writable, create a new frame.
Description
When converting between AAC and Opus formats (aac2opus or opus2aac), the
av_frame_get_buffer
API is frequently called.Objective
The goal is to optimize the code logic and reduce the frequent allocation and deallocation of memory.
In the case of aac2opus, av_frame_get_buffer is still frequently called. In the case of opus2aac, the goal is to avoid calling av_frame_get_buffer and reduce memory allocations.
Additional Note
Before calling the
av_audio_fifo_read
API, useav_frame_make_writable
to check if the frame is writable. If it is not writable, create a new frame.TRANS_BY_GPT4
Co-authored-by: john hondaxiao@tencent.com