Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
Steve Lhomme
VLC
Commits
01b3900b
Commit
01b3900b
authored
Mar 25, 2007
by
Laurent Aimar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Upgrade dirac support to 0.6.0 (close #1129)
parent
0f6073f9
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
23 additions
and
23 deletions
+23
-23
configure.ac
configure.ac
+1
-1
modules/codec/dirac.c
modules/codec/dirac.c
+22
-22
No files found.
configure.ac
View file @
01b3900b
...
...
@@ -3530,7 +3530,7 @@ dnl
AC_ARG_ENABLE(dirac,
[ --enable-dirac experimental dirac codec (default disabled)])
if test "${enable_dirac}" = "yes"; then
PKG_CHECK_MODULES(DIRAC,dirac, [
PKG_CHECK_MODULES(DIRAC,
[
dirac
>= 0.6.0]
, [
VLC_ADD_PLUGINS([dirac])
VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
...
...
modules/codec/dirac.c
View file @
01b3900b
...
...
@@ -145,13 +145,15 @@ static picture_t *GetNewPicture( decoder_t *p_dec )
picture_t
*
p_pic
;
int
i_plane
;
p_dec
->
fmt_out
.
i_codec
=
p_sys
->
p_dirac
->
seq_params
.
chroma
==
format411
?
VLC_FOURCC
(
'I'
,
'4'
,
'1'
,
'1'
)
:
p_sys
->
p_dirac
->
seq_params
.
chroma
==
format420
?
VLC_FOURCC
(
'I'
,
'4'
,
'2'
,
'0'
)
:
p_sys
->
p_dirac
->
seq_params
.
chroma
==
format422
?
VLC_FOURCC
(
'I'
,
'4'
,
'2'
,
'2'
)
:
0
;
switch
(
p_sys
->
p_dirac
->
seq_params
.
chroma
)
{
case
format420
:
p_dec
->
fmt_out
.
i_codec
=
VLC_FOURCC
(
'I'
,
'4'
,
'2'
,
'0'
);
break
;
case
format422
:
p_dec
->
fmt_out
.
i_codec
=
VLC_FOURCC
(
'I'
,
'4'
,
'2'
,
'2'
);
break
;
case
format444
:
p_dec
->
fmt_out
.
i_codec
=
VLC_FOURCC
(
'I'
,
'4'
,
'4'
,
'4'
);
break
;
// XXX 0.6 ?
default:
p_dec
->
fmt_out
.
i_codec
=
0
;
break
;
}
p_dec
->
fmt_out
.
video
.
i_visible_width
=
p_dec
->
fmt_out
.
video
.
i_width
=
p_sys
->
p_dirac
->
seq_params
.
width
;
...
...
@@ -160,17 +162,17 @@ static picture_t *GetNewPicture( decoder_t *p_dec )
p_dec
->
fmt_out
.
video
.
i_aspect
=
VOUT_ASPECT_FACTOR
*
4
/
3
;
p_dec
->
fmt_out
.
video
.
i_frame_rate
=
p_sys
->
p_dirac
->
s
eq
_params
.
frame_rate
.
numerator
;
p_sys
->
p_dirac
->
s
rc
_params
.
frame_rate
.
numerator
;
p_dec
->
fmt_out
.
video
.
i_frame_rate_base
=
p_sys
->
p_dirac
->
s
eq
_params
.
frame_rate
.
denominator
;
p_sys
->
p_dirac
->
s
rc
_params
.
frame_rate
.
denominator
;
/* Get a new picture */
p_pic
=
p_dec
->
pf_vout_buffer_new
(
p_dec
);
if
(
p_pic
==
NULL
)
return
NULL
;
p_pic
->
b_progressive
=
!
p_sys
->
p_dirac
->
src_params
.
interlace
;
p_pic
->
b_top_field_first
=
p_sys
->
p_dirac
->
src_params
.
topfieldfirst
;
p_pic
->
b_progressive
=
!
p_sys
->
p_dirac
->
seq_params
.
interlace
;
p_pic
->
b_top_field_first
=
p_sys
->
p_dirac
->
seq_params
.
topfieldfirst
;
p_pic
->
i_nb_fields
=
2
;
/* Copy picture stride by stride */
...
...
@@ -252,8 +254,8 @@ static picture_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
p_sys
->
p_dirac
->
seq_params
.
width
,
p_sys
->
p_dirac
->
seq_params
.
height
,
p_sys
->
p_dirac
->
seq_params
.
chroma
,
(
float
)
p_sys
->
p_dirac
->
s
eq
_params
.
frame_rate
.
numerator
/
p_sys
->
p_dirac
->
s
eq
_params
.
frame_rate
.
denominator
);
(
float
)
p_sys
->
p_dirac
->
s
rc
_params
.
frame_rate
.
numerator
/
p_sys
->
p_dirac
->
s
rc
_params
.
frame_rate
.
denominator
);
FreeFrameBuffer
(
p_sys
->
p_dirac
);
buf
[
0
]
=
malloc
(
p_sys
->
p_dirac
->
seq_params
.
width
*
...
...
@@ -353,20 +355,18 @@ static int OpenEncoder( vlc_object_t *p_this )
config_ChainParse
(
p_enc
,
ENC_CFG_PREFIX
,
ppsz_enc_options
,
p_enc
->
p_cfg
);
/* Initialse the encoder context with the presets for SD576 - Standard
* Definition Digital (some parameters will be overwritten later on) */
dirac_encoder_context_init
(
&
p_sys
->
ctx
,
SD576
);
/* Override parameters if required */
dirac_encoder_context_init
(
&
p_sys
->
ctx
,
VIDEO_FORMAT_CUSTOM
);
/* */
p_sys
->
ctx
.
seq_params
.
width
=
p_enc
->
fmt_in
.
video
.
i_width
;
p_sys
->
ctx
.
seq_params
.
height
=
p_enc
->
fmt_in
.
video
.
i_height
;
p_sys
->
ctx
.
seq_params
.
chroma
=
format420
;
p_sys
->
ctx
.
seq_params
.
frame_rate
.
numerator
=
/* */
p_sys
->
ctx
.
src_params
.
frame_rate
.
numerator
=
p_enc
->
fmt_in
.
video
.
i_frame_rate
;
p_sys
->
ctx
.
s
eq
_params
.
frame_rate
.
denominator
=
p_sys
->
ctx
.
s
rc
_params
.
frame_rate
.
denominator
=
p_enc
->
fmt_in
.
video
.
i_frame_rate_base
;
p_sys
->
ctx
.
s
eq
_params
.
interlace
=
0
;
p_sys
->
ctx
.
s
eq
_params
.
topfieldfirst
=
0
;
p_sys
->
ctx
.
s
rc
_params
.
interlace
=
0
;
p_sys
->
ctx
.
s
rc
_params
.
topfieldfirst
=
0
;
var_Get
(
p_enc
,
ENC_CFG_PREFIX
"quality"
,
&
val
);
f_quality
=
val
.
f_float
;
...
...
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