General refactor and cleanup.

This commit is contained in:
2024-04-30 04:46:49 +01:00
parent df86b44902
commit dbf4d2c2aa
15 changed files with 1706 additions and 1680 deletions

View File

@@ -4,8 +4,8 @@ using System.Linq;
using SharpAvi; using SharpAvi;
using SharpAvi.Output; using SharpAvi.Output;
namespace Aaru.VideoNow namespace Aaru.VideoNow;
{
public static class Color public static class Color
{ {
/// <summary> /// <summary>
@@ -86,8 +86,7 @@ namespace Aaru.VideoNow
int audioStart = swapped ? 9 : 8; int audioStart = swapped ? 9 : 8;
byte[] frameMarkerToUse = swapped ? SwappedFrameMarker : FrameMarker; byte[] frameMarkerToUse = swapped ? SwappedFrameMarker : FrameMarker;
if(!swapped) if(!swapped) frameBuffer = Swapping.SwapBuffer(frameBuffer);
frameBuffer = Swapping.SwapBuffer(frameBuffer);
var outFs = new MemoryStream(); var outFs = new MemoryStream();
@@ -127,8 +126,7 @@ namespace Aaru.VideoNow
Console.Write($"\r{Localization.LookingForMoreFrames}", progress); Console.Write($"\r{Localization.LookingForMoreFrames}", progress);
for(int ab = audioStart; ab < buffer.Length; ab += 10) for(int ab = audioStart; ab < buffer.Length; ab += 10) buffer[ab] = 0;
buffer[ab] = 0;
if(!buffer.SequenceEqual(frameMarkerToUse)) if(!buffer.SequenceEqual(frameMarkerToUse))
{ {
@@ -141,8 +139,7 @@ namespace Aaru.VideoNow
fs.Position = framePosition; fs.Position = framePosition;
fs.Read(buffer, 0, buffer.Length); fs.Read(buffer, 0, buffer.Length);
for(int ab = audioStart; ab < buffer.Length; ab += 10) for(int ab = audioStart; ab < buffer.Length; ab += 10) buffer[ab] = 0;
buffer[ab] = 0;
if(buffer.SequenceEqual(frameMarkerToUse)) if(buffer.SequenceEqual(frameMarkerToUse))
{ {
@@ -152,8 +149,7 @@ namespace Aaru.VideoNow
frameBuffer = new byte[19600]; frameBuffer = new byte[19600];
fs.Read(frameBuffer, 0, frameBuffer.Length); fs.Read(frameBuffer, 0, frameBuffer.Length);
if(!swapped) if(!swapped) frameBuffer = Swapping.SwapBuffer(frameBuffer);
frameBuffer = Swapping.SwapBuffer(frameBuffer);
outFs = new MemoryStream(); outFs = new MemoryStream();
@@ -179,11 +175,14 @@ namespace Aaru.VideoNow
totalFrames++; totalFrames++;
Console.Write("\r \r"); Console.Write("\r \r");
Console.WriteLine(Localization.FrameFoundAtPosition, framePosition, totalFrames, Console.WriteLine(Localization.FrameFoundAtPosition,
framePosition,
totalFrames,
framePosition - expectedFramePosition); framePosition - expectedFramePosition);
Console. Console.WriteLine(framePosition % 2352 == 0
WriteLine(framePosition % 2352 == 0 ? Localization.FrameIsAtSectorBoundary : Localization.FrameIsNotAtSectorBoundary, ? Localization.FrameIsAtSectorBoundary
: Localization.FrameIsNotAtSectorBoundary,
totalFrames); totalFrames);
framePosition += 19600; framePosition += 19600;
@@ -208,8 +207,7 @@ namespace Aaru.VideoNow
frameBuffer = new byte[19600]; frameBuffer = new byte[19600];
fs.Read(frameBuffer, 0, frameBuffer.Length); fs.Read(frameBuffer, 0, frameBuffer.Length);
if(!swapped) if(!swapped) frameBuffer = Swapping.SwapBuffer(frameBuffer);
frameBuffer = Swapping.SwapBuffer(frameBuffer);
outFs = new MemoryStream(); outFs = new MemoryStream();
@@ -280,8 +278,7 @@ namespace Aaru.VideoNow
videoFs.WriteByte(g); videoFs.WriteByte(g);
videoFs.WriteByte(b); videoFs.WriteByte(b);
r = (byte)((frameBuffer[indexBlock2 + 1] & 0xF0) + r = (byte)((frameBuffer[indexBlock2 + 1] & 0xF0) + ((frameBuffer[indexBlock2 + 1] & 0xF0) >> 4));
((frameBuffer[indexBlock2 + 1] & 0xF0) >> 4));
b = (byte)((frameBuffer[index] & 0x0F) + ((frameBuffer[index] & 0x0F) << 4)); b = (byte)((frameBuffer[index] & 0x0F) + ((frameBuffer[index] & 0x0F) << 4));
g = (byte)((frameBuffer[index + 1] & 0xF0) + ((frameBuffer[index + 1] & 0xF0) >> 4)); g = (byte)((frameBuffer[index + 1] & 0xF0) + ((frameBuffer[index + 1] & 0xF0) >> 4));
@@ -291,18 +288,15 @@ namespace Aaru.VideoNow
r = (byte)((frameBuffer[index + 1] & 0x0F) + ((frameBuffer[index + 1] & 0x0F) << 4)); r = (byte)((frameBuffer[index + 1] & 0x0F) + ((frameBuffer[index + 1] & 0x0F) << 4));
b = (byte)((frameBuffer[indexBlock2 + 1] & 0x0F) + b = (byte)((frameBuffer[indexBlock2 + 1] & 0x0F) + ((frameBuffer[indexBlock2 + 1] & 0x0F) << 4));
((frameBuffer[indexBlock2 + 1] & 0x0F) << 4));
g = (byte)((frameBuffer[indexBlock2 + 2] & 0xF0) + g = (byte)((frameBuffer[indexBlock2 + 2] & 0xF0) + ((frameBuffer[indexBlock2 + 2] & 0xF0) >> 4));
((frameBuffer[indexBlock2 + 2] & 0xF0) >> 4));
videoFs.WriteByte(r); videoFs.WriteByte(r);
videoFs.WriteByte(g); videoFs.WriteByte(g);
videoFs.WriteByte(b); videoFs.WriteByte(b);
r = (byte)((frameBuffer[index + 120 + 2] & 0x0F) + r = (byte)((frameBuffer[index + 120 + 2] & 0x0F) + ((frameBuffer[index + 120 + 2] & 0x0F) << 4));
((frameBuffer[index + 120 + 2] & 0x0F) << 4));
b = (byte)((frameBuffer[index + 2] & 0xF0) + ((frameBuffer[index + 2] & 0xF0) >> 4)); b = (byte)((frameBuffer[index + 2] & 0xF0) + ((frameBuffer[index + 2] & 0xF0) >> 4));
g = (byte)((frameBuffer[index + 2] & 0x0F) + ((frameBuffer[index + 2] & 0x0F) << 4)); g = (byte)((frameBuffer[index + 2] & 0x0F) + ((frameBuffer[index + 2] & 0x0F) << 4));
@@ -324,11 +318,9 @@ namespace Aaru.VideoNow
for(var row = 0; row < 80; row++) for(var row = 0; row < 80; row++)
{ {
for(var p = 0; p < 432; p++) for(var p = 0; p < 432; p++) frameBuffer[row * 432 + p] = frameBuffer2[row * 432 + (431 - p)];
frameBuffer[row * 432 + p] = frameBuffer2[row * 432 + (431 - p)];
} }
return frameBuffer; return frameBuffer;
} }
} }
}

View File

@@ -37,24 +37,18 @@ using System.Reflection;
// ReSharper disable LocalizableElement // ReSharper disable LocalizableElement
namespace Aaru.VideoNow namespace Aaru.VideoNow;
{
internal static class MainClass static class MainClass
{ {
const int MAX_SIZE = 635040000; const int MAX_SIZE = 635040000;
static string _assemblyCopyright; static string _assemblyCopyright;
static string _assemblyTitle; static string _assemblyTitle;
static AssemblyInformationalVersionAttribute _assemblyVersion; static AssemblyInformationalVersionAttribute _assemblyVersion;
static readonly byte[] FrameStart = static readonly byte[] FrameStart = [0xE3, 0x81, 0xC7, 0xE3, 0x81, 0xC7, 0xE3, 0x81];
[
0xE3, 0x81, 0xC7, 0xE3, 0x81, 0xC7, 0xE3, 0x81
];
static readonly byte[] SwappedFrameStart = static readonly byte[] SwappedFrameStart = [0x81, 0xE3, 0xE3, 0xC7, 0xC7, 0x81, 0x81, 0xE3];
[
0x81, 0xE3, 0xE3, 0xC7, 0xC7, 0x81, 0x81, 0xE3
];
public static void Main(string[] args) public static void Main(string[] args)
{ {
@@ -63,8 +57,8 @@ namespace Aaru.VideoNow
attributes = typeof(MainClass).Assembly.GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); attributes = typeof(MainClass).Assembly.GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
_assemblyVersion = _assemblyVersion =
Attribute.GetCustomAttribute(typeof(MainClass).Assembly, typeof(AssemblyInformationalVersionAttribute)) Attribute.GetCustomAttribute(typeof(MainClass).Assembly, typeof(AssemblyInformationalVersionAttribute)) as
as AssemblyInformationalVersionAttribute; AssemblyInformationalVersionAttribute;
_assemblyCopyright = ((AssemblyCopyrightAttribute)attributes[0]).Copyright; _assemblyCopyright = ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
@@ -121,8 +115,7 @@ namespace Aaru.VideoNow
fs.Position = framePosition; fs.Position = framePosition;
fs.Read(startBuffer, 0, startBuffer.Length); fs.Read(startBuffer, 0, startBuffer.Length);
if(!startBuffer.SequenceEqual(FrameStart) && if(!startBuffer.SequenceEqual(FrameStart) && !startBuffer.SequenceEqual(SwappedFrameStart))
!startBuffer.SequenceEqual(SwappedFrameStart))
{ {
framePosition++; framePosition++;
@@ -132,17 +125,14 @@ namespace Aaru.VideoNow
fs.Position = framePosition; fs.Position = framePosition;
fs.Read(buffer, 0, buffer.Length); fs.Read(buffer, 0, buffer.Length);
for(var ab = 8; ab < buffer.Length; ab += 10) for(var ab = 8; ab < buffer.Length; ab += 10) buffer[ab] = 0;
buffer[ab] = 0;
if(buffer.SequenceEqual(Color.FrameMarker)) if(buffer.SequenceEqual(Color.FrameMarker)) break;
break;
fs.Position = framePosition; fs.Position = framePosition;
fs.Read(swappedBuffer, 0, swappedBuffer.Length); fs.Read(swappedBuffer, 0, swappedBuffer.Length);
for(var ab = 9; ab < swappedBuffer.Length; ab += 10) for(var ab = 9; ab < swappedBuffer.Length; ab += 10) swappedBuffer[ab] = 0;
swappedBuffer[ab] = 0;
if(swappedBuffer.SequenceEqual(Color.SwappedFrameMarker)) if(swappedBuffer.SequenceEqual(Color.SwappedFrameMarker))
{ {
@@ -154,8 +144,7 @@ namespace Aaru.VideoNow
fs.Position = framePosition; fs.Position = framePosition;
fs.Read(xpBuffer, 0, xpBuffer.Length); fs.Read(xpBuffer, 0, xpBuffer.Length);
for(var i = 0; i < xpBuffer.Length; i++) for(var i = 0; i < xpBuffer.Length; i++) xpBuffer[i] &= Xp.FrameMask[i];
xpBuffer[i] &= Xp.FrameMask[i];
if(xpBuffer.SequenceEqual(Xp.FrameMarker)) if(xpBuffer.SequenceEqual(Xp.FrameMarker))
{ {
@@ -167,8 +156,7 @@ namespace Aaru.VideoNow
fs.Position = framePosition; fs.Position = framePosition;
fs.Read(xpSwappedBuffer, 0, xpSwappedBuffer.Length); fs.Read(xpSwappedBuffer, 0, xpSwappedBuffer.Length);
for(var i = 0; i < xpSwappedBuffer.Length; i++) for(var i = 0; i < xpSwappedBuffer.Length; i++) xpSwappedBuffer[i] &= Xp.SwappedFrameMask[i];
xpSwappedBuffer[i] &= Xp.SwappedFrameMask[i];
if(xpSwappedBuffer.SequenceEqual(Xp.SwappedFrameMarker)) if(xpSwappedBuffer.SequenceEqual(Xp.SwappedFrameMarker))
{ {
@@ -193,7 +181,8 @@ namespace Aaru.VideoNow
Console.WriteLine(Localization.FirstFrameFoundAt, framePosition); Console.WriteLine(Localization.FirstFrameFoundAt, framePosition);
Console.WriteLine(framePosition % 2352 == 0 ? Localization.FirstFrameIsAtSectorBoundary Console.WriteLine(framePosition % 2352 == 0
? Localization.FirstFrameIsAtSectorBoundary
: Localization.FirstFrameIsNotAtSectorBoundary); : Localization.FirstFrameIsNotAtSectorBoundary);
if(xp) if(xp)
@@ -211,4 +200,3 @@ namespace Aaru.VideoNow
Console.WriteLine(); Console.WriteLine();
} }
} }
}

View File

@@ -59,7 +59,8 @@
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
xmlns="">
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
@@ -93,10 +94,14 @@
<value>1.3</value> <value>1.3</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<data name="Usage" xml:space="preserve"> <data name="Usage" xml:space="preserve">
<value>Uso: Aaru.VideoNow dump.raw</value> <value>Uso: Aaru.VideoNow dump.raw</value>

View File

@@ -59,7 +59,8 @@
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
xmlns="">
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
@@ -93,10 +94,14 @@
<value>1.3</value> <value>1.3</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<data name="Usage" xml:space="preserve"> <data name="Usage" xml:space="preserve">
<value>Usage: Aaru.VideoNow dump.raw</value> <value>Usage: Aaru.VideoNow dump.raw</value>

View File

@@ -59,7 +59,8 @@
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
xmlns="">
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
@@ -93,10 +94,14 @@
<value>1.3</value> <value>1.3</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<data name="Usage" xml:space="preserve"> <data name="Usage" xml:space="preserve">
<value>Utilizzo: Aaru.VideoNow dump.raw</value> <value>Utilizzo: Aaru.VideoNow dump.raw</value>

View File

@@ -59,7 +59,8 @@
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
xmlns="">
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
@@ -93,10 +94,14 @@
<value>1.3</value> <value>1.3</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<data name="Usage" xml:space="preserve"> <data name="Usage" xml:space="preserve">
<value>Usage: Aaru.VideoNow dump.raw</value> <value>Usage: Aaru.VideoNow dump.raw</value>

View File

@@ -59,7 +59,8 @@
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
xmlns="">
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
@@ -93,10 +94,14 @@
<value>1.3</value> <value>1.3</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<data name="Usage" xml:space="preserve"> <data name="Usage" xml:space="preserve">
<value>Utilização: Aaru.VideoNow dump.raw</value> <value>Utilização: Aaru.VideoNow dump.raw</value>

View File

@@ -59,7 +59,8 @@
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
xmlns="">
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
@@ -93,10 +94,14 @@
<value>1.3</value> <value>1.3</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<data name="Usage" xml:space="preserve"> <data name="Usage" xml:space="preserve">
<value>Utilização: Aaru.VideoNow dump.raw</value> <value>Utilização: Aaru.VideoNow dump.raw</value>

View File

@@ -59,7 +59,8 @@
--> -->
<root> <root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
xmlns="">
<xsd:element name="root" msdata:IsDataSet="true"></xsd:element> <xsd:element name="root" msdata:IsDataSet="true"></xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
@@ -69,10 +70,14 @@
<value>1.3</value> <value>1.3</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<data name="Usage" xml:space="preserve"> <data name="Usage" xml:space="preserve">
<value>Usage: Aaru.VideoNow dump.raw</value> <value>Usage: Aaru.VideoNow dump.raw</value>

View File

@@ -59,7 +59,8 @@
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
xmlns="">
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
@@ -93,10 +94,14 @@
<value>1.3</value> <value>1.3</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<data name="Usage" xml:space="preserve"> <data name="Usage" xml:space="preserve">
<value>Folosire: Aaru.VideoNow dump.raw</value> <value>Folosire: Aaru.VideoNow dump.raw</value>

View File

@@ -59,7 +59,8 @@
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
xmlns="">
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
@@ -93,10 +94,14 @@
<value>1.3</value> <value>1.3</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<data name="Usage" xml:space="preserve"> <data name="Usage" xml:space="preserve">
<value>Использование: Aaru.VideoNow dump.raw</value> <value>Использование: Aaru.VideoNow dump.raw</value>

View File

@@ -59,7 +59,8 @@
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
xmlns="">
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
@@ -93,10 +94,14 @@
<value>1.3</value> <value>1.3</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader> </resheader>
<data name="Usage" xml:space="preserve"> <data name="Usage" xml:space="preserve">
<value>Användning: Aaru.VideoNow dump.raw</value> <value>Användning: Aaru.VideoNow dump.raw</value>

View File

@@ -1,5 +1,5 @@
namespace Aaru.VideoNow namespace Aaru.VideoNow;
{
public static class Swapping public static class Swapping
{ {
public static byte[] SwapBuffer(byte[] buffer) public static byte[] SwapBuffer(byte[] buffer)
@@ -15,4 +15,3 @@ namespace Aaru.VideoNow
return tmp; return tmp;
} }
} }
}

View File

@@ -4,8 +4,8 @@ using System.Linq;
using SharpAvi; using SharpAvi;
using SharpAvi.Output; using SharpAvi.Output;
namespace Aaru.VideoNow namespace Aaru.VideoNow;
{
public static class Xp public static class Xp
{ {
public static readonly byte[] FrameMask = public static readonly byte[] FrameMask =
@@ -173,8 +173,7 @@ namespace Aaru.VideoNow
byte[] frameMarkerToUse = swapped ? SwappedFrameMarker : FrameMarker; byte[] frameMarkerToUse = swapped ? SwappedFrameMarker : FrameMarker;
byte[] frameMaskToUse = swapped ? SwappedFrameMask : FrameMask; byte[] frameMaskToUse = swapped ? SwappedFrameMask : FrameMask;
if(swapped) if(swapped) frameBuffer = Swapping.SwapBuffer(frameBuffer);
frameBuffer = Swapping.SwapBuffer(frameBuffer);
var outFs = new MemoryStream(); var outFs = new MemoryStream();
@@ -214,8 +213,7 @@ namespace Aaru.VideoNow
Console.Write($"\r{Localization.LookingForMoreFrames}", progress); Console.Write($"\r{Localization.LookingForMoreFrames}", progress);
for(var i = 0; i < buffer.Length; i++) for(var i = 0; i < buffer.Length; i++) buffer[i] &= frameMaskToUse[i];
buffer[i] &= frameMaskToUse[i];
if(!buffer.SequenceEqual(frameMarkerToUse)) if(!buffer.SequenceEqual(frameMarkerToUse))
{ {
@@ -228,8 +226,7 @@ namespace Aaru.VideoNow
fs.Position = framePosition; fs.Position = framePosition;
fs.Read(buffer, 0, buffer.Length); fs.Read(buffer, 0, buffer.Length);
for(var i = 0; i < buffer.Length; i++) for(var i = 0; i < buffer.Length; i++) buffer[i] &= frameMaskToUse[i];
buffer[i] &= frameMaskToUse[i];
if(buffer.SequenceEqual(frameMarkerToUse)) if(buffer.SequenceEqual(frameMarkerToUse))
{ {
@@ -239,8 +236,7 @@ namespace Aaru.VideoNow
frameBuffer = new byte[19760]; frameBuffer = new byte[19760];
fs.Read(frameBuffer, 0, frameBuffer.Length); fs.Read(frameBuffer, 0, frameBuffer.Length);
if(swapped) if(swapped) frameBuffer = Swapping.SwapBuffer(frameBuffer);
frameBuffer = Swapping.SwapBuffer(frameBuffer);
outFs = new MemoryStream(); outFs = new MemoryStream();
@@ -266,11 +262,14 @@ namespace Aaru.VideoNow
totalFrames++; totalFrames++;
Console.Write("\r \r"); Console.Write("\r \r");
Console.WriteLine(Localization.FrameFoundAtPosition, framePosition, totalFrames, Console.WriteLine(Localization.FrameFoundAtPosition,
framePosition,
totalFrames,
framePosition - expectedFramePosition); framePosition - expectedFramePosition);
Console. Console.WriteLine(framePosition % 2352 == 0
WriteLine(framePosition % 2352 == 0 ? Localization.FrameIsAtSectorBoundary : Localization.FrameIsNotAtSectorBoundary, ? Localization.FrameIsAtSectorBoundary
: Localization.FrameIsNotAtSectorBoundary,
totalFrames); totalFrames);
framePosition += 19760; framePosition += 19760;
@@ -295,8 +294,7 @@ namespace Aaru.VideoNow
frameBuffer = new byte[19760]; frameBuffer = new byte[19760];
fs.Read(frameBuffer, 0, frameBuffer.Length); fs.Read(frameBuffer, 0, frameBuffer.Length);
if(swapped) if(swapped) frameBuffer = Swapping.SwapBuffer(frameBuffer);
frameBuffer = Swapping.SwapBuffer(frameBuffer);
outFs = new MemoryStream(); outFs = new MemoryStream();
@@ -332,4 +330,3 @@ namespace Aaru.VideoNow
aviWriter.Close(); aviWriter.Close();
} }
} }
}