<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multimedia.cx/index.php?action=history&amp;feed=atom&amp;title=NUVision</id>
	<title>NUVision - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multimedia.cx/index.php?action=history&amp;feed=atom&amp;title=NUVision"/>
	<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=NUVision&amp;action=history"/>
	<updated>2026-04-18T09:34:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=NUVision&amp;diff=15703&amp;oldid=prev</id>
		<title>Kostya: fill information</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=NUVision&amp;diff=15703&amp;oldid=prev"/>
		<updated>2023-07-08T09:11:02Z</updated>

		<summary type="html">&lt;p&gt;fill information&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;* Company: Zoran Ltd.&lt;br /&gt;
* FOURCCs: &amp;lt;code&amp;gt;NTN1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NTN2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NTN3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is rather simple video codec based on delta coding. Frame is split into lines, line is split into slices of width 24, 16 or 8 and each is coded using its own prediction method and delta quantisation.&lt;br /&gt;
&lt;br /&gt;
Frame consists of frame header and line data packed into chunks. Word is 16-bit little-endian value (or two-byte pair when used for mode/delta coding).&lt;br /&gt;
&lt;br /&gt;
=== Frame header ===&lt;br /&gt;
  word - should be 0x55 0xAA&lt;br /&gt;
  byte - header size (normally 12)&lt;br /&gt;
  byte - frame sequence number (reset with each new frame group)&lt;br /&gt;
  word - unknown, probably CRC&lt;br /&gt;
  byte - unknown &lt;br /&gt;
  byte - probably intra frame flag (should be 0x80)&lt;br /&gt;
  word - frame width&lt;br /&gt;
  word - frame height&lt;br /&gt;
&lt;br /&gt;
=== Line chunks ===&lt;br /&gt;
  1 byte  - should be always 0x5A&lt;br /&gt;
  1 byte  - chunk size in 16-bit words&lt;br /&gt;
  1 byte  - line number&lt;br /&gt;
  luma slices coding modes&lt;br /&gt;
  chroma slices coding modes&lt;br /&gt;
  luma slice data&lt;br /&gt;
  chroma slice data (may be just one component per line)&lt;br /&gt;
&lt;br /&gt;
=== Line chunk coding ===&lt;br /&gt;
As mentioned above, line is split into 24-pixel slices plus a tail. Each slice can be coded using one of four different modes that are packed into bytes as two-bit variables (MSB first) and padded to the even length (the same coding is used for deltas).&lt;br /&gt;
&lt;br /&gt;
Slice coding modes:&lt;br /&gt;
* 0 - do not update slice from the previous frame&lt;br /&gt;
* 1 - unpack deltas and add them to the slice from the previous frame&lt;br /&gt;
* 2 - copy top slice (should not be present for the first line)&lt;br /&gt;
* 3 - unpack deltas and use top slice for prediction (or do horizontal prediction for the first line)&lt;br /&gt;
&lt;br /&gt;
Delta values are coded in the following manner:&lt;br /&gt;
  1 byte - quantiser&lt;br /&gt;
  packed delta modes&lt;br /&gt;
  escape values&lt;br /&gt;
&lt;br /&gt;
There are four delta modes: -1, 0, 1 and escape. So when e.g. delta mode 2 is read, the output value is equal to the quantiser value. And in case of delta mode 3 the actual value is stored right after the whole mode flags.&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]]&lt;br /&gt;
[[Category:Incomplete Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Kostya</name></author>
	</entry>
</feed>