- memcpy( in.data[0], y, src_wh );
- memcpy( in.data[1], u, src_wh >> 2 );
- memcpy( in.data[2], v, src_wh >> 2 );
- struct SwsContext *context = sws_getContext( width, height, PIX_FMT_YUV420P,
+ if ( pixfmt == PIX_FMT_YUV422P )
+ {
+ memcpy( in.data[0], y, src_wh );
+ memcpy( in.data[1], u, src_wh >> 1 );
+ memcpy( in.data[2], v, src_wh >> 1 );
+ }
+ else
+ {
+ memcpy( in.data[0], y, src_wh );
+ memcpy( in.data[1], u, src_wh >> 2 );
+ memcpy( in.data[2], v, src_wh >> 2 );
+ }
+ struct SwsContext *context = sws_getContext( width, height, pixfmt,