- if( p_vout->output.i_rmask != 0x00ff0000
- || p_vout->output.i_gmask != 0x0000ff00
- || p_vout->output.i_bmask != 0x000000ff )
+ if( p_filter->fmt_out.video.i_rmask == 0x00ff0000
+ && p_filter->fmt_out.video.i_gmask == 0x0000ff00
+ && p_filter->fmt_out.video.i_bmask == 0x000000ff )
+ {
+ /* A8R8G8B8 pixel format */
+ msg_Dbg(p_this, "RGB pixel format is A8R8G8B8");
+ p_filter->pf_video_filter = I420_A8R8G8B8_Filter;
+ }
+ else if( p_filter->fmt_out.video.i_rmask == 0xff000000
+ && p_filter->fmt_out.video.i_gmask == 0x00ff0000
+ && p_filter->fmt_out.video.i_bmask == 0x0000ff00 )
+ {
+ /* R8G8B8A8 pixel format */
+ msg_Dbg(p_this, "RGB pixel format is R8G8B8A8");
+ p_filter->pf_video_filter = I420_R8G8B8A8_Filter;
+ }
+ else if( p_filter->fmt_out.video.i_rmask == 0x0000ff00
+ && p_filter->fmt_out.video.i_gmask == 0x00ff0000
+ && p_filter->fmt_out.video.i_bmask == 0xff000000 )