From: Dean Anderson <dean@sensoray.com>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Greg KH <greg@kroah.com>, video4linux-list@redhat.com
Subject: Re: go7007 development
Date: Fri, 17 Oct 2008 09:07:41 -0700 [thread overview]
Message-ID: <48F8B84D.7000204@sensoray.com> (raw)
In-Reply-To: <200810171736.53826.hverkuil@xs4all.nl>
Hans Verkuil wrote:
> Hi Pete,
>
> On Friday 17 October 2008 17:21:51 Pete wrote:
>
>> Hello,
>>
>> I am working on adding the Sensoray 2250 to the go7007 staging tree,
>> starting from GregKH's staging patch here:
>> http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
>> gregkh-05-staging-2.6.27.patch
>>
>> In particular, we are stuck how to change the MPEG format with
>> standard IOCTL calls. In particular, this comment in the driver
>> go7007.h below needs explanation:
>>
>> /* DEPRECATED -- use V4L2_PIX_FMT_MPEG and then call
>> GO7007IOC_S_MPEG_PARAMS * to select between MPEG1, MPEG2, and MPEG4
>> */
>> #define V4L2_PIX_FMT_MPEG4 v4l2_fourcc('M','P','G','4') /* MPEG4
>> */
>>
>> The existing driver, for backward-compatibility , allowed
>> V4L2_PIX_FMT_MPEG4 to be used for v4l2_format.pixelformat with
>> VIDIOC_S_FMT.
>>
>> GO7007IOC_S_MPEG_PARAMS is a custom ioctl call and we would rather
>> have this done through v4l2 calls. We also can't seem to find where
>> MPEG1, MPEG2, and MPEG4 elementary streams are defined in the V4L2
>> API. We checked other drivers, but could not find anything. The
>> closest thing we found was the V4L2_CID_MPEG_STREAM_TYPE control, but
>> the enums do not define elementary streams nor MPEG4.
>>
>> Your advice is appreciated.
>>
>> Thanks.
>>
>
> It would be really nice to have this driver in the kernel.
>
> All MPEG streams use V4L2_PIX_FMT_MPEG and set the exact stream type
> through V4L2_CID_MPEG_STREAM_TYPE. You probably need to add a few new
> stream types to this control for the elementary streams. I think
> something like TYPE_MPEG_ELEM might do the trick, and then you can use
> the audio and video encoding controls to select the precise audio/video
> encoding.
>
> I don't know enough about the capabilities, so perhaps
> TYPE_MPEG1/2/4_ELEM is required instead of a more generic
> TYPE_MPEG_ELEM.
>
>
The generic approach seems better. There will be boards with H264
encapsulated in MPEG2 transport stream. I'd recommend keeping the
encapsulation/mux format in V4L2_CID_MPEG_STREAM_TYPE, but not
necessarily the encoding.
Otherwise you'll have V4L2_MPEG_STREAM_TYPE_MPEG2_TS_MPEG4_ENCODING,
etc.. Maybe V4L2_CID_MPEG_STREAM_TYPE needs a comment that it is the
encapsulation(or mux format), and the encoding should be defined in
V4L2_CID_MPEG_VIDEO_ENCODING?
So for this Go7007, we suggest adding V4L2_MPEG_STREAM_TYPE_ELEM to
V4L2_CID_MPEG_STREAM_TYPE.
We also suggest adding V4L2_MPEG_VIDEO_ENCODING_MPEG_4 to
V4L2_CID_MPEG_VIDEO_ENCODING. Of course, there is the question of what
version of MPEG4, but we'll leave that for another day.
What do you think?
> Since I designed the MPEG API for V4L2 I guess I'm the right person to
> help you. I also have a Plextor TV402U since I always wanted to get the
> go7007 driver into the kernel, but I never had the time so I'm glad
> you've picked it up.
>
> Regards,
>
> Hans
>
>
Good to hear, and thanks for the quick response.
Dean
--
Dean Anderson
Sensoray Co., Inc.
Email: dean@sensoray.com
http://www.sensoray.com
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list
next prev parent reply other threads:[~2008-10-17 16:08 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-17 15:21 go7007 development Pete
2008-10-17 15:36 ` Hans Verkuil
2008-10-17 16:07 ` Dean Anderson [this message]
2008-10-17 16:21 ` Hans Verkuil
2008-10-24 23:43 ` [PATCH] Add MPEG4 and Elementary streams (was Re: go7007 development) Pete Eberlein
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48F8B84D.7000204@sensoray.com \
--to=dean@sensoray.com \
--cc=greg@kroah.com \
--cc=hverkuil@xs4all.nl \
--cc=video4linux-list@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.