Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
11c3f204
Commit
11c3f204
authored
Nov 15, 2012
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
c93: return meaningful error codes.
parent
2b011a43
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
10 deletions
+10
-10
c93.c
libavcodec/c93.c
+10
-10
No files found.
libavcodec/c93.c
View file @
11c3f204
...
@@ -79,7 +79,7 @@ static inline int copy_block(AVCodecContext *avctx, uint8_t *to,
...
@@ -79,7 +79,7 @@ static inline int copy_block(AVCodecContext *avctx, uint8_t *to,
if
(
from_y
+
height
>
HEIGHT
)
{
if
(
from_y
+
height
>
HEIGHT
)
{
av_log
(
avctx
,
AV_LOG_ERROR
,
"invalid offset %d during C93 decoding
\n
"
,
av_log
(
avctx
,
AV_LOG_ERROR
,
"invalid offset %d during C93 decoding
\n
"
,
offset
);
offset
);
return
-
1
;
return
AVERROR_INVALIDDATA
;
}
}
if
(
overflow
>
0
)
{
if
(
overflow
>
0
)
{
...
@@ -123,16 +123,16 @@ static int decode_frame(AVCodecContext *avctx, void *data,
...
@@ -123,16 +123,16 @@ static int decode_frame(AVCodecContext *avctx, void *data,
AVFrame
*
picture
=
data
;
AVFrame
*
picture
=
data
;
GetByteContext
gb
;
GetByteContext
gb
;
uint8_t
*
out
;
uint8_t
*
out
;
int
stride
,
i
,
x
,
y
,
b
,
bt
=
0
;
int
stride
,
ret
,
i
,
x
,
y
,
b
,
bt
=
0
;
c93
->
currentpic
^=
1
;
c93
->
currentpic
^=
1
;
newpic
->
reference
=
1
;
newpic
->
reference
=
1
;
newpic
->
buffer_hints
=
FF_BUFFER_HINTS_VALID
|
FF_BUFFER_HINTS_PRESERVE
|
newpic
->
buffer_hints
=
FF_BUFFER_HINTS_VALID
|
FF_BUFFER_HINTS_PRESERVE
|
FF_BUFFER_HINTS_REUSABLE
|
FF_BUFFER_HINTS_READABLE
;
FF_BUFFER_HINTS_REUSABLE
|
FF_BUFFER_HINTS_READABLE
;
if
(
avctx
->
reget_buffer
(
avctx
,
newpic
)
)
{
if
(
(
ret
=
avctx
->
reget_buffer
(
avctx
,
newpic
))
<
0
)
{
av_log
(
avctx
,
AV_LOG_ERROR
,
"reget_buffer() failed
\n
"
);
av_log
(
avctx
,
AV_LOG_ERROR
,
"reget_buffer() failed
\n
"
);
return
-
1
;
return
ret
;
}
}
stride
=
newpic
->
linesize
[
0
];
stride
=
newpic
->
linesize
[
0
];
...
@@ -162,8 +162,8 @@ static int decode_frame(AVCodecContext *avctx, void *data,
...
@@ -162,8 +162,8 @@ static int decode_frame(AVCodecContext *avctx, void *data,
switch
(
block_type
)
{
switch
(
block_type
)
{
case
C93_8X8_FROM_PREV
:
case
C93_8X8_FROM_PREV
:
offset
=
bytestream2_get_le16
(
&
gb
);
offset
=
bytestream2_get_le16
(
&
gb
);
if
(
copy_block
(
avctx
,
out
,
copy_from
,
offset
,
8
,
stride
)
)
if
(
(
ret
=
copy_block
(
avctx
,
out
,
copy_from
,
offset
,
8
,
stride
))
<
0
)
return
-
1
;
return
ret
;
break
;
break
;
case
C93_4X4_FROM_CURR
:
case
C93_4X4_FROM_CURR
:
...
@@ -172,9 +172,9 @@ static int decode_frame(AVCodecContext *avctx, void *data,
...
@@ -172,9 +172,9 @@ static int decode_frame(AVCodecContext *avctx, void *data,
for
(
j
=
0
;
j
<
8
;
j
+=
4
)
{
for
(
j
=
0
;
j
<
8
;
j
+=
4
)
{
for
(
i
=
0
;
i
<
8
;
i
+=
4
)
{
for
(
i
=
0
;
i
<
8
;
i
+=
4
)
{
offset
=
bytestream2_get_le16
(
&
gb
);
offset
=
bytestream2_get_le16
(
&
gb
);
if
(
copy_block
(
avctx
,
&
out
[
j
*
stride
+
i
],
if
(
(
ret
=
copy_block
(
avctx
,
&
out
[
j
*
stride
+
i
],
copy_from
,
offset
,
4
,
stride
)
)
copy_from
,
offset
,
4
,
stride
))
<
0
)
return
-
1
;
return
ret
;
}
}
}
}
break
;
break
;
...
@@ -221,7 +221,7 @@ static int decode_frame(AVCodecContext *avctx, void *data,
...
@@ -221,7 +221,7 @@ static int decode_frame(AVCodecContext *avctx, void *data,
default:
default:
av_log
(
avctx
,
AV_LOG_ERROR
,
"unexpected type %x at %dx%d
\n
"
,
av_log
(
avctx
,
AV_LOG_ERROR
,
"unexpected type %x at %dx%d
\n
"
,
block_type
,
x
,
y
);
block_type
,
x
,
y
);
return
-
1
;
return
AVERROR_INVALIDDATA
;
}
}
bt
>>=
4
;
bt
>>=
4
;
out
+=
8
;
out
+=
8
;
...
...
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