Какой лучший метод для рендеринга декодированного кадра? - PullRequest
1 голос
/ 16 апреля 2019

После декодирования и перехода к кадру мне нужно знать лучший способ его рендеринга.Я использую растровое изображение для этой цели, но каждый раз, когда мне нужно создать новое растровое изображение, по одному для каждого кадра.Возможно, это не самый лучший метод, так как потребляется много памяти, и восстановление растровых изображений может занять некоторое время.Чтобы уточнить, я даю код:

ret = FFmpegInvoke.sws_scale(
    convertContext,
    &frame->data_0,
    frame->linesize,
    0,
    frame->height,
    &convertedFrame->data_0,
    convertedFrame->linesize);
Debug.Assert(ret >= 0);
var bmp = new Bitmap(dest_width, dest_height,
    convertedFrame->linesize[0], PixelFormat.Format32bppPArgb,
    new IntPtr(convertedFrame->data_0));
pictureBox1.Image = bmp;

Я добавил в форму элемент управления графическим блоком.Я создаю растровое изображение из данных каждого декодированного и преобразованного фрейма, а затем устанавливаю для изображения графического блока значение растрового изображения.После того, как я нашел лучший метод и узнал, правильно ли я поступил, мне нужно знать, почему моя проблема с фоновым рабочим задана в форме.Видимо одновременный доступ к растровому объекту вызывает исключение.Не важно, сначала я должен убедиться в этом.

...