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

burek burek021 at gmail.com
Sat Jun 14 02:05:02 CEST 2014


[00:03] <J_Darnley> Well, that's quite obvious!  I was only generating 1 video frame for each audio frame.
[00:03] <J_Darnley> I needed to make ~6 times more.
[00:28] <kurosu> -vf & co are actually kind of difficult to get/long to write
[00:28] <kurosu> Am I that mad to think that maybe it could be instead read from a script a la avisynth?
[00:28] <J_Darnley> Do you mean the actual filters or just the command line arguments?
[00:29] <kurosu> imagine having .ffs file with #!/bin/ffmpeg ?
[00:29] <J_Darnley> oh
[00:29] <kurosu> command line
[00:29] <wm4> kurosu: there's vapoursynth
[00:29] <J_Darnley> I don't disagree with you
[00:29] <kurosu> plus complex filtering like you get to see with avisynth are hardly manageable with command-line
[00:29] <J_Darnley> I saw four (4) backslashes having to be used for paths on Windows
[00:30] <ubitux> kurosu: that's why you can write them into files
[00:30] <kurosu> wm4, ok, but doesn't your reply mean "scrap ffmpeg whole libavfilter ?"
[00:30] <ubitux> you don't need to escape much when you're into a file
[00:30] <wm4> kurosu: it could be made a libavfilter filter
[00:30] <wm4> I mean, you could make a filter adaptor
[00:31] <wm4> I've written one for my mplayer fork, I'd "only" have to port it to libavfilter
[00:31] <kurosu> yeah, depends on how much you want to have a strong grammar/... (hmmm lex and bison...)
[00:32] <kurosu> anyway, that's semi-serious
[00:32] <kurosu> I'm already struggling with passing option to the noise filter
[00:32] <ubitux> ?
[00:32] <wm4> IMO the worst about lavfi API-wise is that it doesn't support proper seeking
[00:33] <kurosu> ubitux, don't mind me, my first discovery of -vf was with that, 1 day ago
[00:34] <ubitux> wm4: could you send a rfc on how that could be achieved?
[00:34] <wm4> ubitux: seeking?
[00:34] <ubitux> es
[00:34] <ubitux> yes
[00:34] <wm4> I'm not sure myself...
[00:34] <wm4> I see two issues
[00:35] <wm4> one is seeking the graph itself
[00:35] <wm4> the other is being able to do precise seeking with lavfi
[00:35] <wm4> (they're orthogonal to each other)
[00:35] <ubitux> what would be the use case of seeking btw?
[00:36] <wm4> example for the second issue: a filter adjusts timestamps 1 second into the future; so if you seek to time position 60 seconds, you really want to seek the decoder to the 59 seconds position; if you don't, you'll end up at 61 seconds instead
[00:37] <wm4> for seeking the lavfi graph itself: don't know, maybe so that the libavdevice lavfi demuxer works?
[00:38] <J_Darnley> Removing ads from the middle of a file.
[00:38] <ubitux> you don't need seeking for that
[00:38] <J_Darnley> Just request every frame in the middle?  That's quick.
[00:39] <ubitux> ?
[00:39] <kurosu> not being sarcastical, but I kind of recall different projects using their own index to achieve accurate seeking with libav*? is it still needed? if yes then that's a first issue with having this in libavfilter
[00:39] <ubitux> wm4: so you can seek when using a movie/amovie you mean?
[00:39] <wm4> ubitux: I guess so
[00:39] <Plorkyeran> yes, you still need an external index to be able to seek reasonably
[00:40] <ubitux> wm4: is that really something blocking?
[00:40] <wm4> ubitux: just an inconvenience
[00:40] <wm4> kurosu: projects like ffms use an index
[00:40] <wm4> others try to play tricks with the ffmpeg demuxer with moderate success (e.g. mplayer2/mpv)
[00:41] <ubitux> J_Darnley: i'm not sure what causes you a problem; you probably use a select filter typically, or even do that at demuxing level with ffmpeg
[00:41] <wm4> it'd be nice if lavf could create in index itself, especially for these broken audio formats like mp3, tta, ...
[00:42] <J_Darnley> ubitux: perhaps, I've never done any non-linear filtering of video in ffmpeg.
[00:42] <kurosu> the issue is that you need random amount of data prior to a timestamp, and I bet it's kind of hard to take this into account without knowing what the applications actually does
[00:42] <ubitux> wm4: ffmpeg -i bla.mp3 bla.index && ffmpeg -idx bla.index -ss 12.3 out.mp3 ?
[00:43] <ubitux> wm4: for that kind of usage?
[00:43] <wm4> ubitux: since I have the playback case in mind, more like scanning the whole file on opening
[00:43] <ubitux> J_Darnley: see also timeline
[00:43] <wm4> so I can actually do precise seeking in semi-broken (unseekable) files and get correct duration info too
[00:44] <kurosu> the case I had in mind was with libavfilter where you could get arbitrary requests of samples (audio or video)
[00:44] <wm4> yes that would be nice
[00:44] <wm4> probably something for a hypothetical high level API
[00:44] <kurosu> that's what ffms does, but I don't know how much a pain it actully is
[00:45] <ubitux> except that lavfi is stream based; you push frames into it&
[00:45] <kurosu> ok
[00:45] <Plorkyeran> ffms has to do very ugly things to support the api it offers
[00:45] <Plorkyeran> but you could maybe make a similar api that allowed a simpler implementation
[00:47] <wm4> what aspect of the api makes it complicated?
[00:47] <Plorkyeran> guaranteeing that it can always give an accurate total frame/sample count is a big chunk of it
[00:48] <Plorkyeran> it's what forces the indexing to parse every frame and decode the audio
[00:48] <ubitux> j45: d150a147dac67faeaf6b1f25a523ae330168ee1e
[00:49] <ubitux> didn't you actually rewrote that?
[00:49] <ubitux> http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=d150a147dac67faeaf6b1f25a523ae330168ee1e
[00:50] <Plorkyeran> a lot of the ugliness in the audio stuff is due to that lavc's decoders don't really try to support sample-accurate seeking to begin with
[00:51] <Plorkyeran> and there's no real solution to that other than lots of test cases and lots of developer effort
[00:54] <ubitux> j45: anyway, ffmpeg supports the multiple objects in pgs since this date (beginning 2012), it would be nice to avoid re-inventing the wheel once again
[00:59] <wm4> is this about finally fixing pgs subs in libav?
[00:59] <ubitux> it seems there is also the cropping feature in
[01:19] <nevcairiel> i think its weird how so many people rather spent hours and hours re-inventing a feature instead of spending 5 minutes looking if a patch already exists =p
[02:03] <cone-609> ffmpeg.git 03Michael Niedermayer 07master:c5fc8ae12622: avcodec/mpegvideo: fix edge emulation with uvlinesize below 25
[02:41] <Compn> removing ads is so easy with mencoder
[02:42] <Compn> because mencoder multiple file input
[02:42] <Compn> mencoder file1.avi -ss 30 -endpos 5:00 file1.avi -ss 8:30 -endpos 5:00 etc
[02:42] Action: Compn looks at concat and sighs
[02:45] <wm4> Compn: use mpv, it doesn't regularly create broken files that can only be played by mplayer
[02:50] <Compn> wm4 : well i dont edit commercials , nor do i use mencoder much either
[02:55] <cone-609> ffmpeg.git 03Vittorio Giovara 07master:4321e507564b: configure: use pkg-config for libx264
[02:55] <cone-609> ffmpeg.git 03Michael Niedermayer 07master:1c5aa64a5927: Merge commit '4321e507564b2d8a5dfc630f8d6fefba6fdc1e92'
[04:31] <cone-609> ffmpeg.git 03Michael Niedermayer 07master:cf9050c715b4: libavcodec/wmv2: remove dead code
[07:37] <ubitux> so the pkg-config libx264 commit wasn't applied?
[07:37] <ubitux> i really don't think prefering our hack to proper pkg-config and then fallback to pkg-config to be a good idea
[07:38] <ubitux> anyone feeling that the hack as a fallback is the least insane compromise?
[07:52] <jamrial> why would switching x264 detection to pkg-config generate so much trouble and user complains as Carl mentions?
[07:52] <jamrial> has it done it for the other fifteen libraries we check with pkg-config?
[07:53] <ubitux> because users currently explicit flags with --extra-cflags and --extra-ldlibs
[07:53] <ubitux> and also because pkg-config is not installed everywhere
[07:54] <ubitux> i guess that's his concerns
[07:54] <ubitux> that's why i suggested to improve configure in his way to report a missing pkg-config (do it earlier than currently, because it's never displayed when needed)
[07:55] <ubitux> and document the behaviour change
[13:45] <Anshul_m> I am adding an AVOption in dvbsub module, i am taking reference from libavcodec/h264.c , I did not undestood why we are saving .option = h264_option in AVClass h264_class
[13:47] <wm4> Anshul_m: so you can find the AVOptions when you have an AVClass
[13:49] <Anshul_m> Thanks, It means i dont need that AVClass stuff.
[13:49] <cone-197> ffmpeg.git 03Michael Niedermayer 07master:681868cbbe8a: avcodec/mpegvideo: Fix psnr calculation with slice threads
[13:50] <wm4> Anshul_m: well, lavc's architecture kind of forces you to use AVClass...
[13:53] <BBB> Anshul_m: specifically, the avclass/avoptions combination allows the new options youre adding to be auto-exposed to the commandline (e.g. ffmpeg)
[13:53] <BBB> Anshul_m: otherwise module-specific options wouldnt be visible in ffmpeg and they would be practically useless for a large subset of our users
[13:57] <Anshul_m> BBB, I dont want to expose them to ffmpeg user, I am adding option compute_edt if we use it then end display time would be computed using pts
[13:58] <nevcairiel> there is only one kind of option, if its available to API users its also available to ffmpeg users
[13:59] <Anshul_m> so do I need to implement AVClass also
[14:10] <BBB> why wouldnt you want to expose this to ffmpeg users?
[14:10] <BBB> I mean, whats an option for if not exposed to the user?
[14:11] <wm4> Anshul_m: how do you intend to use the option?
[14:21] <Anshul_m> This option would be used when transcoding dvbsubtitle to any subtitle codec, to calculate timing correctly.
[14:22] <Anshul_m> This option used by ffmpeg but not ffmpeg user
[14:24] <wm4> ffmpeg is not the only user of libavcodec
[14:24] <wm4> and also ffmpeg must only use public APIs of libavcodec
[14:24] <wm4> so it needs to be an option anyway
[14:25] <wm4> no idea if there's a way to make ffmpeg.c hide it, if it's not useful for the end user
[14:27] <Anshul_m> My intension are not to hide for libavcodec user but I dont find it would be useful for ffmpeg user
[14:30] <BBB> Anshul_m: how would ffmpeg use it?
[14:30] <BBB> calling a specificly named option in response to some specific condition?
[14:31] <BBB> thats kind of hideous
[14:32] <Anshul_m> Thats what we agreed in mailing list :(
[14:33] <Anshul_m> BBB, you should also write this opinion in Re: [FFmpeg-devel] [PATCH] dvbsub fix transcoding mailchain
[14:34] <Anshul_m> my opinion was, this sollution ugly 
[14:34] <BBB> I agree
[14:35] <wm4> that thread is big
[14:35] <BBB> michaelni: where does swr calculate timestamps/durations?
[14:35] <BBB> (assuming it does)
[14:36] <wm4> hm I assume timestamp stuff happens in af_resample in lavfi
[14:37] <michaelni> BBB, maybe swr_get_delay() returns a different value
[14:37] <michaelni> wm4, wrong file
[14:43] <michaelni> ist af_aresample
[14:45] <wm4> eh
[14:45] <wm4> so there's af_resample and af_aresample
[14:45] <wm4> ok
[14:51] <nevcairiel> sounds like one was merged
[15:25] <Daemon404> ubitux, OK to push with the config option noted?
[15:25] <ubitux> i don't care much, mostly suggestion
[15:25] <Daemon404> ok
[15:25] <ubitux> you can warn that it's an advanced option if you're not comfortable with it
[15:26] <Daemon404> i only worry that it gets cargo culted
[15:26] Action: Daemon404 remembers sameq
[15:26] <ubitux> the worst that can happen is bad values
[15:26] <wm4> what again were the reasons that better solutions are not possible?
[15:26] <Daemon404> dynamically doing it is basically rewriting that part of swscale
[15:27] <wm4> blargh
[15:27] <Daemon404> that is the correct response
[15:50] <cone-197> ffmpeg.git 03Derek Buitenhuis 07master:a4bd4733c0af: swscale: Allow the max filter size to be set at compile time
[15:57] <plepere> michaelni, I've got problems trying your ./configure line. when adding the cflags, I've got a "gcc is unable to create an executable file" error. :/
[15:57] <J_Darnley> Obvious reply: what does the log say?
[15:58] <michaelni> i would guess some package for 32bit x86 support in gcc isnt installed
[15:59] <plepere> gcc -m32 -o /tmp/ffconf.zLn7rLGS /tmp/ffconf.uinrdnTd.o
[15:59] <plepere> /usr/bin/ld: cannot find crt1.o: No such file or directory
[15:59] <plepere> yeah, I guess so
[16:00] <Daemon404> toolchain isnt multilib then
[16:00] <Daemon404> afaik only debian based OS come with such a toolchain by default
[16:00] <plepere> ok, works
[16:01] <plepere> had to do : sudo apt-get install libc6-dev-i386
[16:03] <J_Darnley> On an unrelated topic... When trying to expand docs about writing filters, where would you people like me to do so?
[16:04] <J_Darnley> At the moment I have written 2 more verbose example filters, one based on vf_null.  They've got some good comments based on what I have learned.
[16:05] <J_Darnley> I thought that it might be a "bad idea" to split this documentation into more files.
[16:09] <J_Darnley> I will also send an email, later, and attach the two files.  They need checking for correctness anyway.
[16:20] <ubitux> any suggestion on a beat detection algorithm?
[16:20] <ubitux> i might try to implement one in lavfi
[16:22] <ubitux> i see the causal beat tracking
[16:22] <ubitux> but there is also a non-official paper (more like a howto from a tech guy) using simple fft & subbands
[16:22] <ubitux> which i'm tempted to try
[16:23] <J_Darnley> The one from Nullsoft's AVS?  I would have to get to that eventually if I want to rewrite the entire library.
[16:29] <cone-197> ffmpeg.git 03Tim.Nicholson 07master:6a65f3fc162f: MAINTAINERS: Added Tim Nicholson's key fingerprint
[16:29] <cone-197> ffmpeg.git 03Michael Niedermayer 07master:4a0ec85b8509: avcodec/rv34: fix edge emu with uv stride <= 25
[16:59] <plepere> michaelni, what else will you test, so I don't have to send a patch adding a single character to the previous one ?
[17:01] <michaelni> i have no list, was just trying to detect as many issues as possible before it gets approved and pushed
[17:02] <plepere> ok ok
[17:03] <plepere> it's just sad to do a patch just to add a single character.
[17:03] <nevcairiel> you could smiply wait a bit for more feedback if you dont want to send a new one immediately
[17:04] <plepere> I can do it and be done with it. :p
[17:06] <plepere> anyways, i'll be going now. see  you all
[17:09] <gerion> good day
[17:09] <gerion> do you have something like linked lists or vectors in the framework predefined?
[19:01] <cone-197> ffmpeg.git 03Michael Niedermayer 07master:dffb85a98271: avcodec/mpegvideo: check that linesize is not too small
[19:09] <cone-197> ffmpeg.git 03Diego Biurrun 07master:f0ce9913d097: Rename tpel_template.c ---> pel_template.c
[19:09] <cone-197> ffmpeg.git 03Michael Niedermayer 07master:684a9152c3b9: Merge commit 'f0ce9913d0974ac0c7371a62c3324dd2863b5d1b'
[19:51] <cone-197> ffmpeg.git 03Diego Biurrun 07master:27631796c9d1: ac3: Only initialize float_dsp for the float encoder variant
[19:51] <cone-197> ffmpeg.git 03Michael Niedermayer 07master:97c285e61bc3: Merge commit '27631796c9d1b8146ad4a16e6539ecc08afa7565'
[21:12] <cone-197> ffmpeg.git 03Michael Niedermayer 07master:1df441eaa81b: vfilter/avf_showcqt: fix 'mixed declarations and code'
[21:12] <cone-197> ffmpeg.git 03Michael Niedermayer 07master:043bcdcdb00e: avcodec/svq1enc: fix encoding of small widths
[23:20] <cone-197> ffmpeg.git 03Michael Niedermayer 07master:263aeb826d1f: avfilter/vf_unsharp: use av_malloc_array()
[23:20] <cone-197> ffmpeg.git 03Michael Niedermayer 07master:d03eefae4a88: avfilter/vf_dejudder: Use av_mallocz_array()
[23:20] <cone-197> ffmpeg.git 03Michael Niedermayer 07master:0a7ad6bf5122: avfilter/formats: Use av_realloc_array()
[23:24] <Compn> heh
[23:24] <Compn> wasnt able to access my isp mail
[23:25] <Compn> access using webmail , crash webmail server :)
[23:25] <Compn> access using webmail server in other state, crashes other state's webmail server :D
[23:25] <llogan> it did not know how to handle Windows 3.1 users
[23:25] <Compn> oh look they fixed it today :)
[23:26] <Compn> what distro you using llogan ? 
[23:28] <llogan> Arch Linux mostly.
[23:29] <Compn> probably asked you before :D
[23:29] <Compn> need to switch to that soon...
[23:30] <llogan> I thought you and Win 2k were going steady?
[23:30] <llogan> i probably asked you that before too
[23:30] <Compn> i had to upgrade because there werent drivers for 4tb hd in win2k
[23:30] <llogan> upgrade to what?
[23:31] <Compn> xp
[23:31] <Compn> turns out winxp drivers cant handle more than 2tb :\
[23:31] <llogan> <whaa whhaaaahhhh trombone sound>
[23:31] <Compn> yes
[23:31] <Compn> lol
[23:32] <Compn> my old motherboards wont even boot with the 4tb drive attached :)
[23:32] <llogan> i bought a bunch of WD Red 4 GB for a network file server. seem to work goodnuff.
[23:32] <Compn> probably need a sata pci card or somethin
[23:33] <Compn> or just upgrade to a non-10 year old puter
[23:33] <Compn> they dont make bios updates for the old mobo either , so pfft
[23:34] <Compn> first world problems
[23:34] <llogan> i said that same phrase to myself earlier today
[23:36] <Compn> picked up a googletv device
[23:36] <Compn> learned that GTV is an android fork , so basically most android apps dont work on it
[23:36] <Compn> worthless! :D
[23:37] <Compn> maybe i will install gtv ndk and try to compile mplayer for it
[23:43] <iive> Compn: looks like you are having fun :)
[23:47] <iive> llogan: 4GB disks? (not 4TB)
[23:51] <llogan> oops. a 12 GB server. awesome.
[23:55] <iive> :)
[00:00] --- Sat Jun 14 2014


More information about the Ffmpeg-devel-irc mailing list