vc1dec: Call ff_vdpau_vc1_decode_picture() once for each field.
Fixes mplayer -vc ffvc1vdpau for interlaced streams.
This commit is contained in:
parent
06d8fdb660
commit
8b8fa09b65
@ -6008,7 +6008,12 @@ static int vc1_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
|
|
||||||
if ((CONFIG_VC1_VDPAU_DECODER)
|
if ((CONFIG_VC1_VDPAU_DECODER)
|
||||||
&&s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU)
|
&&s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU)
|
||||||
|
if (v->field_mode && buf_start_second_field) {
|
||||||
|
ff_vdpau_vc1_decode_picture(s, buf_start, buf_start_second_field - buf_start);
|
||||||
|
ff_vdpau_vc1_decode_picture(s, buf_start_second_field, (buf + buf_size) - buf_start_second_field);
|
||||||
|
} else {
|
||||||
ff_vdpau_vc1_decode_picture(s, buf_start, (buf + buf_size) - buf_start);
|
ff_vdpau_vc1_decode_picture(s, buf_start, (buf + buf_size) - buf_start);
|
||||||
|
}
|
||||||
else if (avctx->hwaccel) {
|
else if (avctx->hwaccel) {
|
||||||
if (v->field_mode && buf_start_second_field) {
|
if (v->field_mode && buf_start_second_field) {
|
||||||
// decode first field
|
// decode first field
|
||||||
|
Loading…
Reference in New Issue
Block a user