Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
fb6b3248
Commit
fb6b3248
authored
Sep 13, 2012
by
Jean-Baptiste Kempf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
DMO: fix MSS1/MSS2 decoding
Close #750 too
parent
ca86537c
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
6 deletions
+21
-6
modules/codec/dmo/dmo.c
modules/codec/dmo/dmo.c
+21
-6
No files found.
modules/codec/dmo/dmo.c
View file @
fb6b3248
...
@@ -509,13 +509,21 @@ static int DecOpen( decoder_t *p_dec )
...
@@ -509,13 +509,21 @@ static int DecOpen( decoder_t *p_dec )
{
{
i_chroma
=
mt
.
subtype
.
Data1
;
i_chroma
=
mt
.
subtype
.
Data1
;
i_bpp
=
12
;
i_bpp
=
12
;
DMOFreeMediaType
(
&
mt
);
break
;
}
else
if
(
(
p_dec
->
fmt_in
.
i_codec
==
VLC_CODEC_MSS1
||
p_dec
->
fmt_in
.
i_codec
==
VLC_CODEC_MSS2
)
&&
guidcmp
(
&
mt
.
subtype
,
&
MEDIASUBTYPE_RGB24
)
)
{
i_chroma
=
VLC_CODEC_RGB24
;
i_bpp
=
24
;
}
}
DMOFreeMediaType
(
&
mt
);
DMOFreeMediaType
(
&
mt
);
}
}
p_dec
->
fmt_out
.
i_codec
=
i_chroma
==
VLC_CODEC_YV12
?
p_dec
->
fmt_out
.
i_codec
=
i_chroma
==
VLC_CODEC_YV12
?
VLC_CODEC_I420
:
i_chroma
;
VLC_CODEC_I420
:
i_chroma
;
p_dec
->
fmt_out
.
video
.
i_width
=
p_dec
->
fmt_in
.
video
.
i_width
;
p_dec
->
fmt_out
.
video
.
i_width
=
p_dec
->
fmt_in
.
video
.
i_width
;
p_dec
->
fmt_out
.
video
.
i_height
=
p_dec
->
fmt_in
.
video
.
i_height
;
p_dec
->
fmt_out
.
video
.
i_height
=
p_dec
->
fmt_in
.
video
.
i_height
;
p_dec
->
fmt_out
.
video
.
i_bits_per_pixel
=
i_bpp
;
p_dec
->
fmt_out
.
video
.
i_bits_per_pixel
=
i_bpp
;
...
@@ -534,7 +542,7 @@ static int DecOpen( decoder_t *p_dec )
...
@@ -534,7 +542,7 @@ static int DecOpen( decoder_t *p_dec )
}
}
p_bih
=
&
p_vih
->
bmiHeader
;
p_bih
=
&
p_vih
->
bmiHeader
;
p_bih
->
biCompression
=
i_chroma
;
p_bih
->
biCompression
=
i_chroma
==
VLC_CODEC_RGB24
?
BI_RGB
:
i_chroma
;
p_bih
->
biHeight
*=
-
1
;
p_bih
->
biHeight
*=
-
1
;
p_bih
->
biBitCount
=
p_dec
->
fmt_out
.
video
.
i_bits_per_pixel
;
p_bih
->
biBitCount
=
p_dec
->
fmt_out
.
video
.
i_bits_per_pixel
;
p_bih
->
biSizeImage
=
p_dec
->
fmt_in
.
video
.
i_width
*
p_bih
->
biSizeImage
=
p_dec
->
fmt_in
.
video
.
i_width
*
...
@@ -546,8 +554,15 @@ static int DecOpen( decoder_t *p_dec )
...
@@ -546,8 +554,15 @@ static int DecOpen( decoder_t *p_dec )
dmo_output_type
.
majortype
=
MEDIATYPE_Video
;
dmo_output_type
.
majortype
=
MEDIATYPE_Video
;
dmo_output_type
.
formattype
=
FORMAT_VideoInfo
;
dmo_output_type
.
formattype
=
FORMAT_VideoInfo
;
if
(
i_chroma
==
VLC_CODEC_RGB24
)
{
dmo_output_type
.
subtype
=
MEDIASUBTYPE_RGB24
;
}
else
{
dmo_output_type
.
subtype
=
dmo_output_type
.
majortype
;
dmo_output_type
.
subtype
=
dmo_output_type
.
majortype
;
dmo_output_type
.
subtype
.
Data1
=
p_bih
->
biCompression
;
dmo_output_type
.
subtype
.
Data1
=
p_bih
->
biCompression
;
}
dmo_output_type
.
bFixedSizeSamples
=
true
;
dmo_output_type
.
bFixedSizeSamples
=
true
;
dmo_output_type
.
bTemporalCompression
=
0
;
dmo_output_type
.
bTemporalCompression
=
0
;
dmo_output_type
.
lSampleSize
=
p_bih
->
biSizeImage
;
dmo_output_type
.
lSampleSize
=
p_bih
->
biSizeImage
;
...
...
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