From 80a9898103715f79c74ceb0e3f597bc6af9a3318 Mon Sep 17 00:00:00 2001 From: Antonio Ospite Date: Mon, 18 Mar 2013 11:37:06 +0100 Subject: [PATCH] debian/patches: add 0002-Revert-am7xxx-play-switch-to-avcodec_encode_video2.patch Make build succeed with the libavcodec version in Wheezy: for now we depend on libavcodec-dev (<< 6:9) to be sure the old API is still there and enabled. --- debian/control | 2 +- ...7xxx-play-switch-to-avcodec_encode_video2.patch | 102 +++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 debian/patches/0002-Revert-am7xxx-play-switch-to-avcodec_encode_video2.patch diff --git a/debian/control b/debian/control index e91eb72..394d27d 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: libdevel Priority: extra Maintainer: Antonio Ospite Build-Depends: debhelper (>= 9), dpkg-dev (>= 1.16.1~), cmake, pkg-config, - libusb-1.0-0-dev, libxcb1-dev, libavdevice-dev, libavformat-dev, libavcodec-dev, libswscale-dev + libusb-1.0-0-dev, libxcb1-dev, libavdevice-dev, libavformat-dev, libavcodec-dev (<< 6:9), libswscale-dev Build-Depends-Indep: doxygen, asciidoc (>> 8.0.0), xmlto, docbook-xsl (>> 1.72) Standards-Version: 3.9.3 Homepage: http://git.ao2.it/libam7xxx.git diff --git a/debian/patches/0002-Revert-am7xxx-play-switch-to-avcodec_encode_video2.patch b/debian/patches/0002-Revert-am7xxx-play-switch-to-avcodec_encode_video2.patch new file mode 100644 index 0000000..c372a63 --- /dev/null +++ b/debian/patches/0002-Revert-am7xxx-play-switch-to-avcodec_encode_video2.patch @@ -0,0 +1,102 @@ +From 70d093e78087c821c2c944df062f4a8ba10e2625 Mon Sep 17 00:00:00 2001 +From: Antonio Ospite +Date: Mon, 18 Mar 2013 11:06:57 +0100 +Subject: [PATCH] Revert "am7xxx-play: switch to avcodec_encode_video2()" +X-Face: z*RaLf`X<@C75u6Ig9}{oW$H;1_\2t5)({*|jhM/Vb;]yA5\I~93>J<_`<4)A{':UrE + +This reverts commit b344c71f3e03f912d8b6ee7d96cdd67b31cdf8cc. + +avcodec_encode_video2() has been introduced in lavc 54.01.0 but Debian Wheezy +ships with lavc 53, so for now we should revert this change for the Debian +packages. + +When this patch will be dropped maybe the package should depend on +libavcodec54 as the old API may be disabled in the Debian packages. + +--- + examples/am7xxx-play.c | 29 +++++++++-------------------- + 1 file changed, 9 insertions(+), 20 deletions(-) + +diff --git a/examples/am7xxx-play.c b/examples/am7xxx-play.c +index 38812a4..0b1fa65 100644 +--- a/examples/am7xxx-play.c ++++ b/examples/am7xxx-play.c +@@ -285,12 +285,9 @@ static int am7xxx_play(const char *input_format_string, + int out_buf_size; + uint8_t *out_buf; + int out_picture_size; +- uint8_t *out_picture; + struct SwsContext *sw_scale_ctx; + AVPacket in_packet; +- AVPacket out_packet; + int got_picture; +- int got_packet; + int ret = 0; + + ret = video_input_init(&input_ctx, input_format_string, input_path, input_options); +@@ -393,26 +390,20 @@ static int am7xxx_play(const char *input_format_string, + picture_scaled->linesize); + + if (output_ctx.raw_output) { +- out_picture = out_buf; + out_picture_size = out_buf_size; + } else { + picture_scaled->quality = (output_ctx.codec_ctx)->global_quality; +- av_init_packet(&out_packet); +- out_packet.data = NULL; +- out_packet.size = 0; +- got_packet = 0; +- ret = avcodec_encode_video2(output_ctx.codec_ctx, +- &out_packet, +- picture_scaled, +- &got_packet); +- if (ret < 0 || !got_packet) { ++ /* TODO: switch to avcodec_encode_video2() eventually */ ++ out_picture_size = avcodec_encode_video(output_ctx.codec_ctx, ++ out_buf, ++ out_buf_size, ++ picture_scaled); ++ if (out_picture_size < 0) { + fprintf(stderr, "cannot encode video\n"); ++ ret = out_picture_size; + run = 0; + goto end_while; + } +- +- out_picture = out_packet.data; +- out_picture_size = out_packet.size; + } + + #ifdef DEBUG +@@ -423,7 +414,7 @@ static int am7xxx_play(const char *input_format_string, + else + snprintf(filename, NAME_MAX, "out.raw"); + file = fopen(filename, "wb"); +- fwrite(out_picture, 1, out_picture_size, file); ++ fwrite(out_buf, 1, out_picture_size, file); + fclose(file); + #endif + +@@ -431,7 +422,7 @@ static int am7xxx_play(const char *input_format_string, + image_format, + (output_ctx.codec_ctx)->width, + (output_ctx.codec_ctx)->height, +- out_picture, ++ out_buf, + out_picture_size); + if (ret < 0) { + perror("am7xxx_send_image"); +@@ -440,8 +431,6 @@ static int am7xxx_play(const char *input_format_string, + } + } + end_while: +- if (!output_ctx.raw_output) +- av_free_packet(&out_packet); + av_free_packet(&in_packet); + } + +-- +1.7.10.4 + diff --git a/debian/patches/series b/debian/patches/series index b24a225..3beea98 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ 0001-doc-add-a-man-page-for-am7xxx_mode_switch.patch +0002-Revert-am7xxx-play-switch-to-avcodec_encode_video2.patch -- 2.1.4