/srv/irclogs.linaro.org/2011/09/27/#linaro-multimedia.txt

kan_humru04:33
kan_husorry, mistype04:33
benjiGsailus: hi07:43
benjiGsailus: do you know if v4l2 team has work on CMA/dma-buf ?07:44
benjiGbiris: How can I get access to papyrs links in MMWG status report ?09:34
birisbenjiG: good question09:51
birisI will check for you09:51
benjiGI have try with mail linaro mail address ...09:51
benjiGmaybe access is limited to PM and TL09:52
birisbenjiG: I just realized my password won't work either now so I need to ask how to reset it :-(09:58
benjiG:-)09:59
benjiGdoes a public link tp papyrs exist ?09:59
birisbenjiG: no - the idea is to use papyrs to set the requirements before they go public  - via s.l.o10:00
ronynandybenjiG: asac had given a way to get public links from the https internal links10:00
ronynandylet me check the mail10:01
ronynandyhttps://linaro.papyrs.com/page/4157/MMWG2011-2/#   internal link is same as  https://linaro-public.papyrs.com/public/4157/MMWG2011-2/#     public link10:05
benjiGthx !10:06
ronynandybenjiG: can you paste the internal link so that I can search for the public link10:07
benjiGit was the one you propose10:07
benjiGand this one too https://linaro-public.papyrs.com/public/4156/MMWG2011-1/10:08
ronynandyok10:08
ronynandyoh i though it was some new papyrus specs page10:09
ronynandy:)10:09
ronynandyany idea why papyrs is being used instead of the good old linaro wiki ?10:10
av500If you don’t go forwards you go backwards10:11
benjiGno idea10:12
ronynandyav500: LOL10:13
benjiGbut I like how it is show in kanban board10:13
ronynandyok10:15
sailusbenjiG: Marek has the prototype implementation, but that's something you probably know already.10:50
krtaylorhi all11:44
krtaylorbenjiG, papyrs is just another new tool that kiko was using to document requirements before they moved to kanban11:46
krtaylorronynandy, ^^^11:46
benjiGkrtaylor: hi, the question is the same: does a public link for kanban exist ?11:46
krtaylorthe problem is access, especially in our team, can you see the requirements with the public links11:47
krtaylorgood question, I know they were working with kanban on that, don't know the status11:47
benjiGa kanban board could be great to show MM progress and roadmap to parent compagnies11:50
sailusbenjiG: V4L2 will use a new memory type for the generic multimedia buffers.12:00
benjiGsailus: do you have more details about this new memory type ?12:01
ronynandyhi krtaylor12:02
krtaylorhi ronynandy12:02
sailusbenjiG: It's also in Marek's original proof-of-concept patches.12:06
sailushttp://lists.linaro.org/pipermail/linaro-mm-sig/2011-August/000485.html12:06
sailusI'm not certain whether more work has been done to advance this.12:06
sailusIt's been agreed there will be a new memory type for these buffers as the old ones aren't suitable.12:07
benjiGsailus: thanks12:07
ronynandyUsman PM of the Samsung/Freesacle landing team had come to bangalore last week and we had a nice presentation from him regarding scrum development process to be followed by the landing teams..they might be using a different tool in place of launchpad...so i guess some tool changes are in the offing for us also12:07
ronynandyin the working groups12:07
benjiGsailus: maybe robclark dev on v4l2 and drm will help us12:08
sailusbenjiG: What exactly would you be interested in regarding this?12:08
benjiGsailus: I hope that new memory type could be re-use for hw video encoder/decoder12:10
sailusbenjiG: The new memory type will be used for generic multimedia buffers.12:21
sailusIt's not related to the contents of the buffer.12:22
benjiGok12:29
sailusIf it's the content that matters for you then it's about pixel format.12:36
sailusI think there already are support for encoders / decoders in V4L2.12:37
sailusLook for "[PATCH 0/4 v10] Multi Format Codec 5.1 driver for s5pv210 and exynos4 SoC" by Kamil Debski on linux-media.12:38
benjiGsailus: I'm thinking to 0 copy and how data and metadata (width, height, pixel format, align ...) are hidden in all the frameworks12:41
benjiGif I can make structures commons a maximum it will make my life easier :-)12:43
av500so, after OMX we are now moving to encode/decode in v4l2?12:45
benjiGav500: I haven't said that :-)12:46
av500the patch set says it12:46
sailusav500: Which patchset?12:51
av500http://lwn.net/Articles/440320/12:51
av500sailus: the one you mentioned12:53
av500but v4l2 qbuf/dqbuf matches omx put/get buffers nicely, so wrappers should be easy12:53
biriskrtaylor: as per my email from yesterday I need to be away from my computer in 5 mins or so ... so I will not make it to the meeting.12:55
biriskrtaylor: I had asked for highlights info, help for the PR folks12:56
biriskrtaylor: only benjiG replied. So for the rest I will make up something myself12:56
birisbased on the headlines in the blueprints12:58
* biris over and out for 3-4 hrs12:58
krtaylorbiris, yes, thx13:00
krtaylorhttps://wiki.linaro.org/WorkingGroups/Middleware/Multimedia/Notes/2011-09-2713:00
krtaylorplease update status13:00
krtaylorand move to #linaro-meeting13:01
sailusav500: V4L2 and OpenMAX aren't mutually exclusive.13:08
av500sailus: why?13:09
sailusAs a matter of fact, if you need to implement an OpenMAX interface for something, you'll still need a kernel interface of some kind, and the V4L2 might be a good choice for that.13:09
av500I can write an omx wrapper for a v4l2 codec13:09
sailusExactly.13:09
av500well, you could also do drivers/media/omx :)13:10
av500its the industry standard after all13:10
sailusIt also makes implementing plugin for GStreamer easier.13:10
sailusGStreamer, that is.13:10
sailusNo, the V4L2. :-)13:10
sailusIs it just me or doesn't drivers/media/omx exist at all? :-)13:11
av500well, the next thing is to do CUSE similar to FUSE which is to wrap the v4l2 based codec back to user space13:11
av500e.g app->gst->omx->v4l2->cuse->omx->libav|x26413:12
av500sailus: dont take me 100% serious13:13
sailus: :-)13:13
sailusI have experice on a few OpenMAX implementations and in those cases it hasn't helped at all.13:14
sailusI'd rather have the GStreamer plugin use the V4L2 directly.13:14
av500of course13:14
sailusIn one case we just god rid of the OpenMAX layer and got 20%+ speed-up.13:15
av500sailus: omx hating is standard across the industry13:15
sailus:-)13:15
av500sailus: you do 3730 I guess13:16
sailusav500: For example, yes.13:16
sailusOMAP 3630.13:17
av500same thing13:17
sailusEssentially yes in this very case.13:18
sailusCould one implement the OpenMAX interface on top of a GStreamer plugin?13:18
av5003630 leaves you a choise of hate, omx or bridge13:18
av500sailus: I guess so13:19
sailusIt would just take a single wrapper to get everything offered by GStreamer bplugins.13:19
sailusApologies for my spelling; I'm on a very slow link to where I'm running Irssi.13:19
robclarkav500, 3630 has one more option..  gst-dsp13:22
av500thats still bridge13:22
av500its just bridge sans LCML13:23
robclarkyah..  so bridge minus a few layers of hate13:23
av500right13:23
av500bridge and ioctly13:23
av500bridge and ioctls13:23
av500its like v4l2 :)13:24
sailusThe ISP driver uses V4l2 but the DSP can be accessed from GStreamer using either gst-omx or gst-dsp.13:25
av500sailus: yep13:26
sailusThe latter doesn't have the overhead coming from the OpenMAX layer.13:26
av500the DSP can also be accessed by LCML+libdridge13:26
av500without the OMX bits13:26
sailusStandardising the kernel interface to V4L2 makes it a lot easier to implement various kinds of plugins, be that GStreamre or OpenMAX.13:27
sailusav500: I didn't know that.13:27
av500sailus: its what I did :)13:27
sailusIs there more info on that somewhere?13:27
sailusav500, robclark: What about the OMAP 4?14:00
av500sailus: no info on that14:00
av500but basically I looked at what the OMX codec does with libbridge and did the same14:01
robclarkav500, you probably want to bypass LCML anyways14:01
av500robclark: I didnt care14:01
av500robclark: LCML was not in the way14:01
robclarksailus, omap4 camera?  Or codecs?14:02
* robclark is not entirely convinced that v4l2 is a good API for codecs14:02
* robclark *is* entirely convinced that v4l2 is a good API for camera14:03
av500and dont forget using it for playback14:03
av500maybe we can add audio decode too14:03
sailusrobclark: Codecs.14:15
av500sailus: omx or libdce14:15
sailuslibdce?14:15
robclarklibdce == bypass omx14:15
av500robclark wrote it14:15
av500basically CE14:15
av500from user point of view14:15
av500ce = codec engine14:16
sailusAh. :-)14:16
av500sailus: CE is from that other part of TI14:16
sailusrobclark: What kind of issues do you see in using V4L2 for codecs?14:16
robclarksailus.. in some ways, similar issues to OMX..14:17
robclarkprimary thing is that we need to decouple returning a buffer for display from unlock14:17
sailusTI hasn't implemented one, perhaps we should also ask Samsung who have. :-)14:17
robclarkbut it depends on how your codec hw works14:18
robclarkon omap3, separate display/unlock would not have been a problem14:18
mruiirc the samsung codec returns copies of the decoded frames14:18
sailusrobclark: What do you mean by unlock?14:18
robclarkexactly14:18
mruand we really, really do not want codecs to be doing that14:18
robclarkunlock == codec is no longer reading from the frame to use as a ref frame14:18
mruit is immensely wasteful14:18
robclarkomap4 is zero copy, therefore we need to decouple unlock and return for display14:19
robclarkand beyond that.. there are too many combinations of what parts of decode might be hw accel, and what might be sw.... and what is sw you *really* don't want in kernel..14:19
robclarkv4l2 just doesn't give enough flexibility14:19
robclarkwhat you *wnat* is a standard userspace API..  libav, libva, libvdpau, etc..  pick one14:20
sailusIf you need to do additional processing to the buffer in the host, that must be done outside of V4L2.14:20
robclarkwhat the end application cares about is userspace API, not kernel API14:20
sailusrobclark: That's true.14:20
robclarkright, but what happens if you want to do step 1 and 3 in hw, step 2 and 4 in sw..14:21
sailusrobclark: Then you have several video nodes.14:22
robclarkanyways, trying to use v4l2 for everything just feels like one of those "if all you have is a hammer, then everything looks like a nail" sort of things..14:22
sailusAnd use custom formats on those. I agree there are things t odiscuss in this area.14:22
sailus:-)14:22
robclarkyou might not really want to go kernel<->userspace for each of those steps14:22
sailusrobclark: If you do software processing you don't want to do that in the kenrel.14:23
robclarknot only that.. but on GPU's the video decode probably looks more like 3d sort of stuff.. cmd submission..14:23
robclarkso userspace "driver" might be a better fit14:23
sailusrobclark: Yes, that's out of scope of V4L2.14:23
robclark(when I say driver, I don't necessarily mean banging on registers..  it could be more like construction of command stream)14:23
av500I have the feeling that v4l2 was picked because it had a CMA hook already14:26
robclarkcould be14:27
krtaylorall, A/C just died, forcast is 102F today, that needs my attention for a moment, brb14:33
robclarkyikes14:33
sailusrobclark: It was good taht you raised up the point that the OMAP 4 codecs need to access decoded buffers.14:35
sailusI haven't come to thought about that before.14:36
sailusIt probably is quite common on codecs?14:36
av500sailus: its new with the omap4 since omap4 can display NV1214:36
robclarkI guess it will become more common as people start doing 4k video14:36
av500and decoder stores ref frames in that format14:36
sailusAlternatively you could just delay the dequeuing of that buffer, but that's just a workaround.14:36
av500sailus: if you delay dq, you cannot display it14:37
robclarkbut that could greatly increase your memory requirements14:37
sailusav500: Ack.14:37
av500robclark: er, how does omx handle that actually?14:37
robclarkav500, in a hacky way :-P14:37
sailusrobclark: I said it'd be just a workaround. :-)14:37
mruyou can't just delay dq until it's not needed as ref14:38
mruthat could take forever14:38
robclarkthere is some READONLY flag on the omx buffer we get back to indicate it is still locked, and EventHandler() callback to indicate when it is no longer locked..14:38
mrueeek14:38
robclarkyeah14:38
av500robclark: urg14:38
robclarkwell.. that is the omx way.. turn easy problems into hard problems ;-)14:39
av500I guess UMX will fix that14:39
robclarkUMX?14:39
sailusUn-OpenMax?14:40
av500robclark: OMX evolution to be more universal14:40
robclarkuh-ohpenmax14:40
sailusNeed to go for today. Bye!14:48
robclarkc-ya sailus14:49
av500cu14:49
* biris is back15:33
krtaylorhey biris15:56
krtaylorbiris, what release highlights did you need, I can help with that15:57
* krtaylor goes off to look at highlights15:57
biriskrtaylor: We should  pick one/two of the release items in this month which could be highlighted to PR folks doing some .. PR ... for the 1109 release. My suggestion would be openMAX, UMM from our side (but that will be highlighted as part of the UMM effort in general) and LJT - anything you would like to suggest?16:05
krtaylorI agree, maybe UCM drop?16:10
krtayloroops, A/C repairman here, hang on16:11
mrux264 patch sent16:56
pinchartlhi19:47
robclarkhi pinchartl19:48
pinchartlI've just heard that an interesting discussion about codecs took place here :-)19:58
robclarka bit of one...19:59
robclarknot sure if there is an irclog somewhere..19:59
* robclark looks at krtaylor 19:59
krtaylorrobclark, good question, I believe there is, but I don't know where off hand20:24
krtaylorI can cut/paste it20:24
krtaylorhttp://irclogs.linaro.org/2011/09/27/%23linaro-multimedia.html20:31
krtayloror http://irclogs.linaro.org/2011/09/27/%23linaro-multimedia.txt20:31
krtaylorpinchartl, robclark ^^^^20:31
pinchartlthanks20:32

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!