Skip to content

Commit

Permalink
FFmpeg resync to FFmpeg release/1.2 at SHA1 33d699a4e73d5281b2cfcd0fa…
Browse files Browse the repository at this point in the history
…355c0d80241dd23
  • Loading branch information
jyavenard committed May 12, 2013
1 parent 051ab13 commit 9c728cb
Show file tree
Hide file tree
Showing 1,061 changed files with 43,178 additions and 23,777 deletions.
426 changes: 235 additions & 191 deletions mythtv/configure

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions mythtv/external/FFmpeg/.gitignore
Expand Up @@ -37,6 +37,7 @@
/doc/examples/filtering_video
/doc/examples/metadata
/doc/examples/muxing
/doc/examples/pc-uninstalled
/doc/examples/resampling_audio
/doc/examples/scaling_video
/doc/fate.txt
Expand Down Expand Up @@ -66,5 +67,6 @@
/tools/probetest
/tools/qt-faststart
/tools/trasher
/tools/seek_print
/mythffprobe
/mythffserver
59 changes: 5 additions & 54 deletions mythtv/external/FFmpeg/CREDITS
@@ -1,55 +1,6 @@
This file contains the names of some of the people who have contributed to
FFmpeg. The names are sorted alphabetically by last name. As this file is
currently quite outdated and git serves as a much better tool for determining
authorship, it remains here for historical reasons only.
See the Git history of the project (git://source.ffmpeg.org/ffmpeg) to
get the names of people who have contributed to FFmpeg.

Dénes Balatoni
Michel Bardiaux
Fabrice Bellard
Patrice Bensoussan
Alex Beregszaszi
BERO
Thilo Borgmann
Mario Brito
Ronald Bultje
Alex Converse
Maarten Daniels
Reimar Doeffinger
Tim Ferguson
Brian Foley
Arpad Gereoffy
Philip Gladstone
Vladimir Gneushev
Roine Gustafsson
David Hammerton
Wolfgang Hesseler
Marc Hoffman
Falk Hueffner
Aurélien Jacobs
Steven Johnson
Zdenek Kabelac
Robin Kay
Todd Kirby
Nick Kurshev
Benjamin Larsson
Loïc Le Loarer
Daniel Maas
Mike Melanson
Loren Merritt
Jeff Muizelaar
Michael Niedermayer
François Revol
Peter Ross
Måns Rullgård
Stefano Sabatini
Roman Shaposhnik
Oded Shimon
Dieter Shirley
Konstantin Shishkov
Juan J. Sierralta
Ewald Snel
Sascha Sommer
Leon van Stuivenberg
Roberto Togni
Lionel Ulmer
Reynaldo Verdejo
To check the log, you can type the command "git log" in the FFmpeg
source directory, or browse the online repository at
http://source.ffmpeg.org.
88 changes: 23 additions & 65 deletions mythtv/external/FFmpeg/Changelog
@@ -1,71 +1,29 @@
Entries are sorted chronologically from oldest to youngest within each release,
releases are sorted from youngest to oldest.

version <next>:
- h264: fix deadlocks with broken/fuzzed files
- flvdec: make decoder more robust
- vorbisdec: fix buffer overflow (CVE-2013-0894)
- ac3dec: validate channel output mode against channel count
- doc: minor improvements
- loco: check that there is data left after decoding a plane.
- mov: use the format context for logging.
- lagarith: avoid infinite loop in lag_rac_refill() with corrupted files
- flicvideo: avoid an infinite loop in byte run compression
- av_memcpy_backptr: avoid an infinite loop for back = 0
- mlpdec: do not try to allocate a zero-sized output buffer.
- qtrle: add more checks against pixel_ptr being negative.
- 4xm: check the return value of read_huffman_tables().
- cavs: initialize various context tables, avoids crashes with corrupted files
- x86/H.264: Don't use redzone in AVX h264_deblock on Win64
- VQA video: check chunk sizes before reading chunks
- RoQ video decoder: check dimensions validity
- QDM2: check array index before use, fix out of array accesses
- mpegvideo: Do REBASE_PICTURE with byte pointers
- SVQ3: unbreak decoding
- libopencore-amrwb: Make AMR-WB ifdeffery more precise
- libopencore-amr: Conditionally compile decoder and encoder bits
- arm: Fall back to runtime cpu feature detection via /proc/cpuinfo
- xxan: properly handle odd heights
- msrledec: check bounds before constructing a possibly invalid pointer,
- qtrle: fix the topmost line for 1bit
- aasc: fix output for msrle compression
- yop: check for input overreads
- yop: check that extradata is large enough
- fraps: fix off-by one bug for version 1
- vf_delogo: fix copying the input frame
- vf_delogo: fix an uninitialized read
- dnxhdenc: fix invalid reads in dnxhd_mb_var_thread()
- ATRAC3: use correct loop variable in add_tonal_components()
- MLP: store the channel layout for each substream
- MLP decoder: TrueHD: use Libav channel order
- x86: ac3: Fix HAVE_MMXEXT condition to only refer to external assembly
- arm: vp8: Fix the plain-armv6 version of vp8_luma_dc_wht
- lavr: call mix_function_init() in ff_audio_mix_set_matrix()
- rtpenc_chain: Use the original AVFormatContext for getting payload type
- rtp: Make sure the output format pointer is set
- rtp: Make sure priv_data is set before reading it
- videodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNAL
- get_bits: change the failure condition in init_get_bits
- mpegvideo: fix loop condition in draw_line()
- fate: update ref after rv30_loop_filter fix
- RV30: fix masking in rv30_loop_filter()
- libcdio: support recent cdio-paranoia
- Theora: Skip zero-sized headers
- H.264: add 3 pixels below for subpixel filter wait position
- H.264: fix ff_generate_sliding_window_mmcos() prototype
- H.264: don't clobber mmco opcode tables for non-first slice headers
- libx264: use the library specific default rc_initial_buffer_occupancy
- lavc: set the default rc_initial_buffer_occupancy
- lavc: introduce the convenience function init_get_bits8
- lavc: check for overflow in init_get_bits
- configure: enable pic for shared libs on AArch64
- zmbv: Reset the decoder on keyframe errors
- VC1 decoder: prevent a crash due missing pred_flag parameter
- matroska: Fix use after free
- VP3: Fix double free in vp3_decode_end()
- Fix a crash on windows platforms related to automatic stack alignment
in libavresample
- Fix memleaks in the Ogg demuxer. Related to CVE-2012-2882
version 1.2:

- VDPAU hardware acceleration through normal hwaccel
- SRTP support
- Error diffusion dither in Swscale
- Chained Ogg support
- Theora Midstream reconfiguration support
- EVRC decoder
- audio fade filter
- filtering audio with unknown channel layout
- allpass, bass, bandpass, bandreject, biquad, equalizer, highpass, lowpass
and treble audio filter
- improved showspectrum filter, with multichannel support and sox-like colors
- histogram filter
- tee muxer
- il filter ported from libmpcodecs
- support ID3v2 tags in ASF files
- encrypted TTA stream decoding support
- RF64 support in WAV muxer
- noise filter ported from libmpcodecs
- Subtitles character encoding conversion
- blend filter
- stereo3d filter ported from libmpcodecs


version 1.1:
Expand Down
12 changes: 7 additions & 5 deletions mythtv/external/FFmpeg/LICENSE
Expand Up @@ -36,13 +36,20 @@ Specifically, the GPL parts of FFmpeg are
- vf_hue.c
- vf_kerndeint.c
- vf_mp.c
- vf_noise.c
- vf_pp.c
- vf_smartblur.c
- vf_stereo3d.c
- vf_super2xsai.c
- vf_tinterlace.c
- vf_yadif.c
- vsrc_mptestsrc.c

Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then
the configure parameter --enable-version3 will activate this licensing option
for you. Read the file COPYING.LGPLv3 or, if you have enabled GPL parts,
COPYING.GPLv3 to learn the exact legal terms that apply in this case.

There are a handful of files under other licensing terms, namely:

* The files libavcodec/jfdctfst.c, libavcodec/jfdctint_template.c and
Expand All @@ -52,11 +59,6 @@ There are a handful of files under other licensing terms, namely:
You must also indicate any changes including additions and deletions to
those three files in the documentation.

Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then
the configure parameter --enable-version3 will activate this licensing option
for you. Read the file COPYING.LGPLv3 or, if you have enabled GPL parts,
COPYING.GPLv3 to learn the exact legal terms that apply in this case.


external libraries
==================
Expand Down
1 change: 0 additions & 1 deletion mythtv/external/FFmpeg/MAINTAINERS
Expand Up @@ -449,7 +449,6 @@ Releases
1.1 Michael Niedermayer
1.0 Michael Niedermayer

If you want to maintain an older release, please contact us


GnuPG Fingerprints of maintainers and contributors
Expand Down
3 changes: 2 additions & 1 deletion mythtv/external/FFmpeg/README.sync
Expand Up @@ -9,6 +9,7 @@ git://source.ffmpeg.org/ffmpeg.git at SHA1 553c9c77 on December 16th, 2012 (jya)
git://source.ffmpeg.org/ffmpeg.git at SHA1 057051b8 on February 17th, 2013 (jya) (release/1.1 branch)
git://source.ffmpeg.org/ffmpeg.git at SHA1 7c8beec4 on March 7th, 2013 (jya) (release/1.1 branch)
git://source.ffmpeg.org/ffmpeg.git at SHA1 fc7071cb on March 30th, 2013 (jya) (release/1.1 branch)
git://source.ffmpeg.org/ffmpeg.git at SHA1 33d699a4 on May 12th, 2013 (jya) (release/1.2 branch)

List of files modified from original FFmpeg:
Makefile
Expand Down Expand Up @@ -50,7 +51,7 @@ libavformat/mpegts.c
libavformat/mpegts.h
libavformat/utils-mythtv.c <- new file
libavformat/utils.c
libavformat/rtpdec.c <- header change
libavformat/rtpdec_mpegts.c <- header change
libavformat/rtsp.c <- header change
libavformat/wtvdec.c <- header change
libavutil/bswap.h
Expand Down
2 changes: 1 addition & 1 deletion mythtv/external/FFmpeg/RELEASE
@@ -1 +1 @@
1.1.4
1.2.1
2 changes: 1 addition & 1 deletion mythtv/external/FFmpeg/VERSION
@@ -1 +1 @@
1.1.4
1.2.1
58 changes: 33 additions & 25 deletions mythtv/external/FFmpeg/cmdutils.c
Expand Up @@ -62,8 +62,8 @@
static int init_report(const char *env);

struct SwsContext *sws_opts;
SwrContext *swr_opts;
AVDictionary *format_opts, *codec_opts;
AVDictionary *swr_opts;
AVDictionary *format_opts, *codec_opts, *resample_opts;

const int this_year = 2013;

Expand All @@ -75,9 +75,6 @@ void init_opts(void)
if(CONFIG_SWSCALE)
sws_opts = sws_getContext(16, 16, 0, 16, 16, 0, SWS_BICUBIC,
NULL, NULL, NULL);

if(CONFIG_SWRESAMPLE)
swr_opts = swr_alloc();
}

void uninit_opts(void)
Expand All @@ -87,11 +84,10 @@ void uninit_opts(void)
sws_opts = NULL;
#endif

if(CONFIG_SWRESAMPLE)
swr_free(&swr_opts);

av_dict_free(&swr_opts);
av_dict_free(&format_opts);
av_dict_free(&codec_opts);
av_dict_free(&resample_opts);
}

void log_callback_help(void *ptr, int level, const char *fmt, va_list vl)
Expand Down Expand Up @@ -478,6 +474,9 @@ int opt_default(void *optctx, const char *opt, const char *arg)
char opt_stripped[128];
const char *p;
const AVClass *cc = avcodec_get_class(), *fc = avformat_get_class();
#if CONFIG_AVRESAMPLE
const AVClass *rc = avresample_get_class();
#endif
const AVClass *sc, *swr_class;

if (!strcmp(opt, "debug") || !strcmp(opt, "fdebug"))
Expand Down Expand Up @@ -516,13 +515,23 @@ int opt_default(void *optctx, const char *opt, const char *arg)
#endif
#if CONFIG_SWRESAMPLE
swr_class = swr_get_class();
if (!consumed && av_opt_find(&swr_class, opt, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ)) {
int ret = av_opt_set(swr_opts, opt, arg, 0);
if (!consumed && (o=av_opt_find(&swr_class, opt, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ))) {
struct SwrContext *swr = swr_alloc();
int ret = av_opt_set(swr, opt, arg, 0);
swr_free(&swr);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Error setting option %s.\n", opt);
return ret;
}
av_dict_set(&swr_opts, opt, arg, FLAGS);
consumed = 1;
}
#endif
#if CONFIG_AVRESAMPLE
if ((o=av_opt_find(&rc, opt, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ))) {
av_dict_set(&resample_opts, opt, arg, FLAGS);
consumed = 1;
}
#endif
Expand Down Expand Up @@ -575,9 +584,11 @@ static void finish_group(OptionParseContext *octx, int group_idx,
g->swr_opts = swr_opts;
g->codec_opts = codec_opts;
g->format_opts = format_opts;
g->resample_opts = resample_opts;

codec_opts = NULL;
format_opts = NULL;
resample_opts = NULL;
#if CONFIG_SWSCALE
sws_opts = NULL;
#endif
Expand Down Expand Up @@ -635,11 +646,11 @@ void uninit_parse_context(OptionParseContext *octx)
av_freep(&l->groups[j].opts);
av_dict_free(&l->groups[j].codec_opts);
av_dict_free(&l->groups[j].format_opts);
av_dict_free(&l->groups[j].resample_opts);
#if CONFIG_SWSCALE
sws_freeContext(l->groups[j].sws_opts);
#endif
if(CONFIG_SWRESAMPLE)
swr_free(&l->groups[j].swr_opts);
av_dict_free(&l->groups[j].swr_opts);
}
av_freep(&l->groups);
}
Expand All @@ -656,6 +667,7 @@ int split_commandline(OptionParseContext *octx, int argc, char *argv[],
const OptionGroupDef *groups, int nb_groups)
{
int optindex = 1;
int dashdash = -2;

/* perform system-dependent conversions for arguments list */
prepare_app_arguments(&argc, &argv);
Expand All @@ -670,8 +682,12 @@ int split_commandline(OptionParseContext *octx, int argc, char *argv[],

av_log(NULL, AV_LOG_DEBUG, "Reading option '%s' ...", opt);

if (opt[0] == '-' && opt[1] == '-' && !opt[2]) {
dashdash = optindex;
continue;
}
/* unnamed group separators, e.g. output filename */
if (opt[0] != '-' || !opt[1]) {
if (opt[0] != '-' || !opt[1] || dashdash+1 == optindex) {
finish_group(octx, 0, opt);
av_log(NULL, AV_LOG_DEBUG, " matched as %s.\n", groups[0].name);
continue;
Expand Down Expand Up @@ -743,7 +759,7 @@ do { \
return AVERROR_OPTION_NOT_FOUND;
}

if (octx->cur_group.nb_opts || codec_opts || format_opts)
if (octx->cur_group.nb_opts || codec_opts || format_opts || resample_opts)
av_log(NULL, AV_LOG_WARNING, "Trailing options were found on the "
"commandline.\n");

Expand Down Expand Up @@ -1612,7 +1628,7 @@ int show_help(void *optctx, const char *opt, const char *arg)
int read_yesno(void)
{
int c = getchar();
int yesno = (toupper(c) == 'Y');
int yesno = (av_toupper(c) == 'Y');

while (c != '\n' && c != EOF)
c = getchar();
Expand Down Expand Up @@ -1733,10 +1749,8 @@ AVDictionary *filter_codec_opts(AVDictionary *opts, enum AVCodecID codec_id,
if (!codec)
codec = s->oformat ? avcodec_find_encoder(codec_id)
: avcodec_find_decoder(codec_id);
if (!codec)
return NULL;

switch (codec->type) {
switch (st->codec->codec_type) {
case AVMEDIA_TYPE_VIDEO:
prefix = 'v';
flags |= AV_OPT_FLAG_VIDEO_PARAM;
Expand Down Expand Up @@ -1848,12 +1862,6 @@ static int alloc_buffer(FrameBuffer **pool, AVCodecContext *s, FrameBuffer **pbu
av_log(s, AV_LOG_ERROR, "alloc_buffer: av_image_alloc() failed\n");
return ret;
}
/* XXX this shouldn't be needed, but some tests break without this line
* those decoders are buggy and need to be fixed.
* the following tests fail:
* cdgraphics, ansi
*/
memset(buf->base[0], 128, ret);

avcodec_get_chroma_sub_sample(s->pix_fmt, &h_chroma_shift, &v_chroma_shift);
for (i = 0; i < FF_ARRAY_ELEMS(buf->data); i++) {
Expand Down

0 comments on commit 9c728cb

Please sign in to comment.