mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
lavc: Deprecate the deinterlace functions in libavcodec
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
64e4386974
commit
54b298fe56
4
avconv.c
4
avconv.c
@ -404,6 +404,7 @@ 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;
|
||||
@ -442,6 +443,7 @@ static void pre_process_video_frame(InputStream *ist, AVPicture *picture, void *
|
||||
*picture = *picture2;
|
||||
*bufp = buf;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void do_subtitle_out(AVFormatContext *s,
|
||||
OutputStream *ost,
|
||||
@ -1181,7 +1183,9 @@ 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
|
||||
|
||||
rate_emu_sleep(ist);
|
||||
|
||||
|
@ -1715,12 +1715,14 @@ static int opt_vsync(void *optctx, const char *opt, const char *arg)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if FF_API_DEINTERLACE
|
||||
static int opt_deinterlace(void *optctx, const char *opt, const char *arg)
|
||||
{
|
||||
av_log(NULL, AV_LOG_WARNING, "-%s is deprecated, use -filter:v yadif instead\n", opt);
|
||||
do_deinterlace = 1;
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int opt_cpuflags(void *optctx, const char *opt, const char *arg)
|
||||
{
|
||||
@ -2057,8 +2059,10 @@ const OptionDef options[] = {
|
||||
"select the pass number (1 or 2)", "n" },
|
||||
{ "passlogfile", OPT_VIDEO | HAS_ARG | OPT_STRING | OPT_EXPERT | OPT_SPEC, { .off = OFFSET(passlogfiles) },
|
||||
"select two pass log file name prefix", "prefix" },
|
||||
#if FF_API_DEINTERLACE
|
||||
{ "deinterlace", OPT_VIDEO | OPT_EXPERT , { .func_arg = opt_deinterlace },
|
||||
"this option is deprecated, use the yadif filter instead" },
|
||||
#endif
|
||||
{ "vstats", OPT_VIDEO | OPT_EXPERT , { &opt_vstats },
|
||||
"dump video coding statistics to file" },
|
||||
{ "vstats_file", OPT_VIDEO | HAS_ARG | OPT_EXPERT , { opt_vstats_file },
|
||||
|
@ -4267,11 +4267,16 @@ int avpicture_layout(const AVPicture* src, enum AVPixelFormat pix_fmt,
|
||||
*/
|
||||
int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height);
|
||||
|
||||
#if FF_API_DEINTERLACE
|
||||
/**
|
||||
* deinterlace - if not supported return -1
|
||||
*
|
||||
* @deprecated - use yadif (in libavfilter) instead
|
||||
*/
|
||||
attribute_deprecated
|
||||
int avpicture_deinterlace(AVPicture *dst, const AVPicture *src,
|
||||
enum AVPixelFormat pix_fmt, int width, int height);
|
||||
#endif
|
||||
/**
|
||||
* Copy image src to dst. Wraps av_picture_data_copy() above.
|
||||
*/
|
||||
|
@ -366,6 +366,8 @@ int av_picture_pad(AVPicture *dst, const AVPicture *src, int height, int width,
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if FF_API_DEINTERLACE
|
||||
|
||||
#if !HAVE_MMX_EXTERNAL
|
||||
/* filter parameters: [-1 4 2 4 -1] // 8 */
|
||||
static void deinterlace_line_c(uint8_t *dst,
|
||||
@ -524,3 +526,5 @@ int avpicture_deinterlace(AVPicture *dst, const AVPicture *src,
|
||||
emms_c();
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* FF_API_DEINTERLACE */
|
||||
|
@ -97,5 +97,8 @@
|
||||
#ifndef FF_API_IDCT
|
||||
#define FF_API_IDCT (LIBAVCODEC_VERSION_MAJOR < 55)
|
||||
#endif
|
||||
#ifndef FF_API_DEINTERLACE
|
||||
#define FF_API_DEINTERLACE (LIBAVCODEC_VERSION_MAJOR < 56)
|
||||
#endif
|
||||
|
||||
#endif /* AVCODEC_VERSION_H */
|
||||
|
Loading…
Reference in New Issue
Block a user