Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
a821a8f4
Commit
a821a8f4
authored
Oct 10, 2002
by
Michael Günnewig
Committed by
Alexandre Julliard
Oct 10, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Prevent some segfaults in msrle32.
Add the necessary line to the sample system.ini for using this video codec.
parent
05b4a093
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
10 additions
and
10 deletions
+10
-10
msrle32.c
dlls/msvideo/msrle32/msrle32.c
+9
-10
system.ini
documentation/samples/system.ini
+1
-0
No files found.
dlls/msvideo/msrle32/msrle32.c
View file @
a821a8f4
...
...
@@ -223,15 +223,15 @@ void computeInternalFrame(CodecInfo *pi, LPCBITMAPINFOHEADER lpbiIn, LPBYTE lpIn
switch
(
lpbiIn
->
biBitCount
)
{
case
1
:
for
(
x
=
0
;
x
<
lpbiIn
->
biWidth
;
x
+=
8
)
{
for
(
x
=
0
;
x
<
lpbiIn
->
biWidth
/
8
;
x
++
)
{
for
(
i
=
0
;
i
<
7
;
i
++
)
lpOut
[
x
+
i
]
=
wIntensityTbl
[(
lpIn
[
x
]
>>
(
7
-
i
))
&
1
];
lpOut
[
8
*
x
+
i
]
=
wIntensityTbl
[(
lpIn
[
x
]
>>
(
7
-
i
))
&
1
];
}
break
;
case
4
:
for
(
x
=
0
;
x
<
lpbiIn
->
biWidth
;
x
+=
2
)
{
lpOut
[
x
+
0
]
=
wIntensityTbl
[(
lpIn
[
x
]
>>
4
)];
lpOut
[
x
+
1
]
=
wIntensityTbl
[(
lpIn
[
x
]
&
0x0F
)];
for
(
x
=
0
;
x
<
lpbiIn
->
biWidth
/
2
;
x
++
)
{
lpOut
[
2
*
x
+
0
]
=
wIntensityTbl
[(
lpIn
[
x
]
>>
4
)];
lpOut
[
2
*
x
+
1
]
=
wIntensityTbl
[(
lpIn
[
x
]
&
0x0F
)];
}
break
;
case
8
:
...
...
@@ -299,13 +299,13 @@ static INT countDiffRLE4(LPWORD lpP, LPWORD lpA, LPWORD lpB, INT pos, LONG lDist
/* FIXME */
return
count
;
}
else
if
(
lpP
&&
ColorCmp
(
lpP
[
pos
],
lpB
[
pos
])
<=
lDist
)
{
}
else
if
(
lpP
!=
NULL
&&
ColorCmp
(
lpP
[
pos
],
lpB
[
pos
])
<=
lDist
)
{
/* 'compare' with previous frame for end of diff */
INT
count2
=
0
;
/* FIXME */
if
(
count2
>=
4
)
if
(
count2
>=
8
)
return
count
;
pos
-=
count2
;
...
...
@@ -388,9 +388,9 @@ static INT MSRLE32_CompressRLE4Line(CodecInfo *pi, LPWORD lpP, LPWORD lpC, LPCBI
while
(
count
>
2
)
{
INT
i
;
INT
size
=
min
(
count
,
254
);
BOOL
extra_byte
=
size
%
2
;
BOOL
extra_byte
=
(
size
/
2
)
%
2
;
*
lpSizeImage
+=
2
+
size
+
extra_byte
;
*
lpSizeImage
+=
2
+
size
/
2
+
extra_byte
;
count
-=
size
;
*
lpOut
++
=
0
;
*
lpOut
++
=
size
;
...
...
@@ -1413,7 +1413,6 @@ static LRESULT Compress(CodecInfo *pi, ICCOMPRESS* lpic, DWORD dwSize)
* No need to recompute internal framedata, because we only swapped buffers */
LPWORD
pTmp
=
pi
->
pPrevFrame
;
FIXME
(
": prev=%ld cur=%ld swap
\n
"
,
pi
->
nPrevFrame
,
lpic
->
lFrameNum
);
pi
->
pPrevFrame
=
pi
->
pCurFrame
;
pi
->
pCurFrame
=
pTmp
;
}
else
if
((
lpic
->
dwFlags
&
ICCOMPRESS_KEYFRAME
)
==
0
)
{
...
...
documentation/samples/system.ini
View file @
a821a8f4
...
...
@@ -10,3 +10,4 @@ MPEGVideo=mciqtz.drv
[drivers32]
MSACM.imaadpcm
=
imaadp32.acm
MSACM.msadpcm
=
msadp32.acm
VIDC.MRLD
=
msrle32.dll
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