- if( !p_stream->b_invert )
- {
- p_access->p_vlc->pf_memcpy( p_buffer, p_data, i_data_size );
- p_buffer += i_data_size;
- }
- else
- {
- int i_width = p_stream->header.video.bmiHeader.biWidth;
- int i_height = p_stream->header.video.bmiHeader.biHeight;
- if( i_height < 0 ) i_height = - i_height;
-
- switch( p_stream->i_fourcc )
- {
- case VLC_FOURCC( 'R', 'V', '1', '5' ):
- case VLC_FOURCC( 'R', 'V', '1', '6' ):
- i_width *= 2;
- break;
- case VLC_FOURCC( 'R', 'V', '2', '4' ):
- i_width *= 3;
- break;
- case VLC_FOURCC( 'R', 'V', '3', '2' ):
- case VLC_FOURCC( 'R', 'G', 'B', 'A' ):
- i_width *= 4;
- break;
- }
-
- for( int i = i_height - 1; i >= 0; i-- )
- {
- p_access->p_vlc->pf_memcpy( p_buffer,
- &p_data[i * i_width], i_width );
-
- p_buffer += i_width;
- }
- }