Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
Commits
b78f81c8
Commit
b78f81c8
authored
Apr 04, 2013
by
Diego Biurrun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
h261: K&R formatting and prettyprinting cosmetics
parent
66ac3dbf
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
126 additions
and
125 deletions
+126
-125
h261.c
libavcodec/h261.c
+28
-27
h261.h
libavcodec/h261.h
+3
-3
h261_parser.c
libavcodec/h261_parser.c
+23
-22
h261data.h
libavcodec/h261data.h
+72
-73
h261dec.c
libavcodec/h261dec.c
+0
-0
h261enc.c
libavcodec/h261enc.c
+0
-0
No files found.
libavcodec/h261.c
View file @
b78f81c8
...
@@ -28,51 +28,52 @@
...
@@ -28,51 +28,52 @@
#include "avcodec.h"
#include "avcodec.h"
#include "h261.h"
#include "h261.h"
#define IS_FIL(a) ((a)
&
MB_TYPE_H261_FIL)
#define IS_FIL(a) ((a)
&
MB_TYPE_H261_FIL)
uint8_t
ff_h261_rl_table_store
[
2
][
2
*
MAX_RUN
+
MAX_LEVEL
+
3
];
uint8_t
ff_h261_rl_table_store
[
2
][
2
*
MAX_RUN
+
MAX_LEVEL
+
3
];
static
void
h261_loop_filter
(
uint8_t
*
src
,
int
stride
)
static
void
h261_loop_filter
(
uint8_t
*
src
,
int
stride
)
{
{
int
x
,
y
,
xy
,
yz
;
int
x
,
y
,
xy
,
yz
;
int
temp
[
64
];
int
temp
[
64
];
for
(
x
=
0
;
x
<
8
;
x
++
)
{
for
(
x
=
0
;
x
<
8
;
x
++
)
{
temp
[
x
]
=
4
*
src
[
x
];
temp
[
x
]
=
4
*
src
[
x
];
temp
[
x
+
7
*
8
]
=
4
*
src
[
x
+
7
*
stride
];
temp
[
x
+
7
*
8
]
=
4
*
src
[
x
+
7
*
stride
];
}
}
for
(
y
=
1
;
y
<
7
;
y
++
)
{
for
(
y
=
1
;
y
<
7
;
y
++
)
{
for
(
x
=
0
;
x
<
8
;
x
++
)
{
for
(
x
=
0
;
x
<
8
;
x
++
)
{
xy
=
y
*
stride
+
x
;
xy
=
y
*
stride
+
x
;
yz
=
y
*
8
+
x
;
yz
=
y
*
8
+
x
;
temp
[
yz
]
=
src
[
xy
-
stride
]
+
2
*
src
[
xy
]
+
src
[
xy
+
stride
];
temp
[
yz
]
=
src
[
xy
-
stride
]
+
2
*
src
[
xy
]
+
src
[
xy
+
stride
];
}
}
}
}
for
(
y
=
0
;
y
<
8
;
y
++
)
{
for
(
y
=
0
;
y
<
8
;
y
++
)
{
src
[
y
*
stride
]
=
(
temp
[
y
*
8
]
+
2
)
>>
2
;
src
[
y
*
stride
]
=
(
temp
[
y
*
8
]
+
2
)
>>
2
;
src
[
7
+
y
*
stride
]
=
(
temp
[
7
+
y
*
8
]
+
2
)
>>
2
;
src
[
y
*
stride
+
7
]
=
(
temp
[
y
*
8
+
7
]
+
2
)
>>
2
;
for
(
x
=
1
;
x
<
7
;
x
++
)
{
for
(
x
=
1
;
x
<
7
;
x
++
)
{
xy
=
y
*
stride
+
x
;
xy
=
y
*
stride
+
x
;
yz
=
y
*
8
+
x
;
yz
=
y
*
8
+
x
;
src
[
xy
]
=
(
temp
[
yz
-
1
]
+
2
*
temp
[
yz
]
+
temp
[
yz
+
1
]
+
8
)
>>
4
;
src
[
xy
]
=
(
temp
[
yz
-
1
]
+
2
*
temp
[
yz
]
+
temp
[
yz
+
1
]
+
8
)
>>
4
;
}
}
}
}
}
}
void
ff_h261_loop_filter
(
MpegEncContext
*
s
){
void
ff_h261_loop_filter
(
MpegEncContext
*
s
)
H261Context
*
h
=
(
H261Context
*
)
s
;
{
const
int
linesize
=
s
->
linesize
;
H261Context
*
h
=
(
H261Context
*
)
s
;
const
int
uvlinesize
=
s
->
uvlinesize
;
const
int
linesize
=
s
->
linesize
;
uint8_t
*
dest_y
=
s
->
dest
[
0
];
const
int
uvlinesize
=
s
->
uvlinesize
;
uint8_t
*
dest_cb
=
s
->
dest
[
1
];
uint8_t
*
dest_y
=
s
->
dest
[
0
];
uint8_t
*
dest_cr
=
s
->
dest
[
2
];
uint8_t
*
dest_cb
=
s
->
dest
[
1
];
uint8_t
*
dest_cr
=
s
->
dest
[
2
];
if
(
!
(
IS_FIL
(
h
->
mtype
)))
if
(
!
(
IS_FIL
(
h
->
mtype
)))
return
;
return
;
h261_loop_filter
(
dest_y
,
linesize
);
h261_loop_filter
(
dest_y
,
linesize
);
h261_loop_filter
(
dest_y
+
8
,
linesize
);
h261_loop_filter
(
dest_y
+
8
,
linesize
);
h261_loop_filter
(
dest_y
+
8
*
linesize
,
linesize
);
h261_loop_filter
(
dest_y
+
8
*
linesize
,
linesize
);
h261_loop_filter
(
dest_y
+
8
*
linesize
+
8
,
linesize
);
h261_loop_filter
(
dest_y
+
8
*
linesize
+
8
,
linesize
);
h261_loop_filter
(
dest_cb
,
uvlinesize
);
h261_loop_filter
(
dest_cb
,
uvlinesize
);
...
...
libavcodec/h261.h
View file @
b78f81c8
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
/**
/**
* H261Context
* H261Context
*/
*/
typedef
struct
H261Context
{
typedef
struct
H261Context
{
MpegEncContext
s
;
MpegEncContext
s
;
int
current_mba
;
int
current_mba
;
...
@@ -44,11 +44,11 @@ typedef struct H261Context{
...
@@ -44,11 +44,11 @@ typedef struct H261Context{
int
current_mv_y
;
int
current_mv_y
;
int
gob_number
;
int
gob_number
;
int
gob_start_code_skipped
;
// 1 if gob start code is already read before gob header is read
int
gob_start_code_skipped
;
// 1 if gob start code is already read before gob header is read
}
H261Context
;
}
H261Context
;
#define MB_TYPE_H261_FIL 0x800000
#define MB_TYPE_H261_FIL 0x800000
extern
uint8_t
ff_h261_rl_table_store
[
2
][
2
*
MAX_RUN
+
MAX_LEVEL
+
3
];
extern
uint8_t
ff_h261_rl_table_store
[
2
][
2
*
MAX_RUN
+
MAX_LEVEL
+
3
];
void
ff_h261_loop_filter
(
MpegEncContext
*
s
);
void
ff_h261_loop_filter
(
MpegEncContext
*
s
);
...
...
libavcodec/h261_parser.c
View file @
b78f81c8
...
@@ -27,38 +27,39 @@
...
@@ -27,38 +27,39 @@
#include "parser.h"
#include "parser.h"
static
int
h261_find_frame_end
(
ParseContext
*
pc
,
AVCodecContext
*
avctx
,
static
int
h261_find_frame_end
(
ParseContext
*
pc
,
AVCodecContext
*
avctx
,
const
uint8_t
*
buf
,
int
buf_size
){
const
uint8_t
*
buf
,
int
buf_size
)
{
int
vop_found
,
i
,
j
;
int
vop_found
,
i
,
j
;
uint32_t
state
;
uint32_t
state
;
vop_found
=
pc
->
frame_start_found
;
vop_found
=
pc
->
frame_start_found
;
state
=
pc
->
state
;
state
=
pc
->
state
;
for
(
i
=
0
;
i
<
buf_size
&&
!
vop_found
;
i
++
)
{
for
(
i
=
0
;
i
<
buf_size
&&
!
vop_found
;
i
++
)
{
state
=
(
state
<<
8
)
|
buf
[
i
];
state
=
(
state
<<
8
)
|
buf
[
i
];
for
(
j
=
0
;
j
<
8
;
j
++
)
{
for
(
j
=
0
;
j
<
8
;
j
++
)
{
if
(((
state
>>
j
)
&
0xFFFFF0
)
==
0x000100
)
{
if
(((
state
>>
j
)
&
0xFFFFF0
)
==
0x000100
)
{
vop_found
=
1
;
vop_found
=
1
;
break
;
break
;
}
}
}
}
}
}
if
(
vop_found
)
{
if
(
vop_found
)
{
for
(;
i
<
buf_size
;
i
++
)
{
for
(;
i
<
buf_size
;
i
++
)
{
state
=
(
state
<<
8
)
|
buf
[
i
];
state
=
(
state
<<
8
)
|
buf
[
i
];
for
(
j
=
0
;
j
<
8
;
j
++
)
{
for
(
j
=
0
;
j
<
8
;
j
++
)
{
if
(((
state
>>
j
)
&
0xFFFFF0
)
==
0x000100
)
{
if
(((
state
>>
j
)
&
0xFFFFF0
)
==
0x000100
)
{
pc
->
frame_start_found
=
0
;
pc
->
frame_start_found
=
0
;
pc
->
state
=
(
state
>>
(
3
*
8
))
+
0xFF00
;
pc
->
state
=
(
state
>>
(
3
*
8
))
+
0xFF00
;
return
i
-
2
;
return
i
-
2
;
}
}
}
}
}
}
}
}
pc
->
frame_start_found
=
vop_found
;
pc
->
frame_start_found
=
vop_found
;
pc
->
state
=
state
;
pc
->
state
=
state
;
return
END_NOT_FOUND
;
return
END_NOT_FOUND
;
}
}
...
@@ -70,13 +71,13 @@ static int h261_parse(AVCodecParserContext *s,
...
@@ -70,13 +71,13 @@ static int h261_parse(AVCodecParserContext *s,
ParseContext
*
pc
=
s
->
priv_data
;
ParseContext
*
pc
=
s
->
priv_data
;
int
next
;
int
next
;
next
=
h261_find_frame_end
(
pc
,
avctx
,
buf
,
buf_size
);
next
=
h261_find_frame_end
(
pc
,
avctx
,
buf
,
buf_size
);
if
(
ff_combine_frame
(
pc
,
next
,
&
buf
,
&
buf_size
)
<
0
)
{
if
(
ff_combine_frame
(
pc
,
next
,
&
buf
,
&
buf_size
)
<
0
)
{
*
poutbuf
=
NULL
;
*
poutbuf
=
NULL
;
*
poutbuf_size
=
0
;
*
poutbuf_size
=
0
;
return
buf_size
;
return
buf_size
;
}
}
*
poutbuf
=
buf
;
*
poutbuf
=
buf
;
*
poutbuf_size
=
buf_size
;
*
poutbuf_size
=
buf_size
;
return
next
;
return
next
;
}
}
...
...
libavcodec/h261data.h
View file @
b78f81c8
...
@@ -28,6 +28,7 @@
...
@@ -28,6 +28,7 @@
#define AVCODEC_H261DATA_H
#define AVCODEC_H261DATA_H
#include <stdint.h>
#include <stdint.h>
#include "h261.h"
#include "h261.h"
// H.261 VLC table for macroblock addressing
// H.261 VLC table for macroblock addressing
...
@@ -41,8 +42,8 @@ static const uint8_t h261_mba_code[35] = {
...
@@ -41,8 +42,8 @@ static const uint8_t h261_mba_code[35] = {
32
,
31
,
30
,
29
,
32
,
31
,
30
,
29
,
28
,
27
,
26
,
25
,
28
,
27
,
26
,
25
,
24
,
24
,
15
,
//
(MBA stuffing)
15
,
//
(MBA stuffing)
1
//
(start code)
1
//
(start code)
};
};
static
const
uint8_t
h261_mba_bits
[
35
]
=
{
static
const
uint8_t
h261_mba_bits
[
35
]
=
{
...
@@ -55,102 +56,100 @@ static const uint8_t h261_mba_bits[35] = {
...
@@ -55,102 +56,100 @@ static const uint8_t h261_mba_bits[35] = {
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
//
(MBA stuffing)
11
,
//
(MBA stuffing)
16
//
(start code)
16
//
(start code)
};
};
//H.261 VLC table for macroblock type
//
H.261 VLC table for macroblock type
static
const
uint8_t
h261_mtype_code
[
10
]
=
{
static
const
uint8_t
h261_mtype_code
[
10
]
=
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
1
,
1
};
};
static
const
uint8_t
h261_mtype_bits
[
10
]
=
{
static
const
uint8_t
h261_mtype_bits
[
10
]
=
{
4
,
7
,
1
,
5
,
4
,
7
,
1
,
5
,
9
,
8
,
10
,
3
,
9
,
8
,
10
,
3
,
2
,
6
2
,
6
};
};
static
const
int
h261_mtype_map
[
10
]
=
{
static
const
int
h261_mtype_map
[
10
]
=
{
MB_TYPE_INTRA4x4
,
MB_TYPE_INTRA4x4
,
MB_TYPE_INTRA4x4
|
MB_TYPE_QUANT
,
MB_TYPE_INTRA4x4
|
MB_TYPE_QUANT
,
MB_TYPE_CBP
,
MB_TYPE_CBP
,
MB_TYPE_QUANT
|
MB_TYPE_CBP
,
MB_TYPE_CBP
|
MB_TYPE_QUANT
,
MB_TYPE_16x16
,
MB_TYPE_16x16
,
MB_TYPE_CBP
|
MB_TYPE_16x16
,
MB_TYPE_16x16
|
MB_TYPE_CBP
,
MB_TYPE_QUANT
|
MB_TYPE_CBP
|
MB_TYPE_16x16
,
MB_TYPE_16x16
|
MB_TYPE_CBP
|
MB_TYPE_QUANT
,
MB_TYPE_16x16
|
MB_TYPE_H261_FIL
,
MB_TYPE_16x16
|
MB_TYPE_H261_FIL
,
MB_TYPE_CBP
|
MB_TYPE_16x16
|
MB_TYPE_H261_FIL
,
MB_TYPE_16x16
|
MB_TYPE_H261_FIL
|
MB_TYPE_CBP
,
MB_TYPE_QUANT
|
MB_TYPE_CBP
|
MB_TYPE_16x16
|
MB_TYPE_H261_FIL
MB_TYPE_16x16
|
MB_TYPE_H261_FIL
|
MB_TYPE_CBP
|
MB_TYPE_QUANT
};
};
//H.261 VLC table for motion vectors
//
H.261 VLC table for motion vectors
static
const
uint8_t
h261_mv_tab
[
17
][
2
]
=
{
static
const
uint8_t
h261_mv_tab
[
17
][
2
]
=
{
{
1
,
1
},
{
1
,
2
},
{
1
,
3
},
{
1
,
4
},
{
3
,
6
},
{
5
,
7
},
{
4
,
7
},
{
3
,
7
},
{
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
,
9
},
{
10
,
9
},
{
9
,
9
},
{
17
,
10
},
{
16
,
10
},
{
15
,
10
},
{
14
,
10
},
{
13
,
10
},
{
12
,
10
}
};
};
static
const
int
mvmap
[
17
]
=
static
const
int
mvmap
[
17
]
=
{
{
0
,
-
1
,
-
2
,
-
3
,
-
4
,
-
5
,
-
6
,
-
7
,
-
8
,
-
9
,
-
10
,
-
11
,
-
12
,
-
13
,
-
14
,
-
15
,
-
16
0
,
-
1
,
-
2
,
-
3
,
-
4
,
-
5
,
-
6
,
-
7
,
-
8
,
-
9
,
-
10
,
-
11
,
-
12
,
-
13
,
-
14
,
-
15
,
-
16
};
};
//H.261 VLC table for coded block pattern
// H.261 VLC table for coded block pattern
static
const
uint8_t
h261_cbp_tab
[
63
][
2
]
=
static
const
uint8_t
h261_cbp_tab
[
63
][
2
]
=
{
{
{
11
,
5
},
{
9
,
5
},
{
13
,
6
},
{
13
,
4
},
{
23
,
7
},
{
19
,
7
},
{
31
,
8
},
{
12
,
4
},
{
11
,
5
},
{
9
,
5
},
{
13
,
6
},
{
13
,
4
},
{
23
,
7
},
{
19
,
7
},
{
31
,
8
},
{
12
,
4
},
{
22
,
7
},
{
18
,
7
},
{
30
,
8
},
{
19
,
5
},
{
27
,
8
},
{
23
,
8
},
{
19
,
8
},
{
11
,
4
},
{
22
,
7
},
{
18
,
7
},
{
30
,
8
},
{
19
,
5
},
{
27
,
8
},
{
23
,
8
},
{
19
,
8
},
{
11
,
4
},
{
21
,
7
},
{
17
,
7
},
{
29
,
8
},
{
17
,
5
},
{
25
,
8
},
{
21
,
8
},
{
17
,
8
},
{
15
,
6
},
{
21
,
7
},
{
17
,
7
},
{
29
,
8
},
{
17
,
5
},
{
25
,
8
},
{
21
,
8
},
{
17
,
8
},
{
15
,
6
},
{
15
,
8
},
{
13
,
8
},
{
3
,
9
},
{
15
,
5
},
{
11
,
8
},
{
7
,
8
},
{
7
,
9
},
{
10
,
4
},
{
15
,
8
},
{
13
,
8
},
{
3
,
9
},
{
15
,
5
},
{
11
,
8
},
{
7
,
8
},
{
7
,
9
},
{
10
,
4
},
{
20
,
7
},
{
16
,
7
},
{
28
,
8
},
{
14
,
6
},
{
14
,
8
},
{
12
,
8
},
{
2
,
9
},
{
16
,
5
},
{
20
,
7
},
{
16
,
7
},
{
28
,
8
},
{
14
,
6
},
{
14
,
8
},
{
12
,
8
},
{
2
,
9
},
{
16
,
5
},
{
24
,
8
},
{
20
,
8
},
{
16
,
8
},
{
14
,
5
},
{
10
,
8
},
{
6
,
8
},
{
6
,
9
},
{
18
,
5
},
{
24
,
8
},
{
20
,
8
},
{
16
,
8
},
{
14
,
5
},
{
10
,
8
},
{
6
,
8
},
{
6
,
9
},
{
18
,
5
},
{
26
,
8
},
{
22
,
8
},
{
18
,
8
},
{
13
,
5
},
{
9
,
8
},
{
5
,
8
},
{
5
,
9
},
{
12
,
5
},
{
26
,
8
},
{
22
,
8
},
{
18
,
8
},
{
13
,
5
},
{
9
,
8
},
{
5
,
8
},
{
5
,
9
},
{
12
,
5
},
{
8
,
8
},
{
4
,
8
},
{
4
,
9
},
{
7
,
3
},
{
10
,
5
},
{
8
,
5
},
{
12
,
6
}
{
8
,
8
},
{
4
,
8
},
{
4
,
9
},
{
7
,
3
},
{
10
,
5
},
{
8
,
5
},
{
12
,
6
}
};
};
//H.261 VLC table for transform coefficients
//
H.261 VLC table for transform coefficients
static
const
uint16_t
h261_tcoeff_vlc
[
65
][
2
]
=
{
static
const
uint16_t
h261_tcoeff_vlc
[
65
][
2
]
=
{
{
0x2
,
2
},
{
0x3
,
2
},{
0x4
,
4
},{
0x5
,
5
},
{
0x2
,
2
},
{
0x3
,
2
},
{
0x4
,
4
},
{
0x5
,
5
},
{
0x6
,
7
},{
0x26
,
8
},{
0x21
,
8
},{
0xa
,
10
},
{
0x6
,
7
},
{
0x26
,
8
},
{
0x21
,
8
},
{
0xa
,
10
},
{
0x1d
,
12
},{
0x18
,
12
},{
0x13
,
12
},{
0x10
,
12
},
{
0x1d
,
12
},
{
0x18
,
12
},
{
0x13
,
12
},
{
0x10
,
12
},
{
0x1a
,
13
},
{
0x19
,
13
},
{
0x18
,
13
},
{
0x17
,
13
},
{
0x1a
,
13
},
{
0x19
,
13
},
{
0x18
,
13
},
{
0x17
,
13
},
{
0x3
,
3
},
{
0x6
,
6
},
{
0x25
,
8
},
{
0xc
,
10
},
{
0x3
,
3
},
{
0x6
,
6
},
{
0x25
,
8
},
{
0xc
,
10
},
{
0x1b
,
12
},
{
0x16
,
13
},
{
0x15
,
13
},
{
0x5
,
4
},
{
0x1b
,
12
},
{
0x16
,
13
},
{
0x15
,
13
},
{
0x5
,
4
},
{
0x4
,
7
},
{
0xb
,
10
},
{
0x14
,
12
},
{
0x14
,
13
},
{
0x4
,
7
},
{
0xb
,
10
},
{
0x14
,
12
},
{
0x14
,
13
},
{
0x7
,
5
},
{
0x24
,
8
},
{
0x1c
,
12
},
{
0x13
,
13
},
{
0x7
,
5
},
{
0x24
,
8
},
{
0x1c
,
12
},
{
0x13
,
13
},
{
0x6
,
5
},
{
0xf
,
10
},
{
0x12
,
12
},
{
0x7
,
6
},
{
0x6
,
5
},
{
0xf
,
10
},
{
0x12
,
12
},
{
0x7
,
6
},
{
0x9
,
10
},
{
0x12
,
13
},
{
0x5
,
6
},
{
0x1e
,
12
},
{
0x9
,
10
},
{
0x12
,
13
},
{
0x5
,
6
},
{
0x1e
,
12
},
{
0x4
,
6
},
{
0x15
,
12
},
{
0x7
,
7
},
{
0x11
,
12
},
{
0x4
,
6
},
{
0x15
,
12
},
{
0x7
,
7
},
{
0x11
,
12
},
{
0x5
,
7
},
{
0x11
,
13
},
{
0x27
,
8
},
{
0x10
,
13
},
{
0x5
,
7
},
{
0x11
,
13
},
{
0x27
,
8
},
{
0x10
,
13
},
{
0x23
,
8
},
{
0x22
,
8
},
{
0x20
,
8
},
{
0xe
,
10
},
{
0x23
,
8
},
{
0x22
,
8
},
{
0x20
,
8
},
{
0xe
,
10
},
{
0xd
,
10
},
{
0x8
,
10
},
{
0x1f
,
12
},
{
0x1a
,
12
},
{
0xd
,
10
},
{
0x8
,
10
},
{
0x1f
,
12
},
{
0x1a
,
12
},
{
0x19
,
12
},
{
0x17
,
12
},
{
0x16
,
12
},
{
0x1f
,
13
},
{
0x19
,
12
},
{
0x17
,
12
},
{
0x16
,
12
},
{
0x1f
,
13
},
{
0x1e
,
13
},
{
0x1d
,
13
},
{
0x1c
,
13
},
{
0x1b
,
13
},
{
0x1e
,
13
},
{
0x1d
,
13
},
{
0x1c
,
13
},
{
0x1b
,
13
},
{
0x1
,
6
}
//
escape
{
0x1
,
6
}
//
escape
};
};
static
const
int8_t
h261_tcoeff_level
[
64
]
=
{
static
const
int8_t
h261_tcoeff_level
[
64
]
=
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
1
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
1
,
2
,
3
,
4
,
5
,
1
,
2
,
3
,
4
,
2
,
3
,
4
,
5
,
1
,
2
,
3
,
4
,
1
,
2
,
3
,
1
,
2
,
3
,
1
,
2
,
1
,
2
,
3
,
1
,
2
,
3
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
};
};
static
const
int8_t
h261_tcoeff_run
[
64
]
=
{
static
const
int8_t
h261_tcoeff_run
[
64
]
=
{
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
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
2
,
2
,
3
,
3
,
3
,
3
,
4
,
2
,
2
,
2
,
3
,
3
,
3
,
3
,
4
,
4
,
4
,
5
,
5
,
5
,
6
,
6
,
7
,
4
,
4
,
5
,
5
,
5
,
6
,
6
,
7
,
7
,
8
,
8
,
9
,
9
,
10
,
10
,
11
,
7
,
8
,
8
,
9
,
9
,
10
,
10
,
11
,
12
,
13
,
14
,
15
,
16
,
17
,
18
,
19
,
12
,
13
,
14
,
15
,
16
,
17
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
26
20
,
21
,
22
,
23
,
24
,
25
,
26
};
};
static
RLTable
h261_rl_tcoeff
=
{
static
RLTable
h261_rl_tcoeff
=
{
...
...
libavcodec/h261dec.c
View file @
b78f81c8
This diff is collapsed.
Click to expand it.
libavcodec/h261enc.c
View file @
b78f81c8
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment