Update of /cvsroot/freevo/freevo/src/tv
In directory sc8-pr-cvs1:/tmp/cvs-serv12918/src/tv
Added Files:
ivtv.py
Log Message:
Further suport for ivtv based cards. Now you can set the bitrate to encode at or the
stream type to use.
--- NEW FILE: ivtv.py ---
#if 0 /*
# -----------------------------------------------------------------------
# ivtv.py - Python interface to ivtv based capture cards.
# -----------------------------------------------------------------------
# $Id: ivtv.py,v 1.1 2003/06/01 16:05:40 rshortt Exp $
#
# Notes: http://ivtv.sf.net
# Todo:
#
# -----------------------------------------------------------------------
# $Log: ivtv.py,v $
# Revision 1.1 2003/06/01 16:05:40 rshortt
# Further suport for ivtv based cards. Now you can set the bitrate to encode at or
the stream type to use.
#
#
#
# -----------------------------------------------------------------------
# Freevo - A Home Theater PC framework
# Copyright (C) 2003 Krister Lagerstrom, et al.
# Please see the file freevo/Docs/CREDITS for a complete list of authors.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MER-
# CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# ----------------------------------------------------------------------- */
#endif
import struct, fcntl
import v4l2
# ioctls
IVTV_IOC_G_CODEC = 0xFFEE7703
IVTV_IOC_S_CODEC = 0xFFEE7704
# Stream types
IVTV_STREAM_PS = 0
IVTV_STREAM_TS = 1
IVTV_STREAM_MPEG1 = 2
IVTV_STREAM_PES_AV = 3
IVTV_STREAM_PES_V = 5
IVTV_STREAM_PES_A = 7
IVTV_STREAM_DVD = 10
# structs
CODEC_ST = '14I'
class IVTV(v4l2.Videodev):
def __init__(self, device):
v4l2.Videodev.__init__(self, device)
def setCodecInfo(self, codec):
val = struct.pack( CODEC_ST,
codec.aspect,
codec.audio,
codec.bframes,
codec.bitrate,
codec.bitrate_peak,
codec.dnr_mode,
codec.dnr_spatial,
codec.dnr_temporal,
codec.dnr_type,
codec.framerate,
codec.framespergop,
codec.gop_closure,
codec.pulldown,
codec.stream_type)
r = fcntl.ioctl(self.device, IVTV_IOC_S_CODEC, val)
def getCodecInfo(self):
val = struct.pack( CODEC_ST, 0,0,0,0,0,0,0,0,0,0,0,0,0,0 )
r = fcntl.ioctl(self.device, IVTV_IOC_G_CODEC, val)
codec_list = struct.unpack(CODEC_ST, r)
return IVTVCodec(codec_list)
class IVTVCodec:
def __init__(self, args):
self.aspect = args[0]
self.audio = args[1]
self.bframes = args[2]
self.bitrate = args[3]
self.bitrate_peak = args[4]
self.dnr_mode = args[5]
self.dnr_spatial = args[6]
self.dnr_temporal = args[7]
self.dnr_type = args[8]
self.framerate = args[9]
self.framespergop = args[10]
self.gop_closure = args[11]
self.pulldown = args[12]
self.stream_type = args[13]
-------------------------------------------------------
This SF.net email is sponsored by: eBay
Get office equipment for less on eBay!
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog