Commit 70c648db authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit '7fc8d8a1'

* commit '7fc8d8a1':
  libxvid: Do not entangle coded_frame
Merged-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parents 033144c0 7fc8d8a1
...@@ -692,7 +692,6 @@ static int xvid_encode_frame(AVCodecContext *avctx, AVPacket *pkt, ...@@ -692,7 +692,6 @@ static int xvid_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
{ {
int xerr, i, ret, user_packet = !!pkt->data; int xerr, i, ret, user_packet = !!pkt->data;
struct xvid_context *x = avctx->priv_data; struct xvid_context *x = avctx->priv_data;
AVFrame *p = avctx->coded_frame;
int mb_width = (avctx->width + 15) / 16; int mb_width = (avctx->width + 15) / 16;
int mb_height = (avctx->height + 15) / 16; int mb_height = (avctx->height + 15) / 16;
char *tmp; char *tmp;
...@@ -777,23 +776,24 @@ static int xvid_encode_frame(AVCodecContext *avctx, AVPacket *pkt, ...@@ -777,23 +776,24 @@ static int xvid_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
if (xerr > 0) { if (xerr > 0) {
*got_packet = 1; *got_packet = 1;
p->quality = xvid_enc_stats.quant * FF_QP2LAMBDA; avctx->coded_frame->quality = xvid_enc_stats.quant * FF_QP2LAMBDA;
if (xvid_enc_stats.type == XVID_TYPE_PVOP) if (xvid_enc_stats.type == XVID_TYPE_PVOP)
p->pict_type = AV_PICTURE_TYPE_P; avctx->coded_frame->pict_type = AV_PICTURE_TYPE_P;
else if (xvid_enc_stats.type == XVID_TYPE_BVOP) else if (xvid_enc_stats.type == XVID_TYPE_BVOP)
p->pict_type = AV_PICTURE_TYPE_B; avctx->coded_frame->pict_type = AV_PICTURE_TYPE_B;
else if (xvid_enc_stats.type == XVID_TYPE_SVOP) else if (xvid_enc_stats.type == XVID_TYPE_SVOP)
p->pict_type = AV_PICTURE_TYPE_S; avctx->coded_frame->pict_type = AV_PICTURE_TYPE_S;
else else
p->pict_type = AV_PICTURE_TYPE_I; avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
if (xvid_enc_frame.out_flags & XVID_KEYFRAME) { if (xvid_enc_frame.out_flags & XVID_KEYFRAME) {
p->key_frame = 1; avctx->coded_frame->key_frame = 1;
pkt->flags |= AV_PKT_FLAG_KEY; pkt->flags |= AV_PKT_FLAG_KEY;
if (x->quicktime_format) if (x->quicktime_format)
return xvid_strip_vol_header(avctx, pkt, return xvid_strip_vol_header(avctx, pkt,
xvid_enc_stats.hlength, xerr); xvid_enc_stats.hlength, xerr);
} else } else {
p->key_frame = 0; avctx->coded_frame->key_frame = 0;
}
pkt->size = xerr; pkt->size = xerr;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment