PageRenderTime 27ms CodeModel.GetById 20ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

/media/libjpeg/simd/jccolmmx.asm

http://github.com/zpao/v8monkey
Assembly | 120 lines | 83 code | 16 blank | 21 comment | 0 complexity | d37c8ca351d5516000c34c6473ec8333 MD5 | raw file
  1;
  2; jccolmmx.asm - colorspace conversion (MMX)
  3;
  4; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
  5; Copyright 2009 D. R. Commander
  6;
  7; Based on
  8; x86 SIMD extension for IJG JPEG library
  9; Copyright (C) 1999-2006, MIYASAKA Masaru.
 10; For conditions of distribution and use, see copyright notice in jsimdext.inc
 11;
 12; This file should be assembled with NASM (Netwide Assembler),
 13; can *not* be assembled with Microsoft's MASM or any compatible
 14; assembler (including Borland's Turbo Assembler).
 15; NASM is available from http://nasm.sourceforge.net/ or
 16; http://sourceforge.net/project/showfiles.php?group_id=6208
 17;
 18; [TAB8]
 19
 20%include "jsimdext.inc"
 21
 22; --------------------------------------------------------------------------
 23
 24%define SCALEBITS	16
 25
 26F_0_081	equ	 5329			; FIX(0.08131)
 27F_0_114	equ	 7471			; FIX(0.11400)
 28F_0_168	equ	11059			; FIX(0.16874)
 29F_0_250	equ	16384			; FIX(0.25000)
 30F_0_299	equ	19595			; FIX(0.29900)
 31F_0_331	equ	21709			; FIX(0.33126)
 32F_0_418	equ	27439			; FIX(0.41869)
 33F_0_587	equ	38470			; FIX(0.58700)
 34F_0_337	equ	(F_0_587 - F_0_250)	; FIX(0.58700) - FIX(0.25000)
 35
 36; --------------------------------------------------------------------------
 37	SECTION	SEG_CONST
 38
 39	alignz	16
 40	global	EXTN(jconst_rgb_ycc_convert_mmx)
 41
 42EXTN(jconst_rgb_ycc_convert_mmx):
 43
 44PW_F0299_F0337	times 2 dw  F_0_299, F_0_337
 45PW_F0114_F0250	times 2 dw  F_0_114, F_0_250
 46PW_MF016_MF033	times 2 dw -F_0_168,-F_0_331
 47PW_MF008_MF041	times 2 dw -F_0_081,-F_0_418
 48PD_ONEHALFM1_CJ	times 2 dd  (1 << (SCALEBITS-1)) - 1 + (CENTERJSAMPLE << SCALEBITS)
 49PD_ONEHALF	times 2 dd  (1 << (SCALEBITS-1))
 50
 51	alignz	16
 52
 53; --------------------------------------------------------------------------
 54%include "jcclrmmx.asm"
 55
 56%undef RGB_RED
 57%undef RGB_GREEN
 58%undef RGB_BLUE
 59%undef RGB_PIXELSIZE
 60%define RGB_RED 0
 61%define RGB_GREEN 1
 62%define RGB_BLUE 2
 63%define RGB_PIXELSIZE 3
 64%define jsimd_rgb_ycc_convert_mmx jsimd_extrgb_ycc_convert_mmx
 65%include "jcclrmmx.asm"
 66
 67%undef RGB_RED
 68%undef RGB_GREEN
 69%undef RGB_BLUE
 70%undef RGB_PIXELSIZE
 71%define RGB_RED 0
 72%define RGB_GREEN 1
 73%define RGB_BLUE 2
 74%define RGB_PIXELSIZE 4
 75%define jsimd_rgb_ycc_convert_mmx jsimd_extrgbx_ycc_convert_mmx
 76%include "jcclrmmx.asm"
 77
 78%undef RGB_RED
 79%undef RGB_GREEN
 80%undef RGB_BLUE
 81%undef RGB_PIXELSIZE
 82%define RGB_RED 2
 83%define RGB_GREEN 1
 84%define RGB_BLUE 0
 85%define RGB_PIXELSIZE 3
 86%define jsimd_rgb_ycc_convert_mmx jsimd_extbgr_ycc_convert_mmx
 87%include "jcclrmmx.asm"
 88
 89%undef RGB_RED
 90%undef RGB_GREEN
 91%undef RGB_BLUE
 92%undef RGB_PIXELSIZE
 93%define RGB_RED 2
 94%define RGB_GREEN 1
 95%define RGB_BLUE 0
 96%define RGB_PIXELSIZE 4
 97%define jsimd_rgb_ycc_convert_mmx jsimd_extbgrx_ycc_convert_mmx
 98%include "jcclrmmx.asm"
 99
100%undef RGB_RED
101%undef RGB_GREEN
102%undef RGB_BLUE
103%undef RGB_PIXELSIZE
104%define RGB_RED 3
105%define RGB_GREEN 2
106%define RGB_BLUE 1
107%define RGB_PIXELSIZE 4
108%define jsimd_rgb_ycc_convert_mmx jsimd_extxbgr_ycc_convert_mmx
109%include "jcclrmmx.asm"
110
111%undef RGB_RED
112%undef RGB_GREEN
113%undef RGB_BLUE
114%undef RGB_PIXELSIZE
115%define RGB_RED 1
116%define RGB_GREEN 2
117%define RGB_BLUE 3
118%define RGB_PIXELSIZE 4
119%define jsimd_rgb_ycc_convert_mmx jsimd_extxrgb_ycc_convert_mmx
120%include "jcclrmmx.asm"