mirror of https://git.ffmpeg.org/ffmpeg.git
mpegvideo: Have ff_mpeg_ref_picture use AVCodecContext directly
This commit is contained in:
parent
d528045558
commit
a3f4c930ac
|
@ -727,7 +727,7 @@ do {\
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ff_mpeg_ref_picture(MpegEncContext *s, Picture *dst, Picture *src)
|
int ff_mpeg_ref_picture(AVCodecContext *avctx, Picture *dst, Picture *src)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -761,7 +761,7 @@ int ff_mpeg_ref_picture(MpegEncContext *s, Picture *dst, Picture *src)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
fail:
|
fail:
|
||||||
ff_mpeg_unref_picture(s->avctx, dst);
|
ff_mpeg_unref_picture(avctx, dst);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -937,7 +937,7 @@ int ff_mpeg_update_thread_context(AVCodecContext *dst,
|
||||||
for (i = 0; i < MAX_PICTURE_COUNT; i++) {
|
for (i = 0; i < MAX_PICTURE_COUNT; i++) {
|
||||||
ff_mpeg_unref_picture(s->avctx, &s->picture[i]);
|
ff_mpeg_unref_picture(s->avctx, &s->picture[i]);
|
||||||
if (s1->picture[i].f->buf[0] &&
|
if (s1->picture[i].f->buf[0] &&
|
||||||
(ret = ff_mpeg_ref_picture(s, &s->picture[i], &s1->picture[i])) < 0)
|
(ret = ff_mpeg_ref_picture(s->avctx, &s->picture[i], &s1->picture[i])) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -945,7 +945,7 @@ int ff_mpeg_update_thread_context(AVCodecContext *dst,
|
||||||
do {\
|
do {\
|
||||||
ff_mpeg_unref_picture(s->avctx, &s->pic);\
|
ff_mpeg_unref_picture(s->avctx, &s->pic);\
|
||||||
if (s1->pic.f->buf[0])\
|
if (s1->pic.f->buf[0])\
|
||||||
ret = ff_mpeg_ref_picture(s, &s->pic, &s1->pic);\
|
ret = ff_mpeg_ref_picture(s->avctx, &s->pic, &s1->pic);\
|
||||||
else\
|
else\
|
||||||
ret = update_picture_tables(&s->pic, &s1->pic);\
|
ret = update_picture_tables(&s->pic, &s1->pic);\
|
||||||
if (ret < 0)\
|
if (ret < 0)\
|
||||||
|
@ -1741,7 +1741,7 @@ int ff_mpv_frame_start(MpegEncContext *s, AVCodecContext *avctx)
|
||||||
// s->current_picture_ptr->quality = s->new_picture_ptr->quality;
|
// s->current_picture_ptr->quality = s->new_picture_ptr->quality;
|
||||||
s->current_picture_ptr->f->key_frame = s->pict_type == AV_PICTURE_TYPE_I;
|
s->current_picture_ptr->f->key_frame = s->pict_type == AV_PICTURE_TYPE_I;
|
||||||
|
|
||||||
if ((ret = ff_mpeg_ref_picture(s, &s->current_picture,
|
if ((ret = ff_mpeg_ref_picture(s->avctx, &s->current_picture,
|
||||||
s->current_picture_ptr)) < 0)
|
s->current_picture_ptr)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -1822,14 +1822,14 @@ int ff_mpv_frame_start(MpegEncContext *s, AVCodecContext *avctx)
|
||||||
if (s->last_picture_ptr) {
|
if (s->last_picture_ptr) {
|
||||||
ff_mpeg_unref_picture(s->avctx, &s->last_picture);
|
ff_mpeg_unref_picture(s->avctx, &s->last_picture);
|
||||||
if (s->last_picture_ptr->f->buf[0] &&
|
if (s->last_picture_ptr->f->buf[0] &&
|
||||||
(ret = ff_mpeg_ref_picture(s, &s->last_picture,
|
(ret = ff_mpeg_ref_picture(s->avctx, &s->last_picture,
|
||||||
s->last_picture_ptr)) < 0)
|
s->last_picture_ptr)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
if (s->next_picture_ptr) {
|
if (s->next_picture_ptr) {
|
||||||
ff_mpeg_unref_picture(s->avctx, &s->next_picture);
|
ff_mpeg_unref_picture(s->avctx, &s->next_picture);
|
||||||
if (s->next_picture_ptr->f->buf[0] &&
|
if (s->next_picture_ptr->f->buf[0] &&
|
||||||
(ret = ff_mpeg_ref_picture(s, &s->next_picture,
|
(ret = ff_mpeg_ref_picture(s->avctx, &s->next_picture,
|
||||||
s->next_picture_ptr)) < 0)
|
s->next_picture_ptr)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -863,7 +863,7 @@ void ff_wmv2_encode_mb(MpegEncContext * s,
|
||||||
int16_t block[6][64],
|
int16_t block[6][64],
|
||||||
int motion_x, int motion_y);
|
int motion_x, int motion_y);
|
||||||
|
|
||||||
int ff_mpeg_ref_picture(MpegEncContext *s, Picture *dst, Picture *src);
|
int ff_mpeg_ref_picture(AVCodecContext *avctx, Picture *dst, Picture *src);
|
||||||
void ff_mpeg_unref_picture(AVCodecContext *avctx, Picture *picture);
|
void ff_mpeg_unref_picture(AVCodecContext *avctx, Picture *picture);
|
||||||
void ff_free_picture_tables(Picture *pic);
|
void ff_free_picture_tables(Picture *pic);
|
||||||
|
|
||||||
|
|
|
@ -1371,7 +1371,7 @@ no_output_pic:
|
||||||
AV_PICTURE_TYPE_B ? 3 : 0;
|
AV_PICTURE_TYPE_B ? 3 : 0;
|
||||||
|
|
||||||
ff_mpeg_unref_picture(s->avctx, &s->new_picture);
|
ff_mpeg_unref_picture(s->avctx, &s->new_picture);
|
||||||
if ((ret = ff_mpeg_ref_picture(s, &s->new_picture, s->reordered_input_picture[0])))
|
if ((ret = ff_mpeg_ref_picture(s->avctx, &s->new_picture, s->reordered_input_picture[0])))
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
if (s->reordered_input_picture[0]->shared || s->avctx->rc_buffer_size) {
|
if (s->reordered_input_picture[0]->shared || s->avctx->rc_buffer_size) {
|
||||||
|
@ -1406,7 +1406,7 @@ no_output_pic:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ff_mpeg_unref_picture(s->avctx, &s->current_picture);
|
ff_mpeg_unref_picture(s->avctx, &s->current_picture);
|
||||||
if ((ret = ff_mpeg_ref_picture(s, &s->current_picture,
|
if ((ret = ff_mpeg_ref_picture(s->avctx, &s->current_picture,
|
||||||
s->current_picture_ptr)) < 0)
|
s->current_picture_ptr)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -1500,7 +1500,7 @@ static int frame_start(MpegEncContext *s)
|
||||||
s->current_picture_ptr->f->key_frame = s->pict_type == AV_PICTURE_TYPE_I;
|
s->current_picture_ptr->f->key_frame = s->pict_type == AV_PICTURE_TYPE_I;
|
||||||
|
|
||||||
ff_mpeg_unref_picture(s->avctx, &s->current_picture);
|
ff_mpeg_unref_picture(s->avctx, &s->current_picture);
|
||||||
if ((ret = ff_mpeg_ref_picture(s, &s->current_picture,
|
if ((ret = ff_mpeg_ref_picture(s->avctx, &s->current_picture,
|
||||||
s->current_picture_ptr)) < 0)
|
s->current_picture_ptr)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -1513,14 +1513,14 @@ static int frame_start(MpegEncContext *s)
|
||||||
if (s->last_picture_ptr) {
|
if (s->last_picture_ptr) {
|
||||||
ff_mpeg_unref_picture(s->avctx, &s->last_picture);
|
ff_mpeg_unref_picture(s->avctx, &s->last_picture);
|
||||||
if (s->last_picture_ptr->f->buf[0] &&
|
if (s->last_picture_ptr->f->buf[0] &&
|
||||||
(ret = ff_mpeg_ref_picture(s, &s->last_picture,
|
(ret = ff_mpeg_ref_picture(s->avctx, &s->last_picture,
|
||||||
s->last_picture_ptr)) < 0)
|
s->last_picture_ptr)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
if (s->next_picture_ptr) {
|
if (s->next_picture_ptr) {
|
||||||
ff_mpeg_unref_picture(s->avctx, &s->next_picture);
|
ff_mpeg_unref_picture(s->avctx, &s->next_picture);
|
||||||
if (s->next_picture_ptr->f->buf[0] &&
|
if (s->next_picture_ptr->f->buf[0] &&
|
||||||
(ret = ff_mpeg_ref_picture(s, &s->next_picture,
|
(ret = ff_mpeg_ref_picture(s->avctx, &s->next_picture,
|
||||||
s->next_picture_ptr)) < 0)
|
s->next_picture_ptr)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue