[00:01:10] <Yuvi> dmesg? [00:02:07] <Dark_Shikari> ugh. I can't get oprofile to work on vmware [00:02:17] <Dark_Shikari> everything I read on the internets says it works if you use the timer interrupt [00:02:20] <Dark_Shikari> which I set on [00:02:32] <Dark_Shikari> but when I try to start it, it says "couldn't start oprofiled. check the logfile and kernel syslog" [00:02:35] <Dark_Shikari> but BOTH are empty [00:02:44] <Dark_Shikari> --verbose=all does nothing [00:02:48] <Dark_Shikari> it does not print any information anywhere [00:04:19] <Dark_Shikari> oh. apparently I have to manually specify -e=timer or else it won't figure it out, even though it's the only event avialable [00:08:31] <Dark_Shikari> oh sweeeeet [00:08:38] <Dark_Shikari> oprofile correctly gets the symbols of asm functions, while callgrind doesn't [00:09:01] <Dark_Shikari> ... on the other hand, it doesn't seem to provide any information about the call stack... [00:09:50] <Dark_Shikari> Is there anything special I have to do with oprofile to get it to track the stack ? [00:40:14] <Dark_Shikari> is there a good way to infinitely cat a file into an app? [00:40:20] <Dark_Shikari> e.g. the equivalent of cat file file file file ... | app [00:40:23] <Dark_Shikari> without typing "file" a thousand times [00:43:36] <trollski> Dark_Shikari: while :; do cat file | app; done [00:43:45] <Dark_Shikari> won't that repeatedly start app over again? [00:43:47] <Dark_Shikari> I don't want to do that. [00:43:50] <trollski> yeah [00:48:10] <trollski> Dark_Shikari: maybe in two steps? while :; cat file >> newfile; done ...... and second separate step: cat newfile | app .... dunno if that'll work [00:48:18] <Dark_Shikari> Too large [00:48:23] <Dark_Shikari> I don't have disk space for that [00:48:27] <Dark_Shikari> I'm piping terabytes around [00:48:31] <trollski> oh [00:49:02] <hyc> just do all the cats inside a script [00:49:07] <hyc> or subshell [00:49:08] <astrange> i wrote a program to do it in haskell and accidentally evaluated the tail of an infinite list [00:49:20] <Dark_Shikari> hyc: how does that help me? [00:49:37] <hyc> (while :; do cat foo) | app [00:49:46] <hyc> then there's only a single pipe / app [00:50:08] <Dark_Shikari> also, -loop_input doesn't work in ffmpeg [00:50:42] <Dark_Shikari> hyc: that gives a syntax error [00:50:49] <hyc> well duh [00:50:53] <hyc> it also only has a single filename [00:51:01] <Dark_Shikari> huh? [00:51:01] <hyc> you need to tailor it to your actual usage [00:51:06] <Dark_Shikari> um, but I only want a single file [00:51:10] <Dark_Shikari> ... [00:51:14] <hyc> oh? [00:51:20] <hyc> it's the same file over and over? [00:51:34] <hyc> I thought you wanted to cat a bunch of files [00:51:49] <Dark_Shikari> .... [00:51:52] <Dark_Shikari> that's what I said like 5 times [00:52:03] <Dark_Shikari> I'm saying your syntax is simply wrong, irrespective of what I'm trying to do [00:52:06] <Dark_Shikari> because it isn't valid bash [00:52:17] <hyc> then just this (while 1; do cat foo; done) | app [00:52:48] <Dark_Shikari> s/1/true [00:53:10] <hyc> right [00:53:52] <Dark_Shikari> woot, works [00:53:57] <Dark_Shikari> just got past the first repeat point [00:53:59] <hyc> you're supposed to know the syntax, I was just telling you that using a subshell is the right approach [00:54:04] <Dark_Shikari> k, thx [00:57:01] <hyc> oprofile has been pretty fragile in my experience [00:57:12] <hyc> works on one install, do an upgrade, it's broken [00:57:47] <hyc> and yes, to get stacks recorded, you need to set other oprofile options [00:57:52] <hyc> probably an opcontrol switch [00:57:58] <Dark_Shikari> I did, -c=20 [00:58:07] <Dark_Shikari> Still doesn't actually work. [00:58:32] <hyc> oh well. [00:58:45] <hyc> what are you profiling? [00:58:56] <hyc> and what data do you want to extract from the profile? [00:58:59] <Dark_Shikari> x264, I'm trying to get a proper CallMap profile, i.e. that really nice kcachegrind interface [00:59:18] <Dark_Shikari> valgrind-based callmap profile works great, but it doesn't read the names of asm functions correctly [00:59:21] <Dark_Shikari> and the results are very inaccurate [00:59:29] <Dark_Shikari> oprofile-based profile is highly accurate and good, but callmap doesn't work [00:59:47] <hyc> that's odd. I've used valgrind trace before with success. though, no asm functions. [01:00:40] <hyc> It must depend on your binary, if the assembly code doesn't provide stack usage hints then the tools can't backtrace thru it [01:00:49] <Dark_Shikari> No, no, it can't even READ THE SYMBOLS [01:01:02] <Dark_Shikari> and oprofile doesn't provide callmap information _even for C functions_ [01:01:13] <hyc> yeah well, oprofile breaks a lot [01:02:14] <Dark_Shikari> well callgrind not being able to read symbols sorta sucks too [01:02:36] <hyc> what architecture are you running? [01:02:40] <Dark_Shikari> x86_64 [01:02:58] <hyc> got a 32 bit machine handy? that will probably work better [01:03:01] <Dark_Shikari> why [01:03:12] <hyc> generally x86 is better supported than x86-64 [01:03:25] <Dark_Shikari> doubt that symbol formats differ that much [01:03:56] <hyc> no, probably not. but libbfd and friends are more mature for 32 bit [01:04:01] <Dark_Shikari> it's easy enough to test though, just cross-compile [01:07:52] <hyc> also if all you want is the callmap, turn off all optimization [01:08:01] <Dark_Shikari> why? [01:08:13] <Dark_Shikari> as long as you don't use -fomit-frame-pointer, it shouldn't prevent the callmap from working [01:08:17] <hyc> because stuff like omit-frame-pointers really interferes [01:08:37] <hyc> and -fomit-frame-pointers is the default on -O2 and up [01:08:57] <Dark_Shikari> oh true, x86_64 [01:09:07] <Dark_Shikari> wait, I thought it was the default _because_ it didn't interfere on x86_64 [01:09:23] <hyc> false, it is still a problem [01:09:38] <hyc> look at a stack trace in gdb... [01:09:58] <Dark_Shikari> then why is it on by default in x86_64 but not x86_32? [01:10:07] <hyc> dunno [01:10:40] <hyc> whatever, do what you like [01:10:50] <hyc> it's your time not mine... [01:13:19] <Dark_Shikari> wrong [01:13:20] <Dark_Shikari> didn't work [01:13:27] <Dark_Shikari> even in debug mode, the callee map doesn't show up. [01:13:29] <Dark_Shikari> (-O1 -g) [01:15:44] <saintd3v> what about adding "-g dwarf2" to ASFLAGS? [01:15:59] <hyc> dwarf2 ought to be the default format [01:16:09] <Dark_Shikari> doesn't matter anyways, _even the C functions_ don't have callmap [01:16:13] <saintd3v> oic [01:16:31] <saintd3v> hyc: but iirc you have to pass _something_ to yasm if you specify -g [01:16:53] <hyc> ah, dunno. [01:16:53] <saintd3v> ie you can't do just yasm -g it has to be yasm -g foo [01:17:04] <hyc> I just use gas [01:17:28] <saintd3v> but if C functions aren't showing up it's moot anyway [01:18:25] <hyc> yep. I've submitted patches for oprofile in the past, but for whatever reason that thing keeps breaking [01:18:48] <hyc> have no idea why valgrind wouldn't work, usually it's pretty good [01:19:43] <hyc> the only reason it fails to show symbols, for my work, is because of shared libs that got unloaded [01:20:04] <hyc> it's still too stupid to record the sharedlib info at the time of load [01:21:32] <saintd3v> Dark_Shikari: i doubt it'll help, but -g3? [01:22:23] <saintd3v> and what about disabling all optimizations? [01:22:38] <hyc> btw, are you using the latest? valgrind 3.5? [01:23:23] <Dark_Shikari> I'm not using valgrind, I'm using oprofile [01:23:35] <Dark_Shikari> and yes when I did try valgrind, I used 3.5 [01:35:52] <Dark_Shikari> http://x264.nl/x264_Demo_Blu-ray.torrent <--The first free Blu-ray [01:35:55] <Dark_Shikari> download, seed [01:36:00] <Dark_Shikari> official announcement is coming on monday [01:36:13] <pentanol> hello, could someone point me which of these options important for usage? http://codepad.org/BEeo3wsm [02:28:40] <astrange> -fomit-frame-pointer still breaks frame pointer backtraces on x86-64, yeah [02:28:53] <astrange> i don't remember its defaultness changing on either arch [02:29:31] <astrange> valgrind _could_ maintain a separate call stack, or it could read dwarf unwind info (with the weirdly named -fasynchronous-unwind-tables or whatever) [02:29:43] <Dark_Shikari> valgrind works even if fomit-frame-pointer is set [02:31:40] <astrange> i don't remember any specific situations but i'm pretty sure it hasn't worked for me before [04:30:08] <mru> Dark_Shikari: while :; cat file; done | app [04:30:21] <mru> maybe you figured it out by now though... [04:31:08] <Dark_Shikari> yeah, I did [10:38:51] <twnqx> in which include is NULL defined? :X [10:45:34] <jai> twnqx: linux/stddef.h [10:45:41] <twnqx> thanks [10:47:57] <jai> on *bsds, i think it is in sys/null.h [10:51:00] <twnqx> btw jai, my syscall hook works now :P [10:51:07] <jai> twnqx: yay [10:51:10] <jai> :) [10:51:53] <twnqx> sadly the driver doesn't. [10:52:05] <twnqx> it also fubared my kernel. gotta reboot... [10:52:11] <jai> twnqx: oh :| [10:53:06] <twnqx> seems i have to modify some undocumented private ioctls as well. fun :D [10:53:27] <twnqx> but computers MUST NOT win against humans. [10:54:27] <kshishkov> twnqx, you're sooo wrong [10:54:53] <twnqx> true, in this case it's not the computer [10:54:59] <twnqx> but two companies that must not win. [10:55:28] <kshishkov> I'm pretty sure each of them agrees that another one should not win [10:56:00] <jai> twnqx: perhaps you'll reach a point where you might just want to pay them money for an x86_64 build :) [10:56:29] <twnqx> jai: the 64bit is not the real problem [10:56:49] <twnqx> the problem is that EITHER WAY i don't have a driver for post-2.6.16 kernels [10:57:15] <twnqx> i got myself a demo version of the current windriver 10 now [10:57:19] <jai> twnqx: ah [10:57:39] <twnqx> however... the app says "oh, you need > version 8.02" and i have 10.11 [10:57:54] <twnqx> i have the strong feeling that they do numerical comparison on the chars [10:58:11] <twnqx> so, 1 < 8 => fail [10:58:57] <twnqx> and since the driver is a blob again... with some exra fail like embedded integrity checks... [10:59:21] <twnqx> *sigh* [11:00:33] <twnqx> the good news for today is that my favorite german radio station does have a pure mp3 http stream with no protection, so i can skip the crappy flash plugin on their site and just use mplayer. [12:08:00] <BastyCDGS> hi @ all [12:16:48] <DimStar> how "final" is Michael's not liking anything as decision wether a patch is being merged or not? ( https://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2010-April/087300.html ) [12:49:38] <BastyCDGS> I got stuck with START/END_TIMER...it doesn't output anything [12:49:56] <BastyCDGS> START/STOP_TIMER [13:29:55] <Kovensky> In file included from libavdevice/oss_audio.c:31: [13:29:55] <Kovensky> /usr/include/sys/soundcard.h:243:5: error: unknown type name 'u_long' [13:30:08] <Kovensky> ^ ffmpeg's or the system's fault :S [13:30:59] <elenril> your =p [13:31:16] <Kovensky> =p [13:31:32] <Kovensky> just wondering if sys/soundcard.h demands that some header is included before it but even then it's weird [14:05:56] <nfl> does anyone now how to modify the post commit email payload in github? [14:05:57] <nfl> I was asked to look at github for hosting my soc code but the post commit mail doesn't include the diff [14:07:50] <Kovensky> libavcodec/h264.h:1256:13: warning: unused function 'decode_mb_skip' [-Wunused-function] [14:08:22] <Kovensky> nfl: hmm, does it include a bit.ly link? at least their cia.vc module does [14:08:28] <Kovensky> the bit.ly link points to the diff on github.com [14:10:26] <nfl> Kovensky: it does include a link to the diff but i suppose reviewing wouldn't be as easy [14:18:57] <nfl> perhaps the soc repo should be moved to git ;) [14:22:17] <Kovensky> hmm [14:22:25] <Kovensky> you should bug the github people then :) [14:22:30] <Kovensky> don't know how to contact them though [14:23:22] <BastyCDGS> so hope my iff optimize patch is now ready for git ;) [14:23:29] <BastyCDGS> just submitted it to ml [14:23:43] <BastyCDGS> also included benchmarks [14:24:15] <nfl> Kovensky: http://support.github.com/discussions/post-receive-issues/16-diff-in-email-h... :( [14:25:04] <Kovensky> bug them again? :) [14:25:07] <Kovensky> that ticket is almost a year old [14:26:08] <nfl> I'll have to try that [14:28:37] <CIA-7> ffmpeg: stefano * r22961 /trunk/ (20 files in 2 dirs): [14:28:37] <CIA-7> ffmpeg: Mark av_metadata_set() as deprecated, and use av_metadata_set2() [14:28:37] <CIA-7> ffmpeg: in its place. [14:28:37] <CIA-7> ffmpeg: av_metadata_set() is going to be dropped at the next major bump. [15:06:10] <CIA-7> ffmpeg: stefano * r22962 /trunk/libavcodec/utils.c: [15:06:10] <CIA-7> ffmpeg: Make avcodec_check_dimensions() return AVERROR(EINVAL) rather than -1 [15:06:10] <CIA-7> ffmpeg: in case of invalid picture size. [15:44:04] <BastyCDGS> just a question regarding interleaved stereo audio output [15:44:26] <BastyCDGS> can I call av_new_packet(pkt, PACKET_SIZE) twice? [15:44:33] <BastyCDGS> one for left channel and one for right channel? [15:46:56] <Kovensky> not in the same pkt [15:47:08] <Kovensky> look in libavcodec/avpacket.c for what it does [15:48:13] * Kovensky fails at understanding "if((unsigned)size < (unsigned)size + FF_INPUT_BUFFER_PADDING_SIZE)" (isn't that always true except for negative size, and wtf allocates a negative sized buffer) [15:50:32] <elenril> Kovensky: overflow [15:51:44] <Kovensky> elenril: doesn't check for overflow either, unless (unsigned) has lower precedence than + [15:53:20] <elenril> whatever, i don't know c anyway ;) [15:53:25] <Kovensky> lol [15:55:29] <elenril> srsly i don't [15:55:31] <pengvado> yes it's for overflow [15:55:53] <mru> that code is wrong [15:56:08] <mru> the test checks for unsigned overflow [15:56:17] <mru> then it goes ahead and does a signed addition [15:57:00] <Kovensky> what mru said [15:57:45] <Kovensky> and you couldn't have an unsigned int overflow anyway with an int var [15:58:11] <Kovensky> not with regular casts at least ._. [15:59:28] <mru> if there is signed overflow, behaviour is undefined or unspecified, don't remember which [15:59:54] <mru> the size argument should have been unsigned [16:00:53] <Kovensky> mru: wouldn't INT_MAX+1 go to INT_MIN [16:00:57] <mru> no [16:01:02] <mru> it's undefined [16:01:07] <Kovensky> hmm [16:01:18] <Kovensky> I guess that's just the case with x86 then ._. [16:01:22] <BBB> this works: 1+((int64_t)INT_MAX) [16:01:31] <mru> don't even think about that [16:01:38] <BBB> I didn't say you should use it ;) [16:01:42] <BBB> I just said it works ;) [16:01:52] <BBB> but please don't take my svn commit access away [16:01:56] <Kovensky> you cheater :P [16:01:57] <elenril> lol [16:02:00] <Kovensky> lol [16:03:39] <BastyCDGS> can anyone tell me what's wrong with this small piece? [16:03:45] <BastyCDGS> if ((ret = get_buffer(pb, sample_buffer, PACKET_SIZE >> 1)) < 0) [16:03:45] <BastyCDGS> return AVERROR(EIO); [16:03:45] <BastyCDGS> old_pos = url_fseek(pb, iff->body_size >> 1, SEEK_CUR); [16:03:45] <BastyCDGS> if ((ret = get_buffer(pb, sample_buffer + (PACKET_SIZE >> 1), PACKET_SIZE >> 1)) < 0) [16:03:45] <BastyCDGS> return AVERROR(EIO); [16:03:46] <BastyCDGS> url_fseek(pb, old_pos, SEEK_SET); [16:04:04] <BastyCDGS> I'm just fixing the interleaved stereo support for IFF-8SVX [16:04:30] <BastyCDGS> and I added the fseek stuff to seek to the right channel [16:04:39] <BastyCDGS> but when I run it plays only one frame and then silence [16:04:54] <jai> ? [16:04:58] <Kovensky> ugh, reminds me that I still must figure out wtf I'm doing wrong in my stuff... [16:05:09] <Kovensky> for some reason the mp2 decoder is dying with Broken Header when decoding the 3rd frame ._. [16:05:16] <jai> as i said in the mail earlier, just use the ff_interleave code [16:10:25] <BastyCDGS> jai, you mean the interleave_sample from iff.c or another interleave stuff? [16:10:44] <jai> BastyCDGS: lavf/audiointerleave.c [16:10:46] <BBB> how do I compile/run 64-bits code on a macintel? [16:10:53] <BBB> (assuming it can run it...) [16:11:19] <BBB> not which configure command, but which gcc command? [16:11:22] <jai> after that you can remove the interleaving code in iff.c [16:11:32] <BastyCDGS> btw, is my new patch regarding optimizing okay? [16:12:36] <mru> I'd rather you separated the structural changes from the unsigned/shift ones [16:14:04] <BastyCDGS> you mean the structural changes I did because of getting rid of branch prediction inside the loops? [16:14:53] <BBB> what's the difference? it's ~1% if I read it correctly, for this particular function? [16:14:58] <BBB> that's not very much [16:15:20] <jai> :) [16:15:46] <BastyCDGS> no this is only for plane decoding...i think the overall diff will be around 2% [16:16:01] <jai> well ..../ [16:18:43] <BastyCDGS> a mispredicated branch prediction is 10-20 clock cycles [16:19:25] <BastyCDGS> I removed 4 branches in the main loop decoding the image that's a save of 40-80 clock cycles per pixel [16:20:02] <mru> branch prediction isn't really the issue here [16:20:22] <mru> after a couple of iterations the predictor will have learned which branch is being taken [16:20:27] <mru> since it's the same each time around [16:20:47] <BastyCDGS> you think I should revert the changes there I made? [16:20:50] <mru> no [16:21:12] <BastyCDGS> so just split the patch up and it will be fine? [16:21:16] <mru> I'm just saying branch _prediction_ is not the reason for making such changes [16:21:34] <mru> you simply want to reduce the number of instructions in tight loops [16:22:21] <mru> in an otherwise small loop, a few branches can increase the size significantly [16:22:30] <mru> running more instructions obviously takes longer time [16:22:30] <BastyCDGS> this is a neat side-effect here anyway, removing branches completely will do this ;) [16:22:40] <mru> and spreading the loop body over more cache lines is bad [16:25:26] <BastyCDGS> I did take a look on the disasm output, too. it really looks much better [16:25:50] <mru> I'm not disputing that [16:25:52] <BastyCDGS> so finally, what I shall do now for getting this patch into mainline git tree? [16:26:06] <mru> as I said, do the loop restructuring as one patch [16:26:18] <BastyCDGS> okey, wait a minute, plz ;) [16:26:19] <mru> and the micro-opts as another [16:34:25] <BastyCDGS> the micro opts only patch is finished, can I send both patches in one post? [16:35:14] <BBB> I normally wouldn't [16:35:16] <BBB> but you can try [16:35:21] <mru> use git send-email [16:36:05] <BastyCDGS> btw, should I put my copyright notice also in a separate patch? [16:36:34] <kshishkov> no [16:45:18] <BastyCDGS> btw, what is the difference between git checkout and git pull? [16:45:33] <BastyCDGS> I noticed that I had to do git pull to get the data from the mainline repo [16:45:36] <mru> everything [16:45:46] <BastyCDGS> while git checkout said merged my local changes [16:45:52] <mru> pull is the same as fetch followed by merge [16:46:04] <mru> read the documentation [16:46:12] <mru> it's all explained there better than I could do here [16:46:24] <BastyCDGS> ok I should do this, but I was trying to find that out by myself by doing git --help ;) [16:46:52] <BastyCDGS> after all I can now work a bit with git...I didn't use svn since then, btw [16:47:05] <elenril> why would you want to ;) [16:48:21] <BastyCDGS> so both patches now on ml [16:50:01] <jai> how is your qualification task coming along? [16:50:55] <BastyCDGS> it slowed down a bit due the case I want to do EHB/HAM first in plain ILBM [16:51:09] <BastyCDGS> thus fix the plain ILBM decoder first [16:51:23] <BastyCDGS> before I have to do everything twice... [16:51:50] <BastyCDGS> EHB will be finished today [16:52:46] <kshishkov> good, FFmpeg is about fringe formats [16:53:27] <kshishkov> with some fast decoders for standard codecs added for cheap popularity [16:55:00] <BastyCDGS> mru, dropped the spaces in [] and updated patch in ml [16:55:19] <mru> you don't need to resend patches for such tiny changes [16:55:31] <mru> it's better to wait for more reviews first [16:55:41] <BastyCDGS> okay [16:59:44] <kshishkov> hej [17:00:08] <BastyCDGS> so the rest is fine then? [17:00:49] <kshishkov> just wait for more replies [17:04:40] <BastyCDGS> regarding ff_audio_rechunk_interleave, the two AVPacket's there are one for left and right channel right? [17:06:39] <BBB> BastyCDGS: learn to wait 24-48 hrs for reviews [17:06:43] <BBB> reviews can take time :) [17:07:05] <BastyCDGS> ok, I'll continue then with EHB now [17:07:23] <kshishkov> yes, the more you can deliver the better [17:09:29] <BBB> so kshishkov, do you want crashers I see in vc1dec as I add wvp2? [17:09:33] <BBB> kshishkov: there's quite a few [17:09:46] <BBB> kshishkov: basically every single wvp2/wmvp sample crashes the vc1 decoder ;) [17:10:02] <kshishkov> no error messages? [17:10:06] <BBB> Bus Error [17:10:12] <BBB> which is like a segfault [17:10:16] <kshishkov> that's strange [17:10:24] <kshishkov> IIRC it should fail on parsing extradata [17:10:30] <BBB> it does [17:10:34] <mru> BBB: what system is that on? [17:10:35] <BBB> if I remove that, vc1dec crashes [17:10:38] <BBB> mru: mac [17:10:45] <mru> hmm [17:10:49] <BBB> kshishkov: I added etradata parsing [17:10:59] <BBB> kshishkov: but the actual decoding is still in progress [17:11:09] <kshishkov> good! [17:11:13] <BBB> not really :) [17:11:16] <BBB> but anyway [17:11:28] <kshishkov> what gdb says? [17:11:30] <mru> bus error usually means either invalid unaligned access or access to some kind of totally invalid address [17:11:47] <BBB> I didn't run it in gdb [17:11:49] <BBB> I'm lazy [17:11:56] <BBB> if I give you a crashing sample will you look at it? [17:12:07] <BBB> if you say no, I won't bother [17:12:12] <BBB> if you say yes, I'll file some reports [17:12:13] <kshishkov> no [17:12:23] <mru> wrong answer [17:12:27] <kshishkov> I've moved to another town and all I have now is Gdium [17:12:37] <BBB> :) [17:12:38] <BBB> what is gdium? [17:12:45] <mru> sorry excuse of a netbook [17:12:59] <kshishkov> and a portable stove! [17:13:07] <mru> yeah, all in one [17:13:17] <jai> lol [17:13:18] <mru> only missing the kitchen sink [17:13:38] <jai> better than what richard stallman uses i'd say [17:13:50] <mru> what does he use? [17:13:54] <kshishkov> does he still use Lisp machine? [17:13:57] <BBB> a kitchen cave [17:13:58] <mru> does he code directly on his ego? [17:14:23] <mru> oh, wait.. rms doesn't actually write code [17:14:32] <mru> he just jumps up and down and shouts a lot [17:14:43] <kshishkov> worked fine for GCC [17:15:02] <mru> I doubt there's a single line of code in gcc he wrote [17:15:29] <kshishkov> and Emacs was written by Sun guy who later worked on Java [17:15:36] <mru> that was vi [17:15:44] <kshishkov> Emacs [17:15:56] <mru> emacs has been worked on by very many people [17:16:08] <mru> but the sun guy is famous for vi [17:16:19] <kshishkov> yes, but first opensource version was written by some Sun guy [17:17:27] <jai> yeelong actually : http://richard.stallman.usesthis.com/ [17:17:39] <kshishkov> mru: yep, Gosling [17:18:00] <kshishkov> jai: that's even more Chineese that Gdium but of the same source [17:18:31] <jai_menon> meh [17:18:45] <mru> what an idiot [17:18:54] <mru> why doesn't he get a pc and put seabios on it? [17:19:01] <jai> anyway, so he uses a yeelong - http://richard.stallman.usesthis.com/ [17:19:34] <jai> and yeah, after the egcs merge i dont think there is any significant gcc code written by him left [17:19:38] <kshishkov> heh, even I use better netbook :) [17:19:49] <BBB> no wonder the guy doesn't code [17:19:55] <BBB> his laptop is a PoS [17:20:08] <mru> isn't yeelong the one with incompatible cpu and northbridge? [17:20:22] <mru> how they made it run at all is a bit of a mystery [17:20:55] <kierank> [18:20] <@BBB> his laptop is a PoS --> yes but it's "free" [17:21:05] <BBB> freetard argument alert [17:21:19] <mru> but the cpu itself isn't free [17:21:26] <kierank> tell him that [17:21:42] <kshishkov> why don't we have anything useful Sparc-based? [17:21:49] <kshishkov> _that_ CPU is free [17:21:49] <mru> and there are much better systems with fully free software [17:23:05] <mru> oh, and I think it's about time rms accepted that linus stole the show [17:23:24] <kshishkov> you just wait for GNU Hurd! [17:23:30] * kierank waits [17:23:42] <jai> Real Soon Now [17:23:48] <kshishkov> kierank: you can make a cup of coffee meanwhile [17:23:54] <mru> and either way, the insistence on saying gnu/linux is insane [17:24:06] <kshishkov> from the beans of plantation you ground this day [17:24:23] <mru> if we want to be accurate, we should say, gnu/bsd/x/kde/gnome/mozilla/linux [17:24:26] <mru> or something [17:25:06] <drv> average joe desktop/gui user probably doesn't even touch the GNU stuff anyway [17:25:16] <jai> plan 9 ftw? [17:25:20] <BBB> gnume/linux [17:25:35] <mru> I installed plan9 in a vm once [17:25:42] <mru> most useless system ever [17:27:31] <jai> lol [17:27:41] <jai> i used it for werc at some point [17:28:15] <kshishkov> so you agree? [17:30:03] <jai> in a way, yeah. perhaps i'm not able to appreciate the awesomeness [17:31:26] <kshishkov> not piped for it [17:37:59] * _av500_ welcomes kshishkov back from whereever he has been [17:38:22] <kshishkov> _av500_: at least now it's 200km closer to Stockholm [17:39:07] <_av500_> they physically moved kharkov? [17:39:16] <kshishkov> no, I physically moved from there [17:39:35] <_av500_> for vacation? [17:39:37] <kshishkov> had to get a work for that though [17:39:53] <_av500_> a work [17:40:10] <kshishkov> yep [17:40:21] <pJok> its alive and back! [17:40:28] <pJok> god kväld, kshishkov :) [17:40:42] <pJok> err [17:40:44] <pJok> kväll [17:40:51] <kshishkov> and a bunch of good evenings to you too [17:41:03] <_av500_> kiev? [17:41:44] <kshishkov> karlsruhe [17:43:27] <_av500_> wow [17:44:53] <kshishkov> Kiev sucks, so I'd move there only at gunpoint [17:45:22] <_av500_> who do you work for? [17:45:31] <kshishkov> Cinemo [17:46:40] <BastyCDGS> one question, how do I do the following with git? [17:46:57] <BastyCDGS> I have now the noindent patch ready of restructuring optimization patch [17:47:12] <BastyCDGS> I want now to commit this locally and just correct indentation and create a correct patch [17:47:48] <_av500_> kshishkov: nice [17:48:16] <kshishkov> _av500_: yes, I think so [17:48:33] <BastyCDGS> can I do sth. like git diff file1 local_repo? [17:49:01] <mru> just create the commits in your local repo [17:49:10] <mru> the git svn dcommit them all at once [17:49:24] <_av500_> kshishkov: you are herewith invited to a non-alcoholic beverage of your choise here any time [17:49:27] <BastyCDGS> svn dcommit? [17:49:46] <BastyCDGS> I'm not using git-svn [17:49:49] <BastyCDGS> just plain git [17:49:56] <mru> oh, wait... you don't have commit rights do you? [17:50:05] <kshishkov> _av500_: oh, thanks [17:50:11] <BastyCDGS> no I haven't commit rights [17:50:25] <mru> BastyCDGS: still, do the commits locally [17:50:45] <mru> then "git format-patch origin" should give you a nice patch series [17:51:18] <elenril> even better, git send-email [17:51:33] <mru> yeah, that's even better [17:51:44] <BastyCDGS> I prefer writing mails to ML with thunderbird so I have all sent/received mails in one program [17:52:10] <mru> you'll get them back from the ML [17:52:14] <elenril> sending multiple patches is :effort: [17:52:24] <BastyCDGS> oh then I didn't say anything ;) [17:52:51] <mru> git send-email will ask you for an address to send to [17:53:07] <mru> you can set a default in the repo configuration [17:53:14] <_av500_> git cant figure that out by itself? bah [17:53:16] <mru> man git-send-email should say how [17:53:20] <BastyCDGS> I have already configured git for using my email adress and name for sending [18:07:49] <Dark_Shikari> calling on the cabal [18:07:54] <Dark_Shikari> http://www.reddit.com/r/programming/comments/bvwi5/x264_project_announces_fi... http://news.ycombinator.com/item?id=1293135 http://slashdot.org/submission/1223280/x264-Project-Announces-Blu-ray-Encodi... [18:07:58] <Dark_Shikari> upvote me [18:08:11] <kshishkov> ask xiph [18:08:14] <BastyCDGS> mru, short question regarding your critics...shall I do the correct indentation from start only for larger blocks of new code, or can I do that with any line marked by the patch as + ? [18:08:23] <Kovensky> <@mru> you'll get them back from the ML <-- not if you use gmail :( [18:08:32] <Kovensky> at least it completely ignores ML echoes [18:08:37] <mru> Kovensky: wtf? [18:08:47] <kshishkov> good night, I'll try to come here more often [18:08:57] <BastyCDGS> I also didn't get back the messages I sent to ml [18:09:19] <BastyCDGS> but they're at least in my sent folder [18:18:16] <BastyCDGS> so noindent patch should be fine now, mru ;) [18:18:17] <jai> BastyCDGS: btw, are you french? [18:19:03] <BastyCDGS> my native language is german, but since I moved to french speaking part of belgium 1.5f years ago, I have switched locale from de_DE to fr_BE for better learning of french [18:22:07] <jai> BastyCDGS: ah [18:22:20] <jai> should be fun [18:22:25] <BastyCDGS> you were wondering about my a ecrit in my reply messages, right? ;) [18:22:30] <jai> yep [18:23:19] <jai> using it for everyday communication should help a lot [18:23:40] * jai 's french is pretty rusty :( [18:24:21] * BastyCDGS can read a french newspaper and that stuff quite well now, but acoustical understanding is still very hard to me [18:26:25] <BastyCDGS> btw, is it safe to set bit_per_coded_sample to 12 (HAM6) resp. to 18 (HAM8)? [18:26:46] <BastyCDGS> because I wouldn't need any extra fields then...I just would have to check in the decoder if it's 12 or 18 [18:27:41] <BastyCDGS> 12 because HAM6 is 4096 color image and 18 because HAM8 is 262144 color image [18:27:53] <BastyCDGS> this way we can still differ from 16 bit images and 24 bit images ;) [18:28:08] <BastyCDGS> but I'm not sure if this breaks something else in ffmpeg [18:28:13] <BBB> no, that should be fine [18:28:20] <BastyCDGS> perfect :D [18:29:00] <BastyCDGS> should I provide here two patches also? one for EHB alone and one for HAM? [18:29:18] <BBB> yes [18:29:21] <jai> if they are independent, then yes [18:29:23] <BBB> because they're completely different things [18:29:44] <BastyCDGS> okey [18:29:49] <BastyCDGS> they are [18:30:52] <BastyCDGS> btw, sometime ago I posted a patch for fixing the IFF reading [18:31:05] <BBB> ping it, I'll review that also now [18:31:06] <BastyCDGS> will this be commited or shall I still change anything there? [18:31:24] <BastyCDGS> wait I'll create a new one with git ;) [18:48:31] <CIA-7> ffmpeg: stefano * r22963 /trunk/libavdevice/v4l2.c: Remove unnecessary width and height variables from v4l2_read_header(). [18:49:55] <BastyCDGS> BBB, just submitted to ml [18:50:14] <BBB> ok [19:03:32] <BastyCDGS> fixed the critics on restruct noindent patch [19:09:41] <BastyCDGS> ooohh, I found a bug... [19:09:54] <BastyCDGS> when displaying an IFF image and you resize the window it goes simply black [19:10:29] <BastyCDGS> is this because the IFF decoder and demuxer doesn't currently using scaling? [19:12:21] <BastyCDGS> just tried out with a jpeg image, same happens there too... [19:15:28] <drv> that's just ffplay + image in general [19:16:17] <BastyCDGS> oh so I shouldn't worry about that in de(muxer|coder)? [19:18:10] <drv> right [19:19:17] <BastyCDGS> then the issue is probably that ffplay doesn't react to window resize messages? [19:21:51] <BBB> it does, but it only updates after the next frame [19:22:03] <BBB> and these videos are 1 frame :) [19:22:38] <BastyCDGS> is a fix appreciated for this? [19:23:27] <wbs> if it's clean and doesn't interfere with anything else, it may be appreciated, I guess that's mostly up to michael [19:31:40] <elenril> BastyCDGS: you should really use git format-patch [19:31:51] <elenril> it includes the commit message into the patch [19:33:37] * Kovensky wonders why does his code fail with mp2 but works with aac [19:34:30] <elenril> Kovensky: witches [19:35:27] <Dark_Shikari> but witches don't exist [19:35:35] <Dark_Shikari> there is no 19th person! [19:36:28] <elenril> got any proof? =p [19:36:50] * elenril wonders why do so many people thinks it's mystery [19:37:39] <Kovensky> oh, got it to work! [19:37:43] <Kovensky> but I had to use a goto D: [19:39:11] <drv> don't worry, raptor-proofing specialists will be at your workstation shortly [19:39:27] <Kovensky> :P [19:39:33] <Kovensky> well, I'm working on getting rid of it [19:39:33] <Kovensky> Decoded 1 [19:39:33] <Kovensky> Decoded 2 [19:39:33] <Kovensky> [mp2 @ 0x60dfd0]Header missing [19:39:33] <Kovensky> lavfsource [error]: error decoding audio [19:39:36] <Kovensky> Decoded 4 [19:39:39] <Kovensky> no idea why mp2 whines about that though [19:39:48] <BastyCDGS> BBB: fixed your issues on my patch [19:39:56] <Kovensky> (the %d are the frame number) [19:40:07] <Kovensky> it then goes without issue until EOF ._. [19:54:42] <BBB> what do you mean "should I change both patches"? [19:54:57] <BBB> submit the case in a separate patch, is what I would say [19:55:04] <BBB> so that the first patch becomes simpler [19:56:15] <wbs> one way of getting rid of all the "how to send proper patches" problems is reading the mailing list for a long time before actually sending anything ;P [19:57:52] <BastyCDGS> I've fixed it...it was already in the other patch [19:57:58] <BastyCDGS> just submitted to ml [20:02:16] <BBB> wbs: I was surprised you never ran into this ;) [20:02:53] <BBB> and now that I work like this, I'm ashamed of earlier patches I've sent to e.g. the linux mailinglist [20:03:01] <BBB> where basically half of my patch was reindenting of a driver [20:03:06] <BBB> and the other half was functional changes [20:03:13] <BBB> nobody could ever have reviewed that AND be sane [20:04:33] <wbs> BBB: i've been subscribed to -devel (and read most mails) for almost a year, and have been browsing the list on and off for quite some time before that, too ;P [20:04:58] <BBB> that's better indeed [20:07:20] <wbs> I ran into some of your past within gstreamer, btw... I had tried making some custom filter using the template perhaps 18 months ago.. now when I looked at the code again, your name is in the copyright list of that template ;P [20:07:32] <BBB> indeed ;) [20:07:50] <BBB> you can go further back, before gstreamer I did mjpegtools and a mjpeg-capture-card linux kernel driver [20:08:06] <BBB> and during gstreamer I did a lot of gnome also [20:08:31] <wbs> ah [20:08:42] <BBB> what do you use gstreamer for? [20:08:46] <BBB> gst-ffmpeg wrapper + filters? [20:09:04] <BastyCDGS> BBB, just read your mail about the 4 more indent [20:09:05] <wbs> nah, interfacing with proprietary codecs and capture devices for work stuff [20:09:07] <BastyCDGS> it seems correct to me [20:09:13] <BastyCDGS> at least in decode_ilbm [20:09:38] <BBB> that might be, I didn't check that very carefully [20:09:44] <BBB> the first one is definitely wrong though :) [20:10:08] <BBB> if you send the cosmetics patch along with it, it becomes easier to check which is wrong and which is right [20:11:09] <BastyCDGS> just compared with original, it's correct [20:11:24] <BastyCDGS> I even copied the original line to new one to compare [20:11:33] <BastyCDGS> the thing is that I removed one if/else completely [20:12:21] <BastyCDGS> or was i looking at wrong pos? [20:12:24] <BBB> maybe [20:13:34] <BastyCDGS> there is only one such a line in decode_frame_ilbm [20:13:59] <BastyCDGS> ohh i think i have it [20:14:34] <BBB> hehe :) [20:21:34] <BastyCDGS> you were correct on both parts but the first one one line was ok [20:21:38] <BastyCDGS> i'll submit to ml now [20:22:43] <BastyCDGS> sent [20:23:24] <BastyCDGS> for doing the remaining indentation it's best way to do a local git commit and then just correct indentation and then git diff right? [20:24:17] <wbs> for indentation stuff, personally i do the changes immediately, but then make patches using git format-patch -w, so that it ignores whitespace changes from the diff [20:25:21] <wbs> but if BBB wants a whitespace-only patch, too, you can e.g. apply the patch from format-patch -w on a separate branch, and diff that against the original branch [20:25:25] <wbs> or something like that ;P [20:25:46] <BastyCDGS> yes that's what he want [20:26:03] <BBB> you can also ask me to do it myself, I tend to not mind so much [20:26:39] * BBB thinks it's funny he responds "okay" but then doesn't actually attached the cosmetics patch ;) [20:28:05] <BastyCDGS> uhh what's wrong, did I miss sth.? [20:30:13] <BBB> no :) you're fine on this one [20:31:14] <BastyCDGS> so both are fine now...fine ;) [20:31:31] <BastyCDGS> then I'll do a local git commit and do the remaining indent stuff [20:31:59] <wbs> BastyCDGS: btw, learn to commit often in git, you're always able to rewrite the commit and change them later [20:32:11] <wbs> instead of working many days on one thing without ever committing inbetween [20:32:37] <BastyCDGS> hmm [20:32:40] <BastyCDGS> basty@cdgs-basty:~/src/ffmpeg$ git commit [20:32:40] <BastyCDGS> # On branch master [20:32:40] <BastyCDGS> # Changed but not updated: [20:32:40] <BastyCDGS> # (use "git add <file>..." to update what will be committed) [20:32:40] <BastyCDGS> # [20:32:41] <BastyCDGS> # modified: libavcodec/iff.c [20:32:41] <BastyCDGS> # modified: libavformat/iff.c [20:32:48] <wbs> please read the fine manual [20:33:31] <BastyCDGS> thought git add is only for new files [20:34:07] <wbs> git has this enormously useful feature called "staging" changes, learn to use it [20:34:35] <BastyCDGS> git commit -a [20:34:39] <BastyCDGS> is the way, right? [20:34:46] <wbs> if that's what you want to do, yes [20:35:13] <wbs> git however gives you the freedom to stage only some of the changes for committing in the current commit [20:35:24] <wbs> for separating logically distinct parts into separate commits [20:36:22] <elenril> read some tutorials at http://git-scm.com/ [20:38:17] <elenril> you'll spend like 20 minutes on one [20:38:31] <elenril> and it'll make everyone's life easier [20:38:37] <elenril> prevent global warming etc [20:39:39] <Kovensky> BastyCDGS: learn to use git gui too, it's very useful for selecting individual lines / chunks to commit [20:39:41] <elenril> btw anyone knows tikz? [20:39:52] <elenril> Kovensky: nah, git add -p is better =p [20:39:58] <elenril> guis are overrated [20:40:17] <BastyCDGS> I successfully were able to commit both libavcodec/iff.c and libavformat/iff.c as separate ;) [20:41:12] <elenril> now you just git format-patch -2 and :magic: [20:50:48] <BBB> BastyCDGS: good work! [20:50:55] <BastyCDGS> so both indent patches done [20:51:11] <BBB> we need someone with channel admin status here [20:51:15] <BBB> I think he needs a voice now [20:51:39] * BastyCDGS searches the unmute button in his face [20:52:21] <BBB> people who have submitted patches which have been accepted in svn/trunk get voice status in the channel, it's a sign of pure awesomeness [20:52:53] <BBB> or something like that [20:52:56] <BastyCDGS> well these patches aren't the first which got into trunk ;) [20:53:10] <BBB> well tell that to the channel admin who didn't know ;) [20:53:22] <BastyCDGS> but thank you very much [20:53:30] <BastyCDGS> what's the difference with a voice status? [20:54:20] <BBB> nothing [20:54:30] <BBB> you get this awesome yellow button in front of your name in xchat [20:54:41] <BBB> that's all :-p [20:54:48] <BastyCDGS> I'm using kvirc not xchat [20:55:12] <iive> you'll also be moved upper in the list, so it would be easy to spot your presence. [20:55:34] <BastyCDGS> ahh now I understand it's these guys listened with a prefixed V icon [20:56:01] <BBB> yes that! [20:56:17] <drv> well, the real purpose of voice is to be able to speak when the channel is +m, but not to have any other permissions [20:56:24] <drv> but usually this channel doesn't get +m anyway [20:58:02] <BastyCDGS> what is the reason here for muting this channel? [20:59:12] <drv> well, it usually never is, that's just a general irc tool [20:59:29] <drv> you can use it for things like a moderated chat with many listeners and a few speakers or something similar [20:59:53] <iive> well, few months ago, muting channel was needed to silence the horde of spam bots [21:00:15] <iive> it took week or two for freenode to roll out the final solution (tm). [21:00:25] <BastyCDGS> damn these fucking spammers [21:00:52] <BastyCDGS> btw, we've forgotten one patch, the minor-op patch...is there anything to do? [21:04:25] <BBB> I haven't reviewed that one yet [21:05:38] <BastyCDGS> mru reviewed it and he didn't found any negative except one indentiation which I should since it's a new line anyway fix with the patch and that I've done [21:05:59] <BastyCDGS> but he didn't reply to the fix, so from his point of view it's probably okay now [21:07:24] <wbs> BastyCDGS: no reply does NOT mean "ok for me" [21:07:47] <BastyCDGS> that's clear but he was complaining just one thing which I've fixed [21:08:11] <wbs> yes, but that does not mean that he's ok with the way that you've solved it, unless he has said "ok if you change it to FOO" or something like that [21:08:45] <wbs> but that's mostly relevant when you've got commit access so that you accidentally could be too triggerhappy and commit stuff before he gets a chance to say something [21:08:52] <BastyCDGS> > + for(i = 0; i < b; i++) { \ [21:08:52] <BastyCDGS> > >> + dst[ i ] |= get_bits1(&gb) << plane; \ [21:08:52] <BastyCDGS> > >> [21:08:52] <BastyCDGS> > [21:08:52] <BastyCDGS> > Since you're anyway rewriting that line, please drop the spaces inside []. [21:08:59] <wbs> ah, well such stuff is trivial [21:09:02] <BBB> ah, mru already said that [21:09:03] <BastyCDGS> that's all he complained ); [21:09:05] <BastyCDGS> ;) [21:09:09] <BBB> I complained about that too just now [21:11:10] <BastyCDGS> but I've tried to apply that patch now and it causes conflicts [21:11:43] <BastyCDGS> is that because I applied it after indentation? [21:13:31] <BastyCDGS> I just compared it and found out that it's exactly the lines where you have been complaining for before I did the indentiation as a second patch ;) [21:13:37] <BastyCDGS> now I finally understand why you want it this way... [21:13:57] <BastyCDGS> it avoids conflicts just because of indentation... [21:14:00] <BastyCDGS> right? [21:24:15] <BBB> yes [21:24:32] <BBB> but it's fine, I'll get them in eventually :) [21:25:02] <BastyCDGS> about the const thing what's exactly your issue there? [21:25:18] <BastyCDGS> b isn't going to be changed ever [21:31:38] <BBB> it's not necessary to mark it const, and I think it's in violation of the C spec to do so [21:31:44] <BBB> the second part is more severe than the first part [21:31:54] <BastyCDGS> why it's a violation of C spec? [21:31:55] <BBB> mru would be able to tell you for sure [21:32:04] <BBB> because it changes if bps/buf_size changes [21:32:06] <BastyCDGS> well, he didn't complain that when he reviewed it ;) [21:32:10] <BBB> const means it never changes :) [21:32:17] <BastyCDGS> but bps/buf_size doesn't change [21:32:23] <BBB> imagine you have a video player that plays video files [21:32:24] <BastyCDGS> only I and dst are changing [21:32:29] <BBB> first it plays one file with bps=X [21:32:32] <BBB> then one with bps=Y [21:32:36] <BBB> bps changed [21:32:46] <BastyCDGS> const means that it's just constant within function scope [21:32:52] <BastyCDGS> or block scope for that matter [21:33:12] <BBB> hmm... mru is that true? [21:33:22] <BBB> of course he went to sleep... [21:33:27] <BastyCDGS> http://tigcc.ticalc.org/doc/keywords.html#const [21:35:34] <BBB> "In this case, the const modifier allows you to assign an initial value to a variable that cannot later be changed by the program" [21:35:40] <BBB> that's ambiguous [21:35:47] <BBB> could be either what you said or what I said :) [21:36:10] <BastyCDGS> please reminder that const unsigned b is just local scope on stack ;) [21:36:18] <BastyCDGS> it will be killed when the function exits [21:36:29] <BastyCDGS> and within this scope it should be const [21:37:23] <BBB> I know, but that doesn't mean it's not in violation of the C spec [21:37:40] <BBB> although gcc doesn't appear to care... [21:37:49] <BastyCDGS> what should be the violation be? [21:37:57] <BBB> we'll have to ask mru tomorrow [21:38:10] <BBB> my personal opinion is that it's not needed, but if he's ok then we'll keep it :) [21:38:29] <BastyCDGS> this one is for me much more likely a violation: [21:38:29] <BastyCDGS> *(int*)&my_age = 35; [21:38:35] <BastyCDGS> when my_age ist const [21:38:39] <BastyCDGS> but I don't use that ;) [21:39:24] <BBB> that's because the (int*) itself is a violation [21:39:32] <BBB> a const int can only be addressed to as const int* [21:39:38] <BastyCDGS> Quoting from the ANSI C standard(8.2), "The purpose of const is to announce objects that may be placed in read-only memory, and perhaps to increase opportunities for optimization. ... Except that it should diagnose explicit attempts to change const objects, a compiler may ignore these qualifiers." [21:39:48] <BastyCDGS> http://www.ae.iitm.ac.in/pipermail/ilugc/2004-August/011781.html [21:40:02] <BBB> again ambiguous, can be either [21:40:04] <BBB> :) [21:40:07] <BBB> wait for mru tomorrow [21:40:23] <BBB> if it's read-only memory, then you have a problem [21:40:31] <BastyCDGS> const on float for example allows the compiler to put the value in the constant fp regs [21:40:32] <BBB> it's not like a static lookup table [21:43:09] <BastyCDGS> here is more detailed info:http://www.ericgiguere.com/articles/ansi-c-summary.html [21:43:13] <BastyCDGS> Special Modifiers [21:43:16] <drv> the compiler can usually prove constness of a local variable anyway [21:44:12] <BBB> gotta go now [21:44:17] <BastyCDGS> Initialization, however, is allowed ;) [21:44:19] <BBB> my recommendation is to remove it ;) [21:44:33] <BBB> because the compiler knows it isn't used in the loop [21:44:34] <BBB> anyway [21:44:35] <BBB> ... [21:44:46] <iive> "expecting gcc to do something right is exception, rather than rule" [21:45:04] <BastyCDGS> yes, it's even such dumb not moving out the calculation [21:45:14] <BastyCDGS> that's why I declared it const [21:45:22] <BastyCDGS> and moved out by hand [21:47:45] <BastyCDGS> well any optimization manual I read so far says that const should always be used when you don't change the variable in its life scope [21:48:05] <BastyCDGS> that's also what my professors say [21:49:00] <BastyCDGS> besides this const increases readibility...that was a huge discussion just recently ;) [21:49:09] <BastyCDGS> it tells the programmer that this variable shouldn't be changed [21:55:45] <BastyCDGS> drv, do you know where in which include lut resides? [21:56:06] <BastyCDGS> v= lut[get_bits(&gb, 4)]; [22:01:22] <drv> which file is it referenced in? if it doesn't have av_/ff_ prefix, it's probably not outside that file [22:02:38] <BastyCDGS> I dunno, Michael Niedermeyer recommended me to use this code to speed up [22:02:40] <drv> ah, i see the mail now, that's probably just michael meaning to create your own lookup table (lut), not an actual name of an existing array [22:03:38] <drv> i would guess since it's 4 bits, just make an array with all 16 possible inputs mapped to their corresponding output [22:04:02] <drv> (i.e. the index is the input and the content of that array location is the output) [22:04:24] <BastyCDGS> what does AV_WN32A and AV_RN32A do? [22:05:34] <drv> write/read 32-bit integer (the A means aligned, i think, and N means native endianness) [22:05:40] <drv> but grep the headers just to be sure :) [22:06:22] <BastyCDGS> #define AV_RNA(s, p) (((const av_alias##s*)(p))->u##s) [22:06:22] <BastyCDGS> s is 32 for WN32A [22:15:58] <BastyCDGS> looks to me that I should do the lookup table the following way [22:16:14] <BastyCDGS> for each set bit do an 1 << plane [22:17:14] <BastyCDGS> 0000 = 0, 0001 = 1 << plane, 0010 = 8 << plane, 0011 = 1 << plane | 8 << plane, etc. [22:21:51] <BastyCDGS> instead 8 = 0x100 sorry [23:36:54] <CIA-7> ffmpeg: stefano * r22964 /trunk/ffprobe.c: [23:36:54] <CIA-7> ffmpeg: Make ffprobe show stream->nb_frames if that info is known. [23:36:54] <CIA-7> ffmpeg: Patch by Robert Kr?ger $(echo kru3g3r@signal7.d3 | sed -e 's/3/e/g').
participants (1)
-
irc@mansr.com