@ Copyright (C) 2011 Sébastien Toque
@ Rémi Denis-Courmont
@
- @ This program is free software; you can redistribute it and/or modify
- @ it under the terms of the GNU General Public License as published by
- @ the Free Software Foundation; either version 2 of the License, or
+ @ This program is free software; you can redistribute it and/or modify it
+ @ under the terms of the GNU Lesser General Public License as published by
+ @ the Free Software Foundation; either version 2.1 of the License, or
@ (at your option) any later version.
@
@ This program is distributed in the hope that it will be useful,
@ but WITHOUT ANY WARRANTY; without even the implied warranty of
- @ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- @ GNU General Public License for more details.
+ @ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ @ GNU Lesser General Public License for more details.
@
- @ You should have received a copy of the GNU General Public License
+ @ You should have received a copy of the GNU Lesser General Public License
@ along with this program; if not, write to the Free Software Foundation,
@ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
@****************************************************************************/
+ .syntax unified
.fpu neon
.text
.short 4992
.short -18432
- .align
+ .align 2
.global nv12_rgb_neon
.type nv12_rgb_neon, %function
nv12_rgb_neon:
sub YPAD, YPITCH, WIDTH
loop_row:
- movgts COUNT, WIDTH
+ movsgt COUNT, WIDTH
add O2, O1, OPITCH
add Y2, Y1, YPITCH
/* exit if all rows have been processed */
vsub.s16 chro_g, Gc, chro_g
vadd.s16 chro_b, Bc, chro_b
- PLD [U]
+ pld [U]
/* Y Top Row */
vld2.u8 {y1,y2}, [Y1,:128]!
vqrshrun.s16 green2, green, #6
vqrshrun.s16 blue2, blue, #6
- PLD [Y1]
+ pld [Y1]
vmov.u8 alpha2, #255
vzip.u8 red1, red2
vqrshrun.s16 green2, green, #6
vqrshrun.s16 blue2, blue, #6
- PLD [Y2]
+ pld [Y2]
vmov.u8 alpha2, #255
vzip.u8 red1, red2