Вручную кормить x264 моими собственными данными о движении?
Я пытаюсь кодировать поток, используя x264 (путем подачи отдельных изображений), но необычно то, что у меня уже есть некоторая информация о движении для моих кадров. Я точно знаю, какие области были изменены в каждом кадре, и я знаю, где произошло движение в кадре.
Есть ли способ передать x264 мою собственную информацию о движении? Я хотел бы дать ему векторы движения для заданных областей в кадре и как-то сказать, что определенные области в кадре гарантированно не имеют никакого движения в них.
Я думаю, что это может значительно улучшить производительность кодирования (потому что я позволяю кодеку полностью пропустить фазу оценки движения), а также должно несколько повысить качество в случаях, когда алгоритмы оценки движения кодера могли пропустить фактически произошедшее движение,
Нужно ли изменять кодировщик, чтобы сделать это, или это поддерживается в существующем API?
1 ответ
Краткий ответ: Нет, вы не можете подать свои данные оценки движения в x264.
Длинный ответ: IIRC, x264 выполняет свою работу, передаваясь в необработанном фрейме без дополнительных данных. Чтобы приспособить данные оценки движения, которые у вас есть, вы должны изменить исходный код x264, чтобы выполнить это.
Вы можете найти то, что вам нужно в течение common\mvpred.c
или же encoder\me.c
, Я не уверен, сколько разработчиков x264 действительно посещают переполнение стека (я знаю, что у одного из их ведущих разработчиков есть учетная запись здесь), но вы можете попробовать поговорить с ними по их обычным каналам на их IRC-канале или на форумах doom9.
- doom9: http://forum.doom9.org/forumdisplay.php?f=77
- doom10: http: //doom10.org/index.php? board = 5.0 IRC:
- irc: //irc.freenode.net/x264 и irc://irc.freenode.net/x264dev
- Список рассылки: http://mailman.videolan.org/listinfo/x264-devel
Хотел бы я дать вам больше информации, но, к сожалению, я не особо разбираюсь в кодовой базе. Разработчики всегда готовы и могут помочь всем, кто хочет работать на x264.