[vlc-devel] commit: Report interlacing in debug output. (Antoine Cellerier )
git version control
git at videolan.org
Tue Mar 31 19:13:40 CEST 2009
vlc | branch: master | Antoine Cellerier <dionoea at videolan.org> | Tue Mar 31 19:07:14 2009 +0200| [78e0aba149992ce3685fc1d68d84dbfd881199b6] | committer: Antoine Cellerier
Report interlacing in debug output.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=78e0aba149992ce3685fc1d68d84dbfd881199b6
---
modules/access/v4l2.c | 41 ++++++++++++++++++++++++++++++++++++++++-
1 files changed, 40 insertions(+), 1 deletions(-)
diff --git a/modules/access/v4l2.c b/modules/access/v4l2.c
index a9b982b..33f8299 100644
--- a/modules/access/v4l2.c
+++ b/modules/access/v4l2.c
@@ -1940,7 +1940,7 @@ static int OpenVideoDev( vlc_object_t *p_obj, demux_sys_t *p_sys, bool b_demux )
fmt.fmt.pix.width = p_sys->i_width;
fmt.fmt.pix.height = p_sys->i_height;
- fmt.fmt.pix.field = V4L2_FIELD_INTERLACED;
+ fmt.fmt.pix.field = V4L2_FIELD_NONE;
/* Test and set Chroma */
fmt.fmt.pix.pixelformat = 0;
@@ -2008,6 +2008,45 @@ static int OpenVideoDev( vlc_object_t *p_obj, demux_sys_t *p_sys, bool b_demux )
p_sys->i_width = fmt.fmt.pix.width;
p_sys->i_height = fmt.fmt.pix.height;
+ /* Check interlacing */
+ if( v4l2_ioctl( i_fd, VIDIOC_G_FMT, &fmt ) < 0 ) {;}
+ switch( fmt.fmt.pix.field )
+ {
+ case V4L2_FIELD_NONE:
+ msg_Dbg( p_demux, "Interlacing setting: progressive" );
+ break;
+ case V4L2_FIELD_TOP:
+ msg_Dbg( p_demux, "Interlacing setting: top field only" );
+ break;
+ case V4L2_FIELD_BOTTOM:
+ msg_Dbg( p_demux, "Interlacing setting: bottom field only" );
+ break;
+ case V4L2_FIELD_INTERLACED:
+ msg_Dbg( p_demux, "Interlacing setting: interleaved (bottom top if M/NTSC, top bottom otherwise)" );
+ break;
+ case V4L2_FIELD_SEQ_TB:
+ msg_Dbg( p_demux, "Interlacing setting: sequential top bottom" );
+ break;
+ case V4L2_FIELD_SEQ_BT:
+ msg_Dbg( p_demux, "Interlacing setting: sequential bottom top" );
+ break;
+ case V4L2_FIELD_ALTERNATE:
+ msg_Dbg( p_demux, "Interlacing setting: alternate fields" );
+ break;
+ case V4L2_FIELD_INTERLACED_TB:
+ msg_Dbg( p_demux, "Interlacing setting: interleaved top bottom" );
+ break;
+ case V4L2_FIELD_INTERLACED_BT:
+ msg_Dbg( p_demux, "Interlacing setting: interleaved bottom top" );
+ break;
+ default:
+ msg_Warn( p_demux, "Interlacing setting: unknown type (%d)",
+ fmt.fmt.pix.field );
+ break;
+ }
+ if( fmt.fmt.pix.field != V4L2_FIELD_NONE )
+ msg_Warn( p_demux, "Interlaced inputs haven't been tested. Please report any issue." );
+
/* Look up final fourcc */
p_sys->i_fourcc = 0;
for( int i = 0; v4l2chroma_to_fourcc[i].i_fourcc != 0; i++ )
More information about the vlc-devel
mailing list