aboutsummaryrefslogtreecommitdiff
path: root/video/codecs/svq1_vlc.h
diff options
context:
space:
mode:
authorD G Turner2012-04-04 08:32:17 +0100
committerD G Turner2012-04-08 03:29:14 +0100
commitb99565d701dd2dc9b355b0d43b4d8119c2b1085e (patch)
tree77de75b94d617fb9a6c714f287e40e414faa47be /video/codecs/svq1_vlc.h
parent9330a7c54db8782b399f747f882d641b85122513 (diff)
downloadscummvm-rg350-b99565d701dd2dc9b355b0d43b4d8119c2b1085e.tar.gz
scummvm-rg350-b99565d701dd2dc9b355b0d43b4d8119c2b1085e.tar.bz2
scummvm-rg350-b99565d701dd2dc9b355b0d43b4d8119c2b1085e.zip
VIDEO: Add remaining SVQ1 code derived from FFMPEG.
This still requires some work to make it usuable, mainly changing the Variable Length Code reader to work with Common::BitStream input.
Diffstat (limited to 'video/codecs/svq1_vlc.h')
-rw-r--r--video/codecs/svq1_vlc.h21
1 files changed, 16 insertions, 5 deletions
diff --git a/video/codecs/svq1_vlc.h b/video/codecs/svq1_vlc.h
index 1694ce3c71..0b9477ffa7 100644
--- a/video/codecs/svq1_vlc.h
+++ b/video/codecs/svq1_vlc.h
@@ -24,14 +24,14 @@
#define VIDEO_CODECS_SVQ1_VLC_H
// values in this table range from 0..3; adjust retrieved value by +0
-const uint8 ff_svq1_block_type_vlc[4][2] = {
+const uint8 svq1_block_type_vlc[4][2] = {
// { code, length }
{ 0x1, 1 }, { 0x1, 2 }, { 0x1, 3 }, { 0x0, 3 }
};
// values in this table range from -1..6; adjust retrieved value by -1
-const uint8 ff_svq1_intra_multistage_vlc[6][8][2] = {
+const uint8 svq1_intra_multistage_vlc[6][8][2] = {
// { code, length }
{
{ 0x1, 5 }, { 0x1, 1 }, { 0x3, 3 }, { 0x2, 3 },
@@ -55,7 +55,7 @@ const uint8 ff_svq1_intra_multistage_vlc[6][8][2] = {
};
// values in this table range from -1..6; adjust retrieved value by -1
-const uint8 ff_svq1_inter_multistage_vlc[6][8][2] = {
+const uint8 svq1_inter_multistage_vlc[6][8][2] = {
// { code, length }
{
{ 0x3, 2 }, { 0x5, 3 }, { 0x4, 3 }, { 0x3, 3 },
@@ -79,7 +79,7 @@ const uint8 ff_svq1_inter_multistage_vlc[6][8][2] = {
};
// values in this table range from 0..255; adjust retrieved value by +0
-const uint16 ff_svq1_intra_mean_vlc[256][2] = {
+const uint16 svq1_intra_mean_vlc[256][2] = {
// { code, length }
{ 0x37, 6 }, { 0x56, 7 }, { 0x1, 17 }, { 0x1, 20 },
{ 0x2, 20 }, { 0x3, 20 }, { 0x0, 20 }, { 0x4, 20 },
@@ -148,7 +148,7 @@ const uint16 ff_svq1_intra_mean_vlc[256][2] = {
};
// values in this table range from -256..255; adjust retrieved value by -256
-const uint16 ff_svq1_inter_mean_vlc[512][2] = {
+const uint16 svq1_inter_mean_vlc[512][2] = {
// { code, length }
{ 0x5A, 22 }, { 0xD4, 22 }, { 0xD5, 22 }, { 0xD6, 22 },
{ 0xD7, 22 }, { 0xD8, 22 }, { 0xD9, 22 }, { 0xDA, 22 },
@@ -280,4 +280,15 @@ const uint16 ff_svq1_inter_mean_vlc[512][2] = {
{ 0x3, 22 }, { 0x2, 22 }, { 0x1, 22 }, { 0x0, 22 }
};
+// From H263 Data Tables
+const uint8 mvtab[33][2] =
+{
+ {1,1}, {1,2}, {1,3}, {1,4}, {3,6}, {5,7}, {4,7}, {3,7},
+ {11,9}, {10,9}, {9,9}, {17,10}, {16,10}, {15,10}, {14,10}, {13,10},
+ {12,10}, {11,10}, {10,10}, {9,10}, {8,10}, {7,10}, {6,10}, {5,10},
+ {4,10}, {7,11}, {6,11}, {5,11}, {4,11}, {3,11}, {2,11}, {3,12},
+ {2,12}
+};
+
+
#endif