<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for KeyJ&#039;s Blog</title>
	<atom:link href="http://keyj.emphy.de/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://keyj.emphy.de</link>
	<description>Demoscene and other crazy technological stuff</description>
	<lastBuildDate>Thu, 02 May 2013 06:53:54 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>Comment on NanoJPEG: a compact JPEG decoder by KeyJ</title>
		<link>http://keyj.emphy.de/nanojpeg/#comment-3862</link>
		<dc:creator>KeyJ</dc:creator>
		<pubDate>Thu, 02 May 2013 06:53:54 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=137#comment-3862</guid>
		<description><![CDATA[&lt;strong&gt;cDuarte:&lt;/strong&gt; This page (yes, the very page you&#039;re reading right now) clearly says that NanoJPEG requires more than 512 KiB of memory, not counting the decoded image itself. So, no, it&#039;s not really suited for a PIC :) In addition to the memory issues, you should also be aware that NanoJPEG assumes that the C type &lt;code&gt;int&lt;/code&gt; is at least 32 bits wide.

If you really need a JPEG decoder that can work on microcontrollers with just a handful of kilobytes of RAM, and you&#039;re accepting to pay for it, you should contact my employer, &lt;a href=&quot;http://dreamchip.de/&quot; rel=&quot;nofollow&quot;&gt;Dream Chip Technologies&lt;/a&gt;, because we have exactly that in our product portfolio.]]></description>
		<content:encoded><![CDATA[<p><strong>cDuarte:</strong> This page (yes, the very page you&#8217;re reading right now) clearly says that NanoJPEG requires more than 512 KiB of memory, not counting the decoded image itself. So, no, it&#8217;s not really suited for a PIC :) In addition to the memory issues, you should also be aware that NanoJPEG assumes that the C type <code>int</code> is at least 32 bits wide.</p>
<p>If you really need a JPEG decoder that can work on microcontrollers with just a handful of kilobytes of RAM, and you&#8217;re accepting to pay for it, you should contact my employer, <a href="http://dreamchip.de/" rel="nofollow">Dream Chip Technologies</a>, because we have exactly that in our product portfolio.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on NanoJPEG: a compact JPEG decoder by cDuarte</title>
		<link>http://keyj.emphy.de/nanojpeg/#comment-3861</link>
		<dc:creator>cDuarte</dc:creator>
		<pubDate>Wed, 01 May 2013 20:42:53 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=137#comment-3861</guid>
		<description><![CDATA[how much space is needed to perform calculations???...... size of buffers???............ cause i tried to compile the program for a PIC microcontroller and it does not compile, i think is a memory problem...... any ideas???]]></description>
		<content:encoded><![CDATA[<p>how much space is needed to perform calculations???&#8230;&#8230; size of buffers???&#8230;&#8230;&#8230;&#8230; cause i tried to compile the program for a PIC microcontroller and it does not compile, i think is a memory problem&#8230;&#8230; any ideas???</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The most evil feature ever conceived: the Exif Orientation Tag by Rob</title>
		<link>http://keyj.emphy.de/exif-orientation-rant/#comment-3860</link>
		<dc:creator>Rob</dc:creator>
		<pubDate>Tue, 23 Apr 2013 21:30:32 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=589#comment-3860</guid>
		<description><![CDATA[Helas... Windows 8 indeed corrects the orientation of pictures, but it does not correct the Exif-data (of course). Consequence is that portrait pictures showed on a Samsung smart-tv (via Samsung Allshare, see http://www.samsung.com/global/allshare/pcsw/), will NOT be shown in the correct orientation. Photo-editors (and, of course, Windows itself) show them correctly, so it&#039;s VERY confusing to adapt things in the editor or Windows Explorer.]]></description>
		<content:encoded><![CDATA[<p>Helas&#8230; Windows 8 indeed corrects the orientation of pictures, but it does not correct the Exif-data (of course). Consequence is that portrait pictures showed on a Samsung smart-tv (via Samsung Allshare, see <a href="http://www.samsung.com/global/allshare/pcsw/" rel="nofollow">http://www.samsung.com/global/allshare/pcsw/</a>), will NOT be shown in the correct orientation. Photo-editors (and, of course, Windows itself) show them correctly, so it&#8217;s VERY confusing to adapt things in the editor or Windows Explorer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Real Steganography with TrueCrypt by Rachel Faith</title>
		<link>http://keyj.emphy.de/real-steganography-with-truecrypt/#comment-3859</link>
		<dc:creator>Rachel Faith</dc:creator>
		<pubDate>Sun, 21 Apr 2013 17:08:54 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=458#comment-3859</guid>
		<description><![CDATA[Similar? What exactly is needed?  Does someone have a script for MKV written?  I think, even though this thread is a year old that would be a welcome trick.  MKV has really grown and 1080P movies are very common in large sizes.  I am tech savvy enough to understand, but not a coder to write this myself. So, is there, as you said: &quot;somebody&quot; who would &quot;try&quot; this?  Thanks for the reply.]]></description>
		<content:encoded><![CDATA[<p>Similar? What exactly is needed?  Does someone have a script for MKV written?  I think, even though this thread is a year old that would be a welcome trick.  MKV has really grown and 1080P movies are very common in large sizes.  I am tech savvy enough to understand, but not a coder to write this myself. So, is there, as you said: &#8220;somebody&#8221; who would &#8220;try&#8221; this?  Thanks for the reply.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Honey, I shrunk the MP3 decoder by gamecreature</title>
		<link>http://keyj.emphy.de/minimp3/#comment-3858</link>
		<dc:creator>gamecreature</dc:creator>
		<pubDate>Wed, 17 Apr 2013 21:33:01 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=59#comment-3858</guid>
		<description><![CDATA[Thank you very much for this nice implementation!! 
It saved me a lot of time trying to cross-platform-compile other big-library solutions!
And this library does exactly what it needs to do :D

(Maybe you should publish the sources to github)]]></description>
		<content:encoded><![CDATA[<p>Thank you very much for this nice implementation!!<br />
It saved me a lot of time trying to cross-platform-compile other big-library solutions!<br />
And this library does exactly what it needs to do :D</p>
<p>(Maybe you should publish the sources to github)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The art of shuffling music by Alex</title>
		<link>http://keyj.emphy.de/balanced-shuffle/#comment-3857</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Thu, 11 Apr 2013 16:14:26 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=66#comment-3857</guid>
		<description><![CDATA[Thanks! I needed to sort themed quiz questions and this was very helpful.]]></description>
		<content:encoded><![CDATA[<p>Thanks! I needed to sort themed quiz questions and this was very helpful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Honey, I shrunk the MP3 decoder by tyousan</title>
		<link>http://keyj.emphy.de/minimp3/#comment-3856</link>
		<dc:creator>tyousan</dc:creator>
		<pubDate>Thu, 11 Apr 2013 10:38:28 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=59#comment-3856</guid>
		<description><![CDATA[&lt;strong&gt;KeyJ:&lt;/strong&gt;thanks all the same.
If I have some questions on program,I will contact you by E-mail

Danke！( This is the first German I learned :-) )]]></description>
		<content:encoded><![CDATA[<p><strong>KeyJ:</strong>thanks all the same.<br />
If I have some questions on program,I will contact you by E-mail</p>
<p>Danke！( This is the first German I learned :-) )</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Honey, I shrunk the MP3 decoder by KeyJ</title>
		<link>http://keyj.emphy.de/minimp3/#comment-3855</link>
		<dc:creator>KeyJ</dc:creator>
		<pubDate>Wed, 10 Apr 2013 13:28:33 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=59#comment-3855</guid>
		<description><![CDATA[&lt;strong&gt;tyousan:&lt;/strong&gt; I&#039;m not an expert either: While I implemented an &lt;a href=&quot;http://keyj.emphy.de/kjmp2/&quot; rel=&quot;nofollow&quot;&gt;MPEG-Audio Layer II&lt;/a&gt; (MP2) decoder myself, MP3 is already too cryptic for me. As I mentioned in the article, &lt;code&gt;minimp3&lt;/code&gt; is &lt;em&gt;not&lt;/em&gt; an original work by me, but a stripped-down version of the MP3 decoder from FFmpeg&#039;s &lt;code&gt;libavcodec&lt;/code&gt;.]]></description>
		<content:encoded><![CDATA[<p><strong>tyousan:</strong> I&#8217;m not an expert either: While I implemented an <a href="http://keyj.emphy.de/kjmp2/" rel="nofollow">MPEG-Audio Layer II</a> (MP2) decoder myself, MP3 is already too cryptic for me. As I mentioned in the article, <code>minimp3</code> is <em>not</em> an original work by me, but a stripped-down version of the MP3 decoder from FFmpeg&#8217;s <code>libavcodec</code>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Honey, I shrunk the MP3 decoder by tyousan</title>
		<link>http://keyj.emphy.de/minimp3/#comment-3854</link>
		<dc:creator>tyousan</dc:creator>
		<pubDate>Wed, 10 Apr 2013 12:36:35 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=59#comment-3854</guid>
		<description><![CDATA[Hi, dude ! you&#039;re awesome! I really admire your masterpiece!!!

I&#039;m a beginner in mp3 decodec territory.It&#039;s so luck that I can find your code in the Internet to read and study.I downloaded your work, this easy to understand the main() function. Meanwhile ,I add some code to explain the ID3v2 tag(or frame) in the mp3 file to display the mp3 information. However, the decode part, especially the initial part is sort of obscure. So there are some code and the detail that I can&#039;t understand in your shrunk code, like decode_init() part, I read some paper about mp3 decode before read your code, But you know, principle is principle , There did are some differences between the principle and the implementation.

So, Would you mind releasing a comment-version for us, the beginners ,for learning(or explain some small but important functions what they works in the program).
Thank you every much.I am looking forward to your reply.]]></description>
		<content:encoded><![CDATA[<p>Hi, dude ! you&#8217;re awesome! I really admire your masterpiece!!!</p>
<p>I&#8217;m a beginner in mp3 decodec territory.It&#8217;s so luck that I can find your code in the Internet to read and study.I downloaded your work, this easy to understand the main() function. Meanwhile ,I add some code to explain the ID3v2 tag(or frame) in the mp3 file to display the mp3 information. However, the decode part, especially the initial part is sort of obscure. So there are some code and the detail that I can&#8217;t understand in your shrunk code, like decode_init() part, I read some paper about mp3 decode before read your code, But you know, principle is principle , There did are some differences between the principle and the implementation.</p>
<p>So, Would you mind releasing a comment-version for us, the beginners ,for learning(or explain some small but important functions what they works in the program).<br />
Thank you every much.I am looking forward to your reply.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on NanoJPEG: a compact JPEG decoder by KeyJ</title>
		<link>http://keyj.emphy.de/nanojpeg/#comment-3853</link>
		<dc:creator>KeyJ</dc:creator>
		<pubDate>Wed, 03 Apr 2013 14:50:11 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=137#comment-3853</guid>
		<description><![CDATA[&lt;strong&gt;lloyd-g:&lt;/strong&gt; ASCII PPM? Ouch, who needs those? Anyway, the format is quite simple: Write &quot;&lt;code&gt;P3\n&lt;/code&gt;&lt;em&gt;&lt;width&gt;&lt;/em&gt;&lt;code&gt; &lt;/code&gt;&lt;em&gt;&lt;height&gt;&lt;/em&gt;&lt;code&gt;\n255\n&lt;/code&gt;&#171; and then write all bytes you get from &lt;code&gt;njGetData()&lt;/code&gt; as ASCII decimal numbers, separated by whitespace.
Useful reading: &lt;code&gt;&lt;a href=&quot;http://linux.die.net/man/5/ppm&quot; rel=&quot;nofollow&quot;&gt;man ppm&lt;/a&gt;&lt;/code&gt;.]]></description>
		<content:encoded><![CDATA[<p><strong>lloyd-g:</strong> ASCII PPM? Ouch, who needs those? Anyway, the format is quite simple: Write &quot;<code>P3\n</code><em>&lt;width&gt;</em><code> </code><em>&lt;height&gt;</em><code>\n255\n</code>&laquo; and then write all bytes you get from <code>njGetData()</code> as ASCII decimal numbers, separated by whitespace.<br />
Useful reading: <code><a href="http://linux.die.net/man/5/ppm" rel="nofollow">man ppm</a></code>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on NanoJPEG: a compact JPEG decoder by lloyd-g</title>
		<link>http://keyj.emphy.de/nanojpeg/#comment-3852</link>
		<dc:creator>lloyd-g</dc:creator>
		<pubDate>Wed, 03 Apr 2013 14:23:42 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=137#comment-3852</guid>
		<description><![CDATA[I need to make ascii ppm p3 format files, having truble following the data path?]]></description>
		<content:encoded><![CDATA[<p>I need to make ascii ppm p3 format files, having truble following the data path?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Real Steganography with TrueCrypt by KeyJ</title>
		<link>http://keyj.emphy.de/real-steganography-with-truecrypt/#comment-3851</link>
		<dc:creator>KeyJ</dc:creator>
		<pubDate>Wed, 03 Apr 2013 07:15:09 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=458#comment-3851</guid>
		<description><![CDATA[&lt;strong&gt;Rachel:&lt;/strong&gt; Yes, the Matroska format allows for a similar hack. It can be even easier to implement than for MOV/MP4, because no offset fixing is needed: If I understand the specification correctly, all offsets are relative to a specific element in the file (the &#187;Segment&#171; element), and if a &#187;void&#171; element with the hidden data is put before the Segment element, everything should just work nicely. Somebody has to try that in practice, though.]]></description>
		<content:encoded><![CDATA[<p><strong>Rachel:</strong> Yes, the Matroska format allows for a similar hack. It can be even easier to implement than for MOV/MP4, because no offset fixing is needed: If I understand the specification correctly, all offsets are relative to a specific element in the file (the &raquo;Segment&laquo; element), and if a &raquo;void&laquo; element with the hidden data is put before the Segment element, everything should just work nicely. Somebody has to try that in practice, though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Real Steganography with TrueCrypt by Rachel Faith</title>
		<link>http://keyj.emphy.de/real-steganography-with-truecrypt/#comment-3850</link>
		<dc:creator>Rachel Faith</dc:creator>
		<pubDate>Wed, 03 Apr 2013 00:50:28 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=458#comment-3850</guid>
		<description><![CDATA[Hi, this looks great.  Can this be done with MKV files?  I have several hundred HD movies.  All of these are mkv and are between 10 and 50 GB each.  It would be very nice to hide 10GB or so into a 50GB file HD movie that plays normally.]]></description>
		<content:encoded><![CDATA[<p>Hi, this looks great.  Can this be done with MKV files?  I have several hundred HD movies.  All of these are mkv and are between 10 and 50 GB each.  It would be very nice to hide 10GB or so into a 50GB file HD movie that plays normally.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on NanoJPEG: a compact JPEG decoder by KeyJ</title>
		<link>http://keyj.emphy.de/nanojpeg/#comment-3848</link>
		<dc:creator>KeyJ</dc:creator>
		<pubDate>Wed, 20 Mar 2013 07:46:40 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=137#comment-3848</guid>
		<description><![CDATA[&lt;strong&gt;Roel:&lt;/strong&gt; More free time would be great :)]]></description>
		<content:encoded><![CDATA[<p><strong>Roel:</strong> More free time would be great :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on NanoJPEG: a compact JPEG decoder by Roel van Uden</title>
		<link>http://keyj.emphy.de/nanojpeg/#comment-3847</link>
		<dc:creator>Roel van Uden</dc:creator>
		<pubDate>Tue, 19 Mar 2013 21:25:43 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=137#comment-3847</guid>
		<description><![CDATA[NanoJPEG implemented in .NET is now found at https://github.com/Deathspike/NanoJPEG.NET. Is there a some way to motivate you to implement progressive image support? :)]]></description>
		<content:encoded><![CDATA[<p>NanoJPEG implemented in .NET is now found at <a href="https://github.com/Deathspike/NanoJPEG.NET" rel="nofollow">https://github.com/Deathspike/NanoJPEG.NET</a>. Is there a some way to motivate you to implement progressive image support? :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Honey, I shrunk the MP3 decoder by George</title>
		<link>http://keyj.emphy.de/minimp3/#comment-3844</link>
		<dc:creator>George</dc:creator>
		<pubDate>Mon, 25 Feb 2013 14:53:44 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=59#comment-3844</guid>
		<description><![CDATA[Martin,

Thank you for your help - after far too many hours of my time I have managed to acheive real time MP3 decoding on an Altera FPGA development board, which makes use of your mini mp3 code. This is for my final year undergraduate University project (BEng Electronic Engineering). I have of course kept your code header in place and am acknowledging your code &amp; assistance in my final report. Thanks again. George.]]></description>
		<content:encoded><![CDATA[<p>Martin,</p>
<p>Thank you for your help &#8211; after far too many hours of my time I have managed to acheive real time MP3 decoding on an Altera FPGA development board, which makes use of your mini mp3 code. This is for my final year undergraduate University project (BEng Electronic Engineering). I have of course kept your code header in place and am acknowledging your code &amp; assistance in my final report. Thanks again. George.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The art of shuffling music by KeyJ</title>
		<link>http://keyj.emphy.de/balanced-shuffle/#comment-3843</link>
		<dc:creator>KeyJ</dc:creator>
		<pubDate>Wed, 20 Feb 2013 09:38:18 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=66#comment-3843</guid>
		<description><![CDATA[&lt;strong&gt;ADi:&lt;/strong&gt; Of course it&#039;s not 0. If you randomly shuffle the tracks around, the probability that you get a sequence starting with &#187;AB&#171; is 1/5 * 1/4 = 1/20 = 5%.]]></description>
		<content:encoded><![CDATA[<p><strong>ADi:</strong> Of course it&#8217;s not 0. If you randomly shuffle the tracks around, the probability that you get a sequence starting with &raquo;AB&laquo; is 1/5 * 1/4 = 1/20 = 5%.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The art of shuffling music by ADi</title>
		<link>http://keyj.emphy.de/balanced-shuffle/#comment-3842</link>
		<dc:creator>ADi</dc:creator>
		<pubDate>Wed, 20 Feb 2013 08:01:01 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=66#comment-3842</guid>
		<description><![CDATA[Well i had a doubt. It you have a playlist which has tracks say:
ABCDE
It you apply shuffle algorithm, whichever even the faulty random. 
What is the probability of getting B as second track right after A??
I think it&#039;s 0 as its the nature of the suffling algorithms. 
Am i correct? What say?]]></description>
		<content:encoded><![CDATA[<p>Well i had a doubt. It you have a playlist which has tracks say:<br />
ABCDE<br />
It you apply shuffle algorithm, whichever even the faulty random.<br />
What is the probability of getting B as second track right after A??<br />
I think it&#8217;s 0 as its the nature of the suffling algorithms.<br />
Am i correct? What say?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The art of shuffling music by Vamshi</title>
		<link>http://keyj.emphy.de/balanced-shuffle/#comment-3841</link>
		<dc:creator>Vamshi</dc:creator>
		<pubDate>Tue, 05 Feb 2013 09:41:30 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=66#comment-3841</guid>
		<description><![CDATA[I would say awesome, just what I was looking for 
thanks]]></description>
		<content:encoded><![CDATA[<p>I would say awesome, just what I was looking for<br />
thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Honey, I shrunk the MP3 decoder by KeyJ</title>
		<link>http://keyj.emphy.de/minimp3/#comment-3840</link>
		<dc:creator>KeyJ</dc:creator>
		<pubDate>Mon, 28 Jan 2013 12:05:02 +0000</pubDate>
		<guid isPermaLink="false">http://keyj.emphy.de/?p=59#comment-3840</guid>
		<description><![CDATA[&lt;strong&gt;George:&lt;/strong&gt; As the type (&lt;code&gt;signed short&lt;/code&gt;) in the C declaration already hints at, it&#039;s native-endian signed 16-bit integers. So far, so straightforward.
Make sure to point to a buffer of at least &lt;code&gt;MP3_MAX_SAMPLES_PER_FRAME&lt;/code&gt; samples (not bytes) in the &lt;code&gt;mp3_decode&lt;/code&gt; call. The actual number of bytes (not samples) decoded there is then returned in the &lt;code&gt;mp3_info_t&lt;/code&gt; structure. And now that I read the header file again, I must agree that this is highly unlogical :)]]></description>
		<content:encoded><![CDATA[<p><strong>George:</strong> As the type (<code>signed short</code>) in the C declaration already hints at, it&#8217;s native-endian signed 16-bit integers. So far, so straightforward.<br />
Make sure to point to a buffer of at least <code>MP3_MAX_SAMPLES_PER_FRAME</code> samples (not bytes) in the <code>mp3_decode</code> call. The actual number of bytes (not samples) decoded there is then returned in the <code>mp3_info_t</code> structure. And now that I read the header file again, I must agree that this is highly unlogical :)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
