[FFmpeg-devel-irc] IRC log for 2010-09-06
irc at mansr.com
irc at mansr.com
Tue Sep 7 02:00:32 CEST 2010
[00:05:05] <CIA-11> ffmpeg: stefano * r25046 /trunk/libavutil/cpu.h: Fix typo.
[00:05:05] <CIA-11> ffmpeg: stefano * r25047 /trunk/libavutil/cpu.h: Sort AV_CPU_FLAG* by value.
[00:41:20] <lu_zero> pentanol: tell me more
[00:41:44] <lu_zero> btw ffserver isn't working as the ffserver.conf says
[01:09:37] <pentanol> lu_zero I see, I do rtp client side in my app
[01:09:51] <pentanol> oops, not client, receiver side
[01:12:07] <lu_zero> ah
[01:12:42] <lu_zero> keep in mind that the udp support might not work as you expect
[02:00:12] <lu_zero> hi BBB
[02:00:18] <BBB> hello
[02:34:34] <_av500_> gm
[02:36:03] <funman> buona matina
[02:40:26] <lu_zero> bonjour
[06:07:36] <KotH> hoi zäme
[06:07:50] <kshishkov> shalom
[06:10:20] <_av500_> kshishkov: you still up north?
[06:11:06] <kshishkov> _av500_: no, it's you still down south
[06:14:19] <_av500_> he, i mamoving a tad north right now
[06:14:41] <_av500_> +spelling -typos
[06:14:59] <kshishkov> to Frankfurt?
[06:15:05] <_av500_> to the swamp
[06:15:16] <kshishkov> my condolescences
[06:15:31] <_av500_> one day i will manage
[06:15:36] <_av500_> +,
[06:16:21] <kshishkov> ah, you've managed more at LT ;)
[06:17:06] <_av500_> yes
[06:17:46] <Dark_Shikari> RAMIRO IS AWESOME
[06:17:50] <Dark_Shikari> [FFmpeg-devel] [PATCH] rgb2rgb: build SSE2 codepath
[06:17:56] <Dark_Shikari> finally. after all these years.
[06:18:33] <kshishkov> meh, making swscaler touchable by mru would be real accomplishment
[06:18:51] <Dark_Shikari> he seems to be working on that
[06:18:51] <Dark_Shikari> he's splitting it up, etc
[06:18:51] <pJok> god morgoon
[06:18:51] <Dark_Shikari> really, it wouldn't be that hard to do that
[06:18:52] <pJok> -o
[06:18:54] <Dark_Shikari> all you have to do is localized the stupid
[06:19:00] <Dark_Shikari> i.e. put all the bad design in a file that asmers don't have to touch
[06:19:33] <kshishkov> pJok: goda morgnar
[06:19:53] <pJok> back in germany again?
[06:20:05] <kshishkov> nej
[06:24:46] <pJok> so still hiding out in helsingborg?
[06:24:58] <thresh> moroning
[06:25:34] <kshishkov> pJok: I've been in Stockholm for three days now
[06:26:07] <kshishkov> and Helsinborg was just a small addition to Lund
[06:26:53] <pJok> ah
[06:27:11] <pJok> so a nice roundtrip?
[06:27:16] <kshishkov> yes
[06:28:03] <kshishkov> Uppsala-Sundsvall-Luleå-Malmö-Lund-Stockholm
[06:28:58] <pJok> quite a large roundtrip ;)
[06:29:32] <kshishkov> I tried :)
[06:29:51] <pJok> esecpially Luleå-Malmö
[06:30:28] <kshishkov> hela dygn på sittplats
[06:30:44] <pJok> >_<
[06:31:36] * kshishkov wonders why bus Luleå-Sundsvall didn't have WiFi
[06:32:16] <pJok> they are getting wifi on more and more busses now
[06:32:50] <kshishkov> yes, Sundsvall-LÃ¥ngsele bus had it
[06:34:10] <pJok> which probably is quite nice since 3G coverage outside the bigger cities is quite random, especially when you get further north
[06:34:59] <_av500_> and the bus has satelite uplink?
[06:35:09] <_av500_> or pringle antenna?
[06:35:21] <pJok> probably just better antennas
[06:35:36] <funman> the bus has wired ethernet
[06:35:40] <pJok> would be surprised if they had satellite upling
[06:35:44] <pJok> uplink*
[06:36:09] <_av500_> funman: and i thought the thing on the roof was for powering it :)
[06:36:31] <kshishkov> _av500_: and looks like that even sitting 2nd class carriages her now have power outlets - one per seat
[06:36:52] * _av500_ has powr too
[06:38:12] <kshishkov> _av500_: unlike, say, two per six seats in 1st class DB intercity
[06:38:41] <pJok> öresundstrains just lack a passive amplifier
[06:38:52] <pJok> for cellphone signals
[06:38:58] <kshishkov> _av500_: and zero in 2nd class.
[06:39:02] <pJok> then it would be a breeze to actually use internet
[06:39:23] <_av500_> kshishkov: 4 per 6 here
[06:39:45] <_av500_> intercity? they still exist?
[06:39:48] <kshishkov> _av500_: here is where?
[06:39:55] <_av500_> ice
[06:39:58] <_av500_> to swamp
[06:40:22] <kshishkov> there are a lot of IC trains, I've travelled by them too
[06:40:31] <mru> morning
[06:40:47] <kshishkov> god morgon
[06:42:03] <kshishkov> _av500_: BTW, what class of ICE second one still has one power outlet per two seats
[06:44:39] <_av500_> 1st
[06:44:41] <pJok> öresundstrains have one outlet pr 4 seats
[06:45:02] <_av500_> dunno about 2nd
[06:45:12] <_av500_> 2nd has power where tables are iirc
[06:45:13] <mru> pJok: and how long do you spend on the train?
[06:45:31] <mru> +time
[06:45:35] <pJok> mru, about 1 hour and 20 minutes each direction
[06:46:19] <_av500_> so you can charge a 12v car batery to take back home?
[06:46:23] <kshishkov> waiting for Citytunnel, eh?
[06:46:24] <_av500_> +t
[06:46:35] <mru> pJok: my battery lasts longer than that
[06:46:40] <pJok> so does mine
[06:47:40] <pJok> kshishkov, always... that should give me about 10-15 minutes less travel time, depending on how long they chose to keep the train on the station, because right now they have it on the station for about 15 minutes
[06:48:26] <kshishkov> which station? If Malmö then it's just partially because of that works and congested tracks
[07:18:45] <KotH> does anyone know what this netlog shit is?
[07:22:03] <cartman> ehlo *
[07:24:42] <pJok> kshishkov, its malmö, but its not just because of gongestion, its also because its an end station where trains have to wait for incoming trains to get out of the station again
[07:25:59] <kshishkov> yes, that's congestion
[07:26:14] <kshishkov> and also only tracks 8-12 IIRC are available
[07:26:38] <kshishkov> it's fun waiting in the middle of nowhere too
[07:27:21] <pJok> kshishkov, it was like that before they closed half the station ;)
[07:27:45] <pJok> right now there's only one track in and out
[07:28:28] <kshishkov> well, it should be better with citytunnel - less trains returning by the same tracks at least
[07:29:25] <kshishkov> pJok: BTW, when this all-Sweden disaster is over?
[07:33:08] <mru> kshishkov: what disaster? the election?
[07:33:21] <kshishkov> of course! what else?
[07:33:24] <mru> that's next weekend iirc
[07:33:44] <kshishkov> the only time I can proudly say "jag är inte svensk"
[07:34:03] <mru> elections are the same shit in all "democratic" countries
[07:36:45] <pJok> kshishkov, still some time to go
[07:37:05] <pJok> kshishkov, so far SD has made a "funny" election video that TV4 refused to air
[07:37:48] * kshishkov had enough fun with Ukrainian elections, though current president is still funny
[07:38:00] <superdump> i think there was/will be allsång mot alliansen
[07:38:20] <mru> pJok: SD isn't all that unreasonable
[07:38:22] <merbzt> kshishkov: still in the south ?
[07:38:35] <superdump> yeah, it was yesterday
[07:38:39] <mru> if you want real nationalists, look at the BNP in britain
[07:39:15] <superdump> mmm
[07:39:31] <mru> or NSF in sweden if they still exist
[07:39:36] <kshishkov> merbzt: no, I'm the heart of Svealand
[07:39:50] <mru> missing an "in" there?
[07:39:59] <kshishkov> yes
[07:40:08] <mru> 'cause even if we like you, I think that's pushing your luck...
[07:40:09] <kshishkov> or "at"
[07:40:47] <kshishkov> s/pushing your luck/grave offence to the country/
[07:40:55] <merbzt> kshishkov: I'm free for adventure tuesday and friday
[07:41:10] <merbzt> evenening
[07:41:26] <superdump> wow
[07:41:35] <superdump> voter turnout is soooooooo much higher in sweden than the uk
[07:41:57] <kshishkov> merbzt: me too
[07:42:09] <mru> superdump: that's irrelevant when the choices are equally poor
[07:42:25] <vipw> the trick is to do it like australia, where it's compulsory
[07:42:26] <mru> so I'd say the brits are the clever ones there
[07:42:33] <kshishkov> merbzt: now gather the rest of action team and go for the quest of Holy Grail^W^W^W
[07:42:47] * kshishkov saw ossies in Uppsala
[07:42:51] <mru> vipw: do they get many votes for joke parties there?
[07:43:11] <mru> strangely, the Australian Sex Party is _not_ a joke party
[07:43:24] <lu_zero> uhm?
[07:43:36] <mru> there is such a party
[07:43:51] <lu_zero> which is their plan?
[07:43:51] <mru> and it's rather more reasonably than some of the "proper" ones too
[07:44:07] <lu_zero> just an aggressive name for a normal party?
[07:44:16] <merbzt> superdump: free for dinner tomorrow or friday ?
[07:44:20] <mru> they're against the nanny state
[07:44:35] <superdump> merbzt: i think so, yes
[07:44:41] <mru> be it about sex, entertainment, or whatever
[07:45:24] <kshishkov> mru: there's a saying "Russians always loved drinking, fighting and watching cockroach races. Elections just combined that"
[07:45:49] <mru> :-)
[07:46:06] <lu_zero> pff
[07:46:07] <vipw> i wonder how cockroach racing ever captured the national spirit
[07:47:27] <kshishkov> well, they were abundant and you had not to do anything to watch them race
[07:49:21] <vipw> oh, i thought they lived in dry hot climates
[07:49:50] <kshishkov> they are insect version of humans
[07:49:59] <kshishkov> or rats - they live evrywhere
[07:50:46] <pJok> mru, SD is a mickey mouse party... sweden is about 10 years behind on all those issues compared to denmark
[07:51:52] <pJok> mru, that and i live in a commune where SD has the majority votes at the moment
[07:53:48] <mru> I haven't followed swedish politics closely in recent years (too depressing), but I'm certain SD aren't the nazi the others would have you believe they are
[07:54:13] <pJok> they aren't
[07:54:16] <mru> and refuse to run their adverts etc
[07:54:23] <cartman> if you want real democracy, come to Turkey
[07:54:33] <mru> or refuse them access to conference facilities
[07:54:36] <pJok> but they do know how to provoke
[07:54:37] <thresh> or Russia
[07:54:38] <cartman> badmouth the government online/offline and get into jail, 24/7 active
[07:55:03] <pJok> i can only vote local anyways since im not a swedish citizen
[07:55:25] <kshishkov> cartman: yes, I heard that opposition party was created by general Kemal himself to amuse him
[07:55:26] <mru> I'd transfer my vote to you if I could
[07:55:30] <mru> you'd probably make better use of it
[07:55:47] <cartman> kshishkov: yes the 2nd Kemal is coming good, we'll see
[07:55:51] <cartman> Evil is too powerful atm.
[07:56:17] <cartman> we have live Echolon stuff in the country
[07:56:19] <cartman> spying all over
[07:56:33] <mru> sweden too
[07:56:52] <mru> they monitor all internet traffic
[07:57:00] <cartman> mru: do they publish sex videos of politicans too?
[07:57:11] <mru> too ugly politicians
[07:57:15] <cartman> same
[07:57:19] <cartman> but still they do publish
[07:57:36] <saintdev> mru: have you considered adding amd's open64 compiler to fate?
[07:57:38] <mru> I think such videos might be regarded a WMD
[07:57:40] <cartman> I wish I was in somewhere else anyway
[07:57:48] <mru> saintdev: we have pathscale
[07:57:52] <mru> on which open64 is based
[07:57:57] <saintdev> ahh
[07:58:21] <mru> and it's not doing too well
[07:58:23] * cartman stops talking about depressing political shit
[07:58:27] <saintdev> heh
[07:58:40] <mru> I've tried trolling them into fixing the bugs
[07:58:43] <mru> no luck so far
[08:00:43] <mru> there, trolled them again
[08:00:56] * cartman trolls mru to workaround mingw bugs
[08:01:05] <mru> those are ffmpeg bugs
[08:01:17] <mru> the win64 errors
[08:01:18] <saintdev> lol, pathscale is second only to armcc 4.1 in least number of successful tests
[08:01:27] <mru> saintdev: it fails more
[08:01:33] <saintdev> mru: yes
[08:01:34] * kshishkov goes to see nice city of Stockholm
[08:01:36] <saintdev> was just about to add that
[08:01:45] <mru> armcc fails something that disables loads of tests
[08:01:54] <mru> I've reported most of the bugs
[08:02:18] <pJok> mru, untrue, they monitor internet traffic going in and out of sweden, not domestic traffic ;)
[08:02:29] <mru> pJok: rather hard to separate
[08:02:41] <pJok> hence the ;)
[08:02:56] <pJok> but its what they officially anyways
[08:02:58] <cartman> win64 bugs hmm
[08:03:00] <mru> pJok: for instance, you are connected to an irc server in pittsburgh
[08:03:08] <cartman> mingw64 doesn't even do canadian cross
[08:03:14] <pJok> im monitored twice
[08:03:15] <mru> cartman: those are ffmpeg inline asm bugs
[08:03:41] <cartman> mru: I wonder about strcasecmpmingwwontsupporthat kinda workarounds
[08:03:52] <pJok> since im in denmark right now, logged on to my own server at home that in term is logged on to several irc servers around the world
[08:03:53] <mru> not going to happen
[08:04:02] <cartman> mru: see I can't troll you enough
[08:04:08] * cartman needs more troll powers
[08:04:20] <cartman> pJok: I use SSL to connect to IRC
[08:04:31] <mru> trying to out-troll the master troll?
[08:04:34] <mru> good luck with that
[08:04:43] <cartman> yup
[08:04:44] <funman> 'the master troll' ?
[08:04:46] * cartman bows to master
[08:04:48] <funman> you're trolling us right now!
[08:05:45] <mru> funman: are you contending for the title?
[08:05:47] * j-b wants a new troll overlord :D
[08:05:49] <pJok> cartman, im only connected with ssl to two irc servers
[08:05:56] <j-b> just for the fun of the fight
[08:06:15] <mru> pJok: I don't care about ssl when on publicly logged channels
[08:06:23] <pJok> mru, me neither
[08:06:37] <pJok> if FRA wants anything from me, they can just come by and ask anyways
[08:06:46] <cartman> stop logging this channel, I can't do jokes about co-workers like this :p
[08:07:48] <mru> there are sometimes glitches in the loggin
[08:07:49] <j-b> :win 17
[08:07:50] <j-b> rah
[08:07:50] <mru> g
[08:08:07] <mru> you can make your jokes during those times
[08:08:21] <j-b> if you really care about security to IRC, use tor :D
[08:08:35] <cartman> j-b: illegal
[08:08:46] <cartman> you can't prevent government from spying on you
[08:08:58] <mru> why bother with ssl, when you can't be certain _everybody_ else on the channel does?
[08:09:05] <cartman> mru: true
[08:09:13] <cartman> I only trust ChanServ
[08:52:24] <mru> http://drj11.wordpress.com/2007/04/08/sizeofchar-is-1/
[08:56:14] <cartman> mru: interesting read
[08:56:57] <mru> some good comments too
[08:57:09] <mru> also http://news.ycombinator.com/item?id=1665874
[08:57:15] <Dark_Shikari> "Maybe you donât know that malloc returns void * and that this type can be correctly converted to any other (object) pointer type without an explicit cast."
[08:57:19] <Dark_Shikari> More likely, his compiler is bitchy
[08:57:22] <Dark_Shikari> and complains about implicit casts
[08:57:26] <Dark_Shikari> i.e. stupid VC2008
[08:57:29] <mru> then his compiler is _broken_
[08:57:42] <mru> the standard requires that this conversion take place without warning
[08:57:52] <Dark_Shikari> mru: wait, really? the standard says there are things compilers cannot warn about?
[08:57:58] <cartman> lol
[08:58:00] <Dark_Shikari> I thought compilers could bitch about whatever the hell they wanted
[08:58:15] <mru> well, I suppose they _can_ bitch about things
[08:58:29] <Dark_Shikari> lint-style bitching
[08:58:35] <funman> "your code looks weird. fuck you"
[08:58:54] <Dark_Shikari> IMO, I don't fully agree with omitting sizeof(char) -- if you have 10 mallocs in sequece, it's consist to keep the sizeof in there
[08:58:57] <mru> Dark_Shikari: the compiler that does that is the one "falling" out my window
[08:59:00] <Dark_Shikari> even though it is always 1
[08:59:04] <Dark_Shikari> similarly sizeof(uint8_t) or similar
[08:59:08] <Dark_Shikari> for a simple reason
[08:59:11] <funman> ah, http://www.netfunny.com/rhf/jokes/92q1/makemoria.html
[08:59:13] <Dark_Shikari> sizeof(uint16_t) is always 2, sure
[08:59:16] <mru> sizeof(uint8_t) is a different matter
[08:59:19] <mru> it need not be 1
[08:59:25] <Dark_Shikari> but the former tells the reader "I'm allocating uint16_ts"
[08:59:28] <Dark_Shikari> the latter does not.
[08:59:30] <Dark_Shikari> wait, really?
[08:59:34] <Dark_Shikari> how can uint8_t not be 1?
[08:59:36] <Dark_Shikari> I thought that was the point.
[08:59:37] <mru> char need not be 8 bits
[08:59:49] <mru> in fact uint8_t doesn't need to exist
[08:59:56] <mru> and probably doesn't on a 9-bit machine
[09:00:04] <mru> 9-bit byte
[09:00:05] <cartman> funman: superb
[09:00:24] <Dark_Shikari> anyways, my point being that malloc should really take a type argument
[09:00:24] <cartman> 16bit byte is interesint
[09:00:27] <cartman> s/t/g
[09:00:29] <Dark_Shikari> the fact that it doesn't means that sizeof is meaningful
[09:00:32] <Dark_Shikari> at least to the reader of the code.
[09:00:40] <Dark_Shikari> "sizeof(char)" says "I'm allocating chars"
[09:00:45] <Dark_Shikari> even if it's obviously totally pointless from a C perspective.
[09:00:48] <cartman> Dark_Shikari: true
[09:00:56] <mru> to me sizeof(char) is a strong signal that the author is an idiot
[09:01:08] <mru> who either doesn't know C or does anything to appease lint
[09:01:27] <Dark_Shikari> I mainly use it for consistency and clarity, since it can't hurt
[09:01:32] <Dark_Shikari> and I rarely allocate chars.
[09:01:54] <mru> sizeof(char) is normally seen multiplied by something else
[09:02:00] <Dark_Shikari> of course
[09:02:04] <Dark_Shikari> malloc( mysize * sizeof(char) )
[09:02:07] <Dark_Shikari> malloc( mysize * sizeof(uint16_t) )
[09:02:22] <Dark_Shikari> if I were to redesign C, I'd make that malloc( mysize, char )
[09:02:24] <Dark_Shikari> or something similar.
[09:02:34] <mru> but in the name of consistency, why don't such people write malloc(sizeof(type_foo) * sizeof(char))
[09:02:55] <mru> Dark_Shikari: functions can't take types as arguments
[09:03:01] <Dark_Shikari> I know
[09:03:03] <mru> it would have to be a macro wrapper
[09:03:12] <Dark_Shikari> Yeah, damn C limitations =p
[09:03:17] <saintdev> <Dark_Shikari> if I were to redesign C,
[09:03:56] <saintdev> damn C limitations getting in the way of your theoretical redesign of C
[09:05:02] <cartman> use a subset of C++ and be happy
[09:05:42] <merbzt> mru: I write sizeof(char) in my code
[09:05:54] <mru> merbzt: then I consider you an idiot as per above
[09:06:03] <merbzt> so how does it feel to have socialized with an idiot ?
[09:06:12] <mru> merbzt: I do it all the time
[09:06:19] <Dark_Shikari> mru: I use sizeof(char) in my code too
[09:06:22] <mru> there are so few non-idiots
[09:06:23] <Dark_Shikari> but as I said, only for the reasons I mentioned
[09:06:32] <Dark_Shikari> it's like code alignment
[09:06:36] <Dark_Shikari> if you have 15 mallocs, and one is missing a sizeof
[09:06:37] <Dark_Shikari> it seems out of place.
[09:06:39] <mru> Dark_Shikari: there are a lot of things about your code I dislike
[09:06:47] <Dark_Shikari> yes, like the fact that it's readable
[09:06:48] * Dark_Shikari ducks
[09:07:39] <Dark_Shikari> though, actually, what large portions of C code have you written in ffmpeg? I don't know any, so I can't really look at your C code.
[09:07:50] <Dark_Shikari> (asm is hardly representative of C coding style...)
[09:08:11] <mru> I wrote the ogg demuxer but lu_zero mangled the style
[09:08:28] <Dark_Shikari> you wrote the ogg demuxer?
[09:08:33] <mru> yes
[09:08:42] <Dark_Shikari> that's like hitler writing a torah commentary
[09:08:46] <merbzt> mru: hmm, I seem to have stopped with the use of sizeof(char)
[09:08:47] <mru> that's how I came to hate it so badly
[09:08:54] <merbzt> does that mean I'm not an idiot ?
[09:09:01] <mru> merbzt: maybe
[09:09:05] <cartman> bleh :)
[09:09:49] <funman> i am an idiot
[09:09:55] <funman> does it mean i have to use sizeof(char) ?
[09:10:30] <merbzt> yes
[09:10:49] <merbzt> great, you learn a new thing every day
[09:11:01] <mru> funman: no, there are other ways of manifesting it
[09:11:40] <funman> cool
[09:11:48] <funman> #define true (sizeof(char))
[09:12:14] <saintdev> lol
[09:12:19] <mru> extra points for s/true/false/
[09:12:21] <funman> #define false (sizeof(char) - 1) would be better
[09:13:00] <saintdev> funman: that's incorrect, everyone knows you #define false FILE_NOT_FOUND
[09:13:00] <merbzt> #define if(x) !if(x)
[09:13:24] <mru> merbzt: syntax error
[09:13:46] <funman> saintdev: hm iirc FILE_NOT_FOUND is the 3rd option after true, false
[09:13:55] <saintdev> heh
[11:10:02] <kierank_> might be some interesting stuff here: http://opensource.samsung.com/reception/reception_main.do?method=reception_list&menu_item=photography
[12:37:56] <lu_zero> uhmm
[12:38:09] <lu_zero> the vpre baseline is broken for x264....
[12:38:56] <kierank_> how?
[12:39:31] <Dark_Shikari> the -vpre baseline works just fine.
[12:39:35] <Dark_Shikari> I'm guessing you forgot to specify a speed preset.
[12:40:50] * thresh suspects schizophrenia: http://mythtv.org/pipermail/mythtv-users/2010-August/295952.html
[12:42:11] <lu_zero> Dark_Shikari: uhm
[12:42:32] <lu_zero> -vcodec libx263 -vpre default works
[12:42:36] <Dark_Shikari> yes.
[12:42:41] <lu_zero> -vcodec libx263 -vpre baseline does not
[12:42:43] <Dark_Shikari> ,and -vcodec libx264 -vpre default -vpre baseline also works
[12:42:53] <Dark_Shikari> did you read what I just said? but it sounds like you blatantly ignored it
[12:42:55] <Dark_Shikari> 22:39 <@Dark_Shikari> I'm guessing you forgot to specify a speed preset.
[12:42:58] <CIA-11> libswscale: ramiro * r32051 /trunk/libswscale/swscale.c:
[12:42:58] <CIA-11> libswscale: swscale: fix internal rgb->yv12 chroma conversion used by the main scaler path
[12:42:58] <CIA-11> libswscale: The shift must be applied before the masking.
[12:42:59] <lu_zero> uhm
[12:43:19] * cartman fires fate
[12:43:27] * thresh hires it back
[12:43:33] <lu_zero> I wasn't understanding what you meant with speed
[12:43:42] <cartman> hmmm can't see that commit
[12:43:49] <Dark_Shikari> lu_zero: baseline is a restriction preset
[12:43:51] <Dark_Shikari> it applies after a normal preset
[12:43:57] <mru> thresh: wtf
[12:43:59] <cartman> CIA is lagging
[12:44:18] <lu_zero> makes sense
[12:44:33] * mru sends the real cia for the guy in thresh's link
[12:45:01] <kierank_> thresh: that's really bizzarfe
[12:45:27] <thresh> mru: reminds me of http://guru.multimedia.cx/love-death-and-a-bunch-of-stalkers/ sometimes
[12:45:57] <mru> this one is much better
[12:46:05] <cartman> thresh: thats a damn long mail
[13:14:24] <thresh> cartman: yeah, and that's what you get for being a Leenux guy
[13:14:41] <cartman> I am a hardcode Lunix user, oh yeah
[13:15:13] <kierank_> the michael one you can feel sorry about but that one is just odd
[13:16:00] <kierank_> I guess governments and tv stations get those kind of letters all the time
[13:21:21] <KotH> as one of those involved in the stuff, i can tell you that it wasnt fun and very strange indeed
[13:22:00] <cartman> KotH: pics or it didn't happen!
[13:22:14] <mru> KotH: you stalked michael?
[13:22:18] <KotH> cartman: read it.. and you know what i mean
[13:22:19] <mru> that is not nice of you
[13:22:29] <cartman> KotH: I read it years ago :-)
[13:22:32] <cartman> its a sad story
[13:22:38] <cartman> I hate sad stories
[13:23:05] <KotH> mru: there werent any nice girls around to stalk ;)
[13:42:09] <thresh> 'the name tanja which just reorders 2 letters from natja (which one would pronounce the same as nadja)'
[13:42:25] <thresh> there's a russian proverb, that if you make 4 errors in word 'bread', you'll end up with 'beer'
[13:47:17] <merbzt> thresh: amazing
[13:48:16] <cartman> lost in the translation
[13:49:58] <merbzt> there are alot of nice sayings in russian
[13:50:11] <thresh> well, both 'bread' and 'beer' are four-letter words in russian
[13:50:20] <cartman> I know the one about ugly woman less vodka
[13:50:38] <merbzt> never heard that one
[13:50:47] <cartman> uhm maybe its not russian after all
[13:50:54] <thresh> there's no such thing as ugly women
[13:50:57] <thresh> there is a lack of vodka
[13:51:03] <cartman> thresh: thanx :)
[14:09:49] <BBB___> you guys have weird discussions
[14:10:06] <BBB___> let's talk something technical
[14:10:39] <BBB___> why is it that if I combine ff_h264_idct8_add_mmx with ff_h264_idct8_add4_c (not mmx), the output changes?
[14:10:49] <BBB___> but both c or both mmx works fine
[14:11:05] <BBB___> only add:mmx and add4:c changes the output
[14:11:06] <BBB___> isn't that weird?
[14:11:43] <elenril> magic
[14:14:28] <BBB> I love yasm though
[14:14:31] <BBB> my yasm code which is a direct copy of the inline asm keeps being several cycles faster
[14:14:31] <BBB> \o/
[14:14:31] <mru> that's documented behaviour
[14:14:36] <mru> those functions have to be all or none in asm
[14:14:52] <BBB> mru: documented where?
[14:14:57] <mru> in some comment
[14:15:07] <mru> where the function pointers are declared
[14:15:14] * BBB throws up
[14:15:25] <mru> h264dsp.h or something
[14:15:44] <BBB> let me break vp8dsp and add it in a comment somewhere hidden in dsputil_sse5_vp8.c
[14:15:53] <BBB> everyone will notice surely
[14:15:56] <mru> you misunderstand
[14:16:05] <BBB> is there a reason for this?
[14:16:17] <mru> the comment is in h264dsp.h
[14:16:47] <mru> you'd be looking there if you're writing asm for those functions
[14:17:38] <BBB> ok..
[14:18:00] <mru> I can't think of a better place to put it
[14:26:59] <mru> what are you working on?
[14:27:21] <mru> random yasmifications?
[14:30:10] <BBB> mru: finish off h264 yasmification, yes
[14:30:18] <BBB> h264dsp yasmification, that is
[14:30:29] <BBB> dsputil is still a huge shitpile of inline asm that I don't dare touch
[14:30:54] <BBB> and honestly it's a little much to all convert for one person, especially since I have to profile and validate a lot of changes to make sure I don't break anything
[14:30:56] <mru> something used by mpeg4 is fucking up win64
[14:31:08] <Honoome> KotH, cartman: one of you two on a linux system with PAM and Turkish locale by chance? :P
[14:31:26] <mru> BBB: yes, it's a herculean task
[14:31:28] <BBB> mru: I intend to work on that, ramiro alread set up a test environment for me to quickly trace that down
[14:31:33] <BBB> but first h264dsp
[14:31:36] <BBB> I'm almost there...
[14:31:39] <KotH> Honoome: nope, swiss german and japanese locale here
[14:31:40] <mru> and some people being dead set against it doesn't help
[14:32:01] <Honoome> KotH: don't let siretart read you calling that german ;)
[14:32:11] <BBB> mru: michael isn't against it as long as it's not slower
[14:32:11] <KotH> Honoome: but it is! ;)
[14:32:21] <BBB> mru: and mpegvideoenc is impossible to convert with such huge contexts
[14:32:26] <mru> BBB: but he refuses to write yasm himself
[14:32:32] <BBB> he doesn't write any asm anyway
[14:32:34] <BBB> so I don't mind
[14:32:42] <mru> he wrote much of what's there
[14:32:46] <mru> so he's to blame regardless
[14:33:03] <BBB> I can't remember him committing any asm recently (past 1-2 years)
[14:33:11] <mru> you're a newcomer
[14:33:12] <BBB> yeah
[14:33:14] <BBB> :)
[14:33:30] <BBB> does he care about portability?
[14:33:36] <mru> no
[14:33:40] <BBB> hm :(
[14:34:25] <kierank_> lol
[14:35:04] <pJok> with ffOS, noone cares about portability...
[14:37:59] <kierank_> the way it's going it'll end up being called libavOS
[14:41:28] <BBB> what the fuckertyfuck, check the disassembly of ff_h264_idct_add16intra_mmx() (especially the end)
[14:41:54] <BBB> is it me or does gcc not know how to handle if (some_condition || another_condition)?
[14:42:04] <BBB> not to mention it unrolls it (again)
[14:51:02] <BBB> not surprisingly the yasmified one (even though exactly identical apart from gcc's fuckup) is 50% faster
[14:51:27] <mru> wow
[14:51:48] <mru> lu_zero: still believe in compilers?
[14:52:08] <BBB> this isn't even a joke
[14:52:12] <BBB> that's the sad part
[14:52:20] * mru likes black humour
[14:52:36] <BBB> here's how gcc does cond1 || cond2
[14:52:56] <BBB> if !cond1 go to end of diassembly
[14:53:06] <BBB> {actual code under the if}
[14:53:06] <BBB> [rest of the function]
[14:53:20] <BBB> if cond2 go to {actual code under the if} else go to [rest of the function]
[14:53:38] <BBB> now imagine a loop for (i=0;i<16;i++)
[14:53:50] <BBB> that means you have 32 conditional jumps at the end of the function
[14:54:08] <mru> is that the branch predictor I hear moaning?
[14:54:48] <BBB> whereas really all you need is setup cond1; or cond1, cond2; test cond1; jz [rest of function]; {actual code under if}
[14:55:02] <BBB> single jump and single test
[14:55:05] <BBB> 50% faster
[14:55:10] <BBB> for an otherwise identical function
[14:55:11] <mru> yes, we all know that
[14:55:18] <BBB> why doesn't gcc
[14:55:24] <mru> because it sucks?
[14:55:37] <BBB> maybe I'll switch to clang
[14:55:50] <kierank_> switch to icc
[14:55:53] <mru> the worst part is, _somewhere_ it probably does know that
[14:55:59] <mru> but some other part is interfering
[14:56:08] <mru> gcc is insanely fragile
[14:56:50] <BBB> maybe I should add stuff like this to a blogpost about gcc
[14:57:33] <Honoome> mru: and you haven't seen yet what can happen when people comingo ut of win32 try to use gcc's PCH
[14:57:38] <kshishkov> mru: Felker called it "incestuous design" and you know what results are after several stages of inbreeding
[14:58:56] <kshishkov> Honoome: PCH? pre-compiled headers? the stuff that was available on Windows since ages?
[14:59:03] <Honoome> kshishkov: that stuff
[14:59:07] <kshishkov> at least on MSVC and BCC
[14:59:08] <mru> pointless stuff
[14:59:23] <Honoome> mostly pointless agreed
[14:59:26] <mru> it's an attempt at working around c++ bloat
[14:59:36] <BBB> I don't care if the compiler takes an hour
[14:59:47] <andoma> and #include <windows.h> bloat
[14:59:47] <mru> because c++ coders put half the lib in the headers
[14:59:47] <BBB> I want it to generate good code
[14:59:47] <Honoome> but gcc just had to implement it or people would complain that it lacked a feature (sheesh)
[14:59:53] <kshishkov> BBB: write your own one then
[14:59:58] <Honoome> well turns out that pch is even more fragile than usual gcc
[15:00:23] <Honoome> if your system runs a grsec-hardened kernel with memory protection... gcc aborts when trying to compile using pch
[15:00:28] <Honoome> not runtime, it aborts _compiling_ :|
[15:00:34] <Honoome> and has done so since at least 2006
[15:00:54] <mru> pch is probably just a very dirty dump of some in-memory structures
[15:00:59] <kshishkov> Honoome: it could be stable - create few tens megabytes of random data and sleep for 10 secs if it's not found
[15:10:07] <BBB> mru: would you happen to know what calls h264_idct_add8?
[15:10:12] <BBB> I can't find where it's called
[15:10:14] <mru> grep knows
[15:10:56] <BBB> grep tells me it isn't called
[15:10:59] <BBB> it's just defined
[15:11:12] <andoma> remove it, compile, what happens?
[15:11:41] <merbzt> sounds like you are messing with c++ code ;)
[15:12:02] <andoma> merbzt: i'm back at $dayjob, yes :)
[15:13:22] <BBB> I added an abort() in it
[15:13:25] <BBB> make fate passes :-p
[15:13:45] <BBB> maybe it's one of those things that just wasn't implemented?
[15:14:41] <mru> it was probably used before those functions you didn't like were added
[15:14:42] <superdump> merbzt: any conclusion on tomorrow vs friday?
[15:15:02] <mru> superdump: tomorrow comes first
[15:15:21] <superdump> and friday has bigger numbers
[15:15:31] <superdump> everyone knows bigger numbers are better
[15:15:31] <mru> and more beer
[15:15:58] <superdump> i walked past that chinese restaurant we went to yesterday
[15:17:07] <kshishkov> merbzt: a challenge for you - last year I stayed near Alvik T-station, this year it's Brommaplan. Question: where it will be in two years?
[15:17:23] <superdump> hopefully somewhere nearer to town?
[15:17:31] <superdump> ;p
[15:17:37] * superdump thinks
[15:17:37] <andoma> Drottningholm
[15:17:48] <mru> andoma: that's not really near town
[15:18:15] <andoma> mru: no but if you extrapolate the direction from alvik -> brommaplan -> ... that's where you end up
[15:18:21] <andoma> kind'of
[15:18:24] <mru> yeah, sounds about right
[15:18:30] <kshishkov> andoma: been there, nice place though I won't like visitors pestering my house
[15:18:38] * mru hasn't been in that direction for years
[15:18:40] <kshishkov> look at Tunnelbanan map
[15:22:01] <superdump> vällingby
[15:22:03] <superdump> :p
[15:22:12] <kshishkov> exactly
[15:22:20] <kshishkov> nothing to do with Benjamin ;)
[15:28:56] <mru> BBB: strange, I can't find any record of that ever being used
[15:37:17] <BBB> mru: weird... well, thanks for checking
[15:38:38] <mru> it was added together with _add16
[15:38:47] <mru> all with a note saying it wasn't used yet
[15:39:03] <kshishkov> so the note is still strue
[15:39:14] <mru> _add16 is used
[15:39:21] <mru> don't know what happened to _add8
[15:40:12] <mru> see r16207
[15:40:53] <kshishkov> probably it's combined into MB before adding
[15:41:36] <mru> "except chroma as it was slower in benchmarks"
[15:47:24] <BBB> looking at the disass, guess why it was slower :-p
[15:47:36] <BBB> this looks almost as funny as the one I just complained about
[15:47:58] <mru> I was just thinking the same thing
[16:39:56] <elenril> BBB: is clang supposed to work fine now?
[16:40:35] <elenril> i get segfaults when trying to decode h264
[16:40:51] <mru> you need latest svn of ffmpeg and clang
[16:42:03] <elenril> i used yesterday's git heads of both
[16:42:19] <mru> 64-bit or 32-bit?
[16:42:34] <elenril> 32bit
[16:42:43] <mru> did you run configure recently?
[16:42:54] <elenril> sure
[16:43:02] <mru> well, fate says it works
[16:43:12] <elenril> what does configure have to do with it segfaulting
[16:43:22] <mru> it adds compiler flags
[16:43:39] <mru> fate is currently using clang r112981
[16:46:59] <mru> let's update it to latest and see what happens
[16:50:56] <BBB> elenril: it worked when I tried it, but it might be a little quirky depending on the version of both... if you have a bug report (backtrace, info all-registers, etc.) then I can have a look at it
[16:51:22] <BBB> also disass -$pc30 +$pc30 or something to see where it crashed
[16:51:55] <elenril> g++: Internal error: Killed (program cc1plus) << oh wow
[16:52:04] <elenril> while compiling today's clang
[16:52:05] <mru> usually bad ram
[16:52:20] <mru> if same code usually compiles
[16:52:46] <BBB> or kernel acting up... try a reboot (don't blame us if your pc won't come back up :-p)
[16:53:06] * elenril blames his craptop
[16:53:16] <mru> elenril: it's a trick, BBB is trying to get rid of you
[16:54:42] * elenril would retaliate with a trope or two if firefox was running
[16:55:09] <mru> what, you haven't memorised them all?
[16:56:15] <elenril> writing is :effort:
[16:56:42] <Dark_Shikari> HardWorkHardlyWorks
[16:56:59] <BBB> good morning mr college student :-p
[16:57:17] <Dark_Shikari> Good morning Mr. Not Writing XVP8
[16:57:31] <Dark_Shikari> >implying that you are doing real work
[16:57:54] <mru> he could be
[16:57:59] <mru> xvp8 counts as trolling
[16:57:59] * elenril sees trolls all around him
[16:58:04] * elenril runs
[16:58:24] <Dark_Shikari> This channel needs more >implying
[16:58:27] <CIA-11> ffmpeg: jbr * r25048 /trunk/MAINTAINERS: Add my GPG fingerprint.
[16:58:51] <elenril> > implying anybody here except you reads 4chan
[16:58:56] <mru> ah, a commit to test latest clang with
[16:59:15] <Dark_Shikari> http://encyclopediadramatica.com/File:Implying_this_is_a_screenshot.jpg
[16:59:18] <mru> elenril: you kind of admitted to doing it yourself just now
[17:00:28] <funman> >implying it wasn't obviosu
[17:00:30] <Dark_Shikari> also http://encyclopediadramatica.com/File:Implying_comic.pnghttp://encyclopediadramatica.com/File:Implying_comic.png
[17:00:35] <Dark_Shikari> er
[17:00:39] <Dark_Shikari> second should be http://encyclopediadramatica.com/File:Implying_the_game.jpg
[17:01:12] * elenril promotes mru to CaptainObvious
[17:02:49] <Dark_Shikari> also http://4chanarchive.org/brchive/dspl_thread.php5?thread_id=51981157
[17:05:12] <BBB> Dark_Shikari: add nsfw somewhere :-p
[17:05:49] <Dark_Shikari> what's nsfw besides language?
[17:06:12] * mru clicks link @W, sees nothing NS
[17:06:27] <Dark_Shikari> that's an entire 4chan thread with absolutely no objectionable images =p
[17:06:47] <elenril> inconceivable!
[17:06:56] <Dark_Shikari> you keep using that word
[17:07:03] <mru> there's a very crude drawing of a penis about halfway down
[17:07:22] <Dark_Shikari> "very" is understating it
[17:07:45] <BBB> there's adds for various pornsites on top?
[17:07:47] <Dark_Shikari> (the reason it's sfw is probably because it's /v/, which is nominally a sfw board)
[17:07:56] <Dark_Shikari> BBB: what ads?
[17:08:04] <BBB> oh you guys run adblock
[17:08:06] <elenril> > implying there are people not using adblock
[17:08:11] <Dark_Shikari> elenril beat me to it
[17:08:21] <mru> BBB: wtf, you don't?
[17:08:27] <Dark_Shikari> btw, to do it right, you need to use greentext
[17:08:27] <BBB> does that work on chrome?
[17:08:31] <Dark_Shikari> in irssi, press ctrl-C3
[17:08:31] <kshishkov> mru: that was actually an excuse to get from work ;)
[17:08:32] <mru> right, he's a macboy so he's stuck with safari...
[17:08:46] <Dark_Shikari> >implying macfags know what adblock is
[17:09:00] <kierank> implying macfags are allowed by apple to install it
[17:09:19] <kshishkov> Dark_Shikari: I don't use adblock by my ELinks still works fine
[17:09:31] <BBB> mru: chrome
[17:09:34] <BBB> safari sucks
[17:09:37] <BBB> firefox sucks also btw
[17:09:43] <BBB> chrome isn't too bad
[17:09:49] <mru> _all_ browsers suck
[17:09:50] <elenril> chrome has no vimperator
[17:09:51] <mru> I think it's a requirement
[17:09:52] <BBB> at least chrome uses ffmpeg :p
[17:10:03] <Dark_Shikari> BBB: >implying there isn't an adblock for chrome
[17:10:04] <kshishkov> mru: wget is nice
[17:10:15] <kierank> mru: same with all pdf readers
[17:10:22] <mru> xpdf isn't too bad
[17:10:25] <kierank> it's in the laws of the universe
[17:10:42] <elenril> okular is pretty good (if you ignore the KDE dependency)
[17:10:50] <mru> and the google pdf viewer is decent
[17:11:02] <mru> but then you're stuck with browser suck instead
[17:11:06] <kshishkov> and Adobe Acrobat is utterly horrible
[17:11:19] <mru> version 3 kinda worked
[17:11:26] * elenril heard google's pdf viewer requires active internet connection
[17:11:28] <mru> since then it's been downhill
[17:11:40] <kierank> mru: v3 was still disproportionately oversized
[17:11:46] <mru> elenril: it's a damn website, of course it needs internet
[17:11:52] <mru> kierank: I have no doubt
[17:11:56] <kshishkov> mru: it's funny whet it substituted cyrillic letters with boxes randomly when printing - it's still fun in certain part of the world
[17:11:59] <elenril> mru: wasn't it a browser plugin?
[17:12:18] <mru> elenril: not the one I'm talking about
[17:12:28] <mru> docs.google.com/viewer?url=whatever
[17:24:09] <ohsix> kierank: pdf x-change and evince rule :D
[17:26:10] * elenril wonders why does it take so long to compile llvm+clang
[17:26:20] <mru> too slow computer
[17:26:49] <elenril> right
[17:27:30] <elenril> or just gcc being slow&ugly
[17:27:34] <BBB> your computer is thinking how to joke you next
[17:27:47] <BBB> "oh he didn't get the hint with crashing ffmpeg, let's crash his X next"
[17:29:14] <elenril> not a big deal
[17:29:19] * elenril <3 screen+irssi
[17:29:42] * kshishkov waves
[17:31:13] <kierank> mru: how hard is it to learn arm asm
[17:32:36] <funman> easy peasy
[17:32:43] <kierank> lemon squeezy?
[17:32:57] <funman> i was thinking string bikini but why not
[17:32:58] <Dark_Shikari> kierank: a lot harder than x86, because of the scheduling requirements
[17:33:06] <Dark_Shikari> (of course, if you don't care about speed, it's relatively easy)
[17:33:11] <funman> i dont' know fancy stuff like neon or such
[17:33:18] <Dark_Shikari> but maxing the speed is an art in and of itself
[17:35:55] <mru> Dark_Shikari: bullshit
[17:36:03] <mru> arm is easy compared to x86
[17:36:15] <kierank> lol
[17:36:34] <mru> core arm is easy to schedule too
[17:36:42] <mru> almost everything is single-cycle
[17:36:56] <Dark_Shikari> the latencies are trickier
[17:37:01] <Dark_Shikari> the throughput is easy, yes
[17:37:10] <Dark_Shikari> on x86 you can just totally bullshit everything and it still works fine
[17:37:14] <mru> also single-cycle for the most part
[17:37:29] <Dark_Shikari> for NEON?
[17:37:29] <mru> all alu instructions have one-cycle latency
[17:37:34] <mru> I'm not talking about neon
[17:37:35] <Dark_Shikari> oh, I meant SIMD
[17:37:37] <mru> I said core arm
[17:37:38] <Dark_Shikari> writing non-simd is boring
[17:37:39] <Dark_Shikari> ah
[17:37:44] <Dark_Shikari> I assumed kierank meant simd
[17:37:48] <mru> mul takes a bit more
[17:37:54] <mru> but you don't need that much
[17:38:06] <mru> and scheduling it is usually not hard
[17:38:19] <Dark_Shikari> the point is... you have to schedule in the first place
[17:38:20] <Dark_Shikari> lol
[17:38:28] <Dark_Shikari> so of course it's no harder than, say, ppc
[17:38:47] <mru> putting a few insns after your muls isn't that hard
[17:38:58] <mru> there's really nothing else you need to do
[17:39:05] <mru> and a9 is out of order
[17:39:24] <Dark_Shikari> neon isn't
[17:39:35] <mru> he asked about arm
[17:39:43] <mru> I'm talking about arm
[17:40:41] <mru> on a8 and a9 neon alu instructions have 2 cycles latency
[17:40:57] <mru> mul 4 cycles
[17:41:07] <mru> all float at least 4
[17:41:23] <mru> float code can get tricky to schedule
[17:42:13] <Dark_Shikari> interesting, so a 32-bit multiply has the same latency as say an 8-bit?
[17:42:44] <Dark_Shikari> (for neon)
[17:43:04] <mru> same latency, lower throughput
[17:43:25] <mru> half
[17:43:38] <mru> on a8
[17:52:38] <CIA-11> ffmpeg: reimar * r25049 /trunk/libavformat/matroskadec.c:
[17:52:38] <CIA-11> ffmpeg: Add a special function to mkv demxuer to parse length values that includes
[17:52:38] <CIA-11> ffmpeg: special-case code to handle all possible encodings of "unknown length".
[17:54:22] <CIA-11> ffmpeg: reimar * r25050 /trunk/libavcodec/vp3.c:
[17:54:22] <CIA-11> ffmpeg: VP3/Theora: validate aspect and reduce it before exporting it
[17:54:22] <CIA-11> ffmpeg: via the context.
[19:21:28] <CIA-11> libswscale: ramiro * r32052 /trunk/libswscale/utils.c: swscale: also update flags on sws_getCachedContext()
[19:22:06] <CIA-11> ffmpeg: reimar * r25051 /trunk/libavcodec/vp3.c:
[19:22:06] <CIA-11> ffmpeg: Fix vp3_draw_horiz_band to not produce completely chaotical values
[19:22:06] <CIA-11> ffmpeg: that result in overdrawing areas again and again if s->flipped_image
[19:22:06] <CIA-11> ffmpeg: is false.
[19:24:20] <Compn> damnit man
[19:24:29] <Compn> once in a while i get stuck in full screen flash player video
[19:24:32] <Compn> and i cannot escape it
[19:24:39] <Compn> cant pause, completely unresponsive
[19:24:58] <funman> patch welcome!
[19:25:00] <ohsix> have i got a fix for you!
[19:25:00] <Compn> and since its adobe, they removed the ability to right click > close
[19:25:20] * Compn has to alt-tab away and set any programs to be 'on-top'
[19:25:29] <Compn> also mute speakers
[19:25:52] <Compn> the video, is unstoppable
[19:25:57] <elenril> pkill?
[19:26:11] <cartman> Compn: window got unfocused somehow ?
[19:26:15] <Compn> it would kill the whole browser
[19:26:32] <Compn> alt-tabbing back to the vid window has no effect on mouse clicks, keyboards
[19:26:47] <cartman> you run linux then :P
[19:26:55] <Compn> task manager :P
[19:27:02] <ohsix> what browser? you can kill plugin-container with ff
[19:27:13] <CIA-11> ffmpeg: reimar * r25052 /trunk/libavcodec/vp3.c:
[19:27:13] <CIA-11> ffmpeg: Fix slice height for y position calculation for vp3_draw_horiz_band
[19:27:13] <CIA-11> ffmpeg: when the video uses 4:2:2 instead of 4:2:0 coding.
[19:28:15] <ohsix> theres also something about gdk_native_windows and the control sometimes not receiving any events
[19:28:29] <ohsix> dunno how that plays when you're not using nspluginwrapper though
[19:29:31] * cartman re-runs fate.sh thanx to reimar
[20:50:01] <BBB> yay all converted
[20:50:05] <BBB> that took long
[20:52:09] <spaam> gj :)
[20:53:31] <BBB> and it's faster :-p
[20:54:00] <spaam> how fast? 1% ? :P
[21:10:46] <BBB> spaam: for the whole movie, probably less than that
[21:10:52] <BBB> but somebody else can test that instead of me
[21:14:08] <spaam> BBB: why do you comment out the last gpl part ? why dont you just remove that gpl part in the patch ? :)
[21:14:23] <BBB> oh, I forgot to remote that?
[21:14:23] <BBB> oops
[21:15:42] <spaam> :)
[21:24:43] <mmu_screen> plop
[21:25:47] <mmu_screen> hmm it seems we have an include order issue on libavutil/common.h, at least the copy in the Haiku tree is patched to work around it
[21:25:58] <mmu_screen> cf. http://dev.haiku-os.org/changeset/38554
[21:26:44] <mru> fix your compiler
[21:28:52] <mmu_screen> well there is already an include "libavutil/... elsewhere
[21:29:06] <mru> so?
[21:29:50] <mmu_screen> so it shouldn't break anything to apply this but make sure it wouldn't use the wrong one
[21:30:14] <mru> with broken compilers you can never be sure
[21:34:59] <mmu_man> ... you can never be sure with developers either :p
[21:40:06] <BBB> Dark_Shikari: so what exactly makes this 8x4 idct sse2 function so special that it is gpl?
[21:40:16] <BBB> Dark_Shikari: basically it uses a bunch of macros from x86util.asm that are all lgpl
[21:40:29] <BBB> Dark_Shikari: other than that it's just a lea, a mov and maybe a xor or so
[21:40:37] <BBB> Dark_Shikari: in other words, can we lgpl that also?
[21:40:42] * BBB puts on pretty-please face
[21:41:03] <Dark_Shikari> Talk to Loren
[21:41:11] <Dark_Shikari> I suspect he will say yes
[21:41:19] <Dark_Shikari> It's GPL because the x264 code we brought in was GPL
[21:41:27] <Dark_Shikari> and nobody changed it
[21:41:33] <Dark_Shikari> unlike the deblock code, it is largely trivial by comparison.
[21:52:16] <CIA-11> ffmpeg: stefano * r25053 /trunk/libavcore/ (imgutils.c imgutils.h): Make av_fill_image_max_pixsteps() non static non inline.
[21:52:33] <Dark_Shikari> pengvado: ^
[21:53:02] <CIA-11> ffmpeg: jbr * r25054 /trunk/libavformat/mov.c: Read the number of channels from the 'dac3' tag for AC-3 in MP4.
[21:56:38] <Dark_Shikari> BBB: I suggest you just throw out the ffmpeg idct code, and use x264's only
[21:56:42] <Dark_Shikari> well, you might need a little bit of merging
[21:58:03] <BBB> let's see if pengvado wants to lgpl it :-p
[21:58:29] <BBB> also, shit, then I need to re-measure everything
[21:59:10] <Dark_Shikari> not really
[22:00:53] <BBB> IDCT8_1D was actually there already
[22:01:02] <BBB> it actually performs worse than the one in the mmx function
[22:01:09] <BBB> so you should use ffmpeg's in this case ;)
[22:01:19] <BBB> both are equal amount of instructions but the ffmpeg one is better interleaved
[22:01:38] <Dark_Shikari> interleaving should have no real effect
[22:01:46] <BBB> then it was something else
[22:01:49] <Dark_Shikari> most likely.
[22:02:01] <BBB> but still, ffmpeg's mmx one was better than ffmpeg's sse one
[22:02:08] <Dark_Shikari> er....
[22:02:10] <Dark_Shikari> huh?
[22:02:20] <Dark_Shikari> measuring on what, a core 1?
[22:02:35] <BBB> I mean if you put the mmx idct8_1d in the sse2 function
[22:02:38] <BBB> it becomes faster
[22:02:46] <BBB> (of course swapping each use of a mm%d to a xmm%d)
[22:02:49] <BBB> which is easy in yasm
[22:02:53] <BBB> -> m%d
[22:03:02] <BBB> or, as you say it:
[22:03:06] <BBB> >implying yasm is awesome
[22:03:23] <Dark_Shikari> >implying one copy of pengvado's code is slower than another copy of pengvado's code
[22:03:47] <BBB> the weird thing is that h264dsp_mmx.c had two copies of idct8_1d in the first place
[22:06:12] <BBB> hm darnit, can't use x264's
[22:06:17] <BBB> you guys use a fixed stride all over the place
[22:06:25] <BBB> ffmpeg uses stride as an argument
[22:06:26] <Dark_Shikari> it's trivial to modify
[22:06:31] <Dark_Shikari> I modified idct when I committed it to ffmpeg
[22:06:37] <Dark_Shikari> you can do it exactly the same way
[22:06:40] <Dark_Shikari> it took 3 minutes
[22:06:52] <BBB> let's first get the patch I just wrote committed
[22:07:08] <Dark_Shikari> you have commit access
[22:07:10] <Dark_Shikari> =p
[22:07:22] <BBB> don't forget half of the crap in ff's h264_idct is the add16/add4 wrappers
[22:07:34] <BBB> which make it all a little more complex
[22:07:46] <BBB> becuse michael wants the called functions inlined
[22:08:24] <Dark_Shikari> did you do that?
[22:33:57] <BBB> Dark_Shikari: yes
[22:34:03] <BBB> Dark_Shikari: the originals were inline also
[22:34:18] <BBB> (of course, that's gcc doing the inlining then)
[22:34:32] <BBB> it leads to rather funny code, as you might've noticed from my comments above
[22:34:34] <mru> how much overhead does a direct function call acutally have?
[22:34:55] <BBB> not much, but here it calls the same function 16 times, so then it makes a little difference
[22:35:05] <BBB> that's the very reason michael committed 16207
[22:35:10] <BBB> (I didn't measure it myself)
[22:35:23] <mru> that would be an indirect call
[22:35:37] <mru> those can easily be more expensive
[22:35:48] <mru> since the branch predictor gets involved
[22:35:56] <mru> a direct call can only branch to one place
[22:36:41] <BBB> so in short: I don't really know, I'm just yasmifying existing code :-p
[22:39:08] <Dark_Shikari> direct calls are very cheap
[22:39:16] <Dark_Shikari> 1 or 2 cycles at most I would think, not counting passing parameters
[22:39:23] <Dark_Shikari> of course if you're calling in asm... you can pass params however you want
[22:39:49] <Dark_Shikari> modern x86 CPUs have dedicated stack engines to handle stuff like calls
[22:39:54] <Dark_Shikari> which makes them very cheap
[22:40:40] <Dark_Shikari> the reason why it's costly in c is because of passing all the params on the stack
[22:40:49] <Dark_Shikari> and the fact that it has to re-store the params every single time
[22:40:55] <Dark_Shikari> because it doesn't know whether or not the callee changed them
[22:41:00] <Dark_Shikari> but in asm it's near free.
[22:41:17] <mru> as I expected
[22:59:32] <BBB> Dark_Shikari: can you bug pengvado when he wakes up / comes home / whatever?
[22:59:38] <Dark_Shikari> I already did
[22:59:40] <Dark_Shikari> patience
[22:59:45] <BBB> ok
[22:59:51] * BBB goes home
[23:00:13] <BBB> has anyone ever attempted yasmifying mpegvideo* asm?
[23:00:32] <Dark_Shikari> xvp8
[23:00:37] <Dark_Shikari> stop getting bogged down in stupid shit =p
[23:00:43] <BBB> win64 fate still fails
[23:00:45] <BBB> on mpegvideo
[23:00:49] <Dark_Shikari> well druh
[23:00:49] <BBB> it's not completely stupid :-p
[23:00:59] <BBB> although it mostly is
More information about the FFmpeg-devel-irc
mailing list