#include "libavutil/avassert.h"
#include "error_resilience.h"
#include "internal.h"
+#include "mpeg_er.h"
#include "msmpeg4data.h"
+#include "qpeldsp.h"
#include "vc1.h"
#include "mss12.h"
#include "mss2dsp.h"
AVFrame *last_pic;
MSS12Context c;
MSS2DSPContext dsp;
+ QpelDSPContext qdsp;
SliceContext sc[2];
} MSS2Context;
ff_mpeg_flush(avctx);
- if (s->current_picture_ptr == NULL || s->current_picture_ptr->f.data[0]) {
- int i = ff_find_unused_picture(s, 0);
- if (i < 0)
- return i;
- s->current_picture_ptr = &s->picture[i];
- }
-
init_get_bits(&s->gb, buf, buf_size * 8);
s->loop_filter = avctx->skip_loop_filter < AVDISCARD_ALL;
avctx->pix_fmt = AV_PIX_FMT_YUV420P;
- if ((ret = ff_MPV_frame_start(s, avctx)) < 0) {
- av_log(v->s.avctx, AV_LOG_ERROR, "ff_MPV_frame_start error\n");
+ if ((ret = ff_mpv_frame_start(s, avctx)) < 0) {
+ av_log(v->s.avctx, AV_LOG_ERROR, "ff_mpv_frame_start error\n");
avctx->pix_fmt = AV_PIX_FMT_RGB24;
return ret;
}
ff_er_frame_end(&s->er);
- ff_MPV_frame_end(s);
+ ff_mpv_frame_end(s);
- f = &s->current_picture.f;
+ f = s->current_picture.f;
if (v->respic == 3) {
ctx->dsp.upsample_plane(f->data[0], f->linesize[0], w, h);
int ret;
v->s.avctx = avctx;
- avctx->flags |= CODEC_FLAG_EMU_EDGE;
- v->s.flags |= CODEC_FLAG_EMU_EDGE;
if ((ret = ff_vc1_init_common(v)) < 0)
return ret;
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;
return ret;
/* error concealment */
- v->s.me.qpel_put = v->s.dsp.put_qpel_pixels_tab;
- v->s.me.qpel_avg = v->s.dsp.avg_qpel_pixels_tab;
+ v->s.me.qpel_put = v->s.qdsp.put_qpel_pixels_tab;
+ v->s.me.qpel_avg = v->s.qdsp.avg_qpel_pixels_tab;
return 0;
}
return ret;
}
ff_mss2dsp_init(&ctx->dsp);
+ ff_qpeldsp_init(&ctx->qdsp);
avctx->pix_fmt = c->free_colours == 127 ? AV_PIX_FMT_RGB555
: AV_PIX_FMT_RGB24;