aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-06-21 21:13:49 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-06-21 21:14:36 +0200
commitdf3850db4958c44e8e4d5aa0fece71c03a51372b (patch)
treedc747b463c44fd26356f0228f88cb387f31c1820
parent082b4f8348c6d8fc110969692c2a2ccf81f4e20c (diff)
parent250cebeb3b348c3da71f9972eb500d6005dc01f1 (diff)
downloadffmpeg-df3850db4958c44e8e4d5aa0fece71c03a51372b.tar.gz
Merge branch 'master' into oldabi
* master: release_notes: document not fully understood mingw-sdl issue release_notes: some updates presets: forgotten libvpx presets release_notes: fix version release_notes: mention more codecs Signed-off-by: Michael Niedermayer <michaelni@gmx.at> release_notes: there will be 2 releases each for one ABI/API. release_notes: suggest git log instead of the poorly maintained APIChanges release_notes: we do support releases build system: disable memalign on haiku, its not reliable there. ffprobe: remove duplicate avformat_alloc_context() Fix segmentation fault in ffprobe wma: fix infinite loop Fix H.264 4:4:4 lossless decoding. Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rwxr-xr-xconfigure5
-rw-r--r--doc/RELEASE_NOTES43
-rw-r--r--ffpresets/libvpx-1080p.ffpreset17
-rw-r--r--ffpresets/libvpx-1080p50_60.ffpreset17
-rw-r--r--ffpresets/libvpx-360p.ffpreset16
-rw-r--r--ffpresets/libvpx-720p.ffpreset17
-rw-r--r--ffpresets/libvpx-720p50_60.ffpreset17
-rw-r--r--ffprobe.c3
-rw-r--r--libavcodec/h264.c2
-rw-r--r--libavcodec/wmadec.c6
10 files changed, 122 insertions, 21 deletions
diff --git a/configure b/configure
index 84d8feba1b..c9eedaf974 100755
--- a/configure
+++ b/configure
@@ -3148,6 +3148,11 @@ check_deps $CONFIG_LIST \
enabled asm || { arch=c; disable $ARCH_LIST $ARCH_EXT_LIST; }
+if test $target_os == "haiku"; then
+ disable memalign
+ disable posix_memalign
+fi
+
! enabled_any memalign posix_memalign malloc_aligned &&
enabled_any $need_memalign && enable memalign_hack
diff --git a/doc/RELEASE_NOTES b/doc/RELEASE_NOTES
index db3864d0e4..7861bfd4bc 100644
--- a/doc/RELEASE_NOTES
+++ b/doc/RELEASE_NOTES
@@ -1,45 +1,58 @@
Release Notes
=============
-* 0.7 "Love and Peace" June, 2011
+* 0.8 "Love" June, 2011
+* 0.7 "Peace" June, 2011 (identical to 0.8 but using 0.6 ABI/API)
+
General notes
-------------
This release enables frame-based multithreaded decoding for a number of codecs,
-including VP8, H.263 and H.264. Additionally, there has been a major cleanup of
+including theora, huffyuv, VP8, H.263, mpeg4 and H.264. Additionally, there has
+been a major cleanup of
both internal and external APIs. For this reason, the major versions of all
-libraries have been bumped. On the one hand, this means that 0.7 can be installed
-side-by-side with previous releases, on the other hand, in order to benefit
-from the new features, applications need to be recompiled.
+libraries except libpostproc have been bumped. This means that 0.8 can be installed
+side-by-side with previous releases, on the other hand applications need to be
+recompiled to use 0.8.
-Other important changes are additions of decoders including, but not limited to,
+Other important changes are more than 200 bugfixes, known regressions were fixed
+w.r.t 0.5 and 0.6, additions of decoders including, but not limited to,
AMR-WB, single stream LATM/LOAS, G.722 ADPCM, a native VP8 decoder
and HE-AACv2. Additionally, many new de/muxers such as WebM in Matroska, Apple
HTTP Live Streaming, SAP, IEC 61937 (S/PDIF) have been added.
See the Changelog file for a list of significant changes.
-Please note that our policy on bug reports has not changed. We still only accept
-bug reports against HEAD of the FFmpeg trunk repository. If you are experiencing
-issues with any formally released version of FFmpeg, please try a current version
-of the development code to check if the issue still exists. If it does, make your
-report against the development code following the usual bug reporting guidelines.
+Bugreports against FFmpeg git master or the most recent FFmpeg release are
+accepted. If you are experiencing issues with any formally released version of
+FFmpeg, please try git master to check if the issue still exists. If it does,
+make your report against the development code following the usual bug reporting
+guidelines.
+
+Note, if you have difficulty building for mingw, try --disable-outdev=sdl
API changes
-----------
-Please see the file doc/APIchanges for programmer-centric information. Note that a
-lot of long-time deprecated APIs have been removed. Also, a number of additional
-APIs have been deprecated and are scheduled for removal in the next release.
+Please see git log of the public headers or the file doc/APIchanges for
+programmer-centric information. Note that some long-time deprecated APIs have
+been removed. Also, a number of additional APIs have been deprecated and might
+be removed in the next release.
Other notable changes
---------------------
+- high quality dithering in swscale to fix banding issues
+- ffmpeg is now interactive and various information can be turned on/off while its running
+- resolution changing support in ffmpeg
+- sdl output device
+- optimizations in libavfilter that make it much faster
+- split, buffer, select, lut, negate filters amongth others
+- more than 50 new video filters from mplayers libmpcodecs
- many ARM NEON optimizations
-- libswscale cleanup started, optimizations should become easier in the future
- nonfree libfaad support for AAC decoding removed
- 4:4:4 H.264 decoding
- 9/10bit H.264 decoding
diff --git a/ffpresets/libvpx-1080p.ffpreset b/ffpresets/libvpx-1080p.ffpreset
new file mode 100644
index 0000000000..47dd7624a7
--- /dev/null
+++ b/ffpresets/libvpx-1080p.ffpreset
@@ -0,0 +1,17 @@
+vcodec=libvpx
+g=120
+rc_lookahead=16
+quality=good
+speed=0
+profile=1
+qmax=51
+qmin=11
+slices=4
+vb=2M
+
+#ignored unless using -pass 2
+maxrate=24M
+minrate=100k
+arnr_max_frames=7
+arnr_strength=5
+arnr_type=3
diff --git a/ffpresets/libvpx-1080p50_60.ffpreset b/ffpresets/libvpx-1080p50_60.ffpreset
new file mode 100644
index 0000000000..8942a125a4
--- /dev/null
+++ b/ffpresets/libvpx-1080p50_60.ffpreset
@@ -0,0 +1,17 @@
+vcodec=libvpx
+g=120
+rc_lookahead=25
+quality=good
+speed=0
+profile=1
+qmax=51
+qmin=11
+slices=4
+vb=2M
+
+#ignored unless using -pass 2
+maxrate=24M
+minrate=100k
+arnr_max_frames=7
+arnr_strength=5
+arnr_type=3
diff --git a/ffpresets/libvpx-360p.ffpreset b/ffpresets/libvpx-360p.ffpreset
new file mode 100644
index 0000000000..0859fb7273
--- /dev/null
+++ b/ffpresets/libvpx-360p.ffpreset
@@ -0,0 +1,16 @@
+vcodec=libvpx
+g=120
+rc_lookahead=16
+quality=good
+speed=0
+profile=0
+qmax=63
+qmin=0
+vb=768k
+
+#ignored unless using -pass 2
+maxrate=1.5M
+minrate=40k
+arnr_max_frames=7
+arnr_strength=5
+arnr_type=3
diff --git a/ffpresets/libvpx-720p.ffpreset b/ffpresets/libvpx-720p.ffpreset
new file mode 100644
index 0000000000..84fe37d952
--- /dev/null
+++ b/ffpresets/libvpx-720p.ffpreset
@@ -0,0 +1,17 @@
+vcodec=libvpx
+g=120
+rc_lookahead=16
+quality=good
+speed=0
+profile=0
+qmax=51
+qmin=11
+slices=4
+vb=2M
+
+#ignored unless using -pass 2
+maxrate=24M
+minrate=100k
+arnr_max_frames=7
+arnr_strength=5
+arnr_type=3
diff --git a/ffpresets/libvpx-720p50_60.ffpreset b/ffpresets/libvpx-720p50_60.ffpreset
new file mode 100644
index 0000000000..848754a753
--- /dev/null
+++ b/ffpresets/libvpx-720p50_60.ffpreset
@@ -0,0 +1,17 @@
+vcodec=libvpx
+g=120
+rc_lookahead=25
+quality=good
+speed=0
+profile=0
+qmax=51
+qmin=11
+slices=4
+vb=2M
+
+#ignored unless using -pass 2
+maxrate=24M
+minrate=100k
+arnr_max_frames=7
+arnr_strength=5
+arnr_type=3
diff --git a/ffprobe.c b/ffprobe.c
index 39e7b76b0d..b2b2c8fd9c 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -395,12 +395,11 @@ int main(int argc, char **argv)
int ret;
av_register_all();
+ init_opts();
#if CONFIG_AVDEVICE
avdevice_register_all();
#endif
- avformat_opts = avformat_alloc_context();
-
show_banner();
parse_options(argc, argv, options, opt_input_file);
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 44bacffb90..419f7c5b84 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -1744,7 +1744,7 @@ static av_always_inline void hl_decode_mb_idct_luma(H264Context *h, int mb_type,
h->hpc.pred16x16_add[h->intra16x16_pred_mode](dest_y, block_offset, h->mb + (p*256 << pixel_shift), linesize);
}else{
for(i=0; i<16; i++){
- if(h->non_zero_count_cache[ scan8[i+p*16] ] || dctcoef_get(h->mb, pixel_shift, i*16))
+ if(h->non_zero_count_cache[ scan8[i+p*16] ] || dctcoef_get(h->mb, pixel_shift, i*16+p*256))
s->dsp.add_pixels4(dest_y + block_offset[i], h->mb + (i*16+p*256 << pixel_shift), linesize);
}
}
diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c
index 840025d493..9eaf230b01 100644
--- a/libavcodec/wmadec.c
+++ b/libavcodec/wmadec.c
@@ -828,7 +828,8 @@ static int wma_decode_superframe(AVCodecContext *avctx,
}
if (buf_size < s->block_align)
return AVERROR(EINVAL);
- buf_size = s->block_align;
+ if(s->block_align)
+ buf_size = s->block_align;
samples = data;
@@ -911,9 +912,8 @@ static int wma_decode_superframe(AVCodecContext *avctx,
}
//av_log(NULL, AV_LOG_ERROR, "%d %d %d %d outbytes:%d eaten:%d\n", s->frame_len_bits, s->block_len_bits, s->frame_len, s->block_len, (int8_t *)samples - (int8_t *)data, s->block_align);
-
*data_size = (int8_t *)samples - (int8_t *)data;
- return s->block_align;
+ return buf_size;
fail:
/* when error, we reset the bit reservoir */
s->last_superframe_len = 0;