2014-11-26 3 views
0

Я пытаюсь адаптировать следующий код, чтобы сделать половину шкалы экстракцию + Y8:ARM сборки: демпинг d1 и d5 регистрирует

https://github.com/emrainey/DVP/blob/master/libraries/public/yuv/__uyvy_half_scale_image.S

Я просто хочу, чтобы изменить строки 105 и 106 и сваливать в pDst d1 и d5.

По линии 105:

https://github.com/emrainey/DVP/blob/master/libraries/public/yuv/yuv.inc

Я считаю, что d0 имеет U/V, d1, имеет Y, d4 имеет U/V, и D5 имеет Y.

Я пытался различные вещи с vst1.8 и vst2.8, но без везения. Как я могу это сделать?

+0

Что не сработало? Обычно из внешнего вида выходного изображения вы можете сказать, что не так. – auselen

ответ

0

Посмотрите инструкции vst. Они деперемещают на 16 бит, что означает, что они содержат U + Y и V + Y каждый.

Если я не ошибаюсь, вам нужны только значения яркости, и вы должны извлекать их из всех четырех регистров.

vtrn.8 d1, d0 
vtrn.8 d5, d4 

то есть значения Y в d0 и d4

Остерегайтесь, хотя. Эта процедура затем содержит тонны ненужных инструкций от начала до самого конца.

Почему бы вам не взглянуть на другие источники? Эта библиотека представляет собой довольно плохую отправную точку для обучения/модификации из-за ужасного выбора инструкций, несогласованных распределений регистров и отсутствия остаточной обработки.

Смежные вопросы