[svn] / trunk / xvidcore / src / quant / x86_asm / quantize_mpeg_mmx.asm Repository:
ViewVC logotype

Diff of /trunk/xvidcore/src/quant/x86_asm/quantize_mpeg_mmx.asm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1797, Wed Nov 26 02:17:50 2008 UTC revision 1798, Wed Nov 26 02:21:02 2008 UTC
# Line 21  Line 21 
21  ; *  along with this program ; if not, write to the Free Software  ; *  along with this program ; if not, write to the Free Software
22  ; *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA  ; *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
23  ; *  ; *
24  ; * $Id: quantize_mpeg_mmx.asm,v 1.11 2008-11-26 01:04:34 Isibaar Exp $  ; * $Id: quantize_mpeg_mmx.asm,v 1.12 2008-11-26 02:21:02 Isibaar Exp $
25  ; *  ; *
26  ; *************************************************************************/  ; *************************************************************************/
27    
# Line 177  Line 177 
177    
178    movq mm7, [mmx_rounding]    movq mm7, [mmx_rounding]
179    
180  ;  QUANT_MMX(0)    QUANT_MMX(0)
181  ;  QUANT_MMX(1)    QUANT_MMX(1)
182  ;  QUANT_MMX(2)    QUANT_MMX(2)
183  ;  QUANT_MMX(3)    QUANT_MMX(3)
184  ;  QUANT_MMX(4)    QUANT_MMX(4)
185  ;  QUANT_MMX(5)    QUANT_MMX(5)
186  ;  QUANT_MMX(6)    QUANT_MMX(6)
187  ;  QUANT_MMX(7)    QUANT_MMX(7)
188    
189    ; calculate DC    ; calculate DC
190  ;  movsx _EAX, word [_EAX]   ; data[0]    movsx _EAX, word [_EAX]   ; data[0]
191  ;  mov TMP0, prm4            ; dcscalar    mov TMP0, prm4            ; dcscalar
192  ;  mov _EDX, _EAX    mov _EDX, _EAX
193  ;  shr TMP0, 1               ; TMP0 = dcscalar/2    shr TMP0, 1               ; TMP0 = dcscalar/2
194  ;  sar _EDX, 31              ; TMP1 = sign extend of _EAX (ready for division too)    sar _EDX, 31              ; TMP1 = sign extend of _EAX (ready for division too)
195  ;  xor TMP0, _EDX            ; adjust TMP0 according to the sign of data[0]    xor TMP0, _EDX            ; adjust TMP0 according to the sign of data[0]
196  ;  sub TMP0, _EDX    sub TMP0, _EDX
197  ;  add _EAX, TMP0    add _EAX, TMP0
198    
199  ;  mov TMP0, prm4           ; dcscalar    mov TMP0, prm4            ; dcscalar
200  ;  idiv TMP0                 ; _EAX = _EDX:_EAX / dcscalar    idiv TMP0                 ; _EAX = _EDX:_EAX / dcscalar
201    
202  ;  mov _EDX, prm1            ; coeff again    mov _EDX, prm1            ; coeff again
203  ;  mov word [_EDX], ax       ; coeff[0] = ax    mov word [_EDX], ax       ; coeff[0] = ax
204    
205    xor _EAX, _EAX            ; return(0);    xor _EAX, _EAX            ; return(0);
206    ret    ret

Legend:
Removed from v.1797  
changed lines
  Added in v.1798

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4