summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2013-03-03 08:23:08 -0800
committerMartin Storsjö <martin@martin.st>2013-03-07 09:35:24 +0200
commit54b298fe5650c124c29a8283cfd05024ac409d3a (patch)
treebe859b9f5bf9bd26c815acb7f759200f318def2c
parent64e4386974b976070fc22ec3153e163de4a3e14e (diff)
lavc: Deprecate the deinterlace functions in libavcodec
Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r--avconv.c4
-rw-r--r--avconv_opt.c4
-rw-r--r--libavcodec/avcodec.h5
-rw-r--r--libavcodec/imgconvert.c4
-rw-r--r--libavcodec/version.h3
5 files changed, 20 insertions, 0 deletions
diff --git a/avconv.c b/avconv.c
index 75a8f0d5ec..900f49afe7 100644
--- a/avconv.c
+++ b/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);
diff --git a/avconv_opt.c b/avconv_opt.c
index 7c58f49e3b..5bb7fb75f5 100644
--- a/avconv_opt.c
+++ b/avconv_opt.c
@@ -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 },
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 7a2477516d..120bfbcaae 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -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.
*/
diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c
index 36c24dfa88..8f8b6e3914 100644
--- a/libavcodec/imgconvert.c
+++ b/libavcodec/imgconvert.c
@@ -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 */
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 7a024d38a1..5b65c2d6a0 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -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 */