(January 21, 2006)
In short: I am pretty much an average nerd, geek or whatever designation you prefer for people whose main interest is computers.
If this isn’t already enough information for you, read on …
A short CV
- born October 18, 1981 with the name Martin Fiedler in the nice little town Glauchau in the former German Democratic Republic (now Germany)
- attended elementary school and secondary school there
- wrote some sort of thesis (exactly called »Besondere Lernleistung«) about data compression during school
- studied Applied Computer Science (special subject: Media Technology) at Chemnitz University of Technology
- seminar paper: Implementation of a basic H.264/AVC Decoder
- diploma thesis: Videoaufbereitung für Peer-to-Peer-Videostreaming (»Video Processing for a P2P Video Streaming System«)
- 2005–2009: worked as Senior Design Engineer at Silicon Image (former sci-worx) in Hannover
- since 2010: working as Senior Software Engineer at Dream Chip Technologies GmbH in Garbsen (near Hannover)
- programming in C and Python (and some other languages, but these are my favorite ones)
- audio and video processing (and video compression in particular)
- 2D and 3D graphics
- the demoscene
- … and (to a somewhat lesser extent) everything else that has to do with computers and/or multimedia
- photography – you can see some travel photos at Google Photos
- via E-Mail: <email@example.com>
- via Twitter: @KeyJ_trbl
- via IRC: IRCnet or FreeNode, nicknames »KeyJ«, »KeyJ^work« or »kajott«
I have found your Minimal H.264 decoder from a code list and very interested in it:
But the link seems to be not work. (http://www-user.tu-chemnitz.de/~mfie/stuff/SA/)
Is your codec still available open source?
First of all i wanna say that im impressed by your work with that game in 6kb, Blockout! What a masterpiece! I play it for hours, the way to rotate and put those things together is incredible. You really should develop a mobile (gsm) java version and sell it, could get you some good income.
In other words, really nice to see that you regulary use Linux. I’m a fan of it, primerly Slackware(workstation) and then OpenBSD(network servers).
I’m amazed with your capability to understand so well mathematics and to deploy those great intros. Great talent! With people like you the world gets better.
I must admit im not so good with numbers, thats why im not getting any better in this field but hey, i gotta give credit to people who are exceptional.
Anyway, all the best!
Sorry to both of you for answering so late. The last week was a little bit troublesome for me, so I didn’t check the comment moderation queue until now.
Richard: Yes, sadly, my account at the university is finally gone, so you won’t find the code there any longer. But I promise to add it to this new site a.s.a.p.
Ionut: Thank you very much for your appreciation. Oh, and don’t be so keen on the maths stuff … there really isn’t much of that to a demo/intro. OpenGL does all the math, and where it doesn’t, it’s just simple vector algebra, not much harder than what I’ve learned at school. The only mathematical thing I really need is some imagination of how function graphs look like, or vice-versa: deriving a function whose graph somewhat looks like what I want to have in the intro.
I am a MS student ar university of Tehran. I am working on H.264. I want to ask if there is anyway that I can access to your Minimal H.264 decoder codes. As Richard said they are not available at http://www-user.tu-chemnitz.de/~mfie/stuff/SA/.
I will be so happy if you can help me.
I have downloaded MPUI and i find it pretty cool, but maybe you can add something like ‘load subtitle’ and choose font, character set etc…
you are doing great work
Hallo! Hab´s zum Laufen gebracht! Echt stark. Riiiiiiiiiiiiiiesen DANKE SCHÖN!!!!!!!!!!!!!!!!
I just read your paper Implementation of a basic H.264/AVC Decoder and would like to get the source files to play with. How can I obtain them?
MichaelM: Well, just head over to the Studies subpage and grab it from there :) Be warned that the decoder is indeed very simple (and buggy) and won’t decode much beyond the example streams I’ve made …
Your MPUI frontend is simply fantastic. Lightweight and easy to use. You haven’t updated in a long time though. I hope you haven’t given up on this amazing project
Hi, I downloaded MPUI and love it so much. But I have a question. I tried to play .rmvb files but it only played the sound. I tried to downloaded the RealMedia codec from the MPlayer official site and put it in the mplayer\codecs\ folder like the usual mplayer handles codecs, but it didn’t work. Is there any way I can do to play .rmvb files?
Vibgyor: The codecs directory of the MPlayer build I made myself is not …/mplayer/codecs, but just …/codecs. If you use the MPlayer that came with MPUI, try moving the codec files there.
Side note: It’s better to ask questions like this per mail …
Sorry about this. And thank you for your help. MPUI is a good work, please make it even better.
First of all, I would like to appreciate your kindness of releasing your minimal H.264 decoder. It really helps me a lot. Thank U very much.
I have tried a lot of test sequences, and I find some problem about the decoder.
The warning message “unsupported IntraChromaPredMode %d at %d,%d!\n” occurs with some test sequences. (Not all sequences!!)
Are there any problems in this decoder?
Where the problem is?
Kingston: You better ask for a part of the decoder that is not problematic :)
Jokes aside, the warning message most probably means that Exp-Golomb code for the chroma prediction mode is wrong. This is normally not a problem with your streams, but with my decoder: It’s really, really a minimal one and I don’t know of any real-world stream that works with it. It checks some of the settings and will quit if the stream requires features that are not supported, but this check isn’t complete. So you may get errors like the one mentioned above if your stream is not supported.
your presentation package CENSORED rocks. makes pdf reading very enjoyable than it already was. thank you for creating a master piece and giving it away for free.
I’m very interested in your minimal H.264 decoder, it helps me a lot.
I knew this code was ported on Ateme board with DM6416 DSP cpu. So,
I would like to know did you optimize this code for DSP. Have you ported this code for the more power DSP cpu (such as DM642 or DM64x+) and how its performance?.Thanks alot!
Vietnv: I didn’t optimize it at all – there just wasn’t enough time for that. Thus, the same C code that runs on the CPU runs on the DSP as well, but with far inferior performance: think 3-5 fps for a 320×240 sequence.
Happy birthday to you! All the best wishes and greetings from your studies town Chemnitz. CU
May I say that (just like a lot of the guys who posted here) I am totally impressed (in my case please read “blown away”) by your minimal H264 decoder. I mean WOW! How long did it took you to do it from scratch?
I’m considering making such a thing myself for my future thesis (about 1 year and couple of months away) and I just want to see if I have time enough!?? (Took a look at the H.264 standard and boy, is that a serious piece of work or what??!!!) In the meantime I’m trying to continue the code where you left off…but, like Vietnv above, I stumbled upon the “Unsupported chroma…” stuff. The hint you gave him is highly appreciated.
Again, thank you again for your kindness in releasing the code!
Hi Mr. Martin,
I introduce myself. My name Setiajie Cahyadi. I came from Surabaya.
Yesterday, i browse to your website (http://keyj.emphy.de/?page_id=41) and i found “Seminar Paper: »Implementation of a basic H.264/AVC decoder«” and source code of playh264 = http://keyj.emphy.de/files/projects/h264-src.tar.gz
I’m using Linux Operating System (Mandriva) and i have some file DV4 recorded from my CCTV machine (AVTECH DVR type KD647). This machine using video compression codec H.264
I’ve play successfully this DV4 file using your playh264 but it still shown error messagge “Warning : unexpected and unsupported NAL unit type !”. Maybe you can help me to fix the source code ? I want to modify your source code to standalone DV4 player.
Setiajie Cahyadi: You can safely ignore the »unsupported NAL unit type« warning. It just says that there is some additional data in the video stream that isn’t coded video data, but metadata of some kind. You can remove this warning from the code without any side effects.
Hi Mr. Martin,
Thank you for your attention. Can I make a gstreamer plugin from your playh264 source code ? I want to access my CCTV machine correctly in LInux OS. In browser : Mozilla Firefox and Google Chrome, this machine say QuickTime codec. But It can’t play streaming although i’ve installed libquicktime library. What yout opinion ? Maybe I modify libquicktime library ?
If i using Internet Explorer in M$ Window$, this machine offer 2 codec choice : H264 and QuickTime. If i use another browser, this machine only offer codec QuickTime and i must download from apple.com
Setiajie Cahyadi: Feel free to write a GStreamer plugin around my H.264 decoder – however, may I ask why you really need it? FFmpeg/libav is a much better (i.e. actually working for most streams) and much faster decoder, so if you’re going down the open source route, why not just use these?
Where is to find your patch to mplayer?
Andrei: There’s only one patch I ever did to MPlayer. That was from 2006 or so and the bug that has been fixed by it is corrected in upstream for a veeeery long time already. So you really don’t need it :)
I am currently working on an h.264 decoder which uses modified source code from your project along with VHDL and verilog code implementing portions of the algorithm (inter/intra/iqit/etc) and a Network on Chip for communication.
I plan on making my hardware designs open source when finished.
May I also make the modified software files derived from your work available along side my hardware designs?
Thanks for your considerations,
Ian: Since the code is public domain (because I didn’t care about licenses back then), you are welcome to change and redistribute it as you like. But I’d love to hear from your VHDL implementation when it’s finished!
Thanks for getting back to me so quickly.
I’ll post back here when I make the code available.
Hi KeyJ, firs thanks for your awesome work,all those tools make the geek life even more entertaining.
I assume that you have tons of personal projects but I wanna know if you can take a comission for a specific change on kkapture. is about the sound
in a demo that I’m trying to record the sound works with wasapi instead
directsound. so kkapture record a muted video.
I’m more a 3d artist geek and have no idea how to get even the new wip to
work and record audio.
in advance thank you and blessings
Evan: WASAPI support is already on my long-term to-do list for kkapture, but it’s not a trivial change – basically a third code path next to WinMM and DirectSound, for an API I’m not familiar with and which is conceptually much more complex than the former two :(
completely understandable, I will look forward to that day :)
Anyway I would like to give you a donation, do you use paypal or patreon?
Hi Mr. Keyj
I wonder if there’s a way to get a version of kkapture with the
(BASS anti-WASAPI workaround) setup.
tried the latest version but it seems that doesn’t have those lines of code on it.
Thank you in advance for your attention and have a nice day ;)
lotus Moss: There should be a binary release on GitHub that includes this change (among a few others).