diff --git a/audio/out/ao_lavc.c b/audio/out/ao_lavc.c index 073ff8ebdb..273482874d 100644 --- a/audio/out/ao_lavc.c +++ b/audio/out/ao_lavc.c @@ -216,7 +216,6 @@ static int get_space(struct ao *ao) // must get exactly ac->aframesize amount of data static int encode(struct ao *ao, double apts, void **data) { - AVFrame *frame; AVPacket packet; struct priv *ac = ao->priv; struct encode_lavc_context *ectx = ao->encode_lavc_ctx; @@ -232,9 +231,8 @@ static int encode(struct ao *ao, double apts, void **data) av_init_packet(&packet); packet.data = ac->buffer; packet.size = ac->buffer_size; - if(data) - { - frame = avcodec_alloc_frame(); + if(data) { + AVFrame *frame = av_frame_alloc(); frame->nb_samples = ac->aframesize; assert(ao->channels.num <= AV_NUM_DATA_POINTERS); @@ -270,7 +268,7 @@ static int encode(struct ao *ao, double apts, void **data) ac->savepts = frame->pts; } - avcodec_free_frame(&frame); + av_frame_free(&frame); } else { diff --git a/video/out/vo_lavc.c b/video/out/vo_lavc.c index b5176ebcb4..22373c9781 100644 --- a/video/out/vo_lavc.c +++ b/video/out/vo_lavc.c @@ -282,7 +282,6 @@ static void draw_image_unlocked(struct vo *vo, mp_image_t *mpi) struct priv *vc = vo->priv; struct encode_lavc_context *ectx = vo->encode_lavc_ctx; int size; - AVFrame *frame; AVCodecContext *avc; int64_t frameipts; double nextpts; @@ -407,7 +406,6 @@ static void draw_image_unlocked(struct vo *vo, mp_image_t *mpi) } if (vc->lastipts != MP_NOPTS_VALUE) { - frame = avcodec_alloc_frame(); // we have a valid image in lastimg while (vc->lastipts < frameipts) { @@ -424,7 +422,7 @@ static void draw_image_unlocked(struct vo *vo, mp_image_t *mpi) skipframes = 0; if (thisduration > skipframes) { - avcodec_get_frame_defaults(frame); + AVFrame *frame = av_frame_alloc(); // this is a nop, unless the worst time base is the STREAM time base frame->pts = av_rescale_q(vc->lastipts + skipframes, @@ -444,12 +442,12 @@ static void draw_image_unlocked(struct vo *vo, mp_image_t *mpi) write_packet(vo, size, &packet); ++vc->lastdisplaycount; vc->lastencodedipts = vc->lastipts + skipframes; + + av_frame_free(&frame); } vc->lastipts += thisduration; } - - avcodec_free_frame(&frame); } if (!mpi) {