Re: About driver architecture

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Hi,
>
>
> On Thu, Jan 14, 2010 at 11:35 AM, Michael Qiu <fallwind@xxxxxxxxx> wrote:
>> Hi guys,
>>  I'm going to write drivers for a new soc which designed for dvb-s set
>> top box.
>> It will support these features:
>> 1. Multi-layer display with alpha blending feature, including
>> video(YUV), OSDs(2 same RGB layers), background(with fixed YUV color)
>> and still picture(YUV color for still image)
>> 2. DVB-S tuner and demod
>> 3. HW MPEG2/4 decoder
>> 4. HW accelerated JPEG decoder engine.
>>
>> My targets are:
>> 1. Fit all the drivers in proper framework so they can be easily used
>> by applications in open source community.
>> 2. As flexible as I can to add new software features in the future.
>>
>> My questions are:
>> How many drivers should I implement, and how should I divide all the
>> features?
>> As far as I know:
>> A) a frame buffer driver for 2 OSDs, maybe also the control point for
>> whole display module?
>> B) video output device for video layer, which will output video program.
>> C) drivers for tuner and demo (or just a driver which will export 2
>> devices files for each?)
>> D) driver for jpeg accelerate interface, or should it be a part of
>> MPEG2/4 decoder driver?
>> E) driver for MPEG2/4 decoder which will control the behave of H/W
>> decoder.
>>
>> Actually I think all the display functions are relative, some
>> functions i listed upper are operating one HW module, for instance:
>> OSD and video layer are implemented by display module in H/W level.
>> What's the right way to implement these functions in driver level,
>> united or separated?
>> And, I've read some documents for V4L2, but I still cannot figure out
>> where should I implement my driver in the framework.
>>
>> In a word, I'm totally confused. Can you guys show me the right way or
>> just kick me to a existing example with similar features?
>>
>
> Currently, there are 2 drivers which have exactly the functionality
> that you have mentioned. The first one is an AV7110 based device and
> the other one is a STi7109 SOC based device.
>
> With regards to the AV7110 based hardware, you can have a look at
> linux/drivers/media/dvb/ttpci/ *
>
> And with regards to the STi7109 SOC based, you can have a look at
> http://jusst.de/hg/saa716x/
> linux/drivers/media/common/saa716x/ *
> specifically you will need to look at saa716x_ff.c/h for the STi7109
> related stuff
>
>
> Both the AV7110 and STi7109 SOC feature a OSD interface, in addition
> to the audio and video layers. which you can see from the drivers,
> themselves. Additionally the STi7109 SOC features HDMI outputs. The
> AV7110 based cards, they incorporate DVB-S/C/T frontends for different
> products. The STi7109 product that we have currently features only a
> DVB-S/S2 system only, though that doesn't make any difference at all.

The AV7110 OSD is not framebuffer based AFAIK. So probably not a good
place to look.

The saa716x driver doesn't have a framebuffer either. Manu, is this driver
just passing the captured video to the OSD? Or does it use some custom OSD
commands? Just curious.

Regards,

        Hans

>
> The only application that does handle the complete use of the decoder,
> is VDR and some other command line applications in the dvb-apps tree,
> that I am aware of. But there could be other applications as well.
>
> I guess, you've been confused, since you have been looking in the
> wrong place, ie in V4L, rather than with DVB.
>
> Regards,
> Manu
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>


-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux