亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? yuv12-rgb16.s

?? ac3的解碼程序
?? S
?? 第 1 頁 / 共 2 頁
字號:

  sar        ebx, 1
  add        esi, ebx
  add        edx, esi
  neg        ebx
  mov		[esp+FrameWidth],ebx

;  Register Usage:
;
;------------------------------------------------------------------------------
PrepareChromaLine:
  mov		ebp,[esp+AspectCount]
  mov		ebx,[esp+FrameWidth]
  sub    ebp,2
  mov		 eax,[esp+CCOPitch]
  mov		[esp+tmpCCOPitch],eax
   ja     continue

  xor    eax,eax
  add		ebp,[esp+AspectAdjustmentCount]
  mov		[esp+tmpCCOPitch],eax
continue:
  mov		[esp+AspectCount],ebp

do_next_8x2_block:
  mov		ebp,[esp+tmpYCursorEven]
; here is even line
  movd      mm1, [edx+ebx]         ; 4 u values
  pxor       mm0, mm0               ; mm0=0
  movd      mm2, [esi+ebx]         ; 4 v values
  punpcklbw  mm1, mm0               ; get 4 unsign u
  psubw      mm1, [Minusg]            ; get 4 unsign u-128
  punpcklbw  mm2, mm0               ; get unsign v
  psubw      mm2, [Minusg]            ; get unsign v-128
  movq       mm3, mm1               ; save the u-128 unsign
  movq       mm5, mm1               ; save u-128 unsign
  punpcklwd  mm1, mm2               ; get 2 low u, v unsign pairs
  pmaddwd    mm1, [UVtG]
   punpckhwd  mm3, mm2               ; create high 2 unsign uv pairs
  pmaddwd    mm3, [UVtG]
  movq       [temp_mmx+esp], mm2     ; save v-128
  movq       mm6, [ebp+2*ebx]       ; mm6 has 8 y pixels
  psubusb    mm6, [Yadd]              ; mm6 has 8 y-16 pixels
   packssdw   mm1, mm3               ; packed the results to signed words
  movq       mm7, mm6               ; save the 8 y-16 pixels
   punpcklbw  mm6, mm0               ; mm6 has 4 low y-16 unsign
  pmullw     mm6, [Ymul]
   punpckhbw  mm7, mm0               ; mm7 has 4 high y-16 unsign
  pmullw     mm7, [Ymul]
   movq       mm4, mm1
  movq       [temp_mmx+esp+8], mm1   ; save 4 chroma G values
   punpcklwd  mm1, mm1               ; chroma G replicate low 2
  movq       mm0, mm6               ; low  y
   punpckhwd  mm4, mm4               ; chroma G replicate high 2
  movq       mm3, mm7               ; high y
   psubw      mm6, mm1               ;  4 low G
  psraw      mm6, [esp+GRightShift]
   psubw      mm7, mm4               ; 4 high G values in signed 16 bit
  movq       mm2, mm5
   punpcklwd  mm5, mm5               ; replicate the 2 low u pixels
  pmullw     mm5, [UtB]
   punpckhwd  mm2, mm2
  psraw      mm7, [esp+GRightShift]
   pmullw     mm2, [UtB]
  packuswb   mm6, mm7               ; mm6: G7 G6 G5 G4 G3 G2 G1 G0
  movq       [temp_mmx+esp+16], mm5  ; low chroma B
   paddw      mm5, mm0               ; 4 low B values in signed 16 bit
  movq       [temp_mmx+esp+40], mm2  ; high chroma B
   paddw      mm2, mm3               ; 4 high B values in signed 16 bit
  psraw      mm5, [esp+BRightShift] ; low B scaled down by 6+(8-5)
  psraw      mm2, [esp+BRightShift] ; high B scaled down by 6+(8-5)
  packuswb   mm5, mm2               ; mm5: B7 B6 B5 B4 B3 B2 B1 B0

  movq       mm2, [temp_mmx+esp]     ; 4 v values
   movq       mm1, mm5               ; save B
  movq       mm7, mm2
   punpcklwd  mm2, mm2               ; replicate the 2 low v pixels
  pmullw     mm2, [VtR]
   punpckhwd  mm7, mm7
  pmullw     mm7, [VtR]
  paddusb    mm1, [esp+BUpperLimit] ; mm1: saturate B+0FF-15
  movq       [temp_mmx+esp+24], mm2  ; low chroma R
  paddw      mm2, mm0               ; 4 low R values in signed 16 bit
  psraw      mm2, [esp+RRightShift] ; low R scaled down by 6+(8-5)
   pxor       mm4, mm4               ; mm4=0 for 8->16 conversion
  movq       [temp_mmx+esp+32], mm7  ; high chroma R
   paddw      mm7, mm3               ; 4 high R values in signed 16 bit
  psraw      mm7, [esp+RRightShift] ; high R scaled down by 6+(8-5)
  psubusb    mm1, [esp+BUpperLimit]
   packuswb   mm2, mm7               ; mm2: R7 R6 R5 R4 R3 R2 R1 R0
  paddusb    mm6, [esp+GUpperLimit] ; G fast patch ih
  psubusb    mm6, [esp+GUpperLimit] ; fast patch ih
  paddusb    mm2, [esp+RUpperLimit] ; R
  psubusb    mm2, [esp+RUpperLimit]

; here we are packing from RGB24 to RGB16
; input:
       ; mm6: G7 G6 G5 G4 G3 G2 G1 G0
       ; mm1: B7 B6 B5 B4 B3 B2 B1 B0
       ; mm2: R7 R6 R5 R4 R3 R2 R1 R0
; assuming 8 original pixels in 0-H representation on mm6, mm5, mm2
; when  H=2**xBITS-1 (x is for R G B)
; output:
;        mm1- result: 4 low RGB16
;        mm7- result: 4 high RGB16
; using: mm0- zero register
;        mm3- temporary results
; algorithm:
;   for (i=0; i<8; i++) {
;     RGB[i]=256*(R[i]<<(8-5))+(G[i]<<5)+B[i];
;   }

  psllq      mm2, [esp+RLeftShift]  ; position R in the most significant part of the byte
   movq       mm7, mm1               ; mm1: Save B

; note: no need for shift to place B on the least significant part of the byte
;   R in left position, B in the right position so they can be combined

  punpcklbw  mm1, mm2               ; mm1: 4 low 16 bit RB
   pxor       mm0, mm0               ; mm0: 0
  punpckhbw  mm7, mm2               ; mm5: 4 high 16 bit RB
   movq       mm3, mm6               ; mm3: G
  punpcklbw  mm6, mm0               ; mm6: low 4 G 16 bit
  psllw      mm6, [esp+GLeftShift]  ; shift low G 5 positions
  punpckhbw  mm3, mm0               ; mm3: high 4 G 16 bit
   por        mm1, mm6               ; mm1: low RBG16
  psllw      mm3, [esp+GLeftShift]  ; shift high G 5 positions
  por        mm7, mm3               ; mm5: high RBG16

  mov		ebp,[esp+tmpYCursorOdd]          ; moved to here to save cycles before odd line
  movq       [edi], mm1             ; !! aligned

;- start odd line
  movq       mm1, [ebp+2*ebx]       ; mm1 has 8 y pixels
   pxor       mm2, mm2
  psubusb    mm1, [Yadd]              ; mm1 has 8 pixels y-16
  movq       mm5, mm1
   punpcklbw  mm1, mm2               ; get 4 low y-16 unsign pixels word
  pmullw     mm1, [Ymul]              ; low 4 luminance contribution
   punpckhbw  mm5, mm2               ; 4 high y-16
  pmullw     mm5,  [Ymul]              ; high 4 luminance contribution
  movq       [edi+8], mm7           ; !! aligned
   movq       mm0, mm1
  paddw      mm0, [temp_mmx+esp+24]  ; low 4 R
   movq       mm6, mm5
  psraw      mm0, [esp+RRightShift] ; low R scaled down by 6+(8-5)
  paddw      mm5, [temp_mmx+esp+32]  ; high 4 R
   movq       mm2, mm1
  psraw      mm5, [esp+RRightShift] ; high R scaled down by 6+(8-5)
  paddw      mm2, [temp_mmx+esp+16]  ; low 4 B
   packuswb   mm0, mm5               ; mm0: R7 R6 R5 R4 R3 R2 R1 R0
  psraw      mm2, [esp+BRightShift] ; low B scaled down by 6+(8-5)
   movq       mm5, mm6
  paddw      mm6, [temp_mmx+esp+40]  ; high 4 B
  psraw      mm6, [esp+BRightShift] ; high B scaled down by 6+(8-5)
  movq       mm3, [temp_mmx+esp+8]   ; chroma G  low 4
  packuswb   mm2, mm6               ; mm2: B7 B6 B5 B4 B3 B2 B1 B0
   movq       mm4, mm3
  punpcklwd  mm3, mm3               ; replicate low 2
  punpckhwd  mm4, mm4               ; replicate high 2
   psubw      mm1, mm3               ;  4 low G
  psraw      mm1, [esp+GRightShift] ; low G scaled down by 6+(8-5)
   psubw      mm5, mm4               ;  4 high G values in signed 16 bit
  psraw      mm5, [esp+GRightShift] ; high G scaled down by 6+(8-5)
  paddusb    mm2, [esp+BUpperLimit] ; mm1: saturate B+0FF-15
   packuswb   mm1, mm5               ; mm1: G7 G6 G5 G4 G3 G2 G1 G0
  psubusb    mm2, [esp+BUpperLimit]
  paddusb    mm1, [esp+GUpperLimit] ; G
  psubusb    mm1, [esp+GUpperLimit]
  paddusb    mm0, [esp+RUpperLimit] ; R
  mov		eax,[esp+tmpCCOPitch]
  psubusb    mm0, [esp+RUpperLimit]

; here we are packing from RGB24 to RGB16
       ; mm1: G7 G6 G5 G4 G3 G2 G1 G0
       ; mm2: B7 B6 B5 B4 B3 B2 B1 B0
       ; mm0: R7 R6 R5 R4 R3 R2 R1 R0
; output:
;        mm2- result: 4 low RGB16
;        mm7- result: 4 high RGB16
; using: mm4- zero register
;        mm3- temporary results

  psllq       mm0, [esp+RLeftShift] ; position R in the most significant part of the byte
   movq        mm7, mm2              ; mm7: Save B

; note: no need for shift to place B on the least significant part of the byte
;   R in left position, B in the right position so they can be combined

  punpcklbw  mm2, mm0               ; mm1: 4 low 16 bit RB
   pxor       mm4, mm4               ; mm4: 0
  movq       mm3, mm1               ; mm3: G
   punpckhbw  mm7, mm0               ; mm7: 4 high 16 bit RB
  punpcklbw  mm1, mm4               ; mm1: low 4 G 16 bit
  punpckhbw  mm3, mm4               ; mm3: high 4 G 16 bit
  psllw      mm1, [esp+GLeftShift]  ; shift low G 5 positions
   por        mm2, mm1               ; mm2: low RBG16
  psllw      mm3, [esp+GLeftShift]  ; shift high G 5 positions
  por        mm7, mm3               ; mm7: high RBG16
  movq       [edi+eax], mm2
  movq       [edi+eax+8], mm7       ; aligned
  add        edi, 16                ; ih take 16 bytes (8 pixels-16 bit)
   add        ebx, 4                 ; ? to take 4 pixels together instead of 2
  jl         near do_next_8x2_block      ; ? update the loop for 8 y pixels at once

  add		edi,[esp+CCOSkipDistance]        ; go to begin of next line
  add 		edi,[esp+tmpCCOPitch]           ; skip odd line (if it is needed)
; Leax       AspectCount
; Lebp       CCOPitch               ; skip odd line

; sub        eax, 2
; jg         @f

; Addeax     AspectBaseCount
; xor        ebp, ebp

;@@:
;  Seax       AspectCount
;  add        edi, ebp

  mov		eax,[esp+YPitch]
  mov		ebp,[esp+tmpYCursorOdd]
  add        ebp, eax       ; skip one line
;  lea        ebp, [ebp+2*eax]       ; skip two lines
  mov		[esp+tmpYCursorEven],ebp
;  Sebp       tmpYCursorOdd

  add        ebp, eax       ; skip one line
  mov		[esp+tmpYCursorOdd],ebp
;  Lebp       tmpYCursorEven
;  lea        ebp, [ebp+2*eax]
;  Sebp       tmpYCursorEven


  add		esi,[esp+ChromaPitch]
  add		edx,[esp+ChromaPitch]


;  Leax       YLimit                  ; Done with last line?
;  cmp        ebp, eax
;  jbe        PrepareChromaLine
   sub      word [esp+FrameHeight],2
   ja       near PrepareChromaLine


;------------------------------------------------------------------------------
finish:
  emms
  add        esp, LocalFrameSize

  pop        ebx
  pop        ebp
  pop        edi
  pop        esi
  ret 


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区在线免费| 狠狠色丁香婷婷综合| 亚洲免费电影在线| 一区二区三区免费网站| 亚洲一区二区五区| 亚洲成人av电影在线| 免费人成黄页网站在线一区二区| 亚洲午夜久久久久久久久电影院| 免费高清成人在线| 欧美午夜免费电影| 精品播放一区二区| 亚洲女人小视频在线观看| 日韩av中文字幕一区二区| 国产精品77777竹菊影视小说| av在线不卡网| 538prom精品视频线放| 久久久久久久网| 亚洲精品国久久99热| 色菇凉天天综合网| 国产日韩影视精品| 亚洲精品菠萝久久久久久久| 日本不卡一区二区| 99久久99久久免费精品蜜臀| 精品久久久久久最新网址| 一区精品在线播放| 黄色资源网久久资源365| 911精品国产一区二区在线| 国产精品私人影院| 国内精品在线播放| 7777精品伊人久久久大香线蕉的 | 久久免费国产精品| 亚洲一级二级三级在线免费观看| 丁香一区二区三区| 日韩欧美美女一区二区三区| 亚洲已满18点击进入久久| 懂色av一区二区三区免费观看| 亚洲精品一区在线观看| 免费高清在线一区| 制服.丝袜.亚洲.另类.中文| 亚洲午夜精品在线| 日本精品免费观看高清观看| 亚洲三级视频在线观看| 成人av高清在线| 国产精品免费免费| 国产69精品久久久久毛片| 2023国产精品视频| 久久精工是国产品牌吗| 欧美r级电影在线观看| 日韩 欧美一区二区三区| 欧美一区二区久久| 日本不卡高清视频| 久久亚区不卡日本| 成人激情午夜影院| 亚洲电影视频在线| 经典一区二区三区| 国产精品久久久久桃色tv| 在线视频欧美精品| 男男gaygay亚洲| 亚洲国产精品高清| 在线国产亚洲欧美| 精品一区二区三区久久久| 国产精品久久久久久久岛一牛影视| 成av人片一区二区| 亚洲一区二区影院| 久久这里只有精品首页| 99久久精品免费观看| 视频一区二区不卡| 日本一区二区三区电影| 欧美日韩视频一区二区| 美女视频免费一区| 亚洲女人小视频在线观看| 欧美色综合久久| 国产mv日韩mv欧美| 五月天激情小说综合| 欧美经典一区二区三区| 欧美日韩成人综合在线一区二区| 精品影院一区二区久久久| 中文字幕国产精品一区二区| 日韩一区二区免费在线电影| 国产sm精品调教视频网站| 日日夜夜精品视频免费| 欧美国产成人精品| 精品国产污污免费网站入口 | 亚洲另类春色国产| 中文字幕日韩精品一区| 久久久午夜精品| 日韩美女一区二区三区四区| 欧美三级蜜桃2在线观看| 91国偷自产一区二区三区成为亚洲经典| 捆绑紧缚一区二区三区视频| 午夜精品一区二区三区三上悠亚| 亚洲欧美一区二区视频| 国产精品久久久久三级| 日韩三级伦理片妻子的秘密按摩| 欧美日韩精品高清| 日本二三区不卡| 欧美三级在线看| 91九色最新地址| 欧美三级电影精品| 在线观看欧美精品| 欧美精品1区2区3区| 欧美一区二区三区在线看| 日韩精品一区二区三区四区视频 | 国产精品动漫网站| 国产精品理论在线观看| 亚洲综合色区另类av| 青青草国产成人99久久| 国产一区在线精品| 成人av电影在线观看| 99re这里只有精品视频首页| 色欧美片视频在线观看| 在线免费精品视频| 欧美精品九九99久久| 日韩欧美第一区| 亚洲欧洲日产国产综合网| 亚洲国产综合人成综合网站| 日韩高清一区在线| 成人一区在线观看| 在线观看日产精品| 欧美成人官网二区| 欧美激情中文不卡| 日本aⅴ亚洲精品中文乱码| 国产综合久久久久久久久久久久| 色综合久久久久久久久| 欧美午夜精品久久久久久超碰| 91激情五月电影| www国产精品av| 国产aⅴ精品一区二区三区色成熟| 欧美性大战久久久| 国产亚洲成aⅴ人片在线观看| 亚洲成人资源在线| 懂色一区二区三区免费观看| 欧美成人综合网站| 亚洲精品美国一| 91美女视频网站| 中文字幕五月欧美| 成人永久看片免费视频天堂| 欧美一区二区三区四区视频| 亚洲丶国产丶欧美一区二区三区| 成人白浆超碰人人人人| 国产欧美日本一区二区三区| 在线免费观看不卡av| 一区二区三区视频在线看| 91在线你懂得| 亚洲网友自拍偷拍| 欧美久久久久久蜜桃| 亚洲高清一区二区三区| 欧美伊人久久久久久久久影院| 亚洲免费观看高清在线观看| 色综合色综合色综合| 亚洲女爱视频在线| 欧洲精品在线观看| 一区二区三区四区在线| 欧美日韩国产123区| 亚洲曰韩产成在线| 欧美一区二区视频网站| 亚洲成人av电影在线| 欧美精品视频www在线观看| 亚洲一区二区三区四区不卡| 欧美人狂配大交3d怪物一区| 日本网站在线观看一区二区三区| 欧美va在线播放| 国产91丝袜在线观看| 一区二区三区小说| 91精品国产91热久久久做人人| 精品午夜久久福利影院| 中文字幕在线不卡国产视频| 在线免费av一区| 久久精品国产成人一区二区三区 | 亚洲福利一区二区三区| 欧美军同video69gay| 成人app软件下载大全免费| 亚洲精品乱码久久久久久黑人| 欧美一区二区在线观看| 精品一区二区在线视频| 亚洲国产乱码最新视频| 久久精品亚洲乱码伦伦中文 | 中文字幕国产精品一区二区| a在线播放不卡| 国产乱码精品一区二区三区av| 一区二区三区加勒比av| 久久久久久久久97黄色工厂| 91国产免费看| 91美女片黄在线观看| 国产精品综合视频| 免费美女久久99| 午夜婷婷国产麻豆精品| 欧美国产精品久久| 日韩精品一区二区三区视频播放| 国产成人亚洲综合a∨婷婷| 久久爱www久久做| 亚洲福利一二三区| 亚洲bt欧美bt精品| 日韩理论片中文av| 亚洲欧洲国产日韩| 欧美国产精品一区| 中文字幕一区二区三区不卡 | 色又黄又爽网站www久久| 播五月开心婷婷综合| 国产乱子伦视频一区二区三区|