[Libav-user] avcodec_encode_video2 failed (returned -12 as return value)

Mark Ma 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.
>>>>
>>> Try:
>>>
>>>    #include <libavutil/error.h>
>>>
>>>   ret = avcodec_encode_video2(...);
>>>   if (ret < 0)
>>>     av_log(0, 0, "Err: %s\n", av_err2str(ret));
>> Hi,
>> After including error.h and using av_err2str(), I got following compilation error: Could not find the identifier "av_err2str"
>>
Hi,
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?

Thanks,




More information about the Libav-user mailing list