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并没有报错,它实际上认为图像已经被正确解码。解码也正确,问题出在切片上。
我发现如果我设置与图像切片编号一样多的线程,它实际上可以正常工作。
所以,我有一个在 ffmpeg 库的帮助下用 c++ 编写的视频解码器,在多线程中解码 JPEG 2000 帧之前没有问题,在这种情况下图像是不连续的,我将上下文设置为具有偶数个线程并处理图像切片:
m->context->thread_count = m_cfgHhiThreads->value();
m->context->thread_type = FF_THREAD_SLICE;
这是解码过程后捕获的示例图像(尺寸很好),只有设置了 multithred 才会出现这种情况
问题是,为什么会这样?
FFMPEG并没有报错,它实际上认为图像已经被正确解码。解码也正确,问题出在切片上。
我发现如果我设置与图像切片编号一样多的线程,它实际上可以正常工作。