Aleksoid1978 / VideoRenderer

Внешний видео-рендерер
GNU General Public License v3.0
1.03k stars 115 forks source link

Display AR won't change after frame size change #66

Closed chainikdn closed 1 year ago

chainikdn commented 1 year ago

Using ver. 0.6.3.1956 in MPC-HC, Avisynth Filter + SVP (but you can easily reproduce with the simple AVS resize script). When changing frame size on-the-fly (in a Avisynth script) the numbers in OSD (the "scaling" line) change correctly, but the actual image aspect ratio doesn't change until manually resize the player window.

Aleksoid1978 commented 1 year ago

Upload sample script.

chainikdn commented 1 year ago

AvsFilterSource().Crop(0,200,0,200)

Aleksoid1978 commented 1 year ago

Avisynth Filter - what's is this ? Can you try without SVP)i don't use SVP and can't check with it).

chainikdn commented 1 year ago

https://github.com/CrendKing/avisynth_filter https://drive.google.com/file/d/1Y37sZ0Avi50fwUjWC3Q3tEicWm7e44J5/view?usp=sharing

Aleksoid1978 commented 1 year ago

Avisynth бывает 64 разрядный ?

AvsFilterSource().Crop(0,200,0,200)

Script with this text is not loaded, show error in player.

chainikdn commented 1 year ago

Avisynth бывает 64 разрядный ?

o_O конечно https://github.com/AviSynth/AviSynthPlus


через ffdshow кстати тоже какая-то фигня получается, но другая. там рендерер вообще не понимает что размер кадра изменился

Aleksoid1978 commented 1 year ago

Нет бы сразу по русски писать :)

chainikdn commented 1 year ago

сравнение с EVR - как должно быть (на примере ffdshow) https://drive.google.com/file/d/13JDY9czzwwVpVr8cvxeyUFzad6UM7pFY/view?usp=sharing

Нет бы сразу по русски писать :)

ну мало ли кто тут ходит :D

Aleksoid1978 commented 1 year ago

Вот можно попробовать еще фильтр - https://github.com/v0lt/ScriptSourceFilter Так же проверить с другими видео-рендерерами - madVR/EVR/EVR-CP. Я думаю что фильтр "не корректно" обрабатывает изменение размера, он должен произвести кое-какие действия чтобы сообщить об этом следующему фильтру.

chainikdn commented 1 year ago

и evr и madvr корректно переживают такое изменение размера кадра "на лету", что с ffdshow, что с "Avisynth filter"

Вот можно попробовать еще фильтр

ну это вообще не то, оно "на лету" ничего не делает

Aleksoid1978 commented 1 year ago

Ок, гляну, но мне нужен рабочий скрипт. Можно так сделать - к примеру длительность секунд 10 , любое разрешение но на пятой секунде разрешение меняется ?

chainikdn commented 1 year ago

скрипт - любой тривиальный меняющий размер кадра, что там может быть неправильно в "Crop(0,200,0,200)" - я не знаю. "show error in player" - какая ошибка?

Aleksoid1978 commented 1 year ago

Все разобрался. Я то думал он скрипты открывает :) Все работает, вот скрин - изображение такое сразу же после открытия видео 1920х1080. work

Aleksoid1978 commented 1 year ago

Проверил в MPC-HC - тоже самое, все отлично. Если выставить авто-зум, то окно корректно под размер(высота 200).

chainikdn commented 1 year ago

я понимаю что "после открытия" - отлично речь про "на лету" - открыть, а затем поменять скрипт в процессе воспроизведения

Aleksoid1978 commented 1 year ago

Если во время проигрывания изменить и перегрузить скрипт - то да, подтверждаю. Гляну.

Aleksoid1978 commented 1 year ago

Исправлено.

chainikdn commented 1 year ago

Спасибо. А с ffdshow это поможет? (выше было видео с чуть другим проявлением этой же проблемы с ffdshow raw filter) Там даже цифры размера кадра в статистике не меняются.

Сам спросил - сам ответил. Нет, с ffdshow проблема в другом месте.

chainikdn commented 1 year ago

Теперь падает когда трогаешь ширину кадра. Если попереключать между AvsFilterSource() и AvsFilterSource().Crop(32,0,-32,0) то либо сразу падает, либо сначала кадр идет диагональными полосами (как будто от "плохой" ширины не кратной 8/16, но это не наш случай), а потом падает. Если трогать только высоту, то вроде бы нормально.

Aleksoid1978 commented 1 year ago

На каком видео проверял - в смысле какое начальное разрешение ? Я проверил на 1920х1080 - все отлично, ширина уменьшилась.

chainikdn commented 1 year ago

ну лично у меня с 1920*1080 его рубит если, например, по 64 отрезать Crop(64,0,-64,0) если целое -> отрезать, то экран идет полосами если отрезанное -> целое (т.е. увеличивать кадр), то падет, вот здесь: mpc

Aleksoid1978 commented 1 year ago

Покажи настройки VR.

chainikdn commented 1 year ago

mpc-settings

Aleksoid1978 commented 1 year ago

Вот проверяй. MpcVideoRenderer-0.6.4.1960_git2022.09.30-a1616a9.zip

chainikdn commented 1 year ago

Вот так хорошо. Еще бы с ffdshow починить, и было бы еще более хорошо :) Там даже в выходном пине из ffdshow размер кадра не меняется. При том что с EVR (и c madVR) - меняется.

Да, я понимаю что ffdshow старый как говно мамонта и его использовать не надо. Но проблема же не в ffdshow, оно просто как индикатор наличия какой-то проблемы.

Aleksoid1978 commented 1 year ago

Вот честно - не хочу и не буду ставить ffdshow. Все - вопрос закрыт.