[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=d150a147dac67faeaf6b1f2... [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
participants (1)
-
burek