[MPlayer-dev-eng] New stereo output mode for OpenGL video driver
Reimar Döffinger
Reimar.Doeffinger at gmx.de
Fri Dec 23 23:37:02 CET 2011
On Fri, Dec 23, 2011 at 11:25:05PM +0100, Reimar Döffinger wrote:
> On Sun, Dec 18, 2011 at 11:53:54PM +0100, Wolfgang Draxinger wrote:
> > + case GL_3D_ROWINTERLACE_ODD:
>
> Trailing space.
>
> > + mpglEnable(GL_POLYGON_STIPPLE);
> > + mpglPixelStorei(GL_UNPACK_ALIGNMENT,1);
> > + mpglPixelStorei(GL_UNPACK_ROW_LENGTH,0);
> > + mpglPolygonStipple(stipple_row_odd);
> > + break;
> > + case GL_3D_ROWINTERLACE_EVEN:
> > + mpglEnable(GL_POLYGON_STIPPLE);
> > + mpglPixelStorei(GL_UNPACK_ALIGNMENT,1);
> > + mpglPixelStorei(GL_UNPACK_ROW_LENGTH,0);
> > + mpglPolygonStipple(stipple_row_even);
> > + break;
> > + case GL_3D_COLUMNINTERLACE_ODD:
> > + mpglEnable(GL_POLYGON_STIPPLE);
> > + mpglPixelStorei(GL_UNPACK_ALIGNMENT,1);
> > + mpglPixelStorei(GL_UNPACK_ROW_LENGTH,0);
> > + mpglPolygonStipple(stipple_column_odd);
> > + break;
> > + case GL_3D_COLUMNINTERLACE_EVEN:
> > + mpglEnable(GL_POLYGON_STIPPLE);
> > + mpglPixelStorei(GL_UNPACK_ALIGNMENT,1);
> > + mpglPixelStorei(GL_UNPACK_ROW_LENGTH,0);
> > + mpglPolygonStipple(stipple_column_even);
> > + break;
>
> You shouldn't be using tabs in this code.
> Also using the glAdjustAlignment function instead of GL_UNPACK_ALIGNMENT
> directly is more consistent with the rest of the code, even if it
> is a bit overkill.
> However, by using uint64_t type for the arrays you should save some
> typing and you should have no need to set this up at all, since any
> value should work.
That last part is maybe a bad idea, due to mismatching types then.
> > + case GL_3D_ROWINTERLACE_ODD:
> > + case GL_3D_ROWINTERLACE_EVEN:
> > + case GL_3D_COLUMNINTERLACE_ODD:
> > + case GL_3D_COLUMNINTERLACE_EVEN:
> > + glDisable(GL_POLYGON_STIPPLE);
> > + mpglPolygonStipple(NULL);
>
> Passing NULL to glPolygonStipple is not allowed by my understanding.
>
> > diff --git a/libvo/gl_common.h b/libvo/gl_common.h
> > index 52b8999..f0fec03 100644
> > --- a/libvo/gl_common.h
> > +++ b/libvo/gl_common.h
> > @@ -389,6 +389,10 @@ void glDisableYUVConversion(GLenum target, int type);
> > #define GL_3D_RED_CYAN 1
> > #define GL_3D_GREEN_MAGENTA 2
> > #define GL_3D_QUADBUFFER 3
> > +#define GL_3D_ROWINTERLACE_ODD 4
> > +#define GL_3D_ROWINTERLACE_EVEN 5
> > +#define GL_3D_COLUMNINTERLACE_ODD 6
> > +#define GL_3D_COLUMNINTERLACE_EVEN 7
>
> You should only need 2 and a way to swap left and right, that should
> simplify this a good bit.
I implemented a way to swap left and right.
The documentation in vo_gl.c and DOCS/man/en/mplayer.1 should be
updated, too.
More information about the MPlayer-dev-eng
mailing list