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
d5c62122
Commit
d5c62122
authored
Oct 11, 2012
by
Diego Biurrun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move av_reverse table to libavcodec
It is only used in that library.
parent
930c9d43
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
90 additions
and
49 deletions
+90
-49
asvdec.c
libavcodec/asvdec.c
+4
-3
asvenc.c
libavcodec/asvenc.c
+4
-3
bitstream.c
libavcodec/bitstream.c
+5
-4
indeo2.c
libavcodec/indeo2.c
+4
-2
ivi_common.c
libavcodec/ivi_common.c
+4
-3
mathops.h
libavcodec/mathops.h
+1
-0
mathtables.c
libavcodec/mathtables.c
+19
-0
pcm.c
libavcodec/pcm.c
+6
-5
s302m.c
libavcodec/s302m.c
+20
-19
tiff.c
libavcodec/tiff.c
+4
-3
vble.c
libavcodec/vble.c
+2
-1
wnv1.c
libavcodec/wnv1.c
+3
-3
xbmenc.c
libavcodec/xbmenc.c
+2
-2
common.h
libavutil/common.h
+5
-1
mathematics.c
libavutil/mathematics.c
+4
-0
version.h
libavutil/version.h
+3
-0
No files found.
libavcodec/asvdec.c
View file @
d5c62122
...
@@ -23,13 +23,14 @@
...
@@ -23,13 +23,14 @@
* ASUS V1/V2 decoder.
* ASUS V1/V2 decoder.
*/
*/
#include "libavutil/
common
.h"
#include "libavutil/
attributes
.h"
#include "libavutil/mem.h"
#include "libavutil/mem.h"
#include "asv.h"
#include "asv.h"
#include "avcodec.h"
#include "avcodec.h"
#include "put_bits.h"
#include "put_bits.h"
#include "dsputil.h"
#include "dsputil.h"
#include "mathops.h"
#include "mpeg12data.h"
#include "mpeg12data.h"
//#undef NDEBUG
//#undef NDEBUG
...
@@ -70,7 +71,7 @@ static av_cold void init_vlcs(ASV1Context *a){
...
@@ -70,7 +71,7 @@ static av_cold void init_vlcs(ASV1Context *a){
//FIXME write a reversed bitstream reader to avoid the double reverse
//FIXME write a reversed bitstream reader to avoid the double reverse
static
inline
int
asv2_get_bits
(
GetBitContext
*
gb
,
int
n
){
static
inline
int
asv2_get_bits
(
GetBitContext
*
gb
,
int
n
){
return
av
_reverse
[
get_bits
(
gb
,
n
)
<<
(
8
-
n
)
];
return
ff
_reverse
[
get_bits
(
gb
,
n
)
<<
(
8
-
n
)
];
}
}
static
inline
int
asv1_get_level
(
GetBitContext
*
gb
){
static
inline
int
asv1_get_level
(
GetBitContext
*
gb
){
...
@@ -210,7 +211,7 @@ static int decode_frame(AVCodecContext *avctx,
...
@@ -210,7 +211,7 @@ static int decode_frame(AVCodecContext *avctx,
else
{
else
{
int
i
;
int
i
;
for
(
i
=
0
;
i
<
buf_size
;
i
++
)
for
(
i
=
0
;
i
<
buf_size
;
i
++
)
a
->
bitstream_buffer
[
i
]
=
av
_reverse
[
buf
[
i
]
];
a
->
bitstream_buffer
[
i
]
=
ff
_reverse
[
buf
[
i
]
];
}
}
init_get_bits
(
&
a
->
gb
,
a
->
bitstream_buffer
,
buf_size
*
8
);
init_get_bits
(
&
a
->
gb
,
a
->
bitstream_buffer
,
buf_size
*
8
);
...
...
libavcodec/asvenc.c
View file @
d5c62122
...
@@ -23,15 +23,16 @@
...
@@ -23,15 +23,16 @@
* ASUS V1/V2 encoder.
* ASUS V1/V2 encoder.
*/
*/
#include "libavutil/
common
.h"
#include "libavutil/
attributes
.h"
#include "libavutil/mem.h"
#include "libavutil/mem.h"
#include "asv.h"
#include "asv.h"
#include "avcodec.h"
#include "avcodec.h"
#include "mathops.h"
#include "mpeg12data.h"
#include "mpeg12data.h"
static
inline
void
asv2_put_bits
(
PutBitContext
*
pb
,
int
n
,
int
v
){
static
inline
void
asv2_put_bits
(
PutBitContext
*
pb
,
int
n
,
int
v
){
put_bits
(
pb
,
n
,
av
_reverse
[
v
<<
(
8
-
n
)
]);
put_bits
(
pb
,
n
,
ff
_reverse
[
v
<<
(
8
-
n
)
]);
}
}
static
inline
void
asv1_put_level
(
PutBitContext
*
pb
,
int
level
){
static
inline
void
asv1_put_level
(
PutBitContext
*
pb
,
int
level
){
...
@@ -226,7 +227,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
...
@@ -226,7 +227,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
else
{
else
{
int
i
;
int
i
;
for
(
i
=
0
;
i
<
4
*
size
;
i
++
)
for
(
i
=
0
;
i
<
4
*
size
;
i
++
)
pkt
->
data
[
i
]
=
av
_reverse
[
pkt
->
data
[
i
]];
pkt
->
data
[
i
]
=
ff
_reverse
[
pkt
->
data
[
i
]];
}
}
pkt
->
size
=
size
*
4
;
pkt
->
size
=
size
*
4
;
...
...
libavcodec/bitstream.c
View file @
d5c62122
...
@@ -29,6 +29,7 @@
...
@@ -29,6 +29,7 @@
*/
*/
#include "avcodec.h"
#include "avcodec.h"
#include "mathops.h"
#include "get_bits.h"
#include "get_bits.h"
#include "put_bits.h"
#include "put_bits.h"
...
@@ -114,10 +115,10 @@ static int alloc_table(VLC *vlc, int size, int use_static)
...
@@ -114,10 +115,10 @@ static int alloc_table(VLC *vlc, int size, int use_static)
}
}
static
av_always_inline
uint32_t
bitswap_32
(
uint32_t
x
)
{
static
av_always_inline
uint32_t
bitswap_32
(
uint32_t
x
)
{
return
(
uint32_t
)
av
_reverse
[
x
&
0xFF
]
<<
24
return
(
uint32_t
)
ff
_reverse
[
x
&
0xFF
]
<<
24
|
(
uint32_t
)
av
_reverse
[(
x
>>
8
)
&
0xFF
]
<<
16
|
(
uint32_t
)
ff
_reverse
[(
x
>>
8
)
&
0xFF
]
<<
16
|
(
uint32_t
)
av
_reverse
[(
x
>>
16
)
&
0xFF
]
<<
8
|
(
uint32_t
)
ff
_reverse
[(
x
>>
16
)
&
0xFF
]
<<
8
|
(
uint32_t
)
av
_reverse
[
x
>>
24
];
|
(
uint32_t
)
ff
_reverse
[
x
>>
24
];
}
}
typedef
struct
{
typedef
struct
{
...
...
libavcodec/indeo2.c
View file @
d5c62122
...
@@ -23,11 +23,13 @@
...
@@ -23,11 +23,13 @@
* @file
* @file
* Intel Indeo 2 decoder.
* Intel Indeo 2 decoder.
*/
*/
#define BITSTREAM_READER_LE
#define BITSTREAM_READER_LE
#include "libavutil/attributes.h"
#include "avcodec.h"
#include "avcodec.h"
#include "get_bits.h"
#include "get_bits.h"
#include "indeo2data.h"
#include "indeo2data.h"
#include "
libavutil/common
.h"
#include "
mathops
.h"
typedef
struct
Ir2Context
{
typedef
struct
Ir2Context
{
AVCodecContext
*
avctx
;
AVCodecContext
*
avctx
;
...
@@ -168,7 +170,7 @@ static int ir2_decode_frame(AVCodecContext *avctx,
...
@@ -168,7 +170,7 @@ static int ir2_decode_frame(AVCodecContext *avctx,
/* decide whether frame uses deltas or not */
/* decide whether frame uses deltas or not */
#ifndef BITSTREAM_READER_LE
#ifndef BITSTREAM_READER_LE
for
(
i
=
0
;
i
<
buf_size
;
i
++
)
for
(
i
=
0
;
i
<
buf_size
;
i
++
)
buf
[
i
]
=
av
_reverse
[
buf
[
i
]];
buf
[
i
]
=
ff
_reverse
[
buf
[
i
]];
#endif
#endif
init_get_bits
(
&
s
->
gb
,
buf
+
start
,
(
buf_size
-
start
)
*
8
);
init_get_bits
(
&
s
->
gb
,
buf
+
start
,
(
buf_size
-
start
)
*
8
);
...
...
libavcodec/ivi_common.c
View file @
d5c62122
...
@@ -27,10 +27,11 @@
...
@@ -27,10 +27,11 @@
*/
*/
#define BITSTREAM_READER_LE
#define BITSTREAM_READER_LE
#include "libavutil/attributes.h"
#include "avcodec.h"
#include "avcodec.h"
#include "get_bits.h"
#include "get_bits.h"
#include "mathops.h"
#include "ivi_common.h"
#include "ivi_common.h"
#include "libavutil/common.h"
#include "ivi_dsp.h"
#include "ivi_dsp.h"
extern
const
IVIHuffDesc
ff_ivi_mb_huff_desc
[
8
];
///< static macroblock huffman tables
extern
const
IVIHuffDesc
ff_ivi_mb_huff_desc
[
8
];
///< static macroblock huffman tables
...
@@ -48,9 +49,9 @@ static uint16_t inv_bits(uint16_t val, int nbits)
...
@@ -48,9 +49,9 @@ static uint16_t inv_bits(uint16_t val, int nbits)
uint16_t
res
;
uint16_t
res
;
if
(
nbits
<=
8
)
{
if
(
nbits
<=
8
)
{
res
=
av
_reverse
[
val
]
>>
(
8
-
nbits
);
res
=
ff
_reverse
[
val
]
>>
(
8
-
nbits
);
}
else
}
else
res
=
((
av_reverse
[
val
&
0xFF
]
<<
8
)
+
(
av
_reverse
[
val
>>
8
]))
>>
(
16
-
nbits
);
res
=
((
ff_reverse
[
val
&
0xFF
]
<<
8
)
+
(
ff
_reverse
[
val
>>
8
]))
>>
(
16
-
nbits
);
return
res
;
return
res
;
}
}
...
...
libavcodec/mathops.h
View file @
d5c62122
...
@@ -28,6 +28,7 @@
...
@@ -28,6 +28,7 @@
#include "config.h"
#include "config.h"
extern
const
uint32_t
ff_inverse
[
257
];
extern
const
uint32_t
ff_inverse
[
257
];
extern
const
uint8_t
ff_reverse
[
256
];
extern
const
uint8_t
ff_sqrt_tab
[
256
];
extern
const
uint8_t
ff_sqrt_tab
[
256
];
#if ARCH_ARM
#if ARCH_ARM
...
...
libavcodec/mathtables.c
View file @
d5c62122
...
@@ -66,3 +66,22 @@ const uint8_t ff_sqrt_tab[256]={
...
@@ -66,3 +66,22 @@ const uint8_t ff_sqrt_tab[256]={
222
,
223
,
223
,
224
,
224
,
225
,
226
,
226
,
227
,
227
,
228
,
228
,
229
,
230
,
230
,
231
,
231
,
232
,
232
,
233
,
233
,
234
,
235
,
235
,
236
,
236
,
237
,
237
,
238
,
238
,
239
,
239
,
222
,
223
,
223
,
224
,
224
,
225
,
226
,
226
,
227
,
227
,
228
,
228
,
229
,
230
,
230
,
231
,
231
,
232
,
232
,
233
,
233
,
234
,
235
,
235
,
236
,
236
,
237
,
237
,
238
,
238
,
239
,
239
,
240
,
240
,
241
,
242
,
242
,
243
,
243
,
244
,
244
,
245
,
245
,
246
,
246
,
247
,
247
,
248
,
248
,
249
,
249
,
250
,
250
,
251
,
251
,
252
,
252
,
253
,
253
,
254
,
254
,
255
,
255
,
255
240
,
240
,
241
,
242
,
242
,
243
,
243
,
244
,
244
,
245
,
245
,
246
,
246
,
247
,
247
,
248
,
248
,
249
,
249
,
250
,
250
,
251
,
251
,
252
,
252
,
253
,
253
,
254
,
254
,
255
,
255
,
255
};
};
const
uint8_t
ff_reverse
[
256
]
=
{
0x00
,
0x80
,
0x40
,
0xC0
,
0x20
,
0xA0
,
0x60
,
0xE0
,
0x10
,
0x90
,
0x50
,
0xD0
,
0x30
,
0xB0
,
0x70
,
0xF0
,
0x08
,
0x88
,
0x48
,
0xC8
,
0x28
,
0xA8
,
0x68
,
0xE8
,
0x18
,
0x98
,
0x58
,
0xD8
,
0x38
,
0xB8
,
0x78
,
0xF8
,
0x04
,
0x84
,
0x44
,
0xC4
,
0x24
,
0xA4
,
0x64
,
0xE4
,
0x14
,
0x94
,
0x54
,
0xD4
,
0x34
,
0xB4
,
0x74
,
0xF4
,
0x0C
,
0x8C
,
0x4C
,
0xCC
,
0x2C
,
0xAC
,
0x6C
,
0xEC
,
0x1C
,
0x9C
,
0x5C
,
0xDC
,
0x3C
,
0xBC
,
0x7C
,
0xFC
,
0x02
,
0x82
,
0x42
,
0xC2
,
0x22
,
0xA2
,
0x62
,
0xE2
,
0x12
,
0x92
,
0x52
,
0xD2
,
0x32
,
0xB2
,
0x72
,
0xF2
,
0x0A
,
0x8A
,
0x4A
,
0xCA
,
0x2A
,
0xAA
,
0x6A
,
0xEA
,
0x1A
,
0x9A
,
0x5A
,
0xDA
,
0x3A
,
0xBA
,
0x7A
,
0xFA
,
0x06
,
0x86
,
0x46
,
0xC6
,
0x26
,
0xA6
,
0x66
,
0xE6
,
0x16
,
0x96
,
0x56
,
0xD6
,
0x36
,
0xB6
,
0x76
,
0xF6
,
0x0E
,
0x8E
,
0x4E
,
0xCE
,
0x2E
,
0xAE
,
0x6E
,
0xEE
,
0x1E
,
0x9E
,
0x5E
,
0xDE
,
0x3E
,
0xBE
,
0x7E
,
0xFE
,
0x01
,
0x81
,
0x41
,
0xC1
,
0x21
,
0xA1
,
0x61
,
0xE1
,
0x11
,
0x91
,
0x51
,
0xD1
,
0x31
,
0xB1
,
0x71
,
0xF1
,
0x09
,
0x89
,
0x49
,
0xC9
,
0x29
,
0xA9
,
0x69
,
0xE9
,
0x19
,
0x99
,
0x59
,
0xD9
,
0x39
,
0xB9
,
0x79
,
0xF9
,
0x05
,
0x85
,
0x45
,
0xC5
,
0x25
,
0xA5
,
0x65
,
0xE5
,
0x15
,
0x95
,
0x55
,
0xD5
,
0x35
,
0xB5
,
0x75
,
0xF5
,
0x0D
,
0x8D
,
0x4D
,
0xCD
,
0x2D
,
0xAD
,
0x6D
,
0xED
,
0x1D
,
0x9D
,
0x5D
,
0xDD
,
0x3D
,
0xBD
,
0x7D
,
0xFD
,
0x03
,
0x83
,
0x43
,
0xC3
,
0x23
,
0xA3
,
0x63
,
0xE3
,
0x13
,
0x93
,
0x53
,
0xD3
,
0x33
,
0xB3
,
0x73
,
0xF3
,
0x0B
,
0x8B
,
0x4B
,
0xCB
,
0x2B
,
0xAB
,
0x6B
,
0xEB
,
0x1B
,
0x9B
,
0x5B
,
0xDB
,
0x3B
,
0xBB
,
0x7B
,
0xFB
,
0x07
,
0x87
,
0x47
,
0xC7
,
0x27
,
0xA7
,
0x67
,
0xE7
,
0x17
,
0x97
,
0x57
,
0xD7
,
0x37
,
0xB7
,
0x77
,
0xF7
,
0x0F
,
0x8F
,
0x4F
,
0xCF
,
0x2F
,
0xAF
,
0x6F
,
0xEF
,
0x1F
,
0x9F
,
0x5F
,
0xDF
,
0x3F
,
0xBF
,
0x7F
,
0xFF
,
};
libavcodec/pcm.c
View file @
d5c62122
...
@@ -24,10 +24,11 @@
...
@@ -24,10 +24,11 @@
* PCM codecs
* PCM codecs
*/
*/
#include "libavutil/
common.h"
/* for av_reverse */
#include "libavutil/
attributes.h"
#include "avcodec.h"
#include "avcodec.h"
#include "bytestream.h"
#include "bytestream.h"
#include "internal.h"
#include "internal.h"
#include "mathops.h"
#include "pcm_tablegen.h"
#include "pcm_tablegen.h"
#define MAX_CHANNELS 64
#define MAX_CHANNELS 64
...
@@ -124,8 +125,8 @@ static int pcm_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
...
@@ -124,8 +125,8 @@ static int pcm_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
break
;
break
;
case
AV_CODEC_ID_PCM_S24DAUD
:
case
AV_CODEC_ID_PCM_S24DAUD
:
for
(;
n
>
0
;
n
--
)
{
for
(;
n
>
0
;
n
--
)
{
uint32_t
tmp
=
av
_reverse
[(
*
samples
>>
8
)
&
0xff
]
+
uint32_t
tmp
=
ff
_reverse
[(
*
samples
>>
8
)
&
0xff
]
+
(
av
_reverse
[
*
samples
&
0xff
]
<<
8
);
(
ff
_reverse
[
*
samples
&
0xff
]
<<
8
);
tmp
<<=
4
;
// sync flags would go here
tmp
<<=
4
;
// sync flags would go here
bytestream_put_be24
(
&
dst
,
tmp
);
bytestream_put_be24
(
&
dst
,
tmp
);
samples
++
;
samples
++
;
...
@@ -332,8 +333,8 @@ static int pcm_decode_frame(AVCodecContext *avctx, void *data,
...
@@ -332,8 +333,8 @@ static int pcm_decode_frame(AVCodecContext *avctx, void *data,
for
(;
n
>
0
;
n
--
)
{
for
(;
n
>
0
;
n
--
)
{
uint32_t
v
=
bytestream_get_be24
(
&
src
);
uint32_t
v
=
bytestream_get_be24
(
&
src
);
v
>>=
4
;
// sync flags are here
v
>>=
4
;
// sync flags are here
AV_WN16A
(
samples
,
av
_reverse
[(
v
>>
8
)
&
0xff
]
+
AV_WN16A
(
samples
,
ff
_reverse
[(
v
>>
8
)
&
0xff
]
+
(
av
_reverse
[
v
&
0xff
]
<<
8
));
(
ff
_reverse
[
v
&
0xff
]
<<
8
));
samples
+=
2
;
samples
+=
2
;
}
}
break
;
break
;
...
...
libavcodec/s302m.c
View file @
d5c62122
...
@@ -20,9 +20,10 @@
...
@@ -20,9 +20,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
*/
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/log.h"
#include "avcodec.h"
#include "avcodec.h"
#include "mathops.h"
#define AES3_HEADER_LEN 4
#define AES3_HEADER_LEN 4
...
@@ -105,34 +106,34 @@ static int s302m_decode_frame(AVCodecContext *avctx, void *data,
...
@@ -105,34 +106,34 @@ static int s302m_decode_frame(AVCodecContext *avctx, void *data,
if
(
avctx
->
bits_per_coded_sample
==
24
)
{
if
(
avctx
->
bits_per_coded_sample
==
24
)
{
uint32_t
*
o
=
(
uint32_t
*
)
s
->
frame
.
data
[
0
];
uint32_t
*
o
=
(
uint32_t
*
)
s
->
frame
.
data
[
0
];
for
(;
buf_size
>
6
;
buf_size
-=
7
)
{
for
(;
buf_size
>
6
;
buf_size
-=
7
)
{
*
o
++
=
(
av
_reverse
[
buf
[
2
]]
<<
24
)
|
*
o
++
=
(
ff
_reverse
[
buf
[
2
]]
<<
24
)
|
(
av
_reverse
[
buf
[
1
]]
<<
16
)
|
(
ff
_reverse
[
buf
[
1
]]
<<
16
)
|
(
av
_reverse
[
buf
[
0
]]
<<
8
);
(
ff
_reverse
[
buf
[
0
]]
<<
8
);
*
o
++
=
(
av
_reverse
[
buf
[
6
]
&
0xf0
]
<<
28
)
|
*
o
++
=
(
ff
_reverse
[
buf
[
6
]
&
0xf0
]
<<
28
)
|
(
av
_reverse
[
buf
[
5
]]
<<
20
)
|
(
ff
_reverse
[
buf
[
5
]]
<<
20
)
|
(
av
_reverse
[
buf
[
4
]]
<<
12
)
|
(
ff
_reverse
[
buf
[
4
]]
<<
12
)
|
(
av
_reverse
[
buf
[
3
]
&
0x0f
]
<<
4
);
(
ff
_reverse
[
buf
[
3
]
&
0x0f
]
<<
4
);
buf
+=
7
;
buf
+=
7
;
}
}
}
else
if
(
avctx
->
bits_per_coded_sample
==
20
)
{
}
else
if
(
avctx
->
bits_per_coded_sample
==
20
)
{
uint32_t
*
o
=
(
uint32_t
*
)
s
->
frame
.
data
[
0
];
uint32_t
*
o
=
(
uint32_t
*
)
s
->
frame
.
data
[
0
];
for
(;
buf_size
>
5
;
buf_size
-=
6
)
{
for
(;
buf_size
>
5
;
buf_size
-=
6
)
{
*
o
++
=
(
av
_reverse
[
buf
[
2
]
&
0xf0
]
<<
28
)
|
*
o
++
=
(
ff
_reverse
[
buf
[
2
]
&
0xf0
]
<<
28
)
|
(
av
_reverse
[
buf
[
1
]]
<<
20
)
|
(
ff
_reverse
[
buf
[
1
]]
<<
20
)
|
(
av
_reverse
[
buf
[
0
]]
<<
12
);
(
ff
_reverse
[
buf
[
0
]]
<<
12
);
*
o
++
=
(
av
_reverse
[
buf
[
5
]
&
0xf0
]
<<
28
)
|
*
o
++
=
(
ff
_reverse
[
buf
[
5
]
&
0xf0
]
<<
28
)
|
(
av
_reverse
[
buf
[
4
]]
<<
20
)
|
(
ff
_reverse
[
buf
[
4
]]
<<
20
)
|
(
av
_reverse
[
buf
[
3
]]
<<
12
);
(
ff
_reverse
[
buf
[
3
]]
<<
12
);
buf
+=
6
;
buf
+=
6
;
}
}
}
else
{
}
else
{
uint16_t
*
o
=
(
uint16_t
*
)
s
->
frame
.
data
[
0
];
uint16_t
*
o
=
(
uint16_t
*
)
s
->
frame
.
data
[
0
];
for
(;
buf_size
>
4
;
buf_size
-=
5
)
{
for
(;
buf_size
>
4
;
buf_size
-=
5
)
{
*
o
++
=
(
av
_reverse
[
buf
[
1
]]
<<
8
)
|
*
o
++
=
(
ff
_reverse
[
buf
[
1
]]
<<
8
)
|
av
_reverse
[
buf
[
0
]];
ff
_reverse
[
buf
[
0
]];
*
o
++
=
(
av
_reverse
[
buf
[
4
]
&
0xf0
]
<<
12
)
|
*
o
++
=
(
ff
_reverse
[
buf
[
4
]
&
0xf0
]
<<
12
)
|
(
av
_reverse
[
buf
[
3
]]
<<
4
)
|
(
ff
_reverse
[
buf
[
3
]]
<<
4
)
|
(
av
_reverse
[
buf
[
2
]]
>>
4
);
(
ff
_reverse
[
buf
[
2
]]
>>
4
);
buf
+=
5
;
buf
+=
5
;
}
}
}
}
...
...
libavcodec/tiff.c
View file @
d5c62122
...
@@ -33,7 +33,8 @@
...
@@ -33,7 +33,8 @@
#include "lzw.h"
#include "lzw.h"
#include "tiff.h"
#include "tiff.h"
#include "faxcompr.h"
#include "faxcompr.h"
#include "libavutil/common.h"
#include "mathops.h"
#include "libavutil/attributes.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/imgutils.h"
#include "libavutil/imgutils.h"
...
@@ -171,7 +172,7 @@ static int tiff_unpack_strip(TiffContext *s, uint8_t *dst, int stride,
...
@@ -171,7 +172,7 @@ static int tiff_unpack_strip(TiffContext *s, uint8_t *dst, int stride,
memcpy
(
src2
,
src
,
size
);
memcpy
(
src2
,
src
,
size
);
}
else
{
}
else
{
for
(
i
=
0
;
i
<
size
;
i
++
)
for
(
i
=
0
;
i
<
size
;
i
++
)
src2
[
i
]
=
av
_reverse
[
src
[
i
]];
src2
[
i
]
=
ff
_reverse
[
src
[
i
]];
}
}
memset
(
src2
+
size
,
0
,
FF_INPUT_BUFFER_PADDING_SIZE
);
memset
(
src2
+
size
,
0
,
FF_INPUT_BUFFER_PADDING_SIZE
);
switch
(
s
->
compr
)
{
switch
(
s
->
compr
)
{
...
@@ -199,7 +200,7 @@ static int tiff_unpack_strip(TiffContext *s, uint8_t *dst, int stride,
...
@@ -199,7 +200,7 @@ static int tiff_unpack_strip(TiffContext *s, uint8_t *dst, int stride,
}
else
{
}
else
{
int
i
;
int
i
;
for
(
i
=
0
;
i
<
width
;
i
++
)
for
(
i
=
0
;
i
<
width
;
i
++
)
dst
[
i
]
=
av
_reverse
[
src
[
i
]];
dst
[
i
]
=
ff
_reverse
[
src
[
i
]];
}
}
src
+=
width
;
src
+=
width
;
break
;
break
;
...
...
libavcodec/vble.c
View file @
d5c62122
...
@@ -29,6 +29,7 @@
...
@@ -29,6 +29,7 @@
#include "avcodec.h"
#include "avcodec.h"
#include "dsputil.h"
#include "dsputil.h"
#include "get_bits.h"
#include "get_bits.h"
#include "mathops.h"
typedef
struct
{
typedef
struct
{
AVCodecContext
*
avctx
;
AVCodecContext
*
avctx
;
...
@@ -44,7 +45,7 @@ static uint8_t vble_read_reverse_unary(GetBitContext *gb)
...
@@ -44,7 +45,7 @@ static uint8_t vble_read_reverse_unary(GetBitContext *gb)
uint8_t
val
=
show_bits
(
gb
,
8
);
uint8_t
val
=
show_bits
(
gb
,
8
);
if
(
val
)
{
if
(
val
)
{
val
=
7
-
av_log2_16bit
(
av
_reverse
[
val
]);
val
=
7
-
av_log2_16bit
(
ff
_reverse
[
val
]);
skip_bits
(
gb
,
val
+
1
);
skip_bits
(
gb
,
val
+
1
);
return
val
;
return
val
;
}
else
{
}
else
{
...
...
libavcodec/wnv1.c
View file @
d5c62122
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
#include "avcodec.h"
#include "avcodec.h"
#include "get_bits.h"
#include "get_bits.h"
#include "
libavutil/common
.h"
#include "
mathops
.h"
typedef
struct
WNV1Context
{
typedef
struct
WNV1Context
{
...
@@ -52,7 +52,7 @@ static inline int wnv1_get_code(WNV1Context *w, int base_value)
...
@@ -52,7 +52,7 @@ static inline int wnv1_get_code(WNV1Context *w, int base_value)
int
v
=
get_vlc2
(
&
w
->
gb
,
code_vlc
.
table
,
CODE_VLC_BITS
,
1
);
int
v
=
get_vlc2
(
&
w
->
gb
,
code_vlc
.
table
,
CODE_VLC_BITS
,
1
);
if
(
v
==
15
)
if
(
v
==
15
)
return
av
_reverse
[
get_bits
(
&
w
->
gb
,
8
-
w
->
shift
)
];
return
ff
_reverse
[
get_bits
(
&
w
->
gb
,
8
-
w
->
shift
)
];
else
else
return
base_value
+
((
v
-
7
)
<<
w
->
shift
);
return
base_value
+
((
v
-
7
)
<<
w
->
shift
);
}
}
...
@@ -88,7 +88,7 @@ static int decode_frame(AVCodecContext *avctx,
...
@@ -88,7 +88,7 @@ static int decode_frame(AVCodecContext *avctx,
p
->
key_frame
=
1
;
p
->
key_frame
=
1
;
for
(
i
=
8
;
i
<
buf_size
;
i
++
)
for
(
i
=
8
;
i
<
buf_size
;
i
++
)
rbuf
[
i
]
=
av
_reverse
[
buf
[
i
]
];
rbuf
[
i
]
=
ff
_reverse
[
buf
[
i
]
];
init_get_bits
(
&
l
->
gb
,
rbuf
+
8
,
(
buf_size
-
8
)
*
8
);
init_get_bits
(
&
l
->
gb
,
rbuf
+
8
,
(
buf_size
-
8
)
*
8
);
if
(
buf
[
2
]
>>
4
==
6
)
if
(
buf
[
2
]
>>
4
==
6
)
...
...
libavcodec/xbmenc.c
View file @
d5c62122
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
#include "avcodec.h"
#include "avcodec.h"
#include "internal.h"
#include "internal.h"
#include "
libavutil/common
.h"
#include "
mathops
.h"
static
av_cold
int
xbm_encode_init
(
AVCodecContext
*
avctx
)
static
av_cold
int
xbm_encode_init
(
AVCodecContext
*
avctx
)
{
{
...
@@ -55,7 +55,7 @@ static int xbm_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
...
@@ -55,7 +55,7 @@ static int xbm_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
buf
+=
snprintf
(
buf
,
40
,
"static unsigned char image_bits[] = {
\n
"
);
buf
+=
snprintf
(
buf
,
40
,
"static unsigned char image_bits[] = {
\n
"
);
for
(
i
=
0
;
i
<
avctx
->
height
;
i
++
)
{
for
(
i
=
0
;
i
<
avctx
->
height
;
i
++
)
{
for
(
j
=
0
;
j
<
linesize
;
j
++
)
for
(
j
=
0
;
j
<
linesize
;
j
++
)
buf
+=
snprintf
(
buf
,
7
,
" 0x%02X,"
,
av
_reverse
[
*
ptr
++
]);
buf
+=
snprintf
(
buf
,
7
,
" 0x%02X,"
,
ff
_reverse
[
*
ptr
++
]);
ptr
+=
p
->
linesize
[
0
]
-
linesize
;
ptr
+=
p
->
linesize
[
0
]
-
linesize
;
buf
+=
snprintf
(
buf
,
2
,
"
\n
"
);
buf
+=
snprintf
(
buf
,
2
,
"
\n
"
);
}
}
...
...
libavutil/common.h
View file @
d5c62122
...
@@ -34,7 +34,9 @@
...
@@ -34,7 +34,9 @@
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>
#include <string.h>
#include <string.h>
#include "attributes.h"
#include "attributes.h"
#include "version.h"
#include "libavutil/avconfig.h"
#include "libavutil/avconfig.h"
#if AV_HAVE_BIGENDIAN
#if AV_HAVE_BIGENDIAN
...
@@ -62,7 +64,9 @@
...
@@ -62,7 +64,9 @@
/* misc math functions */
/* misc math functions */
extern
const
uint8_t
ff_log2_tab
[
256
];
extern
const
uint8_t
ff_log2_tab
[
256
];
extern
const
uint8_t
av_reverse
[
256
];
#if FF_API_AV_REVERSE
extern
attribute_deprecated
const
uint8_t
av_reverse
[
256
];
#endif
static
av_always_inline
av_const
int
av_log2_c
(
unsigned
int
v
)
static
av_always_inline
av_const
int
av_log2_c
(
unsigned
int
v
)
{
{
...
...
libavutil/mathematics.c
View file @
d5c62122
...
@@ -26,8 +26,11 @@
...
@@ -26,8 +26,11 @@
#include <assert.h>
#include <assert.h>
#include <stdint.h>
#include <stdint.h>
#include <limits.h>
#include <limits.h>
#include "mathematics.h"
#include "mathematics.h"
#include "version.h"
#if FF_API_AV_REVERSE
const
uint8_t
av_reverse
[
256
]
=
{
const
uint8_t
av_reverse
[
256
]
=
{
0x00
,
0x80
,
0x40
,
0xC0
,
0x20
,
0xA0
,
0x60
,
0xE0
,
0x10
,
0x90
,
0x50
,
0xD0
,
0x30
,
0xB0
,
0x70
,
0xF0
,
0x00
,
0x80
,
0x40
,
0xC0
,
0x20
,
0xA0
,
0x60
,
0xE0
,
0x10
,
0x90
,
0x50
,
0xD0
,
0x30
,
0xB0
,
0x70
,
0xF0
,
0x08
,
0x88
,
0x48
,
0xC8
,
0x28
,
0xA8
,
0x68
,
0xE8
,
0x18
,
0x98
,
0x58
,
0xD8
,
0x38
,
0xB8
,
0x78
,
0xF8
,
0x08
,
0x88
,
0x48
,
0xC8
,
0x28
,
0xA8
,
0x68
,
0xE8
,
0x18
,
0x98
,
0x58
,
0xD8
,
0x38
,
0xB8
,
0x78
,
0xF8
,
...
@@ -46,6 +49,7 @@ const uint8_t av_reverse[256]={
...
@@ -46,6 +49,7 @@ const uint8_t av_reverse[256]={
0x07
,
0x87
,
0x47
,
0xC7
,
0x27
,
0xA7
,
0x67
,
0xE7
,
0x17
,
0x97
,
0x57
,
0xD7
,
0x37
,
0xB7
,
0x77
,
0xF7
,
0x07
,
0x87
,
0x47
,
0xC7
,
0x27
,
0xA7
,
0x67
,
0xE7
,
0x17
,
0x97
,
0x57
,
0xD7
,
0x37
,
0xB7
,
0x77
,
0xF7
,
0x0F
,
0x8F
,
0x4F
,
0xCF
,
0x2F
,
0xAF
,
0x6F
,
0xEF
,
0x1F
,
0x9F
,
0x5F
,
0xDF
,
0x3F
,
0xBF
,
0x7F
,
0xFF
,
0x0F
,
0x8F
,
0x4F
,
0xCF
,
0x2F
,
0xAF
,
0x6F
,
0xEF
,
0x1F
,
0x9F
,
0x5F
,
0xDF
,
0x3F
,
0xBF
,
0x7F
,
0xFF
,
};
};
#endif
int64_t
av_gcd
(
int64_t
a
,
int64_t
b
){
int64_t
av_gcd
(
int64_t
a
,
int64_t
b
){
if
(
b
)
return
av_gcd
(
b
,
a
%
b
);
if
(
b
)
return
av_gcd
(
b
,
a
%
b
);
...
...
libavutil/version.h
View file @
d5c62122
...
@@ -82,6 +82,9 @@
...
@@ -82,6 +82,9 @@
#ifndef FF_API_PIX_FMT_DESC
#ifndef FF_API_PIX_FMT_DESC
#define FF_API_PIX_FMT_DESC (LIBAVUTIL_VERSION_MAJOR < 52)
#define FF_API_PIX_FMT_DESC (LIBAVUTIL_VERSION_MAJOR < 52)
#endif
#endif
#ifndef FF_API_AV_REVERSE
#define FF_API_AV_REVERSE (LIBAVUTIL_VERSION_MAJOR < 52)
#endif
/**
/**
* @}
* @}
...
...
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