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

burek burek021 at gmail.com
Sat Feb 25 02:05:03 CET 2012


[00:01] <CIA-17> ffmpeg: 03Paul B Mahol 07master * r1b93244381 10ffmpeg/libavcodec/v408enc.c: 
[00:01] <CIA-17> ffmpeg: v408enc: switch to encode2()
[00:01] <CIA-17> ffmpeg: Signed-off-by: Paul B Mahol <onemda at gmail.com>
[00:01] <CIA-17> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[00:01] <CIA-17> ffmpeg: 03Paul B Mahol 07master * r1f801f3a70 10ffmpeg/libavcodec/yuv4enc.c: 
[00:01] <CIA-17> ffmpeg: yuv4enc: switch to encode2()
[00:01] <CIA-17> ffmpeg: Signed-off-by: Paul B Mahol <onemda at gmail.com>
[00:01] <CIA-17> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[00:01] <CIA-17> ffmpeg: 03Michael Niedermayer 07master * r946de27d25 10ffmpeg/libavutil/ (Makefile random_seed.c): 
[00:01] <CIA-17> ffmpeg: random_seed: add selftest
[00:01] <CIA-17> ffmpeg: Reviewed-by: Nicolas George <nicolas.george at normalesup.org>
[00:01] <CIA-17> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[00:01] <CIA-17> ffmpeg: 03Michael Niedermayer 07master * r7cfd626bda 10ffmpeg/tests/fate/libavutil.mak: 
[00:01] <CIA-17> ffmpeg: fate: add random_seed test
[00:01] <CIA-17> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[00:01] <CIA-17> ffmpeg: 03Paul B Mahol 07master * rd1ede561a6 10ffmpeg/libavcodec/v308enc.c: 
[00:01] <CIA-17> ffmpeg: v308enc: switch to encode2()
[00:02] <CIA-17> ffmpeg: Signed-off-by: Paul B Mahol <onemda at gmail.com>
[00:02] <CIA-17> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[00:20] <burek> btw, is there any replacement for -newaudio, because if I understand it's deprecated now, right?
[00:20] <burek> how can people add new audio tracks in the output?
[00:22] <ubitux> from what source?
[00:22] <ubitux> just use -map
[00:22] <ubitux> i think you already asked for this :p
[00:24] <burek> did I ? :shy:
[00:24] <burek> ok, I'll search the logs ^^
[00:24] <ubitux> well, you'll get the same answer i guess
[00:24] <ubitux> just use -map
[00:25] <burek> but if the audio input doesn't have 5 channels, but 1, can I still resolve it with -map?
[00:25] <burek> i mean audio input with 1 track, to create audio output with 5 tracks
[00:25] <ubitux> map it multiple times
[00:25] <burek> I see :) makes sense :)
[00:25] <burek> thanks :)
[00:40] <CIA-17> ffmpeg: 03Michael Niedermayer 07master * r6eb12ffe0c 10ffmpeg/tests/ref/fate/random_seed: 
[00:40] <CIA-17> ffmpeg: fate: add forgotten random_seed ref
[00:40] <CIA-17> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[00:52] <vadim__> michaelni: thx for your help! but i'm still not happy :( take a look at this, please... http://pastebin.com/QmYdRMDq after "circular_buffer: overrun" the stream becomes undecodable, the reading terminates and the program exists...
[00:53] <durandal_1707> vadim__: how fast is you CPU?
[01:07] <vadim__> michaelni: it's a 2.4GHz intel xeon 4 cores, not sure with the model number
[01:09] <durandal_1707> vadim__: durandal_1707 != michaelni 
[01:10] <vadim__> durandal_1707: michaelni: sorry, my mistake )) have to go to sleep olready )))
[01:54] <Compn> durandal_1707 : are you in croatia ?
[01:54] <Compn> i'm looking to collect some coins from other countries... :)
[01:55] <durandal_1707> Compn: no coins here
[01:56] <Compn> any interesting paper money ?
[01:56] <durandal_1707> Compn: you want money, how much?
[01:56] <Compn> i only collect low denominations
[01:57] <Compn> preferably coins or interesting paper/plastic money
[01:58] <Compn> and of course i can reimburse with usd or paypal
[02:01] <durandal_1707> Compn: whay currency?
[02:01] <durandal_1707> s/whay/what
[02:02] <Compn> i dont know what currency croatia has
[02:02] <Compn> i have euros, so i dont need those
[02:03] <durandal_1707> are you interested in older currencies?
[02:03] <Compn> yeah
[02:03] <Compn> older is cool too
[02:03] <Compn> i think i have an iraq coin with saddam on it ;)
[04:35] <CIA-17> ffmpeg: 03Anton Khirnov 07master * rf7fa73ac91 10ffmpeg/libavcodec/libtheoraenc.c: libtheoraenc: switch to encode2().
[04:35] <CIA-17> ffmpeg: 03Justin Ruggles 07master * r3798205a77 10ffmpeg/ (6 files in 2 dirs): 
[04:35] <CIA-17> ffmpeg: mov: set channel layout for AC-3 streams based on the 'dac3' atom info
[04:35] <CIA-17> ffmpeg: fixes Bug 225
[04:35] <CIA-17> ffmpeg: 03Anton Khirnov 07master * r148fc99506 10ffmpeg/libavcodec/lclenc.c: lclenc: switch to encode2().
[04:35] <CIA-17> ffmpeg: 03Anton Khirnov 07master * r6d9c27dc85 10ffmpeg/libavcodec/jpeglsenc.c: jpeglsenc: switch to encode2().
[04:35] <CIA-17> ffmpeg: 03Anton Khirnov 07master * r278d88689b 10ffmpeg/libavcodec/ffv1.c: ffv1enc: switch to encode2().
[04:35] <CIA-17> ffmpeg: 03Anton Khirnov 07master * rdf53a47317 10ffmpeg/libavcodec/libschroedingerenc.c: libschroedingerenc: switch to encode2().
[04:35] <CIA-17> ffmpeg: 03Martin Storsjö 07master * rc2ff63e3ac 10ffmpeg/libavformat/ (movenc.c rtpenc.c rtpenc.h rtsp.c): 
[04:35] <CIA-17> ffmpeg: rtpenc: Move the trailing comma into FF_RTP_FLAG_OPTS
[04:35] <CIA-17> ffmpeg: This simplifies adding more flags to the macro.
[04:35] <CIA-17> ffmpeg: Signed-off-by: Martin Storsjö <martin at martin.st>
[04:35] <CIA-17> ffmpeg: 03Martin Storsjö 07master * rada4e362b9 10ffmpeg/libavformat/rtpenc.c: 
[04:35] <CIA-17> ffmpeg: rtpenc: Add an error message
[04:35] <CIA-17> ffmpeg: Also return a proper error code.
[04:35] <CIA-17> ffmpeg: Signed-off-by: Martin Storsjö <martin at martin.st>
[04:35] <CIA-17> ffmpeg: 03Martin Storsjö 07master * rc4584f3c1f 10ffmpeg/libavformat/ (7 files): (log message trimmed)
[04:35] <CIA-17> ffmpeg: rtpenc: Allow packetizing H263 according to the old RFC 2190
[04:35] <CIA-17> ffmpeg: According to newer RFCs, this packetization scheme should only
[04:35] <CIA-17> ffmpeg: be used for interfacing with legacy systems.
[04:35] <CIA-17> ffmpeg: Implementing this packetization mode properly requires parsing
[04:35] <CIA-17> ffmpeg: the full H263 bitstream to find macroblock boundaries (and knowing
[04:35] <CIA-17> ffmpeg: their macroblock and gob numbers and motion vector predictors).
[04:35] <CIA-17> ffmpeg: 03Anton Khirnov 07master * r3c0ed7d1a8 10ffmpeg/libavcodec/asv1.c: asv1enc: switch to encode2().
[04:35] <CIA-17> ffmpeg: 03Ronald S. Bultje 07master * r2b83e8b700 10ffmpeg/libavcodec/truemotion2.c: 
[04:35] <CIA-17> ffmpeg: truemotion2: error out if the huffman tree has no nodes.
[04:35] <CIA-17> ffmpeg: This prevents crashers and errors further down when reading nodes in the
[04:35] <CIA-17> ffmpeg: empty tree.
[04:35] <CIA-17> ffmpeg: Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
[04:35] <CIA-17> ffmpeg: CC: libav-stable at libav.org
[04:35] <CIA-17> ffmpeg: rtpenc: Move max_packet_size to a context variable
[04:35] <CIA-17> ffmpeg: This is in preparation for exposing this via an avoption.
[04:35] <CIA-17> ffmpeg: Signed-off-by: Martin Storsjö <martin at martin.st>
[04:35] <CIA-17> ffmpeg: 03Anton Khirnov 07master * r0ecf54f9dc 10ffmpeg/libavcodec/flashsvenc.c: flashsvenc: switch to encode2().
[04:36] <CIA-17> ffmpeg: 03Anton Khirnov 07master * ra5f848c86d 10ffmpeg/libavcodec/libxavs.c: 
[04:36] <CIA-17> ffmpeg: libxavs: split extradata writing out of encode_nals().
[04:36] <CIA-17> ffmpeg: This is done in preparation for the following patch implementing
[04:36] <CIA-17> ffmpeg: encode2().
[04:36] <CIA-17> ffmpeg: This commit is analogous to 05d699222dd5af4f5775f9890aa825ede05a144f for
[04:36] <CIA-17> ffmpeg: libx264.
[06:22] <overflow_0f8b> how do you usually round a float value correctly?
[06:23] <overflow_0f8b> lrintf rounds incorrectly
[06:23] <overflow_0f8b> lroundf is slow as hell
[06:25] <mystica555_> I am curious, how much code is shared between ffmpeg's input routines and ffplay itself
[06:26] <mystica555_> specifically in the fact that ffplay doesn't understand -vcodec mjpeg when trying to play v4l2 video
[06:26] <mystica555_> yet ffmpeg itself does, and properly selects either mjpeg or uyvy
[06:55] <michaelni> mystica555_, -codec:v mjpeg might work
[06:57] <mystica555_> lets try
[06:57] <mystica555_> /dev/video0: could not open codecs                                                                                                                                                                       
[11:19] <thresh> I believe something is wrong with the git repo.
[11:19] <thresh> I see the commit that removed libpostproc, and yet it's still there in current HEAD
[11:22] <av500> my  git says the folder is not in git
[11:22] <av500> it has some stray files inside
[11:24] <thresh> I've did a completely new checkout to an empty dir
[11:24] <ubitux> the commit is in the merge, it doesn't mean it's been applied as-it
[11:24] <av500> thresh: ah, in ffmpeg
[11:24] <av500> no idea
[11:24] <thresh> av500: fail :P
[11:25] <thresh> ubitux: well I expected git log not to lie
[11:25] <thresh> also, merge commits mentions the removal.
[11:26] <ubitux> check the files affected by the conflicts
[11:26] <av500> I dont see the merge commit removing it
[11:26] <ubitux> yes indeed
[11:27] <av500> conflict was resolved by not removing it
[11:27] <thresh> ah, the merge commit log says it was removed
[11:27] <av500> maybe it has dual nature
[11:27] <thresh> duh
[11:28] <av500> it's wave and particle at the same time
[11:29] <thresh> shroedinger's postproc
[11:29] <av500> thresh: when you dont look at the folder, then it's not there
[11:42] <kriegerod> ubitux: hi, do you have anything to say regarding the filter i've posted?
[11:43] <ubitux> hi kriegerod :)
[11:43] <ubitux> well, yes i have a few things in mind, but i need to be sure of something
[11:43] <ubitux> it seems to me that lavfi device isn't trying to poll before request
[11:43] <ubitux> (in opposition to common usage you have in ffmpeg for instance)
[11:44] <ubitux> i'm not sure why there is such difference
[11:44] <ubitux> and i need saste to be available to discuss this :)
[11:45] <kriegerod> i don't understand what you said )
[11:48] <ubitux> kriegerod: in ffmpeg.c, the usage is basically while (av_buffersink_poll_frame(outgraph)) { av_buffersink_get_buffer_ref(outgraph, &ref, 0); ... }
[11:48] <ubitux> so it's polling from the output to check if there is data
[11:48] <ubitux> and then request a buffer
[11:49] <ubitux> but when using lavfi device (ffmpeg -f lavfi -i amovie=file.wav,yourfilter), there is no such call to poll_frame
[11:49] <ubitux> it's directly calling get_buffer_ref()
[11:49] <ubitux> so basically in your filter, the poll_frame() callback is ignored
[11:50] <ubitux> and thus, i don't know how that is supposed to work, and also what's the point of poll_frame if it is not mandatory
[11:51] <ubitux> kriegerod: how did you test your filter? with the api example?
[11:55] <kriegerod> yes, and also with my own app
[11:58] <ubitux> ok, so you called av_buffersink_poll_frame()
[11:59] <ubitux> but atm, ffmpeg has no -af, it's using the lavfi device
[11:59] <ubitux> so the common usage for audio filters is to use ffmpeg -f lavfi -i amovie=file.wav,yourfilter
[12:00] <ubitux> and the lavfi device (libavdevice/lavfi.c) which emulates an input, doesn't call that poll_frame, and thus lead to issues with your filters
[12:00] <ubitux> so i think this is something to be fixed in lavfi device
[12:00] <ubitux> so you are not at fault, but i'd like to be sure of this
[12:04] <ubitux> i'm wondering if the audio filters couldn't just return a samplesref with 0 samples, or just not return anything, or something
[12:04] <ubitux> but well anyway, please be patient a little
[12:06] <kriegerod> i got the idea
[12:06] <kriegerod> in request_frame, currently it returns error when no data actually in fifo
[12:06] <kriegerod> there i can add the same code from poll_frame that calls avfilter_request_frame
[12:07] <kriegerod> i even thought to add it, but it seemed to me being code duplication
[12:07] <kriegerod> but now i understand that is majes sense
[12:08] <ubitux> in my point of view, the filter should be as simple as possible, and the polling/request system looks complicated enough as is, so i'm wondering if that's really a good thing to do
[12:09] <ubitux> you'll get feedback, just need to figure out a few things
[12:17] <kriegerod> i just thought that normal lavfi usage is pushing frame, then polling, if poll says there's at last 1 frame, then request
[12:18] <kriegerod> because if poll is not required to be used, why it exists at all?
[12:36] <ubitux> kriegerod: that's exactly what i'd like to know :)
[12:36] <kriegerod> so you are planning to eliminate polling?
[12:37] <ubitux> i'm planning to get an answer first :)
[12:37] <ubitux> this push/poll/request system might be needed for video for some reason
[12:38] <ubitux> also, i think the avfilter functions should deal with the "i haz data" on their own instead of needing the filters to implement complex callback systems
[12:40] <kriegerod> is the name of the designer of avfilter known? :)
[12:41] <ubitux> Vitor Sessak and Stefano worked a lot on it
[12:41] <ubitux> Michael too btw
[12:47] <Compn> ubitux : you should fix documentation for others after you figure push/poll out too :)
[12:48] <ubitux> the current lavfi api is meant to be changed anyway
[12:48] <ubitux> i'll fix the doxy if needed sure, and the doc/examples
[12:49] <ubitux> the priority to me at this point is to get -af in ffmpeg
[12:49] <ubitux> and this will require a lot of hack or changes
[12:49] <ubitux> also, i need to work on -sf :)
[12:54] <Compn> the docs mention that external ass files work with -ass, does that mean embedded mkv ass do not ?
[12:54] <ubitux> yes unfortunately
[12:54] <ubitux> -vf libass=file.ass
[12:54] <ubitux> that's a workaround
[13:01] <Compn> well getting that working with -sf would be nice , probably :)
[13:01] <Compn> or however it needs to be done , without pissing of the mkv gods
[13:01] <Compn> and the anime pirates
[13:19] <ubitux> Compn: why do you think they would get pissed?
[13:19] <ubitux> i mean, all they want is basically how to burn karaoke in the op/ed, given an ass file and mux the others; afaict, it's possible ATM
[13:20] <ubitux> i don't know if the mkv muxer does it work well though
[13:32] Action: Daemon404 pokes michaelni 
[13:37] <overflow_0f8b> hi
[13:37] <overflow_0f8b> how can i give a hint to gcc for evaluating my constants if it can be evaluated ?
[13:38] <overflow_0f8b> ( specifying the evaluation procedure for an inline asm function )
[13:39] <Daemon404> wait
[13:39] <Daemon404> are you adding inline asm to ffmpeg?
[13:42] <overflow_0f8b> i'm creating inline asm SSE optimized functions, and i'd like them to have an alternative function that gcc can evaluate at compile time.
[13:42] <overflow_0f8b> or maybe optimized...
[13:44] <overflow_0f8b> i don't think gcc will evaluate asm instructions
[13:44] <ubitux> it's common to evalute yourself and hardcode results, with the code to generate the results under comments or #if 0
[13:44] <overflow_0f8b> ubitux<< yeah but that way you lose the possibility of gcc -o3 optimizing anything
[13:45] <overflow_0f8b> for example, i am calling functions with the results of other functions
[13:45] <nevcairiel> If you write asm, you hand-optimize, what would you ever want gcc to optimize it even further
[13:46] <overflow_0f8b> nevcairiel<<               muxrecti( muxp2i( roundfz( (po).x - rcent.x ), roundfz( (po).y - rcent.y ) ), \
[13:46] <overflow_0f8b>                         muxp2i( roundfz( (po).x + rcent.x ), roundfz( (po).y + rcent.y ) )  \
[13:46] <nevcairiel> that doesnt looke like asm
[13:46] <overflow_0f8b> those are macros...
[13:47] <overflow_0f8b> macros can contain inline asm
[13:47] <nevcairiel> sounds like awful code
[13:48] <overflow_0f8b> if it is not optimized then yes ;/
[13:48] <nevcairiel> macros are not function calls though, gcc should always expand them
[13:48] <overflow_0f8b> yes
[13:48] <Daemon404> overflow_0f8b, just note that you should not be adding new inline asm to ffmpeg
[13:49] <Daemon404> but rather, as external asm files.
[13:49] <nevcairiel> imho, writing the asm is more important then learning how that evil yasm macros work
[13:49] <Daemon404> yes
[13:49] <Daemon404> but adding more gcc-style inline asm to ffmpeg is Not Nice
[13:50] <overflow_0f8b> :)
[13:50] <overflow_0f8b> btw i only use macro when i have to.
[15:51] <michaelni> Daemon404, pong
[16:01] <Daemon404> michaelni, hey
[16:01] <Daemon404> did you see my email?
[16:01] <michaelni> yes, just replied
[16:01] <Daemon404> o
[16:01] <Daemon404> thanks
[16:02] <Daemon404> hmm i figured as such
[16:02] <Daemon404> michaelni, also, did you see my comment on the wavpack stuff you reverted?
[16:18] Action: Daemon404 has some patches he wants to send to ffmpeg-devel but they requrie things not in ffmpeg
[16:19] <ubitux> where are they? :P
[16:21] <Daemon404> ubitux, sitting in libav, or on my hdd
[16:21] <Daemon404> the one thing they need, is somehting micheal reverted
[16:21] <Daemon404> er, michael
[16:21] <ubitux> ok :p
[16:23] <av500> Daemon404: send a patch I guess
[16:31] <michaelni> Daemon404, what comment ?
[16:37] <Daemon404> michaelni, my final fix to wavpack
[16:37] <Daemon404> (fixes an error in kostya's last commit)
[16:38] <Daemon404> as well as a comprehensive fate suite for wavpack (with reference hashes generated by teh reference decoder)
[16:43] <michaelni> Daemon404, if there are some commits missing/wrong/or whatever, please post patches or a git branch to merge
[16:44] <Daemon404> sec
[16:45] <burek> Sutra u subotu, 25. februar, u Novom Sadu, protest protiv cenzure interneta: http://www.021.rs/Novi-Sad/Vesti/Protesti-protiv-cenzure-interneta-i-u-Novom-Sadu.html
[16:45] <Daemon404> michaelni, oh you merged it now
[16:45] <Daemon404> cool
[16:45] <Daemon404> i can send my fate stuff then :)
[16:45] <av500> burek: ides?
[16:45] <burek> oops
[16:46] <burek> amsg goes on all networks? :X
[16:46] <burek> fck..
[16:46] <burek> i apologize, i didnt know amsg goes to all networks Im connected to :(
[16:46] <burek> av500, of course :)
[17:53] Action: Daemon404 goes to shower while fate-rsync runs
[18:16] <kriegerod> is anybody going to transform libfaac.c to encode2?
[18:17] <Daemon404> elenril is doing audio next
[18:17] <Daemon404> iirc
[18:17] <Daemon404> since video is all done
[18:24] <durandal_1707> Daemon404: not me, i'm busy atm with other stuff
[18:24] <Daemon404> huh?
[18:24] <Daemon404> ruggles seems to be anyway.
[19:57] <j-b> michaelni: what is the security contact of ffmpeg?
[20:12] <Compn> its not ffmpeg-security
[20:12] <Compn> @ffmpeg.org
[20:12] Action: Compn cant remember where security stuff goes
[20:48] <pasteeater> Compn: is that security through obscurity?
[20:54] <Compn> pasteeater : its no one tells me anything around here :P
[21:12] <michaelni> j-b, hmm, i guess just mail it to me + reimar, we need to setup some ML for that, the mplayer security list probably could be used too probably ...
[21:13] <j-b> ok#
[23:01] <rainmaker1> Hi, I need a little help regarding -re switch. I have a live mpeg2 stream (mpeg2video) which I want to transcode to rtmp (flv) and every time when I use -re switch ffmpeg crashes with "circular buffer overflow" error after ~10 sec, without -re after some time audio and video get out of sync. I can provide pastebin if anyone is willing to take a look..
[23:01] <rainmaker1> Oh sorry wrong channel :(
[23:01] <rainmaker1> please ignore
[00:00] --- Sat Feb 25 2012


More information about the Ffmpeg-devel-irc mailing list