1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/media/libjpeg/simd/jdct.inc Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,28 @@ 1.4 +; 1.5 +; jdct.inc - private declarations for forward & reverse DCT subsystems 1.6 +; 1.7 +; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB 1.8 +; 1.9 +; Based on 1.10 +; x86 SIMD extension for IJG JPEG library 1.11 +; Copyright (C) 1999-2006, MIYASAKA Masaru. 1.12 +; For conditions of distribution and use, see copyright notice in jsimdext.inc 1.13 +; 1.14 +; [TAB8] 1.15 + 1.16 +; Each IDCT routine is responsible for range-limiting its results and 1.17 +; converting them to unsigned form (0..MAXJSAMPLE). The raw outputs could 1.18 +; be quite far out of range if the input data is corrupt, so a bulletproof 1.19 +; range-limiting step is required. We use a mask-and-table-lookup method 1.20 +; to do the combined operations quickly. 1.21 +; 1.22 +%define RANGE_MASK (MAXJSAMPLE * 4 + 3) ; 2 bits wider than legal samples 1.23 + 1.24 +%define ROW(n,b,s) ((b)+(n)*(s)) 1.25 +%define COL(n,b,s) ((b)+(n)*(s)*DCTSIZE) 1.26 + 1.27 +%define DWBLOCK(m,n,b,s) ((b)+(m)*DCTSIZE*(s)+(n)*SIZEOF_DWORD) 1.28 +%define MMBLOCK(m,n,b,s) ((b)+(m)*DCTSIZE*(s)+(n)*SIZEOF_MMWORD) 1.29 +%define XMMBLOCK(m,n,b,s) ((b)+(m)*DCTSIZE*(s)+(n)*SIZEOF_XMMWORD) 1.30 + 1.31 +; --------------------------------------------------------------------------