#undef VEC_MERGE
#endif
- const int i_source_margin = p_source->p->i_pitch
- - p_source->p->i_visible_pitch;
+ const int i_source_margin = p_source->p[0].i_pitch
+ - p_source->p[0].i_visible_pitch;
+ const int i_source_margin_c = p_source->p[1].i_pitch
+ - p_source->p[1].i_visible_pitch;
const int i_dest_margin = p_dest->p->i_pitch
- p_dest->p->i_visible_pitch;
p_y1 = p_y2;
p_y2 += p_source->p[Y_PLANE].i_pitch;
- for( i_x = p_vout->render.i_width / 8 ; i_x-- ; )
- {
#if !defined (MODULE_NAME_IS_i420_yuy2_mmx)
+ for( i_x = p_vout->render.i_width / 2 ; i_x-- ; )
+ {
C_YUV420_YUYV( );
- C_YUV420_YUYV( );
- C_YUV420_YUYV( );
- C_YUV420_YUYV( );
+ }
#else
+ for( i_x = p_vout->render.i_width / 8 ; i_x-- ; )
+ {
MMX_CALL( MMX_YUV420_YUYV );
-#endif
}
+ for( i_x = ( p_vout->render.i_width % 8 ) / 2; i_x-- ; )
+ {
+ C_YUV420_YUYV( );
+ }
+#endif
p_y1 += i_source_margin;
p_y2 += i_source_margin;
+ p_u += i_source_margin_c;
+ p_v += i_source_margin_c;
p_line1 += i_dest_margin;
p_line2 += i_dest_margin;
}
int i_x, i_y;
- const int i_source_margin = p_source->p->i_pitch
- - p_source->p->i_visible_pitch;
+ const int i_source_margin = p_source->p[0].i_pitch
+ - p_source->p[0].i_visible_pitch;
+ const int i_source_margin_c = p_source->p[1].i_pitch
+ - p_source->p[1].i_visible_pitch;
const int i_dest_margin = p_dest->p->i_pitch
- p_dest->p->i_visible_pitch;
p_y1 += i_source_margin;
p_y2 += i_source_margin;
+ p_u += i_source_margin_c;
+ p_v += i_source_margin_c;
p_line1 += i_dest_margin;
p_line2 += i_dest_margin;
}
int i_x, i_y;
- const int i_source_margin = p_source->p->i_pitch
- - p_source->p->i_visible_pitch;
+ const int i_source_margin = p_source->p[0].i_pitch
+ - p_source->p[0].i_visible_pitch;
+ const int i_source_margin_c = p_source->p[1].i_pitch
+ - p_source->p[1].i_visible_pitch;
const int i_dest_margin = p_dest->p->i_pitch
- p_dest->p->i_visible_pitch;
p_y1 += i_source_margin;
p_y2 += i_source_margin;
+ p_u += i_source_margin_c;
+ p_v += i_source_margin_c;
p_line1 += i_dest_margin;
p_line2 += i_dest_margin;
}
picture_t *p_dest )
{
uint8_t *p_line1 = p_dest->p->p_pixels +
- p_dest->p->i_lines * p_dest->p->i_pitch
+ p_dest->p->i_visible_lines * p_dest->p->i_pitch
+ p_dest->p->i_pitch;
uint8_t *p_line2 = p_dest->p->p_pixels +
- p_dest->p->i_lines * p_dest->p->i_pitch;
+ p_dest->p->i_visible_lines * p_dest->p->i_pitch;
uint8_t *p_y1, *p_y2 = p_source->Y_PIXELS;
uint8_t *p_u = p_source->U_PIXELS;
uint8_t *p_v = p_source->V_PIXELS;
int i_x, i_y;
- const int i_source_margin = p_source->p->i_pitch
- - p_source->p->i_visible_pitch;
+ const int i_source_margin = p_source->p[0].i_pitch
+ - p_source->p[0].i_visible_pitch;
+ const int i_source_margin_c = p_source->p[1].i_pitch
+ - p_source->p[1].i_visible_pitch;
const int i_dest_margin = p_dest->p->i_pitch
- p_dest->p->i_visible_pitch;
p_y1 += i_source_margin;
p_y2 += i_source_margin;
+ p_u += i_source_margin_c;
+ p_v += i_source_margin_c;
p_line1 += i_dest_margin;
p_line2 += i_dest_margin;
}
int i_x, i_y;
- const int i_source_margin = p_source->p->i_pitch
- - p_source->p->i_visible_pitch;
+ const int i_source_margin = p_source->p[0].i_pitch
+ - p_source->p[0].i_visible_pitch;
+ const int i_source_margin_c = p_source->p[1].i_pitch
+ - p_source->p[1].i_visible_pitch;
const int i_dest_margin = p_dest->p->i_pitch
- p_dest->p->i_visible_pitch;
p_y1 += i_source_margin;
p_y2 += i_source_margin;
+ p_u += i_source_margin_c;
+ p_v += i_source_margin_c;
p_line1 += i_dest_margin;
p_line2 += i_dest_margin;
}