COOLERbyPSP,
эта "проблема" заложена в самом стандарте видео, а именно используемом цветовом пространстве YV12.
Дело в том, что видео кодируется не в привычном RGB, а в YV12. Это такой цветовой формат, в котором есть три компоненты - яроксть + две цветовых. Прикол в том, что из-за особенностей глаза (меньшая чувствительность к цвету, чем к яркости), можно кодировать цветовые компоненты в два раза меньше разрешении.
Таки образом на блок из 2х2 пикселя тратится не 4х3х8 = 96 бит (24 бита на пиксель в среднем), а 8 (один семпл первой цветовой составляющей) + 8 (один семпл второй) + 4х8 (четыре семпла яркостной) = 48 бит или
12 бит на пиксель в среднем. Т.е. выгода - в два раза, при практически минимальном визуальном отличии.
Картинко
раз, и еще вики:
http://ru.wikipedia.org/wiki/YUV
Но отличие таки есть, и оно заметно на вот таких мелких цветных деталях. Еще заметно на записях видео с экрана.
Вот например, видео в 4:4:4, и
сравнение скрина с исходного видео и после ConvertToYV12 ().
Также из этого вытекает еще 1 проблема: как обратно все растягивать. Есть несколько алгоритмов интерполяции:
1) Nearest Neighbor (ака ближайший сосед). В общем из 1 пикселя получается 4 простым превращением 1 пикселя в 2х2 таких же. Например на твоей аве это будет выглядеть так:
http://2.firepic.org/2/images/2012-0...xm7gf0afym.png
2) Что-нибудь отличное от него. Выглядит куда лучше.
Вот сравнение, скрин с одного видео, просто разные настройки рендерера (штука, которая из YV12 получает RGB, который на дисплей выводится):
http://screenshotcomparison.com/comparison/131312
Беда виты в том, что она хрому (цветовую компоненту) масштабирует по первому алгоритму. Что с этим можно делать? Да разве что кодировать в разрешении выше нативного (видимо лучше всего - 720p), тогда дополнительное масштабирование всей картинки будет немного это все сглаживать. А еще можно гневное письмо в сони написать
З.ы. пока гоняю тесты, но на первый взгляд - вита потянула 720p с 9ю рефреймами (что соответствует High@L4.1), но пониженым до 3.1 левелом.
З.ы.ы. сам пока кодирую --preset <какой хочешь по соотношению скорость/сжатие> --tune animation --crf 17 --profile high --level 3.1 --vbv-maxrate 17500 --vbv-bufsize 17500, все ок даже с 720p@60fps видео.
Инфа про размер vbv буфера у виты - проверенная?) И таки рекомендую перейти на пресеты (medium это не пресет, это дефолт

), и если надо - уже крутить настройки относительно них. А то половина - это veryslow, плюс-минус. Их же совсем не зря сделали

З.ы.ы.ы. эта зелень - это мб YUV с 0 в каждой компоненте. Можете сами проверить
http://fic.bos.ru/solutions/YUV2RGB.php Если как-нибудь кто-нибдуь снимет скрин с зеленью - можно будет проверить, число там близкое к 135 или к 255)
З.ы.ы.ы.ы. еще по поводу кодирования в натив/не натив - разницы особой нет - сама вита масштабирует неплохо, так что особой разницы между хорошим скейлером при кодировании и скейлом при воспроизведении нет. Но учитывая проблему с апсемплингом хромы - рекомендую таки 720p, а не натив.
З.ы.ы.ы.ы.ы. еще одна мысль по поводу зелени - так работает аппаратный оверлей.
An application using a hardware overlay gets a completely separate section of video memory that belongs only to that application. Because nothing else uses it, the program never needs to waste resources in checking whether a given piece of the memory belongs to it, nor does it need to monitor whether the user moves the window and changes the location of the video memory. To get the image from the separate video memory to display in tandem with the remaining shared elements on the display, the graphical subsystem associates a certain attribute (for example, a particular color) as a "mask" for that overlay, which the graphics card understands to mean that it is to draw from the separate overlay buffer onto the screen. (This technique has become known as "chroma key".)
|
Возможно рендрер считает, что он должен выводить на весь экран - и готовит область во весь экран... а видеокарта отдает видео не на весь экран - вот и остается "подготовленный" кусок экрана, в который ничего не вывели - и он имеет цвет "подготовленной" части.
З.ы.(6) tl;dr а сабы так и не завелись? А то в очень обширных настройках из суммарных 4х пунктов есть "язык субтитров" о_О