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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox