diff --git a/libavcodec/dxva2_vc1.c b/libavcodec/dxva2_vc1.c index 4af3ce8127..a72d91efa3 100644 --- a/libavcodec/dxva2_vc1.c +++ b/libavcodec/dxva2_vc1.c @@ -97,7 +97,7 @@ static void fill_picture_parameters(AVCodecContext *avctx, (v->vstransform ); pp->bPicOverflowBlocks = (v->quantizer_mode << 6) | (v->multires << 5) | - (s->resync_marker << 4) | + (v->resync_marker << 4) | (v->rangered << 3) | (s->max_b_frames ); pp->bPicExtrapolation = (!v->interlace || v->fcm == PROGRESSIVE) ? 1 : 2; diff --git a/libavcodec/mss2.c b/libavcodec/mss2.c index 0e5fd6df21..d219b67d33 100644 --- a/libavcodec/mss2.c +++ b/libavcodec/mss2.c @@ -779,7 +779,7 @@ static av_cold int wmv9_init(AVCodecContext *avctx) v->overlap = 0; - v->s.resync_marker = 0; + v->resync_marker = 0; v->rangered = 0; v->s.max_b_frames = avctx->max_b_frames = 0; diff --git a/libavcodec/vaapi_vc1.c b/libavcodec/vaapi_vc1.c index a9ab3c728a..50cba16c21 100644 --- a/libavcodec/vaapi_vc1.c +++ b/libavcodec/vaapi_vc1.c @@ -169,7 +169,7 @@ static int vaapi_vc1_start_frame(AVCodecContext *avctx, av_unused const uint8_t pic_param->sequence_fields.bits.psf = v->psf; pic_param->sequence_fields.bits.multires = v->multires; pic_param->sequence_fields.bits.overlap = v->overlap; - pic_param->sequence_fields.bits.syncmarker = s->resync_marker; + pic_param->sequence_fields.bits.syncmarker = v->resync_marker; pic_param->sequence_fields.bits.rangered = v->rangered; pic_param->sequence_fields.bits.max_b_frames = s->avctx->max_b_frames; #if VA_CHECK_VERSION(0,32,0) diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c index b7018176b4..a78d23e95a 100644 --- a/libavcodec/vc1.c +++ b/libavcodec/vc1.c @@ -367,7 +367,7 @@ int ff_vc1_decode_sequence_header(AVCodecContext *avctx, VC1Context *v, GetBitCo v->overlap = get_bits1(gb); //common - v->s.resync_marker = get_bits1(gb); + v->resync_marker = get_bits1(gb); v->rangered = get_bits1(gb); if (v->rangered && v->profile == PROFILE_SIMPLE) { av_log(avctx, AV_LOG_INFO, @@ -408,7 +408,7 @@ int ff_vc1_decode_sequence_header(AVCodecContext *avctx, VC1Context *v, GetBitCo "DQuant=%i, Quantizer mode=%i, Max B frames=%i\n", v->profile, v->frmrtq_postproc, v->bitrtq_postproc, v->s.loop_filter, v->multires, v->fastuvmc, v->extended_mv, - v->rangered, v->vstransform, v->overlap, v->s.resync_marker, + v->rangered, v->vstransform, v->overlap, v->resync_marker, v->dquant, v->quantizer_mode, avctx->max_b_frames); return 0; } diff --git a/libavcodec/vc1.h b/libavcodec/vc1.h index d70e33700e..9db8eddac2 100644 --- a/libavcodec/vc1.h +++ b/libavcodec/vc1.h @@ -401,6 +401,7 @@ typedef struct VC1Context{ int end_mb_x; ///< Horizontal macroblock limit (used only by mss2) int parse_only; ///< Context is used within parser + int resync_marker; ///< could this stream contain resync markers } VC1Context; /** Find VC-1 marker in buffer diff --git a/libavcodec/vdpau_vc1.c b/libavcodec/vdpau_vc1.c index c21a8610d5..b40135283d 100644 --- a/libavcodec/vdpau_vc1.c +++ b/libavcodec/vdpau_vc1.c @@ -83,7 +83,7 @@ static int vdpau_vc1_start_frame(AVCodecContext *avctx, info->range_mapuv = v->range_mapuv; /* Specific to simple/main profile only */ info->multires = v->multires; - info->syncmarker = v->s.resync_marker; + info->syncmarker = v->resync_marker; info->rangered = v->rangered | (v->rangeredfrm << 1); info->maxbframes = v->s.max_b_frames; info->deblockEnable = v->postprocflag & 1;