[svn] / trunk / xvidcore / src / image / image.c Repository:
ViewVC logotype

Diff of /trunk/xvidcore/src/image/image.c

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

revision 1617, Mon May 23 09:29:43 2005 UTC revision 1631, Fri Sep 9 12:18:10 2005 UTC
# Line 19  Line 19 
19   *  along with this program ; if not, write to the Free Software   *  along with this program ; if not, write to the Free Software
20   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
21   *   *
22   * $Id: image.c,v 1.31 2005-05-23 09:29:43 Skal Exp $   * $Id: image.c,v 1.32 2005-09-09 12:18:10 suxen_drol Exp $
23   *   *
24   ****************************************************************************/   ****************************************************************************/
25    
# Line 1078  Line 1078 
1078  }  }
1079    
1080  void  void
1081  output_slice(IMAGE * cur, int std, int width, xvid_image_t* out_frm, int mbx, int mby,int mbl) {  output_slice(IMAGE * cur, int stride, int width, xvid_image_t* out_frm, int mbx, int mby,int mbl) {
1082    uint8_t *dY,*dU,*dV,*sY,*sU,*sV;    uint8_t *dY,*dU,*dV,*sY,*sU,*sV;
1083    int std2 = std >> 1;    int stride2 = stride >> 1;
1084    int w = mbl << 4, w2,i;    int w = mbl << 4, w2,i;
1085    
1086    if(w > width)    if(w > width)
# Line 1090  Line 1090 
1090    dY = (uint8_t*)out_frm->plane[0] + (mby << 4) * out_frm->stride[0] + (mbx << 4);    dY = (uint8_t*)out_frm->plane[0] + (mby << 4) * out_frm->stride[0] + (mbx << 4);
1091    dU = (uint8_t*)out_frm->plane[1] + (mby << 3) * out_frm->stride[1] + (mbx << 3);    dU = (uint8_t*)out_frm->plane[1] + (mby << 3) * out_frm->stride[1] + (mbx << 3);
1092    dV = (uint8_t*)out_frm->plane[2] + (mby << 3) * out_frm->stride[2] + (mbx << 3);    dV = (uint8_t*)out_frm->plane[2] + (mby << 3) * out_frm->stride[2] + (mbx << 3);
1093    sY = cur->y + (mby << 4) * std + (mbx << 4);    sY = cur->y + (mby << 4) * stride + (mbx << 4);
1094    sU = cur->u + (mby << 3) * std2 + (mbx << 3);    sU = cur->u + (mby << 3) * stride2 + (mbx << 3);
1095    sV = cur->v + (mby << 3) * std2 + (mbx << 3);    sV = cur->v + (mby << 3) * stride2 + (mbx << 3);
1096    
1097    for(i = 0 ; i < 16 ; i++) {    for(i = 0 ; i < 16 ; i++) {
1098      memcpy(dY,sY,w);      memcpy(dY,sY,w);
1099      dY += out_frm->stride[0];      dY += out_frm->stride[0];
1100      sY += std;      sY += stride;
1101    }    }
1102    for(i = 0 ; i < 8 ; i++) {    for(i = 0 ; i < 8 ; i++) {
1103      memcpy(dU,sU,w2);      memcpy(dU,sU,w2);
1104      dU += out_frm->stride[1];      dU += out_frm->stride[1];
1105      sU += std2;      sU += stride2;
1106    }    }
1107    for(i = 0 ; i < 8 ; i++) {    for(i = 0 ; i < 8 ; i++) {
1108      memcpy(dV,sV,w2);      memcpy(dV,sV,w2);
1109      dV += out_frm->stride[2];      dV += out_frm->stride[2];
1110      sV += std2;      sV += stride2;
1111    }    }
1112  }  }
1113    

Legend:
Removed from v.1617  
changed lines
  Added in v.1631

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