summaryrefslogtreecommitdiffstats
path: root/libavcodec/h263data.h
diff options
context:
space:
mode:
authorJuanjo <pulento@users.sourceforge.net>2002-05-02 04:39:45 +0000
committerJuanjo <pulento@users.sourceforge.net>2002-05-02 04:39:45 +0000
commitef5b1b5a7ee2d4bce47382e74fe4c88d207c641a (patch)
treef732b2cf29ab34f4115e94d82a6a21aabfe73066 /libavcodec/h263data.h
parent95c79a24e5429c510a7e17e84fc02b452060578c (diff)
downloadffmpeg-streaming-ef5b1b5a7ee2d4bce47382e74fe4c88d207c641a.zip
ffmpeg-streaming-ef5b1b5a7ee2d4bce47382e74fe4c88d207c641a.tar.gz
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
- Bug fix H.263+ AIC tables. - Warning fixes. Originally committed as revision 431 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/h263data.h')
-rw-r--r--libavcodec/h263data.h93
1 files changed, 60 insertions, 33 deletions
diff --git a/libavcodec/h263data.h b/libavcodec/h263data.h
index a129fd6..c4342ff 100644
--- a/libavcodec/h263data.h
+++ b/libavcodec/h263data.h
@@ -125,45 +125,73 @@ static RLTable rl_inter = {
inter_level,
};
-/* table used for Advanced INTRA Coding, just RUN and LEVEL change */
-const INT8 inter_level_aic[102] = {
- 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 3, 2, 1, 2, 2, 4, 5,
- 6, 7, 3, 2, 3, 4, 5, 2,
- 3, 4, 2, 3, 1, 2, 25, 1,
- 2, 24, 8, 2, 7, 4, 6, 1,
- 9, 23, 2, 3, 1, 10, 12, 11,
- 18, 17, 16, 15, 14, 13, 20, 19,
- 22, 21, 1, 1, 1, 1, 1, 1,
- 1, 2, 1, 1, 1, 3, 1, 1,
- 1, 1, 1, 1, 1, 4, 1, 1,
- 1, 1, 2, 2, 6, 5, 2, 2,
- 3, 7, 3, 4, 9, 8, 1, 1,
- 1, 2, 2, 2, 3, 10,
+const UINT16 intra_vlc_aic[103][2] = {
+{ 0x2, 2 }, { 0x6, 3 }, { 0xe, 4 }, { 0xc, 5 },
+{ 0xd, 5 }, { 0x10, 6 }, { 0x11, 6 }, { 0x12, 6 },
+{ 0x16, 7 }, { 0x1b, 8 }, { 0x20, 9 }, { 0x21, 9 },
+{ 0x1a, 9 }, { 0x1b, 9 }, { 0x1c, 9 }, { 0x1d, 9 },
+{ 0x1e, 9 }, { 0x1f, 9 }, { 0x23, 11 }, { 0x22, 11 },
+{ 0x57, 12 }, { 0x56, 12 }, { 0x55, 12 }, { 0x54, 12 },
+{ 0x53, 12 }, { 0xf, 4 }, { 0x14, 6 }, { 0x14, 7 },
+{ 0x1e, 8 }, { 0xf, 10 }, { 0x21, 11 }, { 0x50, 12 },
+{ 0xb, 5 }, { 0x15, 7 }, { 0xe, 10 }, { 0x9, 10 },
+{ 0x15, 6 }, { 0x1d, 8 }, { 0xd, 10 }, { 0x51, 12 },
+{ 0x13, 6 }, { 0x23, 9 }, { 0x7, 11 }, { 0x17, 7 },
+{ 0x22, 9 }, { 0x52, 12 }, { 0x1c, 8 }, { 0xc, 10 },
+{ 0x1f, 8 }, { 0xb, 10 }, { 0x25, 9 }, { 0xa, 10 },
+{ 0x24, 9 }, { 0x6, 11 }, { 0x21, 10 }, { 0x20, 10 },
+{ 0x8, 10 }, { 0x20, 11 }, { 0x7, 4 }, { 0xc, 6 },
+{ 0x10, 7 }, { 0x13, 8 }, { 0x11, 9 }, { 0x12, 9 },
+{ 0x4, 10 }, { 0x27, 11 }, { 0x26, 11 }, { 0x5f, 12 },
+{ 0xf, 6 }, { 0x13, 9 }, { 0x5, 10 }, { 0x25, 11 },
+{ 0xe, 6 }, { 0x14, 9 }, { 0x24, 11 }, { 0xd, 6 },
+{ 0x6, 10 }, { 0x5e, 12 }, { 0x11, 7 }, { 0x7, 10 },
+{ 0x13, 7 }, { 0x5d, 12 }, { 0x12, 7 }, { 0x5c, 12 },
+{ 0x14, 8 }, { 0x5b, 12 }, { 0x15, 8 }, { 0x1a, 8 },
+{ 0x19, 8 }, { 0x18, 8 }, { 0x17, 8 }, { 0x16, 8 },
+{ 0x19, 9 }, { 0x15, 9 }, { 0x16, 9 }, { 0x18, 9 },
+{ 0x17, 9 }, { 0x4, 11 }, { 0x5, 11 }, { 0x58, 12 },
+{ 0x59, 12 }, { 0x5a, 12 }, { 0x3, 7 },
};
-const INT8 inter_run_aic[102] = {
- 0, 1, 3, 5, 7, 8, 9, 10,
- 11, 4, 9, 13, 0, 1, 1, 1,
- 1, 1, 0, 3, 2, 3, 0, 4,
- 3, 0, 5, 5, 2, 6, 0, 4,
- 7, 0, 0, 8, 0, 2, 0, 12,
- 0, 0, 2, 1, 6, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 14, 20, 1, 19, 2,
- 3, 0, 5, 6, 4, 0, 9, 10,
- 11, 12, 13, 8, 7, 0, 17, 18,
- 16, 15, 2, 1, 0, 0, 4, 3,
- 1, 0, 2, 1, 0, 0, 21, 22,
- 23, 7, 6, 5, 3, 0,
+const INT8 intra_run_aic[102] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 1, 1, 1, 1, 1, 1,
+ 2, 2, 2, 2, 3, 3, 3, 3,
+ 4, 4, 4, 5, 5, 5, 6, 6,
+ 7, 7, 8, 8, 9, 9, 10, 11,
+12, 13, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 1, 1, 1,
+ 2, 2, 2, 3, 3, 3, 4, 4,
+ 5, 5, 6, 6, 7, 7, 8, 9,
+10, 11, 12, 13, 14, 15, 16, 17,
+18, 19, 20, 21, 22, 23,
+};
+
+const INT8 intra_level_aic[102] = {
+ 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16,
+17, 18, 19, 20, 21, 22, 23, 24,
+25, 1, 2, 3, 4, 5, 6, 7,
+ 1, 2, 3, 4, 1, 2, 3, 4,
+ 1, 2, 3, 1, 2, 3, 1, 2,
+ 1, 2, 1, 2, 1, 2, 1, 1,
+ 1, 1, 1, 2, 3, 4, 5, 6,
+ 7, 8, 9, 10, 1, 2, 3, 4,
+ 1, 2, 3, 1, 2, 3, 1, 2,
+ 1, 2, 1, 2, 1, 2, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1,
};
static RLTable rl_intra_aic = {
102,
58,
- inter_vlc,
- inter_run_aic,
- inter_level_aic,
+ intra_vlc_aic,
+ intra_run_aic,
+ intra_level_aic,
};
static const UINT16 h263_format[8][2] = {
@@ -174,4 +202,3 @@ static const UINT16 h263_format[8][2] = {
{ 704, 576 },
{ 1408, 1152 },
};
-
OpenPOWER on IntegriCloud