debian/0000775000000000000000000000000012237755257007207 5ustar debian/source/0000775000000000000000000000000012051247365010475 5ustar debian/source/format0000664000000000000000000000001412051247365011703 0ustar 3.0 (quilt) debian/copyright0000664000000000000000000000237712051247365011141 0ustar This package was debianized by RISKO Gergely on Thu, 09 Jun 2005 15:55:02 +0200. It was downloaded from http://www.v2v.cc/~j/ffmpeg2theora/index.html Upstream Author: jan gerber Copyright as mentioned in ffmpeg2theora.c source file: /* -*- tab-width:4;c-file-style:"cc-mode"; -*- */ /* * ffmpeg2theora.c -- Convert ffmpeg supported a/v files to Ogg Theora * Copyright (C) 2003-2004 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. * */ You can find the mentioned GNU General Public License (GPL) (on a Debian system) in the file /usr/share/common-licenses/GPL. debian/changelog0000664000000000000000000001037412237755257011066 0ustar ffmpeg2theora (0.29-2build1) trusty; urgency=low * No change rebuild against libav 9. -- Dmitrijs Ledkovs Sun, 10 Nov 2013 19:12:47 +0000 ffmpeg2theora (0.29-2) unstable; urgency=low * Pushing 0.29 to unstable fixes FTBFS. (Closes: #713716) * Remove obsolete DM-Upload-Allowed field. * Replace uncanonical URI from VCS-* fields. * Update Standards-Version. -- Tiago Bortoletto Vaz Sat, 22 Jun 2013 11:37:44 -0400 ffmpeg2theora (0.29-1) experimental; urgency=low * Migrate source to pkg-multimedia git repository tree. * Add pkg-multimedia as maintainer * New upstream version. (Closes: #692914, #652705) -- Tiago Bortoletto Vaz Thu, 15 Nov 2012 15:05:50 -0500 ffmpeg2theora (0.27-2) unstable; urgency=low * Switch to dpkg-source 3.0 (quilt) format * Add ubuntu patch to build against libav/0.7. Last upstream version (0.28) fails to build so let's use this patch for now. (Closes: #638245) * Now we have 0.27 in unstable, so close "New version 0.25 out" whishlist. (Closes: #549967) -- Tiago Bortoletto Vaz Thu, 29 Sep 2011 00:41:10 -0300 ffmpeg2theora (0.27-1) experimental; urgency=low * New upstream version * debian/control: - add myself as uploader - Standards-Version 3.8.4 -- Tiago Bortoletto Vaz Tue, 22 Jun 2010 21:14:40 -0300 ffmpeg2theora (0.24-2) unstable; urgency=low * debian/control: section changed (graphics -> video) * debian/control: fix Vcs-* fields -- RISKO Gergely Fri, 20 Mar 2009 02:01:52 +0200 ffmpeg2theora (0.24-1) unstable; urgency=low * New Upstream Version Closes: #510826, #404646, #418701, #420232, #461421, #517470 * debian/rules: - removed simple-patchsys - removed autotools support - added scons support (with debian/cdbs/scons* files) * debian/control: - updated build-dependencies - Standards-Version 3.8.1 - added Vcs-* fields * ffmpeg2theora.1: - adapting changes from Kapil, thanks -- RISKO Gergely Fri, 20 Mar 2009 02:01:52 +0200 ffmpeg2theora (0.21-0.1) unstable; urgency=low * Non-maintainer upload to fix RC bugs. * New upstream release (0.21). Closes: #484813, #482218, #487911. * debian/control: - added libavutil-dev, libavdevice-dev, libfaad-dev, libx11-dev, libxext-dev to dependencies. - added Homepage field - Standards-Version 3.8.0 * debian/rules: - added cdbs simple-patchsys include. - added "as-needed" and "no-undefined" flags for linker to reduce dependencies. * debian/patches/01-fix_includes.patch: point the include directives in ffmpeg2theora.c to the correct directories. * debian/patches/02-fix_hyphen-used-as-minus_in_manpage.patch: replaced incorrect uses of hyphen as minus in ffmpeg2theora.1. -- Kapil Hari Paranjape Thu, 26 Jun 2008 06:47:53 +0530 ffmpeg2theora (0.19-1) unstable; urgency=low * New upstream release (closes: #429937, #368588) * removed now unneeded libdc1394-dev dependecy (closes: #413663) * new build with new version of libavformat0d (closes: #430037) * added libswscale-dev new dependency -- RISKO Gergely Sat, 28 Jul 2007 19:14:08 +0200 ffmpeg2theora (0.16-2) unstable; urgency=low * added libgsm-dev and libdc1394-dev to build-depends (closes: #366025) -- RISKO Gergely Tue, 30 May 2006 16:43:46 +0200 ffmpeg2theora (0.16-1) unstable; urgency=low * New upstream release - fixes segfault when permission denied on output (closes: #352272) - fixes misleading error message for wrong input format (closes: #338872) * ftbfs fixed, i was silly when added -lgsm -ldc1394_control the day before yesterday (closes: #352547) -- RISKO Gergely Mon, 13 Feb 2006 01:16:25 +0100 ffmpeg2theora (0.15-1) unstable; urgency=low * New upstream release (closes: #335854) * '-ldc1394_control -lgsm' added to LDFLAGS in rules (closes: #333636) * changed FSF's postal address (thanks lintian!) -- RISKO Gergely Sat, 11 Feb 2006 14:20:15 +0100 ffmpeg2theora (0.13+svn20050704-1) unstable; urgency=low * initial upload (closes: #279503) -- RISKO Gergely Mon, 4 Jul 2005 23:10:00 +0200 debian/control0000664000000000000000000000216112237755257010612 0ustar Source: ffmpeg2theora Section: video Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian Multimedia Maintainers Uploaders: Tiago Bortoletto Vaz , RISKO Gergely Vcs-Browser: http://anonscm.debian.org/git/pkg-multimedia/ffmpeg2theora.git Vcs-Git: git://anonscm.debian.org/git/pkg-multimedia/ffmpeg2theora.git Build-Depends: quilt, debhelper (>= 7.0.50~), libavcodec-dev (>= 4:0.6), libavutil-dev, libpostproc-dev (>= 4:0.6), libswscale-dev (>= 4:0.6), libavformat-dev (>= 4:0.6), libavdevice-dev (>= 4:0.6), libogg-dev, libvorbis-dev, libtheora-dev, scons, pkg-config, libkate-dev, liboggkate-dev, libavfilter-dev Homepage: http://v2v.cc/~j/ffmpeg2theora/ Standards-Version: 3.9.4 Package: ffmpeg2theora Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Theora video encoder using ffmpeg This package provides a command-line tool to encode/recode various video formats (basically everything that ffmpeg can read) into Theora, the free video codec. debian/rules0000775000000000000000000000101112051247365010246 0ustar #!/usr/bin/make -f #DEB_SCONS_OPTIONS := prefix=/usr destdir=$(DEB_DESTDIR) mandir=PREFIX/share/man #PREFIX="prefix=$(CURDIR)/debian/ffmpeg2theora/usr destdir=$(CURDIR)/debian/ffmpeg2theora mandir=$(CURDIR)/debian/usr/share/man" %: dh $@ --with quilt #override_dh_auto_build: # scons # #override_dh_auto_install: # PREFIX="destdir=$(CURDIR)/debian/ffmpeg2theora prefix=/usr mandir=$(CURDIR)/debian/usr/share/man"; make install override_dh_auto_clean: dh_auto_clean rm -rf .sconf_temp/ .sconsign.dblite config.log debian/watch0000664000000000000000000000020312051247365010221 0ustar # watch control file for uscan version=2 http://www.v2v.cc/~j/ffmpeg2theora/download.html ffmpeg2theora-([\d\.]*)\.tar\.bz2 debian/patches/0000775000000000000000000000000012051312751010614 5ustar debian/patches/003-libswresample.patch0000664000000000000000000000032412051312576015012 0ustar --- a/SConstruct +++ b/SConstruct @@ -151,7 +151,6 @@ "libavcodec >= 52.30.0", "libpostproc", "libswscale", - "libswresample", "libavutil", ] if os.path.exists("./ffmpeg"): debian/patches/001-build-with-libav-0.7.patch0000664000000000000000000003033612051247365015615 0ustar diff -pruN 0.27-1.1/src/avinfo.c 0.27-1.1ubuntu1/src/avinfo.c --- 0.27-1.1/src/avinfo.c 2010-06-23 01:07:49.000000000 +0100 +++ 0.27-1.1ubuntu1/src/avinfo.c 2011-07-14 09:06:37.000000000 +0100 @@ -196,7 +196,7 @@ void json_codec_info(FILE *output, AVCod } switch(enc->codec_type) { - case CODEC_TYPE_VIDEO: + case AVMEDIA_TYPE_VIDEO: codec_name = fix_codec_name(codec_name); json_add_key_value(output, "codec", (void *)codec_name, JSON_STRING, 0, indent); if (enc->pix_fmt != PIX_FMT_NONE) { @@ -224,7 +224,7 @@ void json_codec_info(FILE *output, AVCod json_add_key_value(output, "bitrate", &t, JSON_FLOAT, 0, indent); } break; - case CODEC_TYPE_AUDIO: + case AVMEDIA_TYPE_AUDIO: codec_name = fix_codec_name(codec_name); json_add_key_value(output, "codec", (void *)codec_name, JSON_STRING, 0, indent); if (enc->sample_rate) { @@ -277,15 +277,15 @@ void json_codec_info(FILE *output, AVCod } break; /* - case CODEC_TYPE_DATA: + case AVMEDIA_TYPE_DATA: fprintf(output, "datacodec: %s\n", codec_name); bitrate = enc->bit_rate; break; - case CODEC_TYPE_SUBTITLE: + case AVMEDIA_TYPE_SUBTITLE: fprintf(output, "subtitle: %s\n", codec_name); bitrate = enc->bit_rate; break; - case CODEC_TYPE_ATTACHMENT: + case AVMEDIA_TYPE_ATTACHMENT: fprintf(output, "attachment: : %s\n", codec_name); bitrate = enc->bit_rate; break; @@ -330,7 +330,7 @@ static void json_stream_format(FILE *out display_aspect_ratio.num, display_aspect_ratio.den); json_add_key_value(output, "display_aspect_ratio", buf1, JSON_STRING, 0, indent + 1); } - if(st->codec->codec_type == CODEC_TYPE_VIDEO){ + if(st->codec->codec_type == AVMEDIA_TYPE_VIDEO){ if (st->time_base.den && st->time_base.num && av_q2d(st->time_base) > 0.001) { snprintf(buf1, sizeof(buf1), "%d:%d", st->time_base.den, st->time_base.num); @@ -340,6 +340,20 @@ static void json_stream_format(FILE *out st->r_frame_rate.num, st->r_frame_rate.den); json_add_key_value(output, "framerate", buf1, JSON_STRING, 0, indent + 1); } + if (st->sample_aspect_ratio.num && // default + av_cmp_q(st->sample_aspect_ratio, st->codec->sample_aspect_ratio)) { + AVRational display_aspect_ratio; + av_reduce(&display_aspect_ratio.num, &display_aspect_ratio.den, + st->codec->width*st->sample_aspect_ratio.num, + st->codec->height*st->sample_aspect_ratio.den, + 1024*1024); + snprintf(buf1, sizeof(buf1), "%d:%d", + st->sample_aspect_ratio.num, st->sample_aspect_ratio.den); + json_add_key_value(output, "pixel_aspect_ratio", buf1, JSON_STRING, 0, indent+1); + snprintf(buf1, sizeof(buf1), "%d:%d", + display_aspect_ratio.num, display_aspect_ratio.den); + json_add_key_value(output, "display_aspect_ratio", buf1, JSON_STRING, 0, indent+1); + } } json_add_key_value(output, "id", &i, JSON_INT, 1, indent + 1); do_indent(output, indent-1); @@ -484,11 +498,11 @@ void json_format_info(FILE* output, AVFo int j, k; for(j=0; jnb_programs; j++) { for(k=0; kprograms[j]->nb_stream_indexes; k++) - json_stream_format(output, ic, ic->programs[j]->stream_index[k], 2, !k && !j, CODEC_TYPE_VIDEO); + json_stream_format(output, ic, ic->programs[j]->stream_index[k], 2, !k && !j, AVMEDIA_TYPE_VIDEO); } } else { for(i=0;inb_streams;i++) { - json_stream_format(output, ic, i, 2, !i, CODEC_TYPE_VIDEO); + json_stream_format(output, ic, i, 2, !i, AVMEDIA_TYPE_VIDEO); } } fprintf(output, "],\n"); @@ -499,11 +513,11 @@ void json_format_info(FILE* output, AVFo int j, k; for(j=0; jnb_programs; j++) { for(k=0; kprograms[j]->nb_stream_indexes; k++) - json_stream_format(output, ic, ic->programs[j]->stream_index[k], 2, !k && !j, CODEC_TYPE_AUDIO); + json_stream_format(output, ic, ic->programs[j]->stream_index[k], 2, !k && !j, AVMEDIA_TYPE_AUDIO); } } else { for(i=0;inb_streams;i++) { - json_stream_format(output, ic, i, 2, !i, CODEC_TYPE_AUDIO); + json_stream_format(output, ic, i, 2, !i, AVMEDIA_TYPE_AUDIO); } } fprintf(output, "],\n"); diff -pruN 0.27-1.1/src/ffmpeg2theora.c 0.27-1.1ubuntu1/src/ffmpeg2theora.c --- 0.27-1.1/src/ffmpeg2theora.c 2010-06-23 01:07:49.000000000 +0100 +++ 0.27-1.1ubuntu1/src/ffmpeg2theora.c 2011-07-14 09:06:37.000000000 +0100 @@ -341,7 +341,7 @@ static void prepare_ycbcr_buffer(ff2theo static const char *find_category_for_subtitle_stream (ff2theora this, int idx, int included_subtitles) { AVCodecContext *enc = this->context->streams[idx]->codec; - if (enc->codec_type != CODEC_TYPE_SUBTITLE) return 0; + if (enc->codec_type != AVMEDIA_TYPE_SUBTITLE) return 0; switch (enc->codec_id) { case CODEC_ID_TEXT: case CODEC_ID_SSA: @@ -500,9 +500,11 @@ static void extra_info_from_ssa(AVPacket static const char *find_language_for_subtitle_stream(const AVStream *s) { - const char *lang=find_iso639_1(s->language); + AVMetadataTag *language = av_metadata_get(s->metadata, "language", NULL, 0); + const char *lang=find_iso639_1(language->value); if (!lang) { - fprintf(stderr,"WARNING - unrecognized ISO 639-2 language code: %s\n",s->language); + fprintf(stderr, "WARNING - unrecognized ISO 639-2 language code: %s\n", + language->value); } return lang; } @@ -516,8 +518,8 @@ void ff2theora_output(ff2theora this) { AVStream *vstream = NULL; AVCodec *acodec = NULL; AVCodec *vcodec = NULL; - pp_mode_t *ppMode = NULL; - pp_context_t *ppContext = NULL; + pp_mode *ppMode = NULL; + pp_context *ppContext = NULL; int sws_flags; float frame_aspect = 0; double fps = 0.0; @@ -530,7 +532,7 @@ void ff2theora_output(ff2theora this) { if (this->audiostream >= 0 && this->context->nb_streams > this->audiostream) { AVCodecContext *enc = this->context->streams[this->audiostream]->codec; - if (enc->codec_type == CODEC_TYPE_AUDIO) { + if (enc->codec_type == AVMEDIA_TYPE_AUDIO) { this->audio_index = this->audiostream; fprintf(stderr, " Using stream #0.%d as audio input\n",this->audio_index); } @@ -540,7 +542,7 @@ void ff2theora_output(ff2theora this) { } if (this->videostream >= 0 && this->context->nb_streams > this->videostream) { AVCodecContext *enc = this->context->streams[this->videostream]->codec; - if (enc->codec_type == CODEC_TYPE_VIDEO) { + if (enc->codec_type == AVMEDIA_TYPE_VIDEO) { this->video_index = this->videostream; fprintf(stderr, " Using stream #0.%d as video input\n",this->video_index); } @@ -552,11 +554,11 @@ void ff2theora_output(ff2theora this) { for (i = 0; i < this->context->nb_streams; i++) { AVCodecContext *enc = this->context->streams[i]->codec; switch (enc->codec_type) { - case CODEC_TYPE_VIDEO: + case AVMEDIA_TYPE_VIDEO: if (this->video_index < 0 && !this->disable_video) this->video_index = i; break; - case CODEC_TYPE_AUDIO: + case AVMEDIA_TYPE_AUDIO: if (this->audio_index < 0 && !this->disable_audio) this->audio_index = i; break; @@ -980,7 +982,7 @@ void ff2theora_output(ff2theora this) { AVStream *stream = this->context->streams[i]; AVCodecContext *enc = stream->codec; const char *category; - if (enc->codec_type == CODEC_TYPE_SUBTITLE) { + if (enc->codec_type == AVMEDIA_TYPE_SUBTITLE) { AVCodec *codec = avcodec_find_decoder (enc->codec_id); if (codec && avcodec_open (enc, codec) >= 0) { subtitles_opened[i] = 1; @@ -1451,9 +1453,11 @@ void ff2theora_output(ff2theora this) { } if (this->sws_scale_ctx) { sws_scale(this->sws_scale_ctx, - output_cropped->data, output_cropped->linesize, 0, - display_height - (this->frame_topBand + this->frame_bottomBand), - output_resized->data, output_resized->linesize); + output_cropped->data, + output_cropped->linesize, 0, + display_height - (this->frame_topBand + this->frame_bottomBand), + output_resized->data, + output_resized->linesize); } else{ output_resized = output_cropped; @@ -1512,7 +1516,7 @@ void ff2theora_output(ff2theora this) { int samples=0; int samples_out=0; int data_size = 4*AVCODEC_MAX_AUDIO_FRAME_SIZE; - int bytes_per_sample = av_get_bits_per_sample_format(aenc->sample_fmt)/8; + int bytes_per_sample = av_get_bits_per_sample_fmt(aenc->sample_fmt)/8; if (avpkt.size > 0) { len1 = avcodec_decode_audio3(astream->codec, audio_buf, &data_size, &avpkt); @@ -2726,8 +2730,7 @@ int main(int argc, char **argv) { for(info.passno=(info.twopass==3?1:info.twopass);info.passno<=(info.twopass==3?2:info.twopass);info.passno++){ //detect image sequences and set framerate if provided - if (av_guess_image2_codec(inputfile_name) != CODEC_ID_NONE || \ - (input_fmt != NULL && strcmp(input_fmt->name, "video4linux") >= 0)) { + if (input_fmt != NULL && strcmp(input_fmt->name, "video4linux") >= 0) { formatParams = ¶ms; memset(formatParams, 0, sizeof(*formatParams)); if (input_fmt != NULL && strcmp(input_fmt->name, "video4linux") >= 0) { @@ -2748,7 +2751,6 @@ int main(int argc, char **argv) { formatParams->time_base.den = convert->framerate_new.num; formatParams->time_base.num = convert->framerate_new.den; } - formatParams->video_codec_id = av_guess_image2_codec(inputfile_name); } if (av_open_input_file(&convert->context, inputfile_name, input_fmt, 0, formatParams) >= 0) { if (av_find_stream_info(convert->context) >= 0) { @@ -2760,9 +2762,9 @@ int main(int argc, char **argv) { for (i = 0; i < convert->context->nb_streams; i++) { AVCodecContext *enc = convert->context->streams[i]->codec; switch (enc->codec_type) { - case CODEC_TYPE_VIDEO: has_video = 1; break; - case CODEC_TYPE_AUDIO: has_audio = 1; break; - case CODEC_TYPE_SUBTITLE: if (is_supported_subtitle_stream(convert, i, convert->included_subtitles)) has_kate = 1; break; + case AVMEDIA_TYPE_VIDEO: has_video = 1; break; + case AVMEDIA_TYPE_AUDIO: has_audio = 1; break; + case AVMEDIA_TYPE_SUBTITLE: if (is_supported_subtitle_stream(convert, i, convert->included_subtitles)) has_kate = 1; break; default: break; } } @@ -2828,7 +2830,7 @@ int main(int argc, char **argv) { if (!info.frontend) { if (info.twopass!=3 || info.passno==1) { - dump_format(convert->context, 0,inputfile_name, 0); + av_dump_format(convert->context, 0,inputfile_name, 0); } } if (convert->disable_audio) { debian/patches/002-Makefile.patch0000664000000000000000000000053112051247365013660 0ustar --- ffmpeg2theora-0.27.orig/Makefile +++ ffmpeg2theora-0.27/Makefile @@ -5,7 +5,7 @@ clean: scons -c install: - scons install $(PREFIX) + scons install destdir=$(CURDIR)/debian/ffmpeg2theora prefix=/usr mandir=$(CURDIR)/debian/ffmpeg2theora/usr/share/man dist: svn export . ffmpeg2theora-`grep ^pkg_version= SConstruct | cut -d\" -f2` debian/patches/series0000664000000000000000000000011312051312700012016 0ustar #001-build-with-libav-0.7.patch 002-Makefile.patch 003-libswresample.patch debian/docs0000664000000000000000000000001412051247365010043 0ustar README TODO debian/compat0000664000000000000000000000000212051247365010373 0ustar 5