Rotation Flag - уменьшенное изображение... [исправлено]

Автор Evgeniy1990, 11 марта 2016, 19:25:24

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Evgeniy1990

При открытии видео файлов, содержащих Flag Rotation: 90°, они выглядят очень маленькими, причем до такой степени, что смотреть их издалека невозможно вообще, не говоря уже о просмотре в полноэкранном режиме.

Недоработанное изменение в SVN r425.

Диапазоны поиска:

[12 - 956]

[100 - 956]

[100 - 699]

[100 - 440]

[350 - 440]

[402 - 440]

[402 - 428]

[418 - 428]

[421 - 428]


Окончательный диапазон поиска: [421 - 428]

Согласно списку изменений, входящих в данный диапазон поиска, изменение, которое могло вызвать данную поломку более уменьшенного изображения - это изменение под номером SVN r425.

Изменение SVN r425:

[r425] by aleksoid

Изменение : Более корректная обработка флага ROTATION из файла. Учитываем только значения кратные 90, а так же пересчитываем размер видео, чтобы картинка "умещалась" в окне проигрывателя при открытии.
Спасибо за патч v0lt.

По поводу этого изменения:

1. Теперь изображение слишком сильно уменьшено.

2. Изображение, также, как и без поддержки системными видео-рендерерами флага Rotation, должно умещаться в окне, но таким образом, чтобы оно было не меньше рамки самого окна программы, при автомасштабе.

Сейчас же оно даже меньше, чем требуется в оконном режиме.

3. В полном экране изображение должно быть соответствующих размеров, а не выглядеть так, как в оконном режиме, да еще и к тому же настолько сильно уменьшенным.

В общем, изменение в SVN r425 - нуждается в доработке.

По идее, изображение вообще не должно вмещаться в окно, оно должно быть сразу же соответствующих размеров, как в окне, так и в полноэкранном режиме, при этом не выходить за рамки экрана монитора.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

V0lt

ЦитироватьВы сравните с "Daum PotPlayer". В нем изображение не вмещается в окно и в полноэкранном режиме остается абсолютно таким же, каким было в окне. Вот это действительно правильно, так как и должно быть на самом деле.
Может хватит... решать, что правильно, а что нет? С какого ляда обрезанная картинка является правильной.

Evgeniy1990

Прилагаю:

1. Ссылка на видео файл с флагом Rotation: https://yadi.sk/i/emE44REsq6BJR
2. Скриншоты для сравнения размера изображения:

SVN r421: https://yadi.sk/i/iiW1tjFuq6BDc
Latest SVN r1256: https://yadi.sk/i/SlznWIpFq6BNZ

Обратите пожалуйста внимание на эти скриншоты.
На них видна разница в размере изображения в полноэкранном режиме.

Естественно, до SVN r425, размер изображения был гораздо больше и шире, следовательно его было очень удобно и приятно просматривать издалека, но оно, к сожалению, не вмещалось в экран монитора и просто обрезалось.
[merge_posts_bbcode]Добавлено: 2016-03-11 20:10:56[/merge_posts_bbcode]

Цитата: V0ltМожет хватит... решать, что правильно, а что нет? С какого ляда обрезанная картинка является правильной.
Ок, прошу прощение за очень "резкие слова", я разобрался, понял в чем тут дело и почему вы сделали и добавили это изменение в SVN r425:

1. Раньше изображение было гораздо больше и шире, но оно просто не вмещалось в экран монитора, даже в полноэкранном режиме.

2. Но, зато теперь изображение выглядит уж слишком сильно уменьшенным.
Рассмотреть, что на нем там изображено издалека стало очень непросто.

В общем, изменение в SVN r425 нуждается в доработке и корректировке. :)
[merge_posts_bbcode]Добавлено: 2016-03-11 20:17:04[/merge_posts_bbcode]

! Отредактировал свой пост №1.
! Отредактировал свой пост №3.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

V0lt

Сразу скажу, видео - отстой. Спецом поди кто-то снял, чтобы снизу и сверху было темно, дабы обрезку плохо видно было.
ЦитироватьSVN r421: https://yadi.sk/i/iiW1tjFuq6BDc
Тут картинка обрезана - это плохо. Ориентироваться можно по темному устройству со светодиодом стоящем под телевизором.

Скажу, что в последних версиях тоже есть проблема, которая не всегда проявляется. Но...

Evgeniy1990

V0lt

Просто мои коллеги по работе дали мне парочку своих личных видео и спрашивают меня, мол, "можно ли эти видео файлы как-нибудь повернуть"? Я им говорю и объясняю, что эти видео файлы содержат некий флаг, или тэг "Rotation".
Чтобы они отображались корректно, нужен соответствующий плеер с соответствующими видео-рендерерами с поддержкой данного флага. Я им предложил скачать и установить наш MPC-BE-плеер. Затем, сказал им, чтобы они выбрали или EVR Custom - видео рендерер, или VMR-9 RL + 3D поверхность, в зависимости от операционных систем, которые у них установлены. Они, естественно, это сделали, после чего, начали их просматривать. И через некоторое время говорят мне, что изображение очень маленькое, плохо видно, трудно что-либо разобрать.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

V0lt

Для увеличения использовать клавиши Num9, для уменьшения - Num1.
[merge_posts_bbcode]Добавлено: 2016-03-11 23:11:44[/merge_posts_bbcode]

Вот пример поярче - https://trac.ffmpeg.org/attachment/ticket/505/sample-in-issue-505.mov
Проблема в том, что если видео 16:9, а экран 16:10, то при повороте мы получим черные поля со всех сторон. Особо плохо будет для экрана 4:3 или 5:4.

Почему так? Потому что берется исходный кадр, поворачивается и затем подгоняется по размеру, чтобы полностью влезть в размеры исходного кадра. Это замечательно работает для оконного режима (особенно если включена "Соотнош. сторон как у видеокадра"), а так же для полноэкранного при совпадении пропорций.

Почему нельзя сделать везде хорошо на автомате? Потому что используемые средства поворота не предусматривают более интеллектуальный подгон. Так же у нас возможны произвольные повороты, а не только с шагом 90 градусов, что в разы усложняет задачу "сделать всем хорошо".

PS: Помимо клавиши Num9 и Num1, могу посоветовать использовать madVR.

Aleksoid1978

Так - глянул я приложенный здесь файл. Все корректно - поворот и вписывание в размер экрана. Что в окне, что в полный экран. А как еще должно быть - поворот но обрезка ??

madVR - точно так же, при повороте изменяет размер видео так, чтобы вписаться в размер экрана.

Так что все корректно.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

Aleksoid1978
У тебя монитор 16:9 и кадр такой же. Поэтому не можешь повторить на полном экране.
Отключи опцию "Соотнош. сторон как у видеокадра". Открой видео в небольшом окне и увеличивай высоту окна.
Можно опцию не трогать и, используя средства винды, просто сделать окно размером с половину рабочего стола (слева или справа).
[merge_posts_bbcode]Добавлено: 2016-03-12 08:25:23[/merge_posts_bbcode]


Evgeniy1990

Aleksoid1978:

V0lt вам правильно говорит, что если мониторы имеют соотношения сторон 4:3, или 5:4, то на них изображение выглядит уменьшенным как минимум в два раза, по сути очень маленький "прямоугольник" в центре экрана, как показано на скриншоте у V0lt\'a.

P.S. Уж очень это напоминает децимацию изображения, т.е. его уменьшение в 2 раза.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Ну и что - по другому не будет. Так что закрываем тему.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

Aleksoid1978
По другому можно сделать. Но придется убрать возможность поворачивать на произвольный угол (оставить только кратные 90) и полностью убрать вращения по осям X и Y.

V0lt

Буду переделывать работу флага "rotation". Постараюсь отвязать его от остальных деформаций.

Evgeniy1990

Цитата: V0ltБуду переделывать работу флага "rotation". Постараюсь отвязать его от остальных деформаций.
Только просьба, пожалуйста учтите также и наличие работы DXVA-2 интерполяции. При ней вообще не работает флаг "Rotation".
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

V0lt

В общем делаю через дополнительную текстуру. Поворот на 180 работает нормально, а вот на 90 и 270 портит левую часть (около 45%) конечного кадра. Причина пока не ясна.

Leo

Цитата: V0ltВ общем делаю через дополнительную текстуру. Поворот на 180 работает нормально, а вот на 90 и 270 портит левую часть (около 45%) конечного кадра. Причина пока не ясна.
Хм, у меня на планшете при таких поворотах (в текущих версиях) портится правая почти-половина (тоже где-то 45% по площади), восстанавливается после тыка в экран. Может быть это как-то связано?