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
VideoLAN
x264
Commits
740f203f
Commit
740f203f
authored
Jan 11, 2011
by
Simon Horlick
Committed by
Fiona Glaser
May 11, 2011
Browse files
MBAFF: Disable adaptive MBAFF when subme 0 is used
parent
a11114e6
Changes
2
Show whitespace changes
Inline
Side-by-side
common/common.h
View file @
740f203f
...
...
@@ -574,6 +574,7 @@ struct x264_t
int
i_psy_trellis
;
/* Psy trellis strength--fixed point value*/
int
b_interlaced
;
int
b_adaptive_mbaff
;
/* MBAFF+subme 0 requires non-adaptive MBAFF i.e. all field mbs */
/* Allowed qpel MV range to stay within the picture + emulated edge pixels */
int
mv_min
[
2
];
...
...
encoder/encoder.c
View file @
740f203f
...
...
@@ -1035,6 +1035,10 @@ x264_t *x264_encoder_open( x264_param_t *param )
h
->
mb
.
i_mb_width
=
h
->
sps
->
i_mb_width
;
h
->
mb
.
i_mb_height
=
h
->
sps
->
i_mb_height
;
h
->
mb
.
i_mb_count
=
h
->
mb
.
i_mb_width
*
h
->
mb
.
i_mb_height
;
/* Adaptive MBAFF and subme 0 are not supported as we require halving motion
* vectors during prediction, resulting in hpel mvs.
* The chosen solution is to make MBAFF non-adaptive in this case. */
h
->
mb
.
b_adaptive_mbaff
=
h
->
param
.
b_interlaced
&&
h
->
param
.
analyse
.
i_subpel_refine
;
/* Init frames. */
if
(
h
->
param
.
i_bframe_adaptive
==
X264_B_ADAPT_TRELLIS
&&
!
h
->
param
.
rc
.
b_stat_read
)
...
...
@@ -2030,10 +2034,13 @@ static int x264_slice_write( x264_t *h )
x264_fdec_filter_row
(
h
,
i_mb_y
,
1
);
if
(
h
->
param
.
b_interlaced
)
{
if
(
h
->
mb
.
b_adaptive_mbaff
)
{
if
(
!
(
i_mb_y
&
1
)
)
h
->
mb
.
b_interlaced
=
1
;
x264_zigzag_init
(
h
->
param
.
cpu
,
&
h
->
zigzagf
,
h
->
mb
.
b_interlaced
);
}
h
->
mb
.
field
[
mb_xy
]
=
h
->
mb
.
b_interlaced
;
}
...
...
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