diff options
author | Limin Wang <lance.lmwang@gmail.com> | 2019-11-25 06:45:10 +0300 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2019-11-25 11:54:27 +0300 |
commit | d07d1c1dd06541b3b48f3eacb7d8747a3456c6ad (patch) | |
tree | 02780a6001dea3b30d7f00f3c2df5142de8cfc33 /libavcodec/v210dec.h | |
parent | f0dbeb5eaa41fa508560ddaee51efa875a602bfc (diff) |
avcodec/v210dec: add support for frame and slice threading
1, Test server configure:
[root@localhost ~]# cat /proc/cpuinfo |grep "model name"
model name : Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
model name : Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
...
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 102G 1.1G 100G 16M 657M 100G
Swap: 4.0G 0B 4.0G
2, Test result:
encode the v210 input data for testing:
./ffmpeg -y -i 4k_422.ts -c:v v210 -vframes 10 test.avi
master:
./ffmpeg -y -threads 1 -stream_loop 1000 -i ./test.avi -benchmark -f null -
frame=10010 fps= 60 q=-0.0 Lsize=N/A time=00:38:26.30 bitrate=N/A speed=13.7x
video:5240kB audio:432432kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
bench: utime=101.869s stime=66.181s rtime=167.996s
bench: maxrss=186552kB
patch applied:
./ffmpeg -y -threads 2 -thread_type slice -stream_loop 1000 -i ./test.avi -benchmark -f null -
frame=10010 fps= 72 q=-0.0 Lsize=N/A time=00:38:26.30 bitrate=N/A speed=16.5x
video:5240kB audio:432432kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
bench: utime=103.562s stime=74.858s rtime=139.599s
bench: maxrss=188616kB
./ffmpeg -y -threads 2 -thread_type frame -stream_loop 1000 -i ./test.avi -benchmark -f null -
frame=10010 fps= 85 q=-0.0 Lsize=N/A time=00:38:26.30 bitrate=N/A speed=19.6x
video:5240kB audio:432432kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
bench: utime=114.310s stime=92.685s rtime=117.693s
bench: maxrss=231896kB
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/v210dec.h')
-rw-r--r-- | libavcodec/v210dec.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/v210dec.h b/libavcodec/v210dec.h index cfdb29da09..662e266315 100644 --- a/libavcodec/v210dec.h +++ b/libavcodec/v210dec.h @@ -27,6 +27,7 @@ typedef struct { AVClass *av_class; int custom_stride; int aligned_input; + int thread_count; int stride_warning_shown; void (*unpack_frame)(const uint32_t *src, uint16_t *y, uint16_t *u, uint16_t *v, int width); } V210DecContext; |