Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Gautam Chitnis
web-ui-redesign
Commits
01b3900b
Commit
01b3900b
authored
Mar 25, 2007
by
Laurent Aimar
Browse files
Upgrade dirac support to 0.6.0 (close #1129)
parent
0f6073f9
Changes
2
Hide whitespace changes
Inline
Side-by-side
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