103b705cfSriastradh/* GRF allocation: 203b705cfSriastradh g1~g30: constant buffer 303b705cfSriastradh g1~g2:intra IQ matrix in UB format 403b705cfSriastradh g3~g4:non intra IQ matrix in UB format 503b705cfSriastradh g5~g20:IDCT table 603b705cfSriastradh g32~g55:DCT data before IQ 703b705cfSriastradh g56~g79:DCT data after IQ 803b705cfSriastradh g84~g107: IDCT data after idct 903b705cfSriastradh g82: thread payload backup 1003b705cfSriastradh g126.8: ip before jump to the lib 1103b705cfSriastradh*/ 1203b705cfSriastradhjmpi MOTION_FRAME_Y; 1303b705cfSriastradhjmpi MOTION_FRAME_UV; 1403b705cfSriastradhjmpi MOTION_FIELD_Y; 1503b705cfSriastradhjmpi MOTION_FIELD_UV; 1603b705cfSriastradhjmpi ADD_IDCT; 1703b705cfSriastradh 1803b705cfSriastradhmov (16) g84.0<1>W g33.0<16,16,1>W {align1}; 1903b705cfSriastradhmov (16) g85.0<1>W g34.0<16,16,1>W {align1}; 2003b705cfSriastradhmov (16) g86.0<1>W g35.0<16,16,1>W {align1}; 2103b705cfSriastradhmov (16) g87.0<1>W g36.0<16,16,1>W {align1}; 2203b705cfSriastradhmov (16) g88.0<1>W g37.0<16,16,1>W {align1}; 2303b705cfSriastradhmov (16) g89.0<1>W g38.0<16,16,1>W {align1}; 2403b705cfSriastradhmov (16) g90.0<1>W g39.0<16,16,1>W {align1}; 2503b705cfSriastradhmov (16) g91.0<1>W g40.0<16,16,1>W {align1}; 2603b705cfSriastradhmov (16) g92.0<1>W g41.0<16,16,1>W {align1}; 2703b705cfSriastradhmov (16) g93.0<1>W g42.0<16,16,1>W {align1}; 2803b705cfSriastradhmov (16) g94.0<1>W g43.0<16,16,1>W {align1}; 2903b705cfSriastradhmov (16) g95.0<1>W g44.0<16,16,1>W {align1}; 3003b705cfSriastradhmov (16) g96.0<1>W g45.0<16,16,1>W {align1}; 3103b705cfSriastradhmov (16) g97.0<1>W g46.0<16,16,1>W {align1}; 3203b705cfSriastradhmov (16) g98.0<1>W g47.0<16,16,1>W {align1}; 3303b705cfSriastradhmov (16) g99.0<1>W g48.0<16,16,1>W {align1}; 3403b705cfSriastradh 3503b705cfSriastradhmov (16) g100.0<1>W g49.0<16,16,1>W {align1}; 3603b705cfSriastradhmov (16) g101.0<1>W g50.0<16,16,1>W {align1}; 3703b705cfSriastradhmov (16) g102.0<1>W g51.0<16,16,1>W {align1}; 3803b705cfSriastradhmov (16) g103.0<1>W g52.0<16,16,1>W {align1}; 3903b705cfSriastradhmov (16) g104.0<1>W g53.0<16,16,1>W {align1}; 4003b705cfSriastradhmov (16) g105.0<1>W g54.0<16,16,1>W {align1}; 4103b705cfSriastradhmov (16) g106.0<1>W g55.0<16,16,1>W {align1}; 4203b705cfSriastradhmov (16) g107.0<1>W g56.0<16,16,1>W {align1}; 4303b705cfSriastradh 4403b705cfSriastradh//Y0 4503b705cfSriastradhand.nz (1) null g82.12<1,1,1>UW 0x20UW {align1}; 4603b705cfSriastradh(f0) jmpi block_y1; 4703b705cfSriastradhmov (8) g84.0<1>W 0W {align1}; 4803b705cfSriastradhmov (8) g85.0<1>W 0W {align1}; 4903b705cfSriastradhmov (8) g86.0<1>W 0W {align1}; 5003b705cfSriastradhmov (8) g87.0<1>W 0W {align1}; 5103b705cfSriastradhmov (8) g88.0<1>W 0W {align1}; 5203b705cfSriastradhmov (8) g89.0<1>W 0W {align1}; 5303b705cfSriastradhmov (8) g90.0<1>W 0W {align1}; 5403b705cfSriastradhmov (8) g91.0<1>W 0W {align1}; 5503b705cfSriastradh 5603b705cfSriastradh//Y1 5703b705cfSriastradhblock_y1: 5803b705cfSriastradhand.nz (1) null g82.12<1,1,1>UW 0x10UW {align1}; 5903b705cfSriastradh(f0) jmpi block_y2; 6003b705cfSriastradhmov (8) g84.16<1>W 0W {align1}; 6103b705cfSriastradhmov (8) g85.16<1>W 0W {align1}; 6203b705cfSriastradhmov (8) g86.16<1>W 0W {align1}; 6303b705cfSriastradhmov (8) g87.16<1>W 0W {align1}; 6403b705cfSriastradhmov (8) g88.16<1>W 0W {align1}; 6503b705cfSriastradhmov (8) g89.16<1>W 0W {align1}; 6603b705cfSriastradhmov (8) g90.16<1>W 0W {align1}; 6703b705cfSriastradhmov (8) g91.16<1>W 0W {align1}; 6803b705cfSriastradh 6903b705cfSriastradh//Y2 7003b705cfSriastradhblock_y2: 7103b705cfSriastradhand.nz (1) null g82.12<1,1,1>UW 0x08UW {align1}; 7203b705cfSriastradh(f0) jmpi block_y3; 7303b705cfSriastradhmov (8) g92.0<1>W 0W {align1}; 7403b705cfSriastradhmov (8) g93.0<1>W 0W {align1}; 7503b705cfSriastradhmov (8) g94.0<1>W 0W {align1}; 7603b705cfSriastradhmov (8) g95.0<1>W 0W {align1}; 7703b705cfSriastradhmov (8) g96.0<1>W 0W {align1}; 7803b705cfSriastradhmov (8) g97.0<1>W 0W {align1}; 7903b705cfSriastradhmov (8) g98.0<1>W 0W {align1}; 8003b705cfSriastradhmov (8) g99.0<1>W 0W {align1}; 8103b705cfSriastradh 8203b705cfSriastradh//Y3 8303b705cfSriastradhblock_y3: 8403b705cfSriastradhand.nz (1) null g82.12<1,1,1>UW 0x04UW {align1}; 8503b705cfSriastradh(f0) jmpi block_u; 8603b705cfSriastradhmov (8) g92.16<1>W 0W {align1}; 8703b705cfSriastradhmov (8) g93.16<1>W 0W {align1}; 8803b705cfSriastradhmov (8) g94.16<1>W 0W {align1}; 8903b705cfSriastradhmov (8) g95.16<1>W 0W {align1}; 9003b705cfSriastradhmov (8) g96.16<1>W 0W {align1}; 9103b705cfSriastradhmov (8) g97.16<1>W 0W {align1}; 9203b705cfSriastradhmov (8) g98.16<1>W 0W {align1}; 9303b705cfSriastradhmov (8) g99.16<1>W 0W {align1}; 9403b705cfSriastradh 9503b705cfSriastradh//U 9603b705cfSriastradhblock_u: 9703b705cfSriastradhand.nz (1) null g82.12<1,1,1>UW 0x02UW {align1}; 9803b705cfSriastradh(f0) jmpi block_v; 9903b705cfSriastradhmov (16) g100.0<1>W 0W {align1}; 10003b705cfSriastradhmov (16) g101.0<1>W 0W {align1}; 10103b705cfSriastradhmov (16) g102.0<1>W 0W {align1}; 10203b705cfSriastradhmov (16) g103.0<1>W 0W {align1}; 10303b705cfSriastradh 10403b705cfSriastradh//V 10503b705cfSriastradhblock_v: 10603b705cfSriastradhand.nz (1) null g82.12<1,1,1>UW 0x01UW {align1}; 10703b705cfSriastradh(f0) jmpi out; 10803b705cfSriastradhmov (16) g104.0<1>W 0W {align1}; 10903b705cfSriastradhmov (16) g105.0<1>W 0W {align1}; 11003b705cfSriastradhmov (16) g106.0<1>W 0W {align1}; 11103b705cfSriastradhmov (16) g107.0<1>W 0W {align1}; 11203b705cfSriastradh 11303b705cfSriastradhout: 11403b705cfSriastradhadd (1) ip g126.8<1,1,1>UD 0x20UD {align1}; //jump back 11503b705cfSriastradh 11603b705cfSriastradhMOTION_FRAME_Y: 11703b705cfSriastradhinclude(`motion_frame_y_igd.g4i') 11803b705cfSriastradhadd (1) ip g126.8<1,1,1>UD 0x20UD {align1}; //jump back 11903b705cfSriastradh 12003b705cfSriastradhMOTION_FRAME_UV: 12103b705cfSriastradhinclude(`motion_frame_uv_igd.g4i') 12203b705cfSriastradhadd (1) ip g126.8<1,1,1>UD 0x20UD {align1}; //jump back 12303b705cfSriastradh 12403b705cfSriastradhMOTION_FIELD_Y: 12503b705cfSriastradhinclude(`motion_field_y_igd.g4i') 12603b705cfSriastradhadd (1) ip g126.8<1,1,1>UD 0x20UD {align1}; //jump back 12703b705cfSriastradh 12803b705cfSriastradhMOTION_FIELD_UV: 12903b705cfSriastradhinclude(`motion_field_uv_igd.g4i') 13003b705cfSriastradhadd (1) ip g126.8<1,1,1>UD 0x20UD {align1}; //jump back 13103b705cfSriastradh 13203b705cfSriastradhADD_IDCT: 13303b705cfSriastradhinclude(`addidct_igd.g4i') 134