I think it's also possible to multi-thread decoding by changing some
parameters codec context structure like thread_count and thread_type.
You do need a multi-threaded ffmpeg build for that I believe.
Maybe in this way you can reduce the decoding time, assuming you have few
cores.



On Mon, Dec 16, 2013 at 8:17 AM, Don Moir <[email protected]> wrote:

>   *From:* עופר בר <[email protected]>
> *To:* This list is about using libavcodec, libavformat,
> libavutil,libavdevice and libavfilter. <[email protected]>
> *Sent:* Tuesday, December 31, 2013 5:24 AM
> *Subject:* Re: [Libav-user] any way to interrupt avcodec_decode_video2 ?
>
> >What do you mean by "waiting"?
> >If you're calling this api on a different thread, why can't you terminate
> the thread?
> >If you're calling it from your main thread, there's nothing your app can
> do until the function returns, unless they implement some callbacks in the
> middle of the execution.
>
> >Best of luck!
>
> I allow for proper cleanup and no telling what state ffmpeg would be in if
> I just up and terminated the thread. It's in the mist of decoding and
> waiting for return allows me to free packet its decoding etc.
>
> Another thread waits on it normally waiting to seek or exit.
>
> Best thing would be interrupt callback.
>
> ---- Original Message -----
>
> *From:* עופר בר <[email protected]>
> *To:* This list is about using libavcodec, libavformat,
> libavutil,libavdevice and libavfilter. <[email protected]>
> *Sent:* Tuesday, December 31, 2013 5:24 AM
> *Subject:* Re: [Libav-user] any way to interrupt avcodec_decode_video2 ?
>
> What do you mean by "waiting"?
> If you're calling this api on a different thread, why can't you terminate
> the thread?
> If you're calling it from your main thread, there's nothing your app can
> do until the function returns, unless they implement some callbacks in the
> middle of the execution.
>
> Best of luck!
>
>
> On Mon, Dec 16, 2013 at 8:48 AM, Don Moir <[email protected]> wrote:
>
>>
>> ----- Original Message ----- From: "Carl Eugen Hoyos" <[email protected]>
>> To: <[email protected]>
>> Sent: Tuesday, December 31, 2013 4:08 AM
>>
>> Subject: Re: [Libav-user]any way to interrupt avcodec_decode_video2 ?
>>
>>
>>  Don Moir <donmoir@...> writes:
>>>
>>> Since app is timeline oriented, trying to keep seek time
>>>> down to minimum and if avcodec_decode_video2 has been
>>>> called, seems there is no way out until its finished
>>>> and this decoding time can delay a new seek attempt.
>>>>
>>>
>>> Are you looking for CODEC_FLAG2_SHOW_ALL?
>>>
>>> Carl Eugen
>>>
>>
>> No. I can easily check between calls to avcodec_decode_video2 but once
>> its called you are stuck until it returns. Would be nice to be able to
>> interrupt it for quicker seeking and to end 'the' video more quickly.
>> Doesn't matter too much for a simple player app, but I have things on
>> timelines and also video coming and going quicky. Things are time corrected
>> to a timeline but the more I can reduce impact from things like this the
>> better off we are.
>>
>> A simple seek to zero is quick, but if I have to wait on
>> avcodec_decode_video2 to return, then its slower and can be quite slow. I
>> don't mean finish as in the flag (gotframe) to avcodec_decode_video2, but
>> just waiting on it to return period.
>>
>>
>> _______________________________________________
>> 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
>
>
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to