[00:34:51] <Dark_Shikari> astrange: that encoder was xvid avc? [01:16:08] <Dark_Shikari> Yuvi: you have a profile of theora now? [01:16:20] <Dark_Shikari> I wonder how much time init_frame is taking up, it seems wholly unnecessary [01:17:47] <Dark_Shikari> or at least inefficient [01:22:06] <Yuvi> Dark_Shikari: http://pastebin.com/m23eed1c8 3.5% [01:22:17] <Dark_Shikari> holy shit that's slow [01:22:21] <Yuvi> and yeah, it isn't necessary [01:22:29] <Yuvi> or won't be necessary [01:22:31] <Dark_Shikari> some of it might be [01:22:32] <Dark_Shikari> ah ok [01:22:35] <Yuvi> it's needed for the moment [01:22:37] <Dark_Shikari> so you've already factored that out in your planned overhaul? [01:22:43] <Yuvi> yeah [01:22:56] <Dark_Shikari> ah good. [01:23:07] <Dark_Shikari> did you come up with a way to make the MV decoding handling less shit? [01:23:13] <Dark_Shikari> e.g. not copying data all over the place [01:24:18] <Yuvi> figure out how many MVs there are when unpacking mb modes, decode that # in unpack_vectors and nothing else, do the rest immediately before actual MC [01:25:24] <Dark_Shikari> good, k [01:25:40] <Dark_Shikari> this already done and waiting for commit? [01:26:19] <Yuvi> done as in it's in my github repository, not done as in a clean diff from current svn [01:27:33] <Dark_Shikari> ah k [01:27:55] <Dark_Shikari> have you found a good way to deal with [01:27:55] <Dark_Shikari> #define DC_COEFF(u) (s->coeffs[u].index ? 0 : s->coeffs[u].coeff) //FIXME do somethin to simplify this [01:28:33] <Yuvi> currently, I simply store the actual DC in the fragment structure [01:28:53] <Dark_Shikari> k [01:29:00] <Dark_Shikari> so that simplifies that [01:31:40] <Dark_Shikari> any reason we don't have an sse loopfilter? [01:32:21] <Yuvi> it can't be done with width 16 due to the retarded ordering [01:32:29] <Dark_Shikari> it might be worth unpacking on faster CPUs though [01:32:34] <Dark_Shikari> to limit the amount of bitmath [01:32:43] <Dark_Shikari> penryn, nehalem, and phenom [01:32:51] <Dark_Shikari> i.e. doing it in 16-bit math [01:33:38] <Yuvi> might be worth doing, neon certainly does it with 16-bit math [01:33:57] <Dark_Shikari> note unpack in sse is very slow on core 2 conroe [01:34:07] <Dark_Shikari> and probably not worth it on anything older [01:34:10] <Dark_Shikari> but definitel worth trying [01:35:25] <Dark_Shikari> also did you fix the fixed-size tables thingy? [01:36:14] <Dark_Shikari> also,w hat are the different %s in the profile? [01:37:13] <Dark_Shikari> also put_no_rnd_pixels8_l2_c being at 4.5% is serious [01:38:00] <Yuvi> I did for the emu_edge_buffer, not qscale table [01:38:26] <Yuvi> the first % is self, second is total including sub functions [01:39:49] <Yuvi> and yeah, I haven't written dsp functions that don't need that branch, and don't really want to write asm versions of _l2 when they'll be replaced by them [01:40:10] <Dark_Shikari> the branch is nasty [01:40:24] <Dark_Shikari> unpredictable [01:41:17] <Dark_Shikari> ugh, it's hard to find things to optimize because you're changing so much of it [01:41:32] <Dark_Shikari> oh, a note about the loop filter [01:41:43] <Dark_Shikari> the loop filter code is called under if( y > 0 ) [01:41:51] <Dark_Shikari> therefore, I don't think we need the y > 0 check in the loopfilter [01:43:24] <Yuvi> (y>>3)-1 [01:44:00] <Yuvi> it's called on the previous row, so it needs the y>0 check outside so we don't call it on negative rows [01:44:04] <Dark_Shikari> oh, ew [01:45:47] <Dark_Shikari> hmm, I just realized that if you wanted to be an utter dick, you could do something trashy like this [01:45:54] <Dark_Shikari> have reference frame be the same thing as the current frame [01:46:14] <Dark_Shikari> and decode blocks in an order such that you never overwrite critical data [01:46:27] <Dark_Shikari> but the logic would probably not be worth it to save memory/cache [01:47:46] <Dark_Shikari> oh btw, what's the longest possible VLC code for a motion vector? [01:48:08] <ohsix> 42 sam hocevars [01:48:32] <Yuvi> how would that work / what would it gain? [01:48:42] <Yuvi> and 12 bits iirc, I'll check [01:49:05] <Dark_Shikari> it would save massive amounts of cache and memory. how would it work? now that I think about it, probably pretty badly [01:49:18] <Yuvi> nope 8 bits [01:49:36] <Dark_Shikari> can't we make the VLC reading function better then? [01:49:39] <Dark_Shikari> and do a direct table lookup? [01:49:59] <Dark_Shikari> motion_vector_table[show_bits(8)]; [01:50:32] <Yuvi> isn't that what get_vlc2 does if you change it to 8,1 instead of the current 6,2? [01:51:53] <Dark_Shikari> sorta but you can do better [01:51:59] <Dark_Shikari> if MIN_CACHE_BITS >= 16 [01:52:04] <Dark_Shikari> UPDATE_CACHE before reading the MV [01:52:08] <Dark_Shikari> and then SHOW_BITS(8) for the first MV [01:52:10] <Dark_Shikari> SKIP_BITS(8) [01:52:15] <Dark_Shikari> and SHOW_BITS(8) again for the second MV [01:52:27] <Dark_Shikari> this is what coreavc does for its entire cavlc code [01:52:32] <Dark_Shikari> and cabac [01:52:41] <Dark_Shikari> manual cache tracking to minimize update_cache calls [01:53:07] <Dark_Shikari> do all the bitstream readers have a MIN_CACHE_BITS of 16 or higher? [01:53:18] <Dark_Shikari> Yup they do [01:53:24] <Dark_Shikari> you're good then [01:53:57] <Dark_Shikari> also, coding_mode doesn't vary per frame, right? [01:54:02] <Dark_Shikari> you can get rid of that branch I think [01:54:40] <Dark_Shikari> i.e. merge them into the same thing, and specially construct the fixed table such that it works with a show_bits [01:54:54] <Dark_Shikari> unless the fixed mode is _common_ in which case it should probably be optimized [01:55:03] <Dark_Shikari> oh, and skip_bits(8) is obviously wrong, ignore that [01:55:42] <Dark_Shikari> this would make the VLC table bigger though. [01:55:49] <Dark_Shikari> I don't think we're lacking for cache though. [01:57:07] <Yuvi> well, the fixed mode is used if most MVs are longer than 4 pixels [01:58:25] <Yuvi> cache probably isn't too important given that only one type of data is decoded at once [01:58:58] <Dark_Shikari> true [01:59:08] <Dark_Shikari> how often is the fixed mode used in practice? [01:59:50] <Yuvi> dunno [02:03:35] <Dark_Shikari> could test it [02:11:16] * Dark_Shikari looks at unpack_vlcs [02:11:26] <Dark_Shikari> I think in general this could benefit a lot from larger VLC tables with fewer levels [02:12:43] <Yuvi> fixed is used from between 1/5 and 1/2 of the time depending on source ofc [02:21:48] <CIA-17> ffmpeg: michael * r21784 /trunk/libavcodec/h264_direct.c: [02:21:48] <CIA-17> ffmpeg: Pack MVs together from the begin for spatial direct, this simplifies the code [02:21:48] <CIA-17> ffmpeg: and is a bit faster (5-10 cpu cycles depending on what is meassured). [02:30:54] <Dark_Shikari> Yuvi: hmm. maybe the code could be templated? [02:31:17] <astrange> 19:35 <@Dark_Shikari> astrange: that encoder was xvid avc? <- it wrote XVID into a sei [02:31:35] <Dark_Shikari> astrange: or pascal just liked xvid =p [02:31:37] <astrange> it might have been a joke, i know skal did write his own h264 codec though [02:31:49] <astrange> it was on his old site [02:32:08] <astrange> er, the codec wasn't, but "i wrote one" was [02:35:06] <Dark_Shikari> yeah, templated code makes the most sense. [02:35:10] <Dark_Shikari> since it's run on the whole frame at a time [02:35:47] <Dark_Shikari> if (run_length == 4129) <--seriously needs a comment [02:48:30] <CIA-17> ffmpeg: michael * r21785 /trunk/libavcodec/h264_direct.c: [02:48:31] <CIA-17> ffmpeg: Special case for spatial direct MV predictor being 0. [02:48:31] <CIA-17> ffmpeg: a little less than 200 cpu cycles faster with the cathedral sample. [03:44:05] <CIA-17> ffmpeg: cehoyos * r21786 /trunk/libavcodec/libgsm.c: [03:44:05] <CIA-17> ffmpeg: Fix compilation with --enable-libgsm on Gentoo and OpenSUSE. [03:44:05] <CIA-17> ffmpeg: Patch by Ramiro [03:50:26] <CIA-17> ffmpeg: michael * r21787 /trunk/libavcodec/h264_direct.c: [03:50:26] <CIA-17> ffmpeg: Split spatial and temporal direct MV generation. [03:50:26] <CIA-17> ffmpeg: A little faster and needed for future optimizations. [03:50:26] <CIA-17> ffmpeg: This sadly leads to some code duplication (which i hope i can factor out [03:50:26] <CIA-17> ffmpeg: again after the optimizations on the direcr mv code are done) [03:59:35] <Yuvi> ...wow, unpack_vectors does four full traversals of the coded blocks for each 4mv macroblock [03:59:44] <Yuvi> I did not realize that [03:59:49] <Dark_Shikari> Yeah. That. [04:01:58] <Yuvi> (it doesn't in my tree, so it'll be fixed soon) [04:01:59] <Yuvi> but ugh [04:24:28] <Dark_Shikari> Yuvi: another idea is some loop unrolling or special casing in order to eliminate edge checks [04:24:35] <Dark_Shikari> or just setting up the arrays with edge buffers [04:24:47] <Dark_Shikari> reverse dc pred is a particularly good target for this [04:27:25] <Dark_Shikari> hmm. I wonder if there's a nice bitmath version of if( abs(x-y) > 128 ) taking advantage of the fact that 128 is a nice round number [04:30:26] <astrange> peloverde: some (all?) of the constant divides i noted are still there, could they not be made reciprocal multiplies? [04:33:09] <astrange> int f = abs(x-y)>128; is already branchless with a copy cr -> gpr instruction [04:33:16] <astrange> what's the if body? [04:33:37] <Dark_Shikari> if (FFABS(predicted_dc - vu) > 128) [04:33:37] <Dark_Shikari> predicted_dc = vu; [04:33:37] <Dark_Shikari> else if (FFABS(predicted_dc - vl) > 128) [04:33:37] <Dark_Shikari> predicted_dc = vl; [04:33:37] <Dark_Shikari> else if (FFABS(predicted_dc - vul) > 128) [04:33:40] <Dark_Shikari> predicted_dc = vul; [04:33:53] <Dark_Shikari> has to be done for basically every block [04:33:58] <Dark_Shikari> despite it triggering basically 0% of the time [04:34:02] <Dark_Shikari> thus, it annoys me [04:35:05] <astrange> predictably false is faster than branchless (maybe?), but three compares instead of one isn't great [04:35:20] <Dark_Shikari> but the checks themselves aren't very fast either [04:35:59] * Dark_Shikari checks the asm [04:42:20] <Yuvi> Dark_Shikari: yeah, haven't really looked at that quite yet [04:42:32] <Yuvi> the edges that is [04:42:58] <Yuvi> http://github.com/yuvi/ffmpeg/commit/01da0d178c3499f1ac6d87d644327a101f29b76... did some stuff to dc pred including only running those 3 checks for the 1 case they matter [04:43:19] <Yuvi> but which happens to be nearly every block for keyframes still [04:44:02] <Dark_Shikari> http://pastebin.com/m41ea818b [04:44:28] <Dark_Shikari> how much faster was that? [04:44:32] <Dark_Shikari> oh [04:44:34] <Dark_Shikari> I see... [04:44:46] <Dark_Shikari> btw, for reference, transform == 15 is by far the most common case [04:44:48] <Dark_Shikari> I did statistics on this [04:45:22] <Dark_Shikari> which is why the switch isn't too useful [04:47:00] <Yuvi> makes sense [04:47:11] <Dark_Shikari> oh, another thing [04:47:15] <Dark_Shikari> if we keep the current system [04:47:16] <Dark_Shikari> we could do [04:47:20] <Dark_Shikari> if( predictor_transform[transform][3] == 116 ) [04:47:29] <Dark_Shikari> it's already in a register from before, and simplifies the logic [04:47:47] <Dark_Shikari> btw, for reference, are we allowed to commit trivial optimizations to vp3 without discussion as long as we bench it? [04:48:07] <astrange> ask mike [04:48:21] <Dark_Shikari> ok [04:48:27] <astrange> btw gcc assumes if (x == y) is untaken [04:48:41] <astrange> i don't think that affects many things though [04:48:59] <Dark_Shikari> interesting. [04:49:54] <Yuvi> mike didn't say anything when michael suggested I just commit directly [04:50:22] <astrange> http://gcc.gnu.org/viewcvs/trunk/gcc/predict.def?revision=154645&view=markup [04:50:33] <Yuvi> but I guess I'll send my next set since there isn't really any speed improvement, just -100 LOC and less memory usage [04:51:38] <Yuvi> gnu commit messages... [04:52:17] <astrange> i looked for an anchor to skip it but didn't see one [04:52:41] <Dark_Shikari> hmm crap, I need a vp3/theora sample to test on again [04:52:48] <astrange> they're nice sometimes if you don't have log --stat [04:52:52] <Dark_Shikari> oh nvm, got one [04:53:52] <Yuvi> btw, tell me if you get a speedup with http://pastebin.com/m27da8328 [04:54:00] <astrange> huh, i was going to write an "enable malloc_aligned" patch for configure but it's already there [04:54:41] <Dark_Shikari> Yuvi: overall benchmarks are hard [04:54:45] <Dark_Shikari> any function you want me to test? [04:55:05] <Dark_Shikari> I'm not exactly on a system that gives stable results for large benchmarks [04:55:36] <Dark_Shikari> but even getting rid of all those stupid bad macroblock number messages is a good idea [04:55:53] <Dark_Shikari> and I like the patch [04:57:42] <Yuvi> unpack_modes/vectors I guess, but I was more interested in overall speedup [04:57:56] <Yuvi> guess I'll see if it helps on arm [05:01:35] <Dark_Shikari> hmm. I wonder how useful making keyframes long term refs would be in x264 [05:01:41] <Dark_Shikari> isn't the golden frame just the last keyframe? [05:01:48] <Yuvi> yeah [05:01:59] <Dark_Shikari> what's GOLDEN_MV vs USING_GOLDEN? [05:02:10] <Yuvi> latter impies 0,0 [05:11:21] <Dark_Shikari> hmm, I should go back through michael's optimizations and backport the relevant ones to x264 [05:11:25] <Dark_Shikari> I really like his 0,0 spatial direct one [05:11:29] <Dark_Shikari> I never thought of that before. [05:12:13] <astrange> splitting temporal and spatial up is nice. but now i have to wait until it's done again before i can merge into -mt [05:12:44] <astrange> and the theora changes probably broke that too. luckily draw_horiz_band does the same thing as what it broke so it can just go in there [05:16:36] * Dark_Shikari commits backport of mv0 spatial change [05:30:40] <Dark_Shikari> Yuvi: see my email [05:32:33] <Yuvi> I guess I should add a sample that uses multiple quants to what I check [05:33:26] <Dark_Shikari> good idea [05:45:30] <Dark_Shikari> looking through all of michael's changes, it's scary how much stuff there is [05:46:16] <Dark_Shikari> what does flatten attribute do? [05:46:33] <Yuvi> inlines everything it can that that function calls [05:46:42] <Dark_Shikari> ah, interesting [05:46:48] <Dark_Shikari> so it offers a way to inline from the opposite perspective [05:46:54] <Dark_Shikari> that might be useful. [05:46:59] <Dark_Shikari> do any other compilers support it? [05:47:04] <Yuvi> llvm doesn't [05:47:07] <Dark_Shikari> icc? [05:47:14] <astrange> llvm doesn't and tends to inline in the wrong direction too [05:47:17] <Dark_Shikari> lol [05:47:20] <astrange> didn't check icc [05:47:32] <Yuvi> http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-June/072008.html doesn't look like it [05:47:33] <astrange> llvm inlines get_cabac_residual*dc back into one get_cabac_residual somehow [05:47:56] <astrange> i'll send an always_inline patch for that in a sec [06:33:56] <pJok> mornings [06:34:13] <kshishkov> goda morgnar [07:31:19] <_av500_> gm [07:32:06] <kshishkov> wyaat? [07:39:10] <astrange> 4.2%1447 memset(h->non_zero_count[mb_xy], 0, 32); [07:39:20] <astrange> hmm, that should be zero128 * 2 [07:40:03] <astrange> gcc 4.2 generates rep stosw instead [08:43:23] <siretart> Dark_Shikari: okay, now that I have tested that your proposed libx264.c works with x264 in ubuntu, can you please suggest me a newer git revision that you would think would be fit for the next ubuntu release? [08:50:30] <Dark_Shikari> what architectures will the release be on? [08:52:07] <Dark_Shikari> siretart: ? [08:57:10] <Dark_Shikari> and what's the deadline [09:07:57] <siretart> Dark_Shikari: http://wiki.ubuntu.com/ReleaseSchedule, at 'FeatureFreeze' the new version must have arrived the archive. [09:08:27] <siretart> Dark_Shikari: as for architectures, the most important are i386, amd64, and armel [09:08:55] <Dark_Shikari> armel? [09:08:56] <Dark_Shikari> what's arm el [09:09:06] <kshishkov> ARM little-endian [09:09:11] <siretart> arm with EABI and little endian. aka 'the new arm port' [09:09:27] <Dark_Shikari> oh, so you're saying I have to pick a version from before dec. 3? [09:10:03] <siretart> no, I'm saying the new version must be in the archive before next thursday [09:10:08] <Dark_Shikari> Oh [09:10:14] <Dark_Shikari> whoops, was looking in the wrong place [09:10:23] <Dark_Shikari> ok, we have an arm compile fix locally [09:10:27] <Dark_Shikari> currently arm compilation is broken [09:10:57] <Dark_Shikari> possible plan: [09:11:00] <siretart> and I'll be on a buisness trip from next wednesday to friday with probably limited internet connection [09:11:02] <Dark_Shikari> 1) feature freeze today [09:11:05] <Dark_Shikari> 2) get commits in this weekend [09:11:14] <Dark_Shikari> 3) give until tues/wed for any reported bugs [09:11:18] <Dark_Shikari> 4) upload that [09:11:29] <Dark_Shikari> of course this depends on whether pengvado shows up [09:11:37] <Dark_Shikari> I have a number of "potentially stable" revisions sitting around to pick from if he doesn't [09:11:44] <siretart> okay, that sounds reasonable. [09:11:47] <Dark_Shikari> and of course we could pick 1416 and backport the single arm fix if necessary [09:11:57] <siretart> btw, feature freeze doesn't mean that we cannot update the package anymore [09:12:12] <siretart> it is rather a syncronisation point for 'no radical changes from this point on' [09:12:18] <Dark_Shikari> ah ok [09:12:23] <Dark_Shikari> so we can still add minor fixes/etc [09:12:40] <siretart> sure [09:12:53] <Dark_Shikari> ah k. [09:14:49] <siretart> this means for me that I can just package current x264 tip and test your patch against that, is that correct? [09:14:55] <Dark_Shikari> yes. [09:15:02] <Dark_Shikari> we have no API changes planned in the near future [09:15:09] <Dark_Shikari> well, we have one locally, but nothing ffmpeg will use [09:15:10] <siretart> ok, that's what I need to know [09:15:15] <Dark_Shikari> nor does it change ABI [09:15:25] <Dark_Shikari> it just changes the capabilities of encoder_reconfig [09:15:29] <Dark_Shikari> so it's sort of a "free API change" [09:15:34] <siretart> I see that I find some time for that tonight [09:15:38] <Dark_Shikari> great [09:16:09] * thresh raises a letter plate saying 'fix arm already' [09:16:49] <Yuvi> l;o [09:17:00] <Dark_Shikari> thresh: do you want the patch? [09:17:03] <Dark_Shikari> pengvado is afk and it's annoying [09:17:35] <thresh> Dark_Shikari: i have a hack locally that worksforme (tm), so it wouldnt really change anything [09:17:45] <Dark_Shikari> k [09:19:58] <Dark_Shikari> just tell pengvado to stop disappearing randomely [09:20:04] <Dark_Shikari> or find us another BDFL [09:20:34] <kshishkov> you can always steal fenrir back ;) [09:20:44] <Dark_Shikari> that would require money [09:20:50] <Dark_Shikari> like, enough to outbid ateme [09:21:35] <kshishkov> can't you give him say 50% of your overall x264 profit? [09:22:33] <Dark_Shikari> lol [09:22:38] <Dark_Shikari> iirc the allocation is like 15% [09:29:51] <kshishkov> still, offer him CEO position, 25% shares [09:30:54] <Dark_Shikari> he hasn't done anything in 5 years [09:30:54] <Dark_Shikari> -.- [09:31:13] <kshishkov> maybe it's _your_ fault? [09:31:17] <Dark_Shikari> lol [09:31:23] <Dark_Shikari> because I was totally on the project 5 years ago ;) [09:31:29] <Dark_Shikari> (more likely, it's ateme's fault ;) ) [09:39:43] <thresh> Dark_Shikari: why do you need someone to control your patches? [09:39:57] <thresh> usually angry users with failing compiles and / or encodes do that :-) [09:42:48] <Dark_Shikari> thresh: the way we keep code quality is simple [09:42:53] <Dark_Shikari> _ALL_ changes are reviewed by both me and pengvado [09:42:56] <Dark_Shikari> no matter who wrote them [09:43:06] <Dark_Shikari> though nowadays we're adding to that, usually bugmaster reviews too. [09:43:16] <Dark_Shikari> and sometimes yuvi, kierank, and/or kemuri9. [09:43:26] <Dark_Shikari> but the main restriction is that both of the lead devs should review the code. [09:43:39] <Dark_Shikari> and I don't like violating that, it's bad form [09:43:44] <Dark_Shikari> and bad for code quality [09:44:38] <thresh> okay, maybe there should be a 'closing window' for that [09:45:45] <thresh> i mean if someone is absent and the review was done by other team members, commit those anyway [09:46:06] <thresh> but you know better, i'm sure [09:47:17] <Dark_Shikari> just from experience, everyone always has at least one thing they want changed [09:47:22] <Dark_Shikari> and in a large set of patches, it's usually more than one [09:47:33] <Dark_Shikari> so if you don't wait for them, you end up committing a fix afterwards anyways [10:37:17] <astrange> /home/fate/fate64/source/libavcodec/h264_direct.c:441:11: warning: incompatible pointer types assigning 'int16_t (*)[2]', expected 'int16_t const (*)[2]' [10:37:21] <astrange> l1mv1 = &h->ref_list[1][0].motion_val[1][h->mb2b_xy [mb_xy]]; [10:37:29] <astrange> is there a point to this warning? [10:45:28] <pJok> it expected a const rather than a non-const [10:48:09] <astrange> other way round [11:15:06] <kshishkov> pross-au: can you send me your BIKb decoder in exchange for your name in libavcodec/bink.c ? [11:17:31] <pross-au> wilco [11:18:28] <Dark_Shikari> roger [11:18:59] * kshishkov remembers Space Quest series immediately [11:19:13] <kshishkov> thanks [11:22:57] <neo01124> can someone tell me some starting points for creating/porting a demuxer for the sony playstation portable format PMP [11:22:59] <neo01124> ? [11:23:35] <kshishkov> google.com was always a good starting point for anything [11:24:38] <kshishkov> it says "skip 124 bytes of PSP metadata and decode it as an ordinary JPEG" [11:24:46] <andoma> anyone know anything about a FFmpeg implementation of WMA lossless? [11:25:10] <kshishkov> andoma: well, unless jai does it, we've BBB to do it [11:25:25] <kshishkov> andoma: also Mike showed some interest but that's all [11:26:26] <andoma> hm ok .. i see [11:26:30] <andoma> i was just curious [11:29:16] <neo01124> kshishkov: could you give me the link for that [11:30:14] <Dark_Shikari> www.google.com [11:30:19] <kshishkov> neo01124: here, first link from Google search on "PMP format" - www.klingebiel.com/tempest/hd/pmp.html [11:36:32] <neo01124> kshishkov: i was asking about the playstation portable pmp format, that is some sony camera format [12:15:57] <DonDiego> neo01124: look at other simple demuxers, check out the multimedia wiki [12:16:04] <DonDiego> and the developer documentation [14:10:42] <DonDiego> what is libaacplus? [14:10:59] <DonDiego> i stumbled across a libaacplus glue patch for ffmpeg [14:11:21] <kshishkov> reference 3GPP encoder glued to FFmpeg [14:11:55] <kshishkov> http://tipok.org.ua/node/17 [14:12:03] <mru> DonDiego: did that nellymoser guy go silent? [14:12:22] <kshishkov> (it's like a doorstop since everybody stumbled on it) [14:13:24] <tipok> ? [14:14:02] <DonDiego> mru: yes [14:14:30] <tipok> it's encoder only [14:15:02] <kshishkov> yes, but its license prevents from using it in FFmpeg [14:15:29] <tipok> hmm... it's better than nothing [14:15:50] <kshishkov> yes, it the same way as it was with AMR [14:19:20] <twnqx> what i never was sure abou [14:19:20] <twnqx> t [14:19:46] <twnqx> is using dlopen() and friends to runtime use a library the same as linking against it, licensewise? [14:20:34] <kshishkov> how much are you going to pay? [14:20:43] <twnqx> lol [14:20:48] <twnqx> i don't care enough :> [14:20:55] <thresh> you're allowed to do that [14:20:59] <thresh> IIRC [14:21:30] <kshishkov> if you are not, just tip any cop around and do it anyway [14:21:45] <twnqx> i have no intention to write a program at the moment [14:21:48] <twnqx> i just wondered. [14:22:09] <twnqx> i thought among the lines of "if the program really requires it to do anything it surely would violate the liecense, otherwise... maybe. [14:22:11] <DonDiego> twnqx: yes, it's the same, why would there be a difference [14:22:41] <kshishkov> manual dynamic linking [14:23:46] <DonDiego> the license does not care about the type of linking [14:24:01] <kshishkov> neither do I [14:24:17] <DonDiego> people keep thinking that because there is a technical difference there must be a legal difference [14:24:22] <DonDiego> this is not the case [14:24:45] <DonDiego> the law is not aligned along the same boundaries as C code [14:24:55] <twnqx> i thought the difference is "must be there" or "the user can place it there" [14:25:20] <mru> dlopen can make a difference if there are multiple libs with the same interface but different licences [14:25:30] <twnqx> as in "if the user puts the amr liberaries there we can use it, but we don't need them" [14:25:41] <DonDiego> yes [14:25:51] <DonDiego> but the difference is not the technical interface [14:25:59] <DonDiego> the difference is that in one case you ship the libs [14:26:03] <DonDiego> in the other you don't [14:26:04] <twnqx> true, but you can't to that with static linking [14:26:18] <DonDiego> but do you see the difference? [14:26:28] <twnqx> ig it's about shipping, yes [14:26:30] <twnqx> if* [14:26:36] <twnqx> but i was thinking of GPL impact, e.g. [14:27:27] <twnqx> i mean, as e.g. ffdshow enables the use of GPL'd code on windows, used by closed source players... [14:27:47] <kshishkov> DonDiego: tainted Linux kernel serves an example [14:32:24] <DonDiego> dshow is a system interface that passes data on to codec implementations that may be free or proprietary [14:32:31] <DonDiego> how would the calling application know? [14:32:45] <DonDiego> the calling app is not derived from the gpl codec code [14:35:05] * justlooking notices theres 24 patches in x264dev that look interesting once they pass review peloverde [14:37:02] * justlooking opps wrong window [16:37:22] <DonDiego> mru: why ifdef CONFIG_MPEGAUDIO_HP [16:37:26] <DonDiego> and not ifeq? [16:37:32] <DonDiego> in libavcodec/Makefile [16:37:48] <kshishkov> maybe because nobody has canged code for it? [16:37:51] <kshishkov> *changed [16:39:38] <mru> DonDiego: ifdef is correct [16:40:21] <mru> ifeq ($(FOO),) is ugly [16:41:00] <kshishkov> had anybody read MN mail to MPlayer-dev-eng ML about binary codec support in FFmpeg? [16:41:29] <DonDiego> oops [16:41:35] <DonDiego> what happened there? [16:41:39] <mru> kshishkov: that's been out of the question forever [16:42:00] <kshishkov> mru: and if I read it correctly, he is in favor of adding it [16:42:16] <mru> well, I'm not [16:42:25] <mru> it doesn't belong there [16:43:02] <kshishkov> yes, it seems to be counterproductive [16:43:11] <kshishkov> yet it's strange to see that message at all [16:44:21] <mru> subject? [16:45:34] <kshishkov> http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2010-February/063622.htm... [16:46:33] <mru> ffmpeg is not supposed to be the one wrapper to use them all [16:47:53] <Compn> yes, but thats what ffmpeg has become [16:48:07] <Compn> and we know people like the unified api that ffmpeg gives to x264/xvid/faac/etc [16:48:23] <kshishkov> it does not permit knowlingly lowsy code to be executed though [16:49:07] <mru> I'm all for dropping the xvid wrapper [16:49:21] <Compn> seems like an anti-user opinion [16:49:26] <mru> ffmpeg policy has always been to wrap only clean libs [16:49:27] <kshishkov> you don't like redundancy? [16:49:32] <mru> and then only when no native support exists [16:49:33] <Compn> kshishkov: think of it as using binary codecs for testing (which is what you do now, just with mplayer..) [16:50:07] <kshishkov> Compn: too bad avidemux is dead [16:50:29] <kshishkov> mru: but in that case lavc encoder is also better [16:53:56] <Honoome> kshishkov: don't name avidemux again when I'm around please :P [16:55:03] <kshishkov> Honoome: why? [16:55:21] <Honoome> had a bad experience with the author… [16:55:38] <kshishkov> ah, understood [16:55:42] <astrange> lavc is better at slower settings, i don't know if it's better at xvid speeds [16:56:07] <kshishkov> more feature-complete too [16:56:11] <astrange> maybe just because i could never figure out good settings for that, it needs an AI preset generator [16:56:14] <Honoome> basically when I first joined Gentoo I was looking at fixing the bundled-libs issues with it… so I rewrote the configure to have switches to disable stuff [16:56:35] <Honoome> sent upstream… he merged part of it and broke the rest… re-did the patch from scratch on the new version… again only partly merged and broke the rest =_= [16:57:00] <mru> reminds me of broadcom [16:59:04] <Honoome> with the crystalhd stuff? [16:59:28] <mru> no [16:59:43] <mru> with their stb chips [17:00:06] <Honoome> oh, okay… sorry but my last contact with broadcom has been at the time of the iBook g4 :P [17:13:52] * elenril wonders if he should try gsoc this year [17:14:14] <kshishkov> do we have GSoC tasks on metadata? [17:14:34] <elenril> no, but we can make some :) [17:15:01] <elenril> and i'm not just meta guy [17:22:46] <kshishkov> well, what are your other achievements? [17:23:40] <elenril> a failed matroska ordered chapters patch ;) [17:24:51] <elenril> normal chapters for matroska [17:45:46] <Honoome> elenril: you name matroska and chapters and beandog appears :P [17:45:57] <beandog> whut? [17:45:59] <beandog> whatd I miss [17:46:15] <Honoome> nothing really, just poking fun :) [17:47:01] <beandog> Aww [17:47:08] * elenril doesn't see the connection [17:47:20] <kshishkov> let's see [17:47:21] <beandog> chapters are good for you [17:47:24] <Honoome> elenril: I remember beandog fighting hard about matroska chapters before :P [17:47:33] <beandog> Ah, si [17:47:56] <beandog> and metadata [17:48:15] <Kovensky> ordered chapters where =p [17:49:37] <elenril> Kovensky: repo.or.cz/mplayer =p [19:27:58] <lu_zero> .... [19:28:18] <lu_zero> seems that their service got updated in a quite annoying way... [19:29:32] <Honoome> lu_zero: their as in Freenode's? [19:29:46] <lu_zero> yes... [19:29:53] <Honoome> lu_zero: are you sure it's not tiscali? :P [19:30:00] <lu_zero> yes I am. [19:30:08] <lu_zero> I'm in too many channels [19:54:47] <DonDiego> Yuvi: i see you started merging your theora branch :) [19:54:55] <DonDiego> Yuvi: or is this something else? [21:01:05] <elenril> J_Darnley: why did you add those two mappings to vorbiscomment conv table? [21:04:35] <J_Darnley> date-year because the vorbiscomment docs suggest date [21:05:07] <elenril> and the corresponding generic tag also happens to be date [21:05:13] <elenril> so no conversion is necessary [21:05:17] <elenril> same for artist [21:05:41] <J_Darnley> But if I use -metadata year=1982 nothing is converted [21:06:05] <elenril> because you're not supposed to use year [21:06:22] <J_Darnley> That won't stop people [21:06:23] <elenril> we don't have a year tag anymore [21:06:28] <elenril> blame bcoudrier [21:06:45] <elenril> i wanted to add a compatibility layer, but he didn't [21:07:11] <J_Darnley> And I did author-artist because sources seem to be conflicted about what to use [21:07:18] <Yuvi> DonDiego: yep [21:07:20] <elenril> huh? [21:07:21] <elenril> where [21:07:38] <J_Darnley> avformat.h and metadata_compat.c [21:08:05] <elenril> metadata_compat is legacy stuff [21:08:09] <J_Darnley> oh [21:08:23] <J_Darnley> (why is it still there) [21:08:26] <elenril> it will be removed on next lavf major bump [21:08:30] <elenril> for compatibility [21:08:34] <elenril> (as the name suggests =p ) [21:09:16] <J_Darnley> I will use that argument too, "it's for compatibility" [21:10:06] <elenril> adding the date<->year mapping would convert all 'date' tag demuxed from ogg files into 'year' generic tags [21:10:15] <elenril> but there is no year generic tag anymore [21:11:31] <elenril> s/anymore// [21:13:41] <J_Darnley> oh, that is a problem [21:16:17] <elenril> feel free to send a patch adding a compatibility layer if you think it's needed [21:16:39] * elenril doesn't feel like arguing with Baptiste over this [21:19:20] <J_Darnley> Is anything printed if sonone uses a not-recommended key? [21:19:25] <J_Darnley> *someone [21:19:57] <J_Darnley> Or will anything be printed? [21:20:05] <elenril> no [21:20:16] <elenril> all keys that aren't mapped to anything will be left as is [21:24:20] <DonDiego> Yuvi: is it merged completely already? [21:24:58] <Yuvi> DonDiego: nope, still a lot left [21:29:43] <DonDiego> do you have an eta? [21:36:19] <Yuvi> probably a week or two before most of it's merged [21:37:54] <DonDiego> excellent, so we will have it for 0.6 [21:38:01] <DonDiego> "works with html 5" :) [21:42:40] <Honoome> somebody got to send me the files of the design so I can get one shirt with that myself :P [21:42:52] <DonDiego> Yuvi: did you run any benchmarks with your latest version? [21:42:55] <DonDiego> Honoome: ask mru [21:43:03] <_av500_> mru might have some left... [21:43:21] <Yuvi> DonDiego: http://pastebin.com/m3916b277 [21:43:30] <Yuvi> that's BBB 1080p [21:43:55] <elenril> nice [21:47:31] <DonDiego> Yuvi: cool, that's considerably faster... [21:47:35] <DonDiego> congrats [21:51:37] <_av500_> so theora is good for html5 after all.. :) [21:52:32] <DonDiego> gnite [21:58:20] <iive> Yuvi: do you have blog? [22:10:36] <peloverde> Has anyone ever tried to patch gecko to use ffmpeg? [22:11:49] <ShadowJK> they're working on gstreamer I think.. [22:13:00] <peloverde> But gstreamer refuses to talk to our aac decoder and probably our theora decoder as well [22:16:26] <iive> are they really doing it? [22:18:31] <ShadowJK> https://bugzilla.mozilla.org/show_bug.cgi?id=422540 [22:19:36] <peloverde> wow blizzard seemed to be way against such ideas at FOSDEM [22:21:39] <Dark_Shikari> they will probably just make it only work with theora [22:23:36] <peloverde> They seem to be pushing fluendo h.264 [22:23:46] <peloverde> why do all these people like fluendo so much? [22:24:29] <Honoome> 'cause they have good PR? :P [22:24:54] <Dark_Shikari> peloverde: because they are pro-proprietary software [22:24:56] <Dark_Shikari> and anti-open source [22:25:06] <Dark_Shikari> and they have commandeered the "free software" movement to push proprietary solutions [22:26:03] <Honoome> Dark_Shikari: which is kinda silly … if it's a Free license it's bad because patented, but if it's a proprietary license, it's okay o_O [22:26:12] <Dark_Shikari> they don't care about patents [22:26:17] <Dark_Shikari> they're all about subverting free software [22:26:31] <Dark_Shikari> and promoting proprietary binary blobs on linux is a good way to do it. [22:26:51] <Honoome> Dark_Shikari: I meant the stance that a lot of zealots seem to take nowaday [22:26:52] <Dark_Shikari> moreso, they're also anti-ffmpeg [22:26:56] <Dark_Shikari> Honoome: yes, that's the point [22:27:00] <Dark_Shikari> the zealots are anti-free-software [22:27:03] <Dark_Shikari> they're pro-whatever-they-like [22:27:36] <Honoome> Dark_Shikari: I actually meant the same zealots that send me shit because I happen to like Mono [22:27:53] <Dark_Shikari> yes, mono is free software [22:28:38] <Dark_Shikari> the zealots would rather you use microsoft .net than mono. [22:30:05] <iive> actually i think RMS should have allowed distribution with patents and mandate that each user obtain license on its own. [22:30:22] <Dark_Shikari> that's how it already is [22:30:29] <Dark_Shikari> SFLC agrees [22:30:31] <Dark_Shikari> don't bother them about it [22:30:32] <Honoome> Dark_Shikari: actually, they'd rather use Flash than Mono :P [22:30:49] <Dark_Shikari> the zealots prefer microsoft .net to mono [22:30:51] <Dark_Shikari> Flash to Gnash [22:30:54] <iive> no, it's not mandated. [22:30:57] <Dark_Shikari> Silverlight to Moonlight [22:31:12] <Dark_Shikari> they are quite simply anti-free-software [22:31:20] <Honoome> I talk of different zealots here ;) [22:31:27] <Dark_Shikari> no, they're the same. [22:31:28] <iive> the point is, when all people start paying to some other people, they would start asking question, why i should pay them? [22:31:50] <Honoome> iive: “to have something better” is the answer they give themselves… [22:32:09] <Honoome> now of course… _sometimes_ that's true (*cough* openoffice sucks big time *cough*) [22:34:12] <iive> well, my point is to make visible the hidden cost of patents. [22:34:48] <iive> and let people think of patents not in term of how profitable it is, but how much they cost them. [22:35:24] <iive> on the other hand... nobody thinks this way for health insurance... so it may be bad plan. [22:36:33] <Honoome> iive: depends in which part of the world you live of course :D [22:50:23] <Yuvi> iive: no, I keep meaning to start one maybe sometime in the future [22:51:24] <iive> Yuvi: i've been urging people around to describe all theora shortcommings. So far I got only one big list with short descriptions. [22:52:21] * Honoome should really try to find the time to set up a Planet Multimedia or something >_< [22:52:42] <iive> Explaining this so people could understand it... entirely different task. And I'd be happy if I could not mess with theora. [22:53:51] <iive> My point. You can make description of all problems you had to solve in order to make theora faster. [22:54:55] <iive> And it would be good read, even if it doesn't try to smash theora into the dust. [22:56:00] <iive> usually it is better to don't have any smashing. [22:58:25] <peloverde> Not all the problems with theora are speed related [23:09:53] <iive> peloverde: i know
participants (1)
-
irc@mansr.com