diffstat of debian/ for ffmpeg2theora_0.29-2 ffmpeg2theora-dmo_0.29-dmo4 README.source | 2 changelog | 24 +++ compat | 2 control | 17 +- patches/001-build-with-libav-0.7.patch | 240 --------------------------------- patches/002-Makefile.patch | 11 - patches/003-libswresample.patch | 10 - patches/01_Makefile.diff | 11 + patches/02_MAX_AUDIO_FRAME_SIZE.diff | 31 ++++ patches/03_uneeded-libraries.diff | 14 + patches/series | 6 rules | 16 -- source/format | 2 watch | 6 14 files changed, 105 insertions(+), 287 deletions(-) --- ffmpeg2theora-0.29/debian/README.source 1970-01-01 00:00:00.000000000 +0000 +++ ffmpeg2theora-dmo-0.29/debian/README.source 2016-09-23 00:43:24.000000000 +0000 @@ -0,0 +1,2 @@ + +See /usr/share/doc/quilt/README.source --- ffmpeg2theora-0.29/debian/changelog 2013-06-22 15:50:43.000000000 +0000 +++ ffmpeg2theora-dmo-0.29/debian/changelog 2016-09-23 00:43:24.000000000 +0000 @@ -1,3 +1,27 @@ +ffmpeg2theora-dmo (1:0.29-dmo4) unstable; urgency=medium + + * Fix package version. + + -- Christian Marillat Fri, 19 Sep 2014 09:29:57 +0200 + +ffmpeg2theora-dmo (0.29-dmo3) unstable; urgency=medium + + * Rebuild against ffmpeg 2.4 + + -- Christian Marillat Mon, 15 Sep 2014 20:32:43 +0200 + +ffmpeg2theora-dmo (0.29-dmo2) unstable; urgency=medium + + * Build for unstable. + + -- Christian Marillat Mon, 24 Mar 2014 15:17:40 +0100 + +ffmpeg2theora-dmo (0.29-dmo1) stable-backports; urgency=medium + + * Upload to my repository in stable-backports. + + -- Christian Marillat Wed, 12 Mar 2014 11:50:23 +0100 + ffmpeg2theora (0.29-2) unstable; urgency=low * Pushing 0.29 to unstable fixes FTBFS. (Closes: #713716) --- ffmpeg2theora-0.29/debian/compat 2012-11-15 20:22:13.000000000 +0000 +++ ffmpeg2theora-dmo-0.29/debian/compat 2016-09-23 00:43:24.000000000 +0000 @@ -1 +1 @@ -5 +9 --- ffmpeg2theora-0.29/debian/control 2013-06-22 15:49:19.000000000 +0000 +++ ffmpeg2theora-dmo-0.29/debian/control 2016-09-23 00:43:24.000000000 +0000 @@ -1,15 +1,14 @@ -Source: ffmpeg2theora +Source: ffmpeg2theora-dmo Section: video Priority: optional -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 +Maintainer: Christian Marillat +Bugs: mailto:marillat@deb-multimedia.org Homepage: http://v2v.cc/~j/ffmpeg2theora/ -Standards-Version: 3.9.4 +Standards-Version: 3.9.5 +Build-Depends: debhelper (>= 9), libavcodec-dev (>= 4:0.6), libavutil-dev, + libpostproc-dev (>= 4:0.6), quilt, 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 Package: ffmpeg2theora Architecture: any --- ffmpeg2theora-0.29/debian/patches/001-build-with-libav-0.7.patch 2012-11-15 20:22:13.000000000 +0000 +++ ffmpeg2theora-dmo-0.29/debian/patches/001-build-with-libav-0.7.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,240 +0,0 @@ -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) { --- ffmpeg2theora-0.29/debian/patches/002-Makefile.patch 2012-11-15 20:22:13.000000000 +0000 +++ ffmpeg2theora-dmo-0.29/debian/patches/002-Makefile.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ ---- 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` --- ffmpeg2theora-0.29/debian/patches/003-libswresample.patch 2012-11-16 01:23:10.000000000 +0000 +++ ffmpeg2theora-dmo-0.29/debian/patches/003-libswresample.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ ---- a/SConstruct -+++ b/SConstruct -@@ -151,7 +151,6 @@ - "libavcodec >= 52.30.0", - "libpostproc", - "libswscale", -- "libswresample", - "libavutil", - ] - if os.path.exists("./ffmpeg"): --- ffmpeg2theora-0.29/debian/patches/01_Makefile.diff 1970-01-01 00:00:00.000000000 +0000 +++ ffmpeg2theora-dmo-0.29/debian/patches/01_Makefile.diff 2016-09-23 00:43:24.000000000 +0000 @@ -0,0 +1,11 @@ +--- 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` --- ffmpeg2theora-0.29/debian/patches/02_MAX_AUDIO_FRAME_SIZE.diff 1970-01-01 00:00:00.000000000 +0000 +++ ffmpeg2theora-dmo-0.29/debian/patches/02_MAX_AUDIO_FRAME_SIZE.diff 2016-09-23 00:43:24.000000000 +0000 @@ -0,0 +1,31 @@ +--- a/src/ffmpeg2theora.c ++++ b/src/ffmpeg2theora.c +@@ -47,6 +47,8 @@ + #include "ffmpeg2theora.h" + #include "avinfo.h" + ++#define MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio ++ + #define LENGTH(x) (sizeof(x) / sizeof(*x)) + + enum { +@@ -1068,8 +1070,8 @@ void ff2theora_output(ff2theora this) { + int first = 1; + int audio_eos = 0, video_eos = 0, audio_done = 0, video_done = 0; + int ret; +- int16_t *audio_buf=av_malloc(4*AVCODEC_MAX_AUDIO_FRAME_SIZE); +- int16_t *resampled=av_malloc(4*AVCODEC_MAX_AUDIO_FRAME_SIZE); ++ int16_t *audio_buf=av_malloc(4*MAX_AUDIO_FRAME_SIZE); ++ int16_t *resampled=av_malloc(4*MAX_AUDIO_FRAME_SIZE); + int16_t *audio_p=NULL; + int no_frames; + int no_samples; +@@ -1530,7 +1532,7 @@ void ff2theora_output(ff2theora this) { + while((audio_eos && !audio_done) || avpkt.size > 0 ) { + int samples=0; + int samples_out=0; +- int data_size = 4*AVCODEC_MAX_AUDIO_FRAME_SIZE; ++ int data_size = 4*MAX_AUDIO_FRAME_SIZE; + int bytes_per_sample = av_get_bytes_per_sample(aenc->sample_fmt); + + if (avpkt.size > 0) { --- ffmpeg2theora-0.29/debian/patches/03_uneeded-libraries.diff 1970-01-01 00:00:00.000000000 +0000 +++ ffmpeg2theora-dmo-0.29/debian/patches/03_uneeded-libraries.diff 2016-09-23 00:43:24.000000000 +0000 @@ -0,0 +1,14 @@ +--- a/SConstruct ++++ b/SConstruct +@@ -147,11 +147,9 @@ if not env.GetOption('clean'): + FFMPEG_LIBS=[ + "libavdevice", + "libavformat", +- "libavfilter", + "libavcodec >= 52.30.0", + "libpostproc", + "libswscale", +- "libswresample", + "libavutil", + ] + if os.path.exists("./ffmpeg"): --- ffmpeg2theora-0.29/debian/patches/series 2012-11-16 01:24:16.000000000 +0000 +++ ffmpeg2theora-dmo-0.29/debian/patches/series 2016-09-23 00:43:24.000000000 +0000 @@ -1,3 +1,3 @@ -#001-build-with-libav-0.7.patch -002-Makefile.patch -003-libswresample.patch +01_Makefile.diff +02_MAX_AUDIO_FRAME_SIZE.diff +03_uneeded-libraries.diff --- ffmpeg2theora-0.29/debian/rules 2012-11-15 20:22:13.000000000 +0000 +++ ffmpeg2theora-dmo-0.29/debian/rules 2016-09-23 00:43:24.000000000 +0000 @@ -1,18 +1,16 @@ #!/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_install: + scons install destdir=$(CURDIR)/debian/ffmpeg2theora prefix=/usr \ + mandir=$(CURDIR)/debian/ffmpeg2theora/usr/share/man \ + APPEND_LINKFLAGS=$(shell dpkg-buildflags --get LDFLAGS) override_dh_auto_clean: dh_auto_clean rm -rf .sconf_temp/ .sconsign.dblite config.log + +override_dh_builddeb: + dh_builddeb -- -Zxz --- ffmpeg2theora-0.29/debian/source/format 2012-11-15 20:22:13.000000000 +0000 +++ ffmpeg2theora-dmo-0.29/debian/source/format 2016-09-23 00:43:24.000000000 +0000 @@ -1 +1 @@ -3.0 (quilt) +1.0 --- ffmpeg2theora-0.29/debian/watch 2012-11-15 20:22:13.000000000 +0000 +++ ffmpeg2theora-dmo-0.29/debian/watch 2016-09-23 00:43:24.000000000 +0000 @@ -1,3 +1,3 @@ -# watch control file for uscan -version=2 -http://www.v2v.cc/~j/ffmpeg2theora/download.html ffmpeg2theora-([\d\.]*)\.tar\.bz2 +version=3 + +http://v2v.cc/~j/ffmpeg2theora/downloads/ffmpeg2theora-(.*)\.tar\.bz2