~tom-gall/libjpeg-turbo/upstream-1.2

« back to all changes in this revision

Viewing changes to simd/jcgrammx.asm

  • Committer: Tom Gall
  • Date: 2011-08-15 23:41:58 UTC
  • Revision ID: tom.gall@linaro.org-20110815234158-yqcft1w9j8w3nnf6
merge in 1.1.90 from upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
;
 
2
; jcgrammx.asm - grayscale colorspace conversion (MMX)
 
3
;
 
4
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
 
5
; Copyright 2011 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
 
 
26
F_0_114 equ      7471                   ; FIX(0.11400)
 
27
F_0_250 equ     16384                   ; FIX(0.25000)
 
28
F_0_299 equ     19595                   ; FIX(0.29900)
 
29
F_0_587 equ     38470                   ; FIX(0.58700)
 
30
F_0_337 equ     (F_0_587 - F_0_250)     ; FIX(0.58700) - FIX(0.25000)
 
31
 
 
32
; --------------------------------------------------------------------------
 
33
        SECTION SEG_CONST
 
34
 
 
35
        alignz  16
 
36
        global  EXTN(jconst_rgb_gray_convert_mmx)
 
37
 
 
38
EXTN(jconst_rgb_gray_convert_mmx):
 
39
 
 
40
PW_F0299_F0337  times 2 dw  F_0_299, F_0_337
 
41
PW_F0114_F0250  times 2 dw  F_0_114, F_0_250
 
42
PD_ONEHALF      times 2 dd  (1 << (SCALEBITS-1))
 
43
 
 
44
        alignz  16
 
45
 
 
46
; --------------------------------------------------------------------------
 
47
        SECTION SEG_TEXT
 
48
        BITS    32
 
49
 
 
50
%include "jcgrymmx.asm"
 
51
 
 
52
%undef RGB_RED
 
53
%undef RGB_GREEN
 
54
%undef RGB_BLUE
 
55
%undef RGB_PIXELSIZE
 
56
%define RGB_RED 0
 
57
%define RGB_GREEN 1
 
58
%define RGB_BLUE 2
 
59
%define RGB_PIXELSIZE 3
 
60
%define jsimd_rgb_gray_convert_mmx jsimd_extrgb_gray_convert_mmx
 
61
%include "jcgrymmx.asm"
 
62
 
 
63
%undef RGB_RED
 
64
%undef RGB_GREEN
 
65
%undef RGB_BLUE
 
66
%undef RGB_PIXELSIZE
 
67
%define RGB_RED 0
 
68
%define RGB_GREEN 1
 
69
%define RGB_BLUE 2
 
70
%define RGB_PIXELSIZE 4
 
71
%define jsimd_rgb_gray_convert_mmx jsimd_extrgbx_gray_convert_mmx
 
72
%include "jcgrymmx.asm"
 
73
 
 
74
%undef RGB_RED
 
75
%undef RGB_GREEN
 
76
%undef RGB_BLUE
 
77
%undef RGB_PIXELSIZE
 
78
%define RGB_RED 2
 
79
%define RGB_GREEN 1
 
80
%define RGB_BLUE 0
 
81
%define RGB_PIXELSIZE 3
 
82
%define jsimd_rgb_gray_convert_mmx jsimd_extbgr_gray_convert_mmx
 
83
%include "jcgrymmx.asm"
 
84
 
 
85
%undef RGB_RED
 
86
%undef RGB_GREEN
 
87
%undef RGB_BLUE
 
88
%undef RGB_PIXELSIZE
 
89
%define RGB_RED 2
 
90
%define RGB_GREEN 1
 
91
%define RGB_BLUE 0
 
92
%define RGB_PIXELSIZE 4
 
93
%define jsimd_rgb_gray_convert_mmx jsimd_extbgrx_gray_convert_mmx
 
94
%include "jcgrymmx.asm"
 
95
 
 
96
%undef RGB_RED
 
97
%undef RGB_GREEN
 
98
%undef RGB_BLUE
 
99
%undef RGB_PIXELSIZE
 
100
%define RGB_RED 3
 
101
%define RGB_GREEN 2
 
102
%define RGB_BLUE 1
 
103
%define RGB_PIXELSIZE 4
 
104
%define jsimd_rgb_gray_convert_mmx jsimd_extxbgr_gray_convert_mmx
 
105
%include "jcgrymmx.asm"
 
106
 
 
107
%undef RGB_RED
 
108
%undef RGB_GREEN
 
109
%undef RGB_BLUE
 
110
%undef RGB_PIXELSIZE
 
111
%define RGB_RED 1
 
112
%define RGB_GREEN 2
 
113
%define RGB_BLUE 3
 
114
%define RGB_PIXELSIZE 4
 
115
%define jsimd_rgb_gray_convert_mmx jsimd_extxrgb_gray_convert_mmx
 
116
%include "jcgrymmx.asm"