ffmpeg 在多线程中解码 JPEG 2000

ffmpeg decode JPEG 2000 in multithread

所以,我有一个在 ffmpeg 库的帮助下用 c++ 编写的视频解码器,在多线程中解码 JPEG 2000 帧之前没有问题,在这种情况下图像是不连续的,我将上下文设置为具有偶数个线程并处理图像切片:

    m->context->thread_count = m_cfgHhiThreads->value();
    m->context->thread_type = FF_THREAD_SLICE;

这是解码过程后捕获的示例图像(尺寸很好),只有设置了 multithred 才会出现这种情况

问题是,为什么会这样?

FFMPEG并没有报错,它实际上认为图像已经被正确解码。解码也正确,问题出在切片上。

我发现如果我设置与图像切片编号一样多的线程,它实际上可以正常工作。