*** tpb has joined #timvideos | 00:00 | |
*** Bertl_oO is now known as Bertl | 00:29 | |
mithro | shenki: I think you have cut off the error there | 00:45 |
---|---|---|
mithro | shenki: Timing: Completed - 82 errors found. | 01:28 |
shenki | mithro: why did i get different results to travis? | 01:31 |
mithro | shenki: I can't see the errors, so I can't see why it is different? | 01:32 |
shenki | mithro: okay. which log file do we want? i've closed the tab so i don't have the console history | 01:33 |
mithro | shenki: a couple of pages above that output would be useful | 01:35 |
mithro | shenki: as well, ISE gets confused sometimes | 01:39 |
shenki | ok, i'll rebuild | 01:42 |
shenki | mithro: should i delete anything before rebuilding? | 01:42 |
mithro | shenki: no need | 01:42 |
shenki | ok | 01:42 |
shenki | and this is what i want to type? | 01:42 |
shenki | make BOARD=atlys TARGET=hdmi2usb PROG=openocd gateware | 01:42 |
mithro | no | 01:47 |
mithro | you shouldn't need anything more than "make gateware" all the others are defaults | 01:47 |
shenki | k | 01:49 |
shenki | mithro: it worked this time :/ | 02:27 |
shenki | mithro: thanks for your help ") | 02:27 |
shenki | :) | 02:27 |
mithro | shenki: good to see you trying things :P | 02:28 |
*** sb0 has quit IRC | 02:31 | |
*** Bertl is now known as Bertl_zZ | 02:46 | |
*** sb0 has joined #timvideos | 03:08 | |
*** travis-ci has joined #timvideos | 03:09 | |
travis-ci | [mithro/HDMI2USB-misoc-firmware/master#55] (480cd42): The build passed. (https://travis-ci.org/mithro/HDMI2USB-misoc-firmware/builds/95486254) | 03:09 |
*** travis-ci has left #timvideos | 03:09 | |
*** sb0_ has joined #timvideos | 03:49 | |
*** sb0 has quit IRC | 03:49 | |
*** sb0_ has quit IRC | 04:48 | |
shenki | mithro: thanks :) now that i've got a hdmi2usb and a hdmi2eth build, i will test it tonight | 05:18 |
shenki | i want to demo the hdmi2eth to a friend | 05:18 |
shenki | mithro: can you help me with a c++ question? | 05:18 |
shenki | mithro: you were going on about const expressions the other day | 05:18 |
*** sb0 has joined #timvideos | 06:24 | |
mithro | shenki: I'm around know if you still need that C++ help | 09:00 |
*** sb0 has quit IRC | 09:03 | |
*** sb0 has joined #timvideos | 09:08 | |
shenki | mithro: i have this snippet of code | 09:20 |
shenki | static Target* const MASTER_PROCESSOR_CHIP_TARGET_SENTINEL | 09:20 |
shenki | = (sizeof(void*) == 4) ? | 09:20 |
shenki | reinterpret_cast<TARGETING::Target* const>(0xFFFFFFFF) | 09:20 |
shenki | : reinterpret_cast<TARGETING::Target* const>(0xFFFFFFFFFFFFFFFFULL); | 09:20 |
shenki | it's in a header | 09:20 |
shenki | and i want it to be a compile time constant | 09:20 |
shenki | gcc warns me that it's unused, which i thought it wasn't supposed to do for static const things | 09:20 |
shenki | (i didn't write the code. im trying to build it using a newer compiler) | 09:20 |
mithro | shenki: what C++ version are you compiling with? | 09:25 |
*** se6astian|away is now known as se6astian | 09:27 | |
mithro | shenki: that expression isn't a valid const expression in older C++ versions IIRC | 09:55 |
mithro | shenki: Until C++11 things you think should be constant expressions are not | 10:05 |
*** rohitksingh has joined #timvideos | 10:06 | |
shenki | mithro: im not sure which version. let me examine the flags | 10:13 |
shenki | mithro: you suspect that if i do -std=c++11 it might work? | 10:13 |
mithro | shenki: It'll be closer to working :) | 10:13 |
shenki | heh ok | 10:13 |
mithro | http://en.cppreference.com/w/cpp/language/constant_expression | 10:14 |
tpb | Title: Constant expressions - cppreference.com (at en.cppreference.com) | 10:14 |
shenki | mithro: the warning im getting is relating to an unused var | 10:17 |
shenki | mithro: i thought i wanted to fix it by making the whole the const | 10:17 |
shenki | coz normally in c++ you can have a static variable instead of doing #define? | 10:17 |
mithro | shenki: btw is the pointer const or is it pointing to something that is const, or both? | 10:19 |
mithro | can you past the whole error | 10:20 |
mithro | ? | 10:20 |
shenki | it should be both | 10:21 |
shenki | it's not in the code as it currently exists | 10:22 |
mithro | I think you need more const in there :P | 10:23 |
shenki | yeah, that might be the issue | 10:23 |
shenki | then all of the call sites blow up :/ | 10:23 |
shenki | but yeah, i think the issue is a long standing bug | 10:23 |
shenki | and gcc 4.9 has a bug where it doesn't produce any unused warning for it | 10:23 |
shenki | In file included from mdiafwd.H:34:0, | 10:25 |
shenki | from mdiamba.C:30: | 10:25 |
shenki | ../../../../src/include/usr/targeting/common/targetservice.H:137:22: error: ‘TARGETING::MASTER_PROCESSOR_CHIP_TARGET_SENTINEL’ defined but not used [-Werror=unused-variable] | 10:25 |
shenki | static Target* const MASTER_PROCESSOR_CHIP_TARGET_SENTINEL | 10:25 |
shenki | ^ | 10:25 |
shenki | cc1plus: all warnings being treated as errors | 10:25 |
mithro | shenki: and you sure you are using it somewhere? | 10:27 |
shenki | well, yes and no. it's a header, so sometimes it's used and sometimes it's not | 10:27 |
shenki | depends on the c++ file | 10:28 |
shenki | but C++ is not supposed to warn about stuff that's static const, right? | 10:28 |
mithro | shenki: I don't see why it wouldn't? | 10:29 |
shenki | $ g++ -Wall -O2 -c a.cc | 10:29 |
shenki | $ echo $? | 10:30 |
shenki | 0 | 10:30 |
shenki | $ cat a.cc | 10:30 |
shenki | static const int a = 10; | 10:30 |
shenki | coz c++ developers use static const instead of #defines | 10:30 |
shenki | i dunno. perhaps im all confused | 10:31 |
mithro | shenki: but if you never use your #define anywhere? | 10:31 |
mithro | btw you shouldn't be putting that initializer in the header file | 10:31 |
shenki | ok. why's that? | 10:32 |
shenki | (i need ammo to tell the peeps who wrote it why they are wrong) | 10:32 |
mithro | shenki: it's equivalent to putting a function body in the header | 10:32 |
shenki | only if it's not const, right? | 10:33 |
shenki | static char const b = 1 ? 'a' : 'b'; | 10:34 |
shenki | that line doesn't emit a warning | 10:34 |
shenki | static char* const b = 1 ? reinterpret_cast<char* const>('a') : reinterpret_cast<char* const>('b'); | 10:35 |
shenki | neither does that | 10:35 |
shenki | but if i change the 1 to sizeof(void *) it does warn | 10:35 |
shenki | so that means that sizeof(void *) is not constant? | 10:35 |
shenki | which is bullshit, the compiler should know that at compile time | 10:36 |
mithro | I think the compiler doesn't see "sizeof(void*)" as a valid constexpr | 10:47 |
mithro | so it ends up actually allocating the value | 10:48 |
shenki | yeah | 10:54 |
shenki | i agree | 10:54 |
shenki | i proposed they use __SIZEOF_POINTER__, a builtin define that gcc provides | 10:54 |
mithro | shenki: if you look at a objdump of the output elf file, you'll see it | 10:54 |
shenki | good idea | 10:55 |
mithro | what does "sizeof(void const*)" ? or actually = "sizeof(TARGETTING::Target* const)" do? | 10:55 |
*** Bertl_zZ is now known as Bertl | 10:56 | |
mithro | shenki: IE its weird to do the sizeof to a different thing you are reinterp casting from? | 10:57 |
shenki | it's a sentinel value | 10:58 |
shenki | so they're trying to make a pointer whos vlaue is -1 | 10:58 |
shenki | ie, all 1s | 10:58 |
shenki | 0xFFF....etc | 10:58 |
shenki | the sizeof is to find out of a pointer should be 64 1s, or 32 1s | 10:58 |
mithro | shenki: sure - I understand that | 10:59 |
shenki | right | 10:59 |
shenki | you're saying why not sizeof(Target *) ? | 10:59 |
mithro | 8:16 PM <+shenki> = (sizeof(void*) == 4) ? reinterpret_cast<TARGETING::Target* const>(0xFFFFFFFF) : reinterpret_cast<TARGETING::Target* const>(0xFFFFFFFFFFFFFFFFULL); | 10:59 |
shenki | i guess it's a pointer, it doesn't matter what type of pointer you sizeof | 10:59 |
mithro | = (AAAA == 4) ? reinterpret_cast<AAAA>(0xFFFFFFFF) : reinterpret_cast<AAAA>(0xFFFFFFFFFFFFFFFFULL); | 11:00 |
mithro | Logically, all the AAAA should be the same I think | 11:01 |
shenki | yeah. that's good style | 11:03 |
shenki | but sizeof(<anything> *) will always be the same value | 11:03 |
shenki | so functionally there's no difference | 11:04 |
shenki | it could do sizeof(int *) for all it matters | 11:04 |
shenki | this code is just silly | 11:09 |
shenki | i give up | 11:09 |
mithro | shenki: depends on your architecture :P - on sdcc a sizeof(int*) != sizeof(int*) depending on which memory the int* is in | 11:16 |
*** sb0 has quit IRC | 11:29 | |
*** Bertl is now known as Bertl_oO | 11:48 | |
shenki | heh, okay | 12:03 |
*** springermac_ has joined #timvideos | 12:09 | |
shenki | mithro: got the firmware loaded onto my atlys | 12:09 |
*** springermac has quit IRC | 12:10 | |
mithro | shenki: great, didn't we do that while I was at your place? | 12:15 |
shenki | yeah. but now ive done it by myself | 12:26 |
shenki | im trying to work out how the ethernet works. it looks like there's nothing on the lm32 for it | 12:27 |
mithro | shenki: yeah, I don't know very much about it | 12:32 |
shenki | ok | 12:35 |
shenki | mithro: what's our max res/framerate on usb these days? | 12:36 |
mithro | shenki: I'd start with seeing if the link light comes up / pinging it / etc | 12:36 |
mithro | shenki: 720p30 | 12:36 |
shenki | yeah, i get the link light | 12:39 |
shenki | okay, thanks | 12:39 |
mithro | shenki: you should actually be able to set it up so that you can tftp boot the lm32 firmware | 12:53 |
shenki | mithro: i did see that. i'm poking around | 13:08 |
shenki | the ip is the same range as my home network | 13:08 |
shenki | need to rebuild the gateware with a diff ip range | 13:08 |
_florent_ | hi shenki | 13:33 |
_florent_ | hdmi2eth is just sending the compressed jpeg frames over udp | 13:33 |
_florent_ | if you capture it, and find the jpeg header in it, you are able to get your | 13:33 |
_florent_ | video | 13:33 |
_florent_ | I implemented a skeleton for RTP, but things are still missing | 13:34 |
_florent_ | you can use that to capture the stream and reconstrut the frames of the video: | 13:36 |
_florent_ | https://github.com/timvideos/HDMI2USB-misoc-firmware/blob/master/test/hdmi2ethernet/test_capture.py | 13:36 |
tpb | Title: HDMI2USB-misoc-firmware/test_capture.py at master · timvideos/HDMI2USB-misoc-firmware · GitHub (at github.com) | 13:36 |
_florent_ | it will capture 10MB of data and then create the frames | 13:37 |
CarlFK | _florent_: neat. | 14:59 |
*** sb0 has joined #timvideos | 15:13 | |
*** sb0 has quit IRC | 15:16 | |
*** sb0_ has joined #timvideos | 15:16 | |
*** sb0_ has quit IRC | 16:36 | |
*** Bertl_oO is now known as Bertl | 18:05 | |
mithro | Hey, CarlFK | 21:39 |
CarlFK | mithro: hey! | 21:39 |
CarlFK | mithro: I need a name for the stream that comes from the projector feed | 21:40 |
mithro | CarlFK: you were working on making veyepar be able to do combining two videos? | 21:40 |
CarlFK | maybe projector feed | 21:40 |
CarlFK | heh, I am replying to that ticket rigt now | 21:40 |
CarlFK | the simple answer is no | 21:40 |
mithro | I think having projector in the name is probably good | 21:41 |
CarlFK | k | 21:41 |
mithro | CarlFK: complex answer? And what ticket? | 21:41 |
CarlFK | I did make a few tweeks to make it easier to deal with combining | 21:42 |
CarlFK | I just did do 50 node conf talks that were 2 sets of files that needed to be combined | 21:42 |
CarlFK | ryan's trello for lca video | 21:43 |
CarlFK | https://trello.com/c/y91qIWpJ/25-veyepar-ensure-it-can-workflow-mix-together-2-seperate-opsis-recordings-into-a-single-video | 21:43 |
mithro | Trello goes from spamming me like 10 thousand messages and then nothing | 21:44 |
CarlFK | lol | 21:46 |
CarlFK | brb | 21:46 |
mithro | CarlFK: do you think you can do what xfxf says pretty easily? | 21:46 |
CarlFK | back | 21:49 |
CarlFK | kinda, but currently it's a low priority | 21:50 |
CarlFK | having just did 50 talks.. I got a little insight... | 21:50 |
CarlFK | the live mixing solves all sorts of problems that I didn't even know where problems | 21:51 |
CarlFK | that no amount of veyepar hacking can solve | 21:51 |
mithro | Yes, I totally agree | 21:51 |
mithro | Out of interest, what are the problems you ran into? | 21:52 |
CarlFK | so given I have a few 100 hours between now and lca, getting live mixing is way on top | 21:52 |
CarlFK | number 1-10 (this one alone gets all these slots cuz it is so critical... :p) | 21:52 |
CarlFK | accurate clocks | 21:52 |
CarlFK | a second off is fine. | 21:53 |
CarlFK | much more than that and you are having to fiddle | 21:53 |
mithro | Okay, you can assume in our setup the clocks are within milliseconds of each other | 21:53 |
CarlFK | for some reason, one node talk the projector stream "had issues" and I got 12 files for 30 min | 21:54 |
CarlFK | no clue what was going on , this was the school's room | 21:55 |
CarlFK | but I suspect if a person was more involved, it would not have been as broken | 21:55 |
mithro | You already deal with multiple files per "recording" right? IE people being cut happy? | 21:55 |
CarlFK | (lost about 30 sec of content each break | 21:55 |
CarlFK | yesh, cuts are fine | 21:55 |
mithro | Can you deal with the two recordings starting at different times? (Assuming the timestamps in the file names are accurate?) | 21:57 |
CarlFK | live mixing lets the producer (person) get a feel for the presenters behavior | 21:57 |
CarlFK | starting at different times - "yes" | 21:57 |
mithro | Yeah, live mixing ++++ :-) | 21:57 |
CarlFK | quotec because... | 21:57 |
CarlFK | quotes | 21:57 |
CarlFK | the way I did 50 was like this: | 21:57 |
CarlFK | pull up talk 1 in veyepar (just like normal) | 21:58 |
CarlFK | look at talk id (like 10123) | 21:58 |
CarlFK | run script: ./mk_mlt.sh 10123 | 21:58 |
CarlFK | whoops, skipped a step | 21:59 |
CarlFK | figure out h:m:s the talk started | 21:59 |
CarlFK | put that into veyepar | 21:59 |
CarlFK | click [x]apply next to the presenter stream files | 21:59 |
CarlFK | (this is all pretty normal veyepar usage) | 22:00 |
CarlFK | (back to non normal deal with 2nd set of files) | 22:00 |
CarlFK | run script: ./mk_mlt.sh 10123 | 22:00 |
CarlFK | fire up Shotcut NLE (yes... doom) | 22:00 |
CarlFK | ./mk_mlt.sh 10123 -> creates foo_talk_title.mlt. pass that to Shotcut: ./sc.sh foo_talk_title .mlt | 22:01 |
CarlFK | that will have the presenter stream files all loaded up and ready to encode, with P-n-P applied | 22:02 |
CarlFK | the Projecotor stream files will be in the "list of assets" but not used yet | 22:02 |
CarlFK | for most of them, it was a matter or looking at the first or 2nd on that list, drag it onto the time line, save, exit, | 22:03 |
CarlFK | Set Veyepar to Encode, hit Save. | 22:03 |
CarlFK | onto the next one. | 22:03 |
CarlFK | "starting at different times" got addressed because the "list of assets" includes "default start time" offset into the file | 22:03 |
CarlFK | so when it gets dropped onto the time line, it jsut works | 22:04 |
mithro | How much work is it to make that shotcut bit? It should just be a slightly more complicated mlt file, right? | 22:05 |
mithro | S/shotcut bit/shotcut bit automated/ | 22:06 |
CarlFK | currently there isn't support 2 files that happen at the same time | 22:07 |
mithro | Be back in 1-2 hours | 22:07 |
CarlFK | click [x]apply next to the presenter stream files | 22:08 |
CarlFK | k | 22:08 |
mithro | 8:59 a.m. <+CarlFK> the Projecotor stream files will be in the "list of assets" but not used yet <--- how does that work then? | 22:09 |
CarlFK | mithro: drag it onto the time line | 22:09 |
CarlFK | which puts it at the same start time as the presenter stream, and the PiP is expecting it to be there | 22:10 |
CarlFK | "time line" = what gets encoded | 22:10 |
*** se6astian is now known as se6astian|away | 22:14 | |
mithro | CarlFK: kinda back now | 22:57 |
mithro | Just walking to work | 22:57 |
mithro | CarlFK: but how does the stream file end up in the list of assets to drag? | 22:58 |
CarlFK | mithro: veyepar's "here are files that might be part of this talk" - room and start/end times | 22:59 |
*** rohitksingh has quit IRC | 23:00 | |
CarlFK | mithro: if we are two weeks from LCA and it looks like we need this to be more automated, then it might be worth considering | 23:01 |
CarlFK | but it's code I really don't want anyone to write | 23:01 |
CarlFK | mithro: did you ever get an assessment of how vocto's first talk went? | 23:03 |
shenki | _florent_: i was tcpdumping, and nothing was coming in on my ethernet interface | 23:07 |
mithro | shenki: did you get ping working at all? | 23:16 |
shenki | no | 23:16 |
shenki | there were no packets being received by the interface | 23:17 |
mithro | But you had link? | 23:17 |
shenki | yes | 23:17 |
mithro | Are you connected directly? IE no switch, right? | 23:17 |
shenki | correct, direct connection | 23:18 |
*** Bertl is now known as Bertl_oO | 23:19 | |
CarlFK | what does "had link" mean? | 23:20 |
tumbleweed | kernel / ethtool reported link, I'd guess | 23:22 |
CarlFK | ah right, linux on one side | 23:23 |
mithro | The little link light is glowing green | 23:32 |
CarlFK | Atlys, powerd up, nothing else. pluged in to laptop: | 23:32 |
CarlFK | [ 270.365627] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None | 23:32 |
CarlFK | [ 270.365806] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready | 23:32 |
mithro | shenki: I'm pretty sure Florent last had it working on the Opsis, so he may have broken the Atlys board | 23:32 |
CarlFK | link lights on both sides | 23:33 |
mithro | _florent_: also broke his Atlys board by putting 12V into it | 23:33 |
mithro | shenki: might be worth checking the Ethernet target which doesn't have HDMI too | 23:34 |
mithro | I'm unsure if ping should work or not | 23:38 |
shenki | i doubt ping would be working | 23:40 |
shenki | it would just be spitting out udp packets on the port that it's configured for | 23:40 |
mithro | shenki: https://github.com/enjoy-digital/liteeth/blob/master/liteeth/core/icmp.py | 23:55 |
tpb | Title: liteeth/icmp.py at master · enjoy-digital/liteeth · GitHub (at github.com) | 23:55 |
mithro | Actually, I lie - It looks like there is only a HDMI2Eth target for the Atlys | 23:57 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!