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
dd84476a
Commit
dd84476a
authored
Aug 15, 2008
by
Rafaël Carré
Committed by
Jean-Paul Saman
Nov 12, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
davinci resizer : Handle resolution change in the middle of a stream
Signed-off-by:
Jean-Paul Saman
<
jean-paul.saman@m2x.nl
>
parent
733d2fc7
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
7 deletions
+8
-7
modules/codec/davinci/viddec.c
modules/codec/davinci/viddec.c
+8
-7
No files found.
modules/codec/davinci/viddec.c
View file @
dd84476a
...
@@ -77,7 +77,8 @@ struct decoder_sys_t
...
@@ -77,7 +77,8 @@ struct decoder_sys_t
/* resizer */
/* resizer */
int
i_fd_resizer
;
int
i_fd_resizer
;
vlc_bool_t
b_resizer_init
;
unsigned
int
i_height
;
unsigned
int
i_width
;
#endif
#endif
};
};
...
@@ -428,7 +429,7 @@ int OpenVideoDecoder( vlc_object_t *p_this )
...
@@ -428,7 +429,7 @@ int OpenVideoDecoder( vlc_object_t *p_this )
goto
error
;
goto
error
;
}
}
p_sys
->
b_resizer_init
=
VLC_FALSE
;
p_sys
->
i_height
=
p_sys
->
i_width
=
0
;
#endif
#endif
/* Set callbacks */
/* Set callbacks */
...
@@ -692,12 +693,14 @@ static picture_t *DecodeVideoBlockInner( decoder_t *p_dec, block_t **pp_block, i
...
@@ -692,12 +693,14 @@ static picture_t *DecodeVideoBlockInner( decoder_t *p_dec, block_t **pp_block, i
}
}
#else
#else
if
(
!
p_sys
->
b_resizer_init
)
/* Sets resizer parameters when video starts or when resolution changes */
if
(
p_sys
->
i_width
!=
p_dec
->
fmt_out
.
video
.
i_width
||
p_sys
->
i_height
!=
p_dec
->
fmt_out
.
video
.
i_height
)
{
{
rsz_params_t
rsz_params
;
rsz_params_t
rsz_params
;
memset
(
&
rsz_params
,
0
,
sizeof
(
rsz_params
)
);
memset
(
&
rsz_params
,
0
,
sizeof
(
rsz_params
)
);
rsz_params
.
in_hsize
=
p_dec
->
fmt_out
.
video
.
i_width
;
rsz_params
.
in_hsize
=
p_
sys
->
i_width
=
p_
dec
->
fmt_out
.
video
.
i_width
;
rsz_params
.
in_vsize
=
p_dec
->
fmt_out
.
video
.
i_height
;
rsz_params
.
in_vsize
=
p_
sys
->
i_height
=
p_
dec
->
fmt_out
.
video
.
i_height
;
rsz_params
.
in_pitch
=
rsz_params
.
in_pitch
=
(
p_dec
->
fmt_out
.
video
.
i_width
*
BPP
/
8
+
31
)
&
~
31
;
(
p_dec
->
fmt_out
.
video
.
i_width
*
BPP
/
8
+
31
)
&
~
31
;
rsz_params
.
inptyp
=
RSZ_INTYPE_YCBCR422_16BIT
;
rsz_params
.
inptyp
=
RSZ_INTYPE_YCBCR422_16BIT
;
...
@@ -756,8 +759,6 @@ static picture_t *DecodeVideoBlockInner( decoder_t *p_dec, block_t **pp_block, i
...
@@ -756,8 +759,6 @@ static picture_t *DecodeVideoBlockInner( decoder_t *p_dec, block_t **pp_block, i
goto
error
;
goto
error
;
}
}
p_sys
->
b_resizer_init
=
VLC_TRUE
;
}
}
rsz_resize_t
rsz
;
rsz_resize_t
rsz
;
...
...
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