Автоподрезка краев (Borders auto cut) |
Top Previous Next |
Автоподрезка краев служит для отрезания бордюров у видео в случае, если: - требуется повышение скорости работы; - соотношение сторон видео несовпадает с соотношением сторон монитора и при распахивании на весь экран остаются черные бордюры.
Значение по-умолчанию: Не подрезать
Все виды подрезки работают с точностью до блока. К пропорциям монитора на 100% выполняет обрезку тех сторон видео, которые не вошли бы на экран при растягивании картинки до исчезания черных бордюров. Черные бордюры исчезают, но при этом отрезается некоторая часть полезной картинки. К пропорциям монитора на 50% выполняет удаление лишь 50% черных полей и примерно столько же по площади полезной информации с картинки. Некий компромисс между полным отсечением невходящих на монитор бордюров и просмотра с черными полосами. Подрезать кратно блокам минимально подрезает кадр, делая его размер кратным блокам. Бледным цветом показаны отрезаемые области кадра. Есть возможность уменьшения размера черных бордюров, сохранив всю полезную площадь кадра: см. Авторастяжение кадра. Эти две функции можно использовать совместно, тогда сперва происходит растяжение кадра, а затем подрезка его краев.
Адаптивный алгоритм подрезки позволяет гибко настраивать условия автоподрезки. Это можно сделать путем редактирования пакетного файла Ini\AlterCrop.cmd. Ниже приведен вариант файла, который подготовил 19w85 (участник конференции iXBT.com):
@echo :: %~nx0 ======== начало =====================================================
@echo :: Значения по-умолчанию set acCrop=-1 :: = -1 - автоподрезка краев отключена :: = 0 - автоподрезка кратно блокам :: = N>0 - автоподрезка применяется на N%
set acMonWidth=%1 set acMonHeight=%2 set acVideoWidth=%3 set acVideoHeight=%4
@echo :: непосредственно логика ::Отключение обрезки для анаморфного видео и для видео с нарушенным соотношением сторон if %acVideoWidth%==720 if %acVideoHeight%==576 (set /a acCrop=-1 & goto end) if %acVideoWidth%==720 if %acVideoHeight%==480 (set /a acCrop=-1 & goto end) if %acVideoWidth%==704 if %acVideoHeight%==480 (set /a acCrop=-1 & goto end)
::Если после 100% обрезки размер видео все еще превышает разрешение экрана, то всегда задается 100% обрезка вне зависимости от других настроек set /a T=%acVideoHeight%*%acMonWidth%/%acMonHeight% if %acMonWidth% LSS %T% (set /a acCrop=100 & goto end)
set /a WH=%acVideoWidth%*10/%acVideoHeight% rem Разделение на 'несколько' групп ::Сверхнизкое качество (ширина до 250) if %acVideoWidth% LEQ 250 goto Very_low ::SD (ширина до 500) if %acVideoWidth% LEQ 500 goto SD_Low ::SD (ширина до 720) if %acVideoWidth% LEQ 720 goto SD_High ::Меньше 720p и больше SD if %acVideoWidth% LSS 1280 goto VHQ ::720p (ширина=1280) if %acVideoWidth%==1280 goto 720p ::1080p или просто лучше 720p (ширина больше 1280) if %acVideoWidth% GTR 1280 goto 1080p
:Very_low @echo --------------Very_low-------------- set acCrop=-1 goto end
:SD_Low @echo ---------------SD_Low--------------- set acCrop=15 goto end
:SD_High @echo ---------------SD_High-------------- ::~4:3 IF %WH% LEQ 14 (set /a acCrop=38 & goto end) ::4:3--W:H--16:9 IF %WH% LEQ 16 (set /a acCrop=20 & goto end) ::~16:9 IF %WH% LEQ 19 (set /a acCrop=-1 & goto end) ::16:9--W:H--2.35:1 IF %WH% LEQ 22 (set /a acCrop=50 & goto end) ::~2.35:1 IF %WH% GTR 22 (set /a acCrop=75 & goto end)
:VHQ @echo ---------------VHQ------------------ set acCrop=100 IF %WH% LEQ 14 (set /a acCrop=38 & goto end) goto end
:720p @echo ---------------720p----------------- set acCrop=100 IF %WH% LEQ 14 (set /a acCrop=38 & goto end) goto end
:1080p @echo --------------1080p----------------- set acCrop=100 IF %WH% LEQ 14 set /a acCrop=38
:end echo %acCrop%>"%APPDATA%\Smooth Video Pack\Logs\%~n0.txt" @echo :: %~nx0 ======== конец =====================================================
|