[Ffmpeg-devel-irc] ffmpeg-devel.log.20120223

burek burek021 at gmail.com
Fri Feb 24 02:05:03 CET 2012


[02:19] <durandal_1707> michaelni: cehoys did channel layout for flac decoder wrong
[02:37] <michaelni> durandal_1707, elaborate please
[02:37] <michaelni> what commit & whats wrong
[02:37] <michaelni> ?
[03:33] <Zeranoe> I see FFmpeg supports v412, I'm not sure what this lib is, is it linux video or something? Is there a home page I'm missing?
[03:41] <durandal_1707> Zeranoe: v4l2
[03:41] <durandal_1707> aka video for linux 2
[03:46] <Zeranoe> durandal_1707: Thanks, a silly mistake on my part with the 1 and l
[03:48] <Compn> v4l is like dshow for linux :P
[05:03] <CIA-17> ffmpeg: 03Diego Biurrun 07master * r72b95764d0 10ffmpeg/libswscale/ (rgb2rgb.c rgb2rgb_template.c): swscale: variable declaration and placement cosmetics
[05:03] <CIA-17> ffmpeg: 03Martin Storsjö 07master * r0a7ce3caa8 10ffmpeg/libavformat/flvdec.c: 
[05:03] <CIA-17> ffmpeg: flvdec: Fix indentation
[05:03] <CIA-17> ffmpeg: Also split a long line.
[05:03] <CIA-17> ffmpeg: Signed-off-by: Martin Storsjö <martin at martin.st>
[05:03] <CIA-17> ffmpeg: 03Martin Storsjö 07master * r383a3b64cb 10ffmpeg/libavformat/ (isom.h mov.c): (log message trimmed)
[05:03] <CIA-17> ffmpeg: movdec: Restart parsing root-level atoms at the right spot
[05:03] <CIA-17> ffmpeg: If parsing moov+mdat in a non-seekable file, we currently
[05:03] <CIA-17> ffmpeg: abort parsing directly after parsing the header of the mdat
[05:03] <CIA-17> ffmpeg: atom. If we want to continue parsing later (if looking to
[05:03] <CIA-17> ffmpeg: parse later fragments), we need to skip past the content of the
[05:03] <CIA-17> ffmpeg: mdat atom, otherwise we end up parsing the content of the mdat
[05:03] <CIA-17> ffmpeg: 03Alex Converse 07master * r0ad522afb3 10ffmpeg/libavformat/isom.c: mov: Add support for MPEG2 HDV 720p24 (hdv4)
[05:03] <CIA-17> ffmpeg: 03Martin Storsjö 07master * r0c7b8b758a 10ffmpeg/libavformat/ (movenc.c movenc.h): (log message trimmed)
[05:03] <CIA-17> ffmpeg: movenc: Buffer the mdat for the initial moov fragment, too
[05:03] <CIA-17> ffmpeg: This allows writing QuickTime-compatible fragmented mp4 (with
[05:03] <CIA-17> ffmpeg: a non-empty moov atom) to a non-seekable output.
[05:03] <CIA-17> ffmpeg: This buffers the mdat for the initial fragment just as it does
[05:03] <CIA-17> ffmpeg: for all normal fragments, too. Previously, the resulting
[05:03] <CIA-17> ffmpeg: atom structure was mdat,moov, moof,mdat ..., while it now
[05:03] <CIA-17> ffmpeg: 03Paul B Mahol 07master * r58700edb94 10ffmpeg/libavformat/cdxl.c: 
[05:03] <CIA-17> ffmpeg: cdxl: correctly synchronize video timestamps to audio
[05:03] <CIA-17> ffmpeg: Signed-off-by: Paul B Mahol <onemda at gmail.com>
[05:03] <CIA-17> ffmpeg: Signed-off-by: Justin Ruggles <justin.ruggles at gmail.com>
[05:03] <CIA-17> ffmpeg: 03Tim Walker 07master * r147715ca10 10ffmpeg/libavutil/audioconvert.c: 
[05:03] <CIA-17> ffmpeg: Add channel names to channel_names[] array for channels added in b2890f5
[05:03] <CIA-17> ffmpeg: Signed-off-by: Justin Ruggles <justin.ruggles at gmail.com>
[05:03] <CIA-17> ffmpeg: 03Anton Khirnov 07master * r0584e3ca97 10ffmpeg/ (libavformat/utils.c tests/ref/fate/wtv-demux): 
[05:03] <CIA-17> ffmpeg: lavf: don't set AVCodecContext.has_b_frames in compute_pkt_fields().
[05:03] <CIA-17> ffmpeg: It is not supposed to be done outside lavc.
[05:03] <CIA-17> ffmpeg: This is basically a revert of 818062f2f346df30f4ec0c0c1f54e8025cc3a80a.
[05:03] <CIA-17> (64 lines omitted)
[05:04] <overflow_0f8b> static void* array[] = { &&foo, &&bar, &&hack }; goto *array[i];
[05:31] <CIA-17> ffmpeg: 03Compn 07master * rb18c27def8 10ffmpeg/libavformat/riff.c: riff: IPJ2 decodes with j2k decoder. samples can be made from mencoder and jp2avi.dll codec.
[05:37] <Compn> yay, a commit!
[05:38] <Compn> wonder if theres any other j2k fourccs
[09:11] <CIA-17> ffmpeg: 03Nicolas George 07master * r69a653cac3 10ffmpeg/configure: 
[09:11] <CIA-17> ffmpeg: configure: add lavfi dependencies to .pc files.
[09:11] <CIA-17> ffmpeg: lavfi have optional filters that depends on some components:
[09:11] <CIA-17> ffmpeg: it is necessary to test which one is enabled to set the correct
[09:11] <CIA-17> ffmpeg: dependencies.
[09:11] <CIA-17> ffmpeg: Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
[10:00] <CIA-17> ffmpeg: 03Nicolas George 07master * r42655b24c2 10ffmpeg/libavfilter/avfiltergraph.c: 
[10:00] <CIA-17> ffmpeg: avfiltergraph: avoid harmful auto audio conversions.
[10:00] <CIA-17> ffmpeg: With the current code, an automatically inserted aconvert necessary
[10:00] <CIA-17> ffmpeg: for format change would usually convert to mono for no good reason.
[10:00] <CIA-17> ffmpeg: The new code will not avoid all conversions, but at least will keep
[10:00] <CIA-17> ffmpeg: them among the layouts common to both filters.
[10:32] <kriegerod> ubitux, need help on asetframesize
[10:33] <kriegerod> can't figure out the meaning of filter_samples(), and can't understand where which logics part should be
[10:35] <kriegerod> ubitux, https://gist.github.com/1891931
[12:26] <ubitux> kriegerod: filter_samples() is simply the callback called everytime there are samples; you seem to have understood that by looking at your code
[12:26] <ubitux> i'm not sure to understand what you want
[12:28] <kriegerod> ubitux, i looked at af_volume, that had _only_ filter_samples, and initially all work was done in filter_samples in my filter. That didn't work (probably that function did not even got called i think, coz i can't find where from it could be called)
[12:28] <kriegerod> i need large explanation what should i do in .poll_frame, .request_frame, .filter_samples
[12:28] <kriegerod> and which of them this filter needs
[12:30] <kriegerod> ubitux: could you explain me that right now? i need to move on with my task, and this filter is part of it
[12:31] <ubitux> ok so, you can't have only filter_samples() because you are not sure you can return samples all the times (your fifo might be incomplete)
[12:32] <ubitux> so poll_frame should tell if your fifo can return a buffer of size N (basically if your fifo has enough data)
[12:33] <ubitux> and request_frame() should transfer that data (call the next filter_samples)
[12:33] <kriegerod> when filrer_samples ever gets called? seems only from avfilter_filter_samples() that is external API call, which has no examples of usage
[12:33] <ubitux> your filter_samples should only keep adding to the fifo
[12:34] <ubitux> it should be called regulary; isn't it the case?
[12:34] <ubitux> everytime the previous filter has data to send actually
[12:34] <kriegerod> maybe, but i wasn;t able to track the call ot it
[12:34] <kriegerod> looking at sources
[12:35] <ubitux> you may want to have a look to vf_thumbnail
[12:35] <ubitux> vf thumbnail accumulates N frames
[12:35] <ubitux> and returns only one
[12:35] <ubitux> it's only for video, but i guess it could apply to audio somehow
[12:36] <kriegerod> i can't look at video filters coz i don't know what's draw_slice, end_frame, start_frame
[12:39] <kriegerod> ubitux: so my filter_samples and poll_frame look ok, right?
[12:40] <ubitux> from my point of view it looks like it's the correct way; of course i could be wrong, or there might just be bugs in it
[12:41] <kriegerod> i'd be grateful if you look through my request_frame, which looks wrong according to your above explanation.
[12:41] <kriegerod> i'm not confident what should it look like
[12:44] <kriegerod> btw in which order should these functions be called?
[12:45] <kriegerod> e.g. i av_asrc_buffer_add_buffer() one large frame, then avfilter_poll_frame(). But my filter says it has 0 bytes in fifo
[12:47] <ubitux> mmh give me a few minutes, i'm going to have a look
[12:58] <ubitux> kriegerod: when you call avfilter_poll_frame(), it should call go up to the top filter to call the first filter poll_frame
[12:58] <ubitux> the first one should be abuffer
[12:59] <ubitux> check if the poll_frame() from abuffer is actually called, and raise something
[12:59] <kriegerod> so i guess in poll_frame i should request frames from upper layer, and accumulate new data in fifo?
[12:59] <kriegerod> to give answer if i can give new frame
[13:00] <kriegerod> or...?
[13:01] <ubitux> it's likely you indeed have to request_frame() from your poll_frame() if you don't have enough data but the source has
[13:02] <ubitux> so then if you still have not enough data, you can return 0 in poll_frame(), or otherwise that you actually have some now
[13:03] <ubitux> i wonder if that couldn't be improved
[13:03] <ubitux> it's quite tricky
[13:04] <kriegerod> so in my poll_frame, after calling avfilter_request_frame(), i should get AVFilterBufferRef using avfilter_get_audio_buffer(), right?
[13:05] <kriegerod> ah no, wrong
[13:06] <kriegerod> yep, where from should i pull data, if avfilter_request_frame succeeds?
[13:06] <kriegerod> if my poll_frame param is outlink, then outlink->src->outputs[0]?
[13:09] <ubitux> in your poll_frame, you call avfilter_request_frame from the input link (likely abuffer if your filtergraph is simple); if you look at the abuffer request frame callback, it will calls avfilter_filter_samples
[13:10] <ubitux> look at the poll_frame() callback in vf_thumbnail, it should be something similar
[13:12] <ubitux> i need to go, 'be back later
[13:12] <kriegerod> ah, so when i call avfilter_request_frame(outlink->src->inputs[0]), it triggers _my_ filter_samples, so i can probably get new data in my fifo after that?
[16:01] <CIA-17> ffmpeg: 03Nicolas George 07master * rb6ff81d63b 10ffmpeg/libavformat/sbgdec.c: sbgdec: read_seek was undeprecated.
[16:16] <durandal_1707> there should be nicer way to maninpulate planar pcm formats
[16:18] <Daemon404> while i knoww hat it is, planar is suck a crap name for it
[16:18] <Daemon404> :P
[16:18] <Daemon404> too bad i dunno what else to call it
[16:18] <av500> i think it comes from the video world
[16:19] <Daemon404> it does
[16:19] <av500> so, call it channular
[16:19] <Daemon404> sounds liek tubular... :#
[16:19] <Daemon404> :3
[16:22] <durandal_1707> heh, i'm proposing killing s8 pcm codec and crating s8 sample format
[16:28] <durandal_1707> and extend libswresample to handle planar so that direct conversion is possible between them (something like how it is done in sws)
[16:57] <kriegerod> ubitux, posted the new audio filter, please comment when you can
[16:58] <Daemon404> microchip_, i have a patch to ffmpeg, but i cant send it, as you havent merged changes from libav that it requies.
[17:16] <durandal_1707> Daemon404: ?
[17:17] <Daemon404> kostya's wavpack fix wasnt merged
[17:17] <Daemon404> so my final little fix wont apply ofc
[17:17] <durandal_1707> Daemon404: it was reverted is better word
[17:17] <Daemon404> i see
[17:17] <Daemon404> which reason is this
[17:17] <durandal_1707> np, michael will revert revert :))
[17:17] <Daemon404> my little 2-line patch has passed all my stress tests on it
[17:18] <Daemon404> all 5 types of lossy and lossless, mutilple chan layouts, the "special" files in teh test suite
[17:18] <Daemon404> all work now!
[17:19] <Daemon404> er s/\!/\~/
[17:19] <Compn> j-b : another j2k   fourcc IPJ2
[17:20] <Compn> imagepower j2k encoder creates such files
[17:21] <durandal_1707> Compn: just add IPJ(0-9) and be done with it :)
[17:21] <j-b> Compn: I hate j2k with force
[17:23] <av500> may the force be hate you
[17:23] <Daemon404> is vlc tryingto be an image viewer?
[17:23] <av500> think animated J2K
[17:23] <Daemon404> motion j2k sounds saner :P
[17:24] <Daemon404> name-wise
[17:24] Action: av500 likes animated H264 intra
[17:27] <Compn> Daemon404 : j2k is also a video codec :P
[17:27] <Daemon404> any image format can be a video codec
[17:27] <Daemon404> just means it be intra-only
[17:28] <Compn> j-b : dont worry, everyone else does too.
[17:28] <j-b> Compn: weren't they supposed to write a new openjpeg, a bit less slow?
[17:28] <Compn> durandal_1707 : i think the j2 stands for jpeg2000... so its not like ipjx would be a fourcc
[17:29] <Compn> j-b : i dont follow openjpeg news
[17:30] <Compn> j-b : anything going on in vlc land ?
[17:30] <av500> 2.0 hate
[17:30] <Compn> or 'videolan' land as they call it now
[17:30] <av500> videoland
[17:34] <j-b> Compn: 2.0 got released. Some issues, but not much on Linux/win32. Complete crazy on Mac.
[17:34] <j-b> Compn: mxf crash in libavformat
[17:34] <j-b> 2.0.1 on the way
[17:35] <av500> j-b: why did you not test on mac?
[17:35] <j-b> because I hate steve jobs
[17:35] <Compn> can we piss on his  grave yet? :P
[17:35] <av500> j-b: you hate a dead man?
[17:35] <j-b> I hope so.
[17:36] <av500> you a dead man hatin'
[17:36] Action: durandal_1707 mutes haters
[17:36] <j-b> mxf crash is annoying
[17:36] <j-b> http://git.videolan.org/?p=ffmpeg.git;a=snapshot;h=570f6aaab12e2bc;sf=tgz is what we use
[17:36] <j-b> aka jump-to-54 commit - 1
[17:41] <durandal_1707> and mxf crash is reproducible with latest git version?
[17:43] <j-b> no idea
[18:24] <cbsrobot> guess somebody needs to create x2k project then
[18:26] Action: durandal_1707 needs :time:
[18:27] <cbsrobot> durandal_1707: here you go: http://www.youtube.com/watch?v=vtveZ0t48p4
[18:32] <Daemon404> ... disappointing
[18:32] Action: Daemon404 was expecting pink floyd
[18:33] <durandal_1707> i'm not fan of either
[18:34] <durandal_1707> cbsrobot: http://www.youtube.com/watch?v=0I8N74t2x50
[19:30] <cbsrobot> durandal_1707: reminds me of http://www.youtube.com/watch?v=pFwR1c-cdFw
[19:38] <durandal_1707> cbsrobot: when that was composed?
[19:41] <ubitux> Koyaanisqatsi, 1982, with Sigur Ros music e
[19:42] <ubitux> (iirc)
[19:44] <ubitux> my bad, maybe not sigur ros
[19:45] <Daemon404> michaelni, libav dropped libpostproc now. you have access to standalone libpostproc repo on videolan servers.
[19:45] Action: Daemon404 showers
[19:48] <cbsrobot> nah - philip glass
[19:51] <ubitux> yah, totally brainfart :)
[20:09] <michaelni> <durandal_1707> and extend libswresample to handle planar so that direct conversion is possible between them (something like how it is done in sws)
[20:09] <michaelni> swr supports planar
[20:10] <michaelni> since long time
[20:10] <durandal_1707> michaelni: there are no encoders
[20:36] <ubitux> saste: any idea why lavfi device doesn't call poll_frame()?
[20:36] <ubitux> it seems to be troublesome for the asetframesize filter recently proposed
[20:54] <durandal_1707> flashsv2 encoder is buggy
[20:55] <ohsix> there's a moth in the tubes!
[21:00] <Compn> that task failed , according to 2011 soc
[21:01] <Compn> encoders are hard
[21:01] <Daemon404> encoders are not
[21:01] <Daemon404> good ones are
[21:02] <Daemon404> or even "not crap" ones
[21:02] <Daemon404> i guess
[21:02] <Compn> wonder how much diego was able to code
[21:02] <Compn> i dont remember him being a programmer
[21:07] <vadim__> sorry to interrupt, guys... but, who could take a look at 2 tickets regarding one problem with udp.c, and maybe solve it? :)
[21:08] <vadim__> https://ffmpeg.org/trac/ffmpeg/ticket/1017 and https://ffmpeg.org/trac/ffmpeg/ticket/609
[21:17] <Compn> maybe wbs can take a look at that vadim__ :)
[21:20] <vadim__> Compn: thanks a lot! :) btw, there is one more ticket regarding this problem on bug tracker nr. 1006. there are some listings, maybe it could be helpfull...
[21:25] <iive> Compn: he can take an existing code and rework it into different code. So far I haven' seen him write something new.
[22:14] <michaelni> vadim__, how can it be reproduced ?
[22:20] <vadim__> michaelni: use any mpegts live stream broadcasted through udp multicast as input... the listings in tickets 1017 and 1006 contains the used cli
[22:21] <vadim__> michaelni: is this for help?.. or you need something more specific?..
[22:24] <michaelni> vadim__, ideal would be something that i can just copy and paste and that shows the bug
[22:26] <vadim__> michaelni: do you mean the cli command?
[22:26] <michaelni> neither of the 2 commands from the 2 tickets work for me, ffmpeg just waits forever
[22:27] <michaelni> vadim__,  also i suspect the -re is causing the overrun
[22:27] <michaelni> like in reading data slower than its received
[22:28] <vadim__> michaelni: ok... i can check without -re
[22:30] <vadim__> michaelni: same behavior without -re :(
[22:31] <durandal_1707> vadim__: i can't reproduce your issue with the command you provided
[22:31] <vadim__> michaelni: will be a new listing for any help?
[22:31] <durandal_1707> vadim__: not at all
[22:32] <vadim__> michaelni: i see.... 
[22:32] <michaelni> iam sure i can fix it if i can reproduce it but i cant atm
[22:33] <vadim__> michaelni: how else could i help?.. sorry, but i can't give you access to my testing machine ))
[22:35] <michaelni> vadim__, if you know C you could look at udp.c add a few av_log() to print what happens and why it overflows
[22:37] <michaelni> hmm
[22:37] <michaelni> maybe your box is too slow to encode at realtime
[22:37] <michaelni> and thats why the buffers overflow
[22:37] <vadim__> michaelni: if so, why does it hangs?
[22:38] <vadim__> michaelni: by the way, do you get any data from your udp source?
[22:41] <burek> are there any news about forum?
[22:41] <burek> I hadn't check mails for days
[22:45] <vadim__> michaelni: sorry, but i'm not a prof in C... could you please insert av_log() in udp.c at desired places and send it to me?.. 
[22:51] <pasteeater> burek: what forum?
[22:51] <beastd> burek: Unfortunately not. I am preparing for CLT currently. so i don't have time for poking at Kyle currently.
[22:51] <burek> ffmpeg forum
[22:52] <burek> :/
[22:52] <burek> can I help somehow
[22:52] <burek> I got the server
[22:52] <burek> I know how to work with phpbb
[22:53] <burek> can we just install the kyle's copy and build a new one around it
[22:53] <beastd> burek: maybe you can ping kyle. or maybe he will say you do the work because he has no time
[22:55] <burek> it's taking us 3 months so far to get a single forum up and running :S
[22:59] <michaelni> burek, why is kyle doing it and not you ?
[23:00] <michaelni> if you have time and kyle not ?
[23:01] <michaelni> vadim__, i succeeded to reproduce it, ill try to fix it
[23:01] <vadim__> michaelni: thank you a lot! 
[23:12] <burek> michaelni, I don't know.. I didn't want to interfere, but this is taking really too long :(
[23:13] <burek> we could just put up a forum online and give out admin accounts
[23:13] <burek> to build it up and sort things on the fly
[23:13] <burek> I'm not blaming anyone, it's just taking too long, that's why I'm saying that
[23:18] <beastd> burek: agree. imho just build up a new forum from scratch now. the layout is kind of worked out already. so just make a new one and tell each of your user communities to register and join there.
[23:19] <pasteeater> whose forum is this? http://ffmpeg.test-lab.ch/
[23:20] <burek> mine
[23:20] <beastd> burek: just propose to kyle to do it this way. then you have to decide if Kyle can give you the access you need to his server or we should just use your server and you give him whatever access he needs (i think at least a phpbb admin account).
[23:23] <burek> ok, I'll send him a message right away
[23:34] <CIA-17> ffmpeg: 03Michael Niedermayer 07master * r29a8f6b8d4 10ffmpeg/libavformat/udp.c: 
[23:34] <CIA-17> ffmpeg: udp: Fix sign of error codes.
[23:34] <CIA-17> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[23:35] <beastd> Bye...
[23:44] <pasteeater> vadim__: check your bug report
[23:46] <vadim__> pasteeater: thx, i'll test it
[23:46] <pasteeater> thank michaelni, not me.
[00:00] --- Fri Feb 24 2012


More information about the Ffmpeg-devel-irc mailing list