You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-11-23 21:54:53 +02:00
avconv: remove -deinterlace
It is incompatible with refcounted frames and since it's been deprecated for a long time now, fixing it is not worth the effort.
This commit is contained in:
44
avconv.c
44
avconv.c
@@ -422,47 +422,6 @@ static void do_audio_out(AVFormatContext *s, OutputStream *ost,
|
||||
}
|
||||
}
|
||||
|
||||
#if FF_API_DEINTERLACE
|
||||
static void pre_process_video_frame(InputStream *ist, AVPicture *picture, void **bufp)
|
||||
{
|
||||
AVCodecContext *dec;
|
||||
AVPicture *picture2;
|
||||
AVPicture picture_tmp;
|
||||
uint8_t *buf = 0;
|
||||
|
||||
dec = ist->st->codec;
|
||||
|
||||
/* deinterlace : must be done before any resize */
|
||||
if (do_deinterlace) {
|
||||
int size;
|
||||
|
||||
/* create temporary picture */
|
||||
size = avpicture_get_size(dec->pix_fmt, dec->width, dec->height);
|
||||
buf = av_malloc(size);
|
||||
if (!buf)
|
||||
return;
|
||||
|
||||
picture2 = &picture_tmp;
|
||||
avpicture_fill(picture2, buf, dec->pix_fmt, dec->width, dec->height);
|
||||
|
||||
if (avpicture_deinterlace(picture2, picture,
|
||||
dec->pix_fmt, dec->width, dec->height) < 0) {
|
||||
/* if error, do not deinterlace */
|
||||
av_log(NULL, AV_LOG_WARNING, "Deinterlacing failed\n");
|
||||
av_free(buf);
|
||||
buf = NULL;
|
||||
picture2 = picture;
|
||||
}
|
||||
} else {
|
||||
picture2 = picture;
|
||||
}
|
||||
|
||||
if (picture != picture2)
|
||||
*picture = *picture2;
|
||||
*bufp = buf;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void do_subtitle_out(AVFormatContext *s,
|
||||
OutputStream *ost,
|
||||
InputStream *ist,
|
||||
@@ -1193,9 +1152,6 @@ static int decode_video(InputStream *ist, AVPacket *pkt, int *got_output)
|
||||
decoded_frame->pts = guess_correct_pts(&ist->pts_ctx, decoded_frame->pkt_pts,
|
||||
decoded_frame->pkt_dts);
|
||||
pkt->size = 0;
|
||||
#if FF_API_DEINTERLACE
|
||||
pre_process_video_frame(ist, (AVPicture *)decoded_frame, &buffer_to_free);
|
||||
#endif
|
||||
|
||||
if (ist->st->sample_aspect_ratio.num)
|
||||
decoded_frame->sample_aspect_ratio = ist->st->sample_aspect_ratio;
|
||||
|
||||
Reference in New Issue
Block a user