1 |
;/***************************************************************************** |
;/************************************************************************** |
2 |
; * |
; * |
3 |
; * XVID MPEG-4 VIDEO CODEC |
; * XVID MPEG-4 VIDEO CODEC |
4 |
; * mmx yuv planar to yuyv/uyvy conversion |
; * mmx yuv planar to yuyv/uyvy |
|
; * |
|
|
; * Copyright(C) 2002 Peter Ross <pross@xvid.org> |
|
|
; * |
|
|
; * This program is an implementation of a part of one or more MPEG-4 |
|
|
; * Video tools as specified in ISO/IEC 14496-2 standard. Those intending |
|
|
; * to use this software module in hardware or software products are |
|
|
; * advised that its use may infringe existing patents or copyrights, and |
|
|
; * any such use would be at such party's own risk. The original |
|
|
; * developer of this software module and his/her company, and subsequent |
|
|
; * editors and their companies, will have no liability for use of this |
|
|
; * software or modifications or derivatives thereof. |
|
5 |
; * |
; * |
6 |
; * This program is free software; you can redistribute it and/or modify |
; * This program is free software; you can redistribute it and/or modify |
7 |
; * it under the terms of the GNU General Public License as published by |
; * it under the terms of the GNU General Public License as published by |
15 |
; * |
; * |
16 |
; * You should have received a copy of the GNU General Public License |
; * You should have received a copy of the GNU General Public License |
17 |
; * along with this program; if not, write to the Free Software |
; * along with this program; if not, write to the Free Software |
18 |
; * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
; * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
19 |
|
; * |
20 |
|
; *************************************************************************/ |
21 |
|
|
22 |
|
;/************************************************************************** |
23 |
; * |
; * |
24 |
; ****************************************************************************/ |
; * History: |
25 |
|
; * |
26 |
|
; * 05.12.2001 initial version; (c)2001 peter ross <pross@cs.rmit.edu.au> |
27 |
|
; * |
28 |
|
; *************************************************************************/ |
29 |
|
|
30 |
|
|
31 |
bits 32 |
bits 32 |
32 |
|
|
81 |
mov ebx, [esp + 20 + 32] ; width |
mov ebx, [esp + 20 + 32] ; width |
82 |
mov eax, [esp + 20 + 8] ; dst_stride |
mov eax, [esp + 20 + 8] ; dst_stride |
83 |
sub eax, ebx ; |
sub eax, ebx ; |
84 |
add eax, eax ; eax = 2*(dst_stride - width) |
sub eax, ebx ; eax = dst_stride - (2 * width) |
85 |
push eax ; [esp + 4] = dst_dif |
push eax ; [esp + 4] = dst_dif |
86 |
; STACK BASE = 24 |
; STACK BASE = 24 |
87 |
|
|
224 |
mov ebx, [esp + 20 + 32] ; width |
mov ebx, [esp + 20 + 32] ; width |
225 |
mov eax, [esp + 20 + 8] ; dst_stride |
mov eax, [esp + 20 + 8] ; dst_stride |
226 |
sub eax, ebx ; |
sub eax, ebx ; |
227 |
add eax, eax ; eax = 2*(dst_stride - width) |
sub eax, ebx ; eax = dst_stride - (2 * width) |
228 |
push eax ; [esp + 4] = dst_dif |
push eax ; [esp + 4] = dst_dif |
229 |
; STACK BASE = 24 |
; STACK BASE = 24 |
230 |
|
|