Юра - ты лучше выложи сам ролик который крутил и чем крутил, я думаю с большой вероятностью он и на imx233 заиграет.
эх! не все так пушисто получилось (не иначе как от радости) - видео играет, звук поет - да вот рассинхрон идет, пока не присмотришься не поймешь..
дома провел микроНИР, исходный файл AVI конвертировал вот такой софтиной MOV to AVI MPEG WMV Converter в MPEG1. Для этого кодека есть 5 режимов качества (1 low - 5 high) - так заиграло нормально только на 2 пункте.
Вот сам ролик (14МБ): http://webfile.ru/placed?id=4930329
его 9G45 показывает без лагов и поет синхронно. если надо урезать или переложить - не вопрос. чуть качество поднимаю - звук начинает отставать..
использовал mplayer из корневой от Павла. пробовал свой самосборный mplayer - лучше не стало..
Не, ну такие пережатики imx233 даже без фреймдропов проглатывает, даже без моего модуля для mplayer для аппаратного преобразованием цветов (через PXP) с ним я думаю он вообще отдыхать будет :) http://sasamy.narod.ru/gaga.png
Не, ну такие пережатики imx233 даже без фреймдропов проглатывает
ну да - квадратиш не есть гуд :)
в общем я понял свою ошибку - почему все так плохо получалось (эйфория от новой платы, встреча с Родиной)
запуск mplayer (что с бизибокса, что моего) происходил без подключения mad, т.е. декодировалось вот так:
в этом случае проц грузится на 65-80% на таком ролике (15МБ): http://webfile.ru/4933594
исходный MKV перекрутил в AVI с максимальным качеством, потом в VirtualDub вырезал небольшой кусок, сохранил без потерь в AVI и в финале конвертером заплющил в MPEG с максимальным качеством, уфф :)
Саш, вопросы тебе как к знатоку фреймбуферов. При запуске mplayer фигурирует вот такое сообщение:
[swscaler @ 0x6bc018]No accelerated colorspace conversion found
[swscaler @ 0x6bc018]SwScaler: using unscaled yuv420p -> bgr565 special converter
- можно ли выключить это преобразование?
- где или как в видеодрайвере прописывается поддержка подобных режимов? или как mplayer это узнает?
эти вопросы связаны с НУК950, контроллер которого вроде понимает несколько входных форматов. щелкая битиком я получаю причудливую палитру
Можно, вместе с mplayer :) внутренний формат данных у mpeg (и jpeg) - цветоразностный YUV http://ru.wikipedia.org/wiki/YUV
чтобы получить rgb для твоего LCD нужно делать преобразование YUV->RGB, это относится к постпроцессингу, когда уже данные декодированы. Занимает это достаточно неслабые ресурсы - если посмотришь на формулы в вики, там перемножение матрицы на матрицу коэффициентов, есть формулы и для целочисленного умножения но все равно это отнимает ресурсы. Многие LCD контроллеры поддерживают так называемое 2D ускорение ну и в числе прочего могут принимать данные в формате YUV. Но тут есть засада :) формат этот весьма разнообразен, есть 3 плановые раздельные форамты когда Y, U и V хранятся в отдельных буферах и есть у которых эти 3 компоненты лежат вместе для каждого пикселя, потом там суперпозиции чередования и количества данных, в общем полный зоопарк. Это краткий ликбез, об этом можно говорить долго, лучше полазь тут http://www.fourcc.org
В своем драйвере я просто добавил ioctrl для переключения FB "на лету" c одного входного формата на другой, в модуле mplayer сообщаю в каких форматах я могу принимать данные и переключаю драйвер FB, потом перекидываю 3 плана YUV напрямую в буфер, PXP аппаратно преобразует YUV в буфер RGB888 который я потом скармливаю LCD контроллеру.
Ок. Спасибо Саша за развернутый ответ. Похоже путь сей весьма тернист и непрост. Я думал - добавить пару строк, пощелкать регистром, порадовать mplayer. А тут вона как. Впрочем будет возможность - поковыряюсь в этой области, знания полезные.
В случае НУК950 это видимо вот тут на смотреть:
Приветствую.
Подскажите как сделать чтобы каждый раз не вводить -ac mad
есть /root/.mplayer/config - это то? что туда написать?
ходил по ссылке,но толи плохо смотрел, толи лыжи не едут...
и ещё - понимаю что -ас - аудиокодек, но тоже не нашёл