Avisynth обрабатывать нечетные четные пары кадров - PullRequest
0 голосов
/ 30 августа 2010

Мне нужно прочитать пары кадров с помощью avisynth и обработать их.

eg
frame1 + frame2 => result1    
frame2 + frame3 => result2
frame3 + frame4 => result3

Я знаю команды selecteven () и selectodd (), но они дают мне frame1 и 2, затем frame3 и 4.
Нет способа выполнить if (), чтобы определить, на каком шаге я сейчас работаю, или отодвинуть захваченный кадр.

Есть идеи, как это реализовать?

1 Ответ

0 голосов
/ 14 октября 2010
//assuming video is the input

even = SelectEven(video)     
odd = SelectOdd(video)    

// should produce 0,1 1,2 2,3 ....
// seems bad to have to split into odd and even then interleave them back together 
//  but Select only works with interleaved sources

interleave(even,odd)    
SelectEvery(2,0,-1,0,1)    
trim(2,0)    

right = SelectEven()   
left = SelectOdd()   

даст 0,1 1,2 2,3 3,4 4,5 5,6 и т. Д.

ps комментарии в avisynth # нет //, но это нарушает форматирование SO. pps не знает, почему это синтаксическая подсветка некоторых бит или как он угадал, на каком языке.

...