[Libav-user] avcodec_encode_video2 failed (returned -12 as return value)
gbstack08 at gmail.com
Thu Nov 21 19:07:55 CET 2013
On 2013/11/21 20:19, Clément Bœsch wrote:
> On Thu, Nov 21, 2013 at 07:56:40PM +0800, Mark Ma wrote:
>> On 2013/11/21 19:40, Clément Bœsch wrote:
>>> On Thu, Nov 21, 2013 at 06:37:16PM +0800, Mark Ma wrote:
>>>> Hi everyone,
>>>> Now I'm getting yuv frames from a video monitor every second and call
>>>> avcodec_encode_video2() to convert them to mpeg frame. At first
>>>> avcodec_encode_video2() works well, but after about 1 minute, it keeps
>>>> returning -12 as return value. But what's the meaning of -12?
>>>> Any suggestion is appreciated.
>>> #include <libavutil/error.h>
>>> ret = avcodec_encode_video2(...);
>>> if (ret < 0)
>>> av_log(0, 0, "Err: %s\n", av_err2str(ret));
>> After including error.h and using av_err2str(), I got following compilation error: Could not find the identifier "av_err2str"
I found another thing: the avcodec_encode_video2() will fail after 1400
frames are encoded. I tried several times again and the frame count is
always 1400-1450. (The codec I'm using is MPEG1VIDEO)
Need I recreate a codec context every time after 1400 frames are encoded?
More information about the Libav-user