Filter滤镜剖析—ScliceThread多线程

作者:罗上文,微信:Loken1,公众号:FFmpeg弦外之音

FFmpeg 里面有两种多线程架构,如下:

  1. SliceThread 多线程,分片 级别多线程,就是把一个 AVFrame 分成多个分片,然后多线程同时处理这些分片。具体实现在 libavutil/slicethread.c 里。
  2. FrameThread 多线程, 级别多线程,这个架构是多个线程同时处理多个 AVFrame。具体实现在 libavcodec/pthread._frame.c 里。

Filter 滤镜里面使用的是 SliceThread 多线程,滤镜暂时不支持帧级别多线程。

但是 SliceThread 多线程是一个通用的架构设计,也不只是滤镜会用到,编码器,解码器也会用到 SliceThread。


参考资料:

  1. FFmpeg滤镜中的多线程计算》- 王伟

FFmpeg书籍版权所属@罗上文 2025 all right reserved,powered by Gitbook该文件修订时间: 2026-08-14 15:25:19

results matching ""

    No results matching ""