ptr = ref_picture[0] + src_offset;
ptr = ref_picture[0];
static inline void gmc_motion(MpegEncContext *s,                               uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr,                               int dest_offset,                               uint8_t **ref_picture, int src_offset){    uint8_t *ptr;    int linesize, uvlinesize;    const int a= s->sprite_warping_accuracy;    int ox, oy;    linesize = s->linesize;    uvlinesize = s->uvlinesize;    ptr = ref_picture[0] + src_offset;    dest_y+=dest_offset;        ox= s->sprite_offset[0][0] + s->sprite_delta[0][0]*s->mb_x*16 + s->sprite_delta[0][1]*s->mb_y*16;    oy= s->sprite_offset[0][1] + s->sprite_delta[1][0]*s->mb_x*16 + s->sprite_delta[1][1]*s->mb_y*16;    s->dsp.gmc(dest_y, ptr, linesize, 16,           ox,            oy,            s->sprite_delta[0][0], s->sprite_delta[0][1],           s->sprite_delta[1][0], s->sprite_delta[1][1],            a+1, (1<<(2*a+1)) - s->no_rounding,           s->h_edge_pos, s->v_edge_pos);    s->dsp.gmc(dest_y+8, ptr, linesize, 16,           ox + s->sprite_delta[0][0]*8,            oy + s->sprite_delta[1][0]*8,            s->sprite_delta[0][0], s->sprite_delta[0][1],           s->sprite_delta[1][0], s->sprite_delta[1][1],            a+1, (1<<(2*a+1)) - s->no_rounding,           s->h_edge_pos, s->v_edge_pos);    if(s->flags&CODEC_FLAG_GRAY) return;    dest_cb+=dest_offset>>1;    dest_cr+=dest_offset>>1;        ox= s->sprite_offset[1][0] + s->sprite_delta[0][0]*s->mb_x*8 + s->sprite_delta[0][1]*s->mb_y*8;    oy= s->sprite_offset[1][1] + s->sprite_delta[1][0]*s->mb_x*8 + s->sprite_delta[1][1]*s->mb_y*8;    ptr = ref_picture[1] + (src_offset>>1);    s->dsp.gmc(dest_cb, ptr, uvlinesize, 8,           ox,            oy,            s->sprite_delta[0][0], s->sprite_delta[0][1],           s->sprite_delta[1][0], s->sprite_delta[1][1],            a+1, (1<<(2*a+1)) - s->no_rounding,           s->h_edge_pos>>1, s->v_edge_pos>>1);        ptr = ref_picture[2] + (src_offset>>1);    s->dsp.gmc(dest_cr, ptr, uvlinesize, 8,           ox,            oy,            s->sprite_delta[0][0], s->sprite_delta[0][1],           s->sprite_delta[1][0], s->sprite_delta[1][1],            a+1, (1<<(2*a+1)) - s->no_rounding,           s->h_edge_pos>>1, s->v_edge_pos>>1);}