FFMPEG компенсация движения и поиск

529
Tina J

Я пытаюсь изменить часть обнаружения движения в FFMPEG. Что я хочу сделать, так это расширить пространство поиска, чтобы всякий раз, когда макроблок попадал на самый правый край кадра, мне все равно приходилось перемещать блок в крайнее левое положение, как будто они соединены (в моих примерах видео - правый край это на самом деле продолжение левого края). Может кто-нибудь помочь мне указать, где именно я могу изменить его в исходном коде FFMPEG или x265, или x264?

FFMPEG компенсация движения и поиск

Я взял H265 в качестве примера отсюда . В нем есть motion.cфайл, в котором приятно указаны возможные размеры блоков, как показано ниже, но я не могу найти конкретный цикл, который пересекает фрейм. Помощь высоко ценится.

#define SETUP_SCALE(W, H) \ sizeScale[LUMA_ ## W ## x ## H] = (H * H) >> 4; SETUP_SCALE(4, 4); SETUP_SCALE(8, 8); SETUP_SCALE(8, 4); SETUP_SCALE(4, 8); SETUP_SCALE(16, 16); SETUP_SCALE(16, 8); SETUP_SCALE(8, 16); SETUP_SCALE(16, 12); SETUP_SCALE(12, 16); SETUP_SCALE(4, 16); SETUP_SCALE(16, 4); SETUP_SCALE(32, 32); SETUP_SCALE(32, 16); SETUP_SCALE(16, 32); SETUP_SCALE(32, 24); SETUP_SCALE(24, 32); SETUP_SCALE(32, 8); SETUP_SCALE(8, 32); SETUP_SCALE(64, 64); SETUP_SCALE(64, 32); SETUP_SCALE(32, 64); SETUP_SCALE(64, 48); SETUP_SCALE(48, 64); SETUP_SCALE(64, 16); SETUP_SCALE(16, 64); #undef SETUP_SCALE 

Основной псевдокод должен быть таким:

block.rightX ==block.width; // a block initiates from left part of the frame while(block.leftX <=frame.width) //until it hits the right most edge (assuming it moves from left to right for search) for (int i=0;i<block.width();i++) for(int j=0;j< i<block.height();j++) block[i][j] = frame_pixel [(block.leftX+i) % frame.width] [block.leftY+j] //if the block's width passes frame's width, we just take the mod. 
2
Я думаю, что ваша точка зрения относится только к кодеку (x264 или x265), а не к ffmpeg. Вы можете отредактировать свои вопросы немного. Другой совет, если никто не ответит, вы можете отправить электронное письмо разработчикам x265 через их список рассылки. Удачи в проекте! RawBean 8 лет назад 1
Как мы можем пинговать его? @LordNeckbeard Можете ли вы мне понравиться? Это не обязательно должно быть на H265, но нацеливание на последнюю версию всегда лучше! Tina J 8 лет назад 0
о, получил его электронную почту ... Tina J 8 лет назад 0
Извините, но у меня нет ответа на этот вопрос. Возможно, есть список рассылки справки для пользователей x265. Точно так же вы узнаете в следующий раз [перекрестный постинг того же вопроса] (http://stackoverflow.com/questions/37849595/ffmpeg-motion-compensation-and-search) и создание [дублирующих вопросов] (http: // stackoverflow. com / questions / 37870564 / libx265-Компенсация движения-и-cu-traverse) не рекомендуется на сайтах Stack Exchange. LordNeckbeard 8 лет назад 1
Ага. Я был понимаю. Я попросил своих товарищей по группе задать тот же вопрос для большей наглядности. Tina J 8 лет назад 0

0 ответов на вопрос

Похожие вопросы