Added support for LG's 2013 LA-Series (Sat list only)

Improved LG duplicate channel cleanup (including linked list and allocation bitmap)
This commit is contained in:
hbeham
2013-04-28 12:44:40 +02:00
parent d6570d18f3
commit a2ae5583ff
15 changed files with 3079 additions and 2126 deletions

View File

@@ -1,4 +1,5 @@
using System;
using ChanSort.Api;
namespace ChanSort.Loader.LG
{
@@ -6,13 +7,34 @@ namespace ChanSort.Loader.LG
{
private readonly byte[] data;
private readonly int baseOffset;
public SatChannelListHeader(byte[] data, int offset) { this.data = data; this.baseOffset = offset; }
public uint Checksum { get { return BitConverter.ToUInt32(data, baseOffset + 0); } }
public int LinkedListStartIndex { get { return BitConverter.ToInt16(data, baseOffset + 8); }}
public int LinkedListEndIndex1 { get { return BitConverter.ToInt16(data, baseOffset + 10); } }
public int LinkedListEndIndex2 { get { return BitConverter.ToInt16(data, baseOffset + 12); } }
public int ChannelCount { get { return BitConverter.ToInt16(data, baseOffset + 14); } }
public SatChannelListHeader(byte[] data, int offset)
{
this.data = data; this.baseOffset = offset;
}
public uint Checksum { get { return BitConverter.ToUInt32(data, baseOffset + 0); } }
public int LinkedListStartIndex
{
get { return BitConverter.ToInt16(data, baseOffset + 8); }
set { Tools.SetInt16(data, baseOffset + 8, value); }
}
public int LinkedListEndIndex1
{
get { return BitConverter.ToInt16(data, baseOffset + 10); }
set { Tools.SetInt16(data, baseOffset + 10, value); }
}
public int LinkedListEndIndex2
{
get { return BitConverter.ToInt16(data, baseOffset + 12); }
set { Tools.SetInt16(data, baseOffset + 12, value); }
}
public int ChannelCount
{
get { return BitConverter.ToInt16(data, baseOffset + 14); }
set { Tools.SetInt16(data, baseOffset + 14, value); }
}
public int Size { get { return 16; } }
}