{"id":479,"date":"2007-11-09T21:27:34","date_gmt":"2007-11-10T05:27:34","guid":{"rendered":"http:\/\/multimedia.cx\/eggs\/xintra8-in-ffmpeg\/"},"modified":"2007-11-10T09:05:58","modified_gmt":"2007-11-10T17:05:58","slug":"xintra8-in-ffmpeg","status":"publish","type":"post","link":"https:\/\/multimedia.cx\/eggs\/xintra8-in-ffmpeg\/","title":{"rendered":"XIntra8 In FFmpeg"},"content":{"rendered":"<p>Rejoice! Thanks to the inimitable multimedia hacker <a href=\"http:\/\/en.wikipedia.org\/wiki\/Allan_Smithee\">Allan Smithee<\/a>, <a href=\"http:\/\/ffmpeg.org\/\">FFmpeg<\/a> now supports the <a href=\"http:\/\/wiki.multimedia.cx\/index.php?title=XINTRA8\">XIntra8 coding scheme<\/a>! Why is this important? Also known informally as the J-frame (and X8Intra and IntraX8), the XIntra8 coding mode has long been the missing piece of the Microsoft WMV2 puzzle and is apparently also used in certain variations of WMV3.<\/p>\n<p><em>Update: Check out <a href=\"http:\/\/codecs.multimedia.cx\/?p=72\">Kostya&#8217;s rant<\/a> on the matter for better details on exactly what XIntra8 is, and why it is so painful.<\/em><\/p>\n<p>This has been a longstanding problem for FFmpeg&#8217;s open source WMV2 decoder. You would be watching a WMV2-encoded video and suddenly, obnoxiously, there would be a severe glitch where you could watch blocks of incorrect colors moving around the screen. For example:<\/p>\n<p><center><br \/>\n<img decoding=\"async\" src=\"\/eggs\/images\/wmv2-britney-blocky.jpg\" alt=\"Britney Spears -- Not A Girl, Not Yet A Woman -- XIntra8 blocky decode\" \/><br \/>\n<\/center><\/p>\n<p>The XIntra8 is a different type of <a href=\"http:\/\/wiki.multimedia.cx\/index.php?title=I-frame\">intraframe<\/a> from the usual I-frame found in WMV2. Since the decoder could not handle the data, the policy was to just copy over the previous interframe and proceed with more frames, and hope that a regular I-frame was not too far in the future.<\/p>\n<p>But now, I can finally properly watch this WMV2 encode of Britney Spears old music video for &#8220;Not A Girl, Not Yet A Woman&#8221;:<\/p>\n<p><center><br \/>\n<img decoding=\"async\" src=\"\/eggs\/images\/wmv2-britney-correct.jpg\" alt=\"Britney Spears -- Not A Girl, Not Yet A Woman -- XIntra8 correct decode\" \/><br \/>\n<\/center><\/p>\n<p>Oh, don&#8217;t try to claim that you don&#8217;t have an extensive collection of her works. It&#8217;s okay to state that you have amassed the collection strictly for the academic purpose of multimedia study. <em>That&#8217;s my story and I&#8217;m sticking to it.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rejoice! Thanks to the inimitable multimedia hacker Allan Smithee, FFmpeg now supports the XIntra8 coding scheme! Why is this important? Also known informally as the J-frame (and X8Intra and IntraX8), the XIntra8 coding mode has long been the missing piece of the Microsoft WMV2 puzzle and is apparently also used in certain variations of WMV3. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,12],"tags":[68,278,70],"class_list":["post-479","post","type-post","status-publish","format-standard","hentry","category-open-source-multimedia","category-windows-media","tag-ffmpeg","tag-windows-media","tag-xintra8"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/479","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/comments?post=479"}],"version-history":[{"count":0,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/479\/revisions"}],"wp:attachment":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/media?parent=479"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/categories?post=479"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/tags?post=479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}