mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-06-01 01:17:47 +00:00
Add an execute2 function that is more flexible and allows to use parallel
processing with jobs > threads without wasting too much memory. It also avoids needing a separate int array when the only additional data the jobs needs is a single int running from 0 to count-1. Originally committed as revision 20210 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
febd1c90a6
commit
8d23a86f33
4 changed files with 45 additions and 2 deletions
|
@ -414,6 +414,16 @@ int avcodec_default_execute(AVCodecContext *c, int (*func)(AVCodecContext *c2, v
|
|||
return 0;
|
||||
}
|
||||
|
||||
int avcodec_default_execute2(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2, int jobnr, int threadnr),void *arg, int *ret, int count){
|
||||
int i;
|
||||
|
||||
for(i=0; i<count; i++){
|
||||
int r= func(c, arg, i, 0);
|
||||
if(ret) ret[i]= r;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
enum PixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum PixelFormat *fmt){
|
||||
while (*fmt != PIX_FMT_NONE && ff_is_hwaccel_pix_fmt(*fmt))
|
||||
++fmt;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue