From da0dadb936f101b8a7a111fd255e12063c3af9f3 Mon Sep 17 00:00:00 2001 From: Jason Garrett-Glaser Date: Tue, 21 Jun 2011 10:45:22 +0200 Subject: [PATCH 01/13] Fix H.264 4:4:4 lossless decoding. The coefficient test for i16x16 add_pixels4 assumed luma plane. --- libavcodec/h264.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index cc1117231a..5170a559b0 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); } } From 3cb64e327a9861f2c8fff0b3850fcd5d14acdbe3 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 21 Jun 2011 13:17:10 +0200 Subject: [PATCH 02/13] wma: fix infinite loop Signed-off-by: Michael Niedermayer --- libavcodec/wmadec.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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; From df1768d0a261900c8fbb6c29c7f351779c4c2735 Mon Sep 17 00:00:00 2001 From: Gavin Kinsey Date: Tue, 21 Jun 2011 13:13:37 +0100 Subject: [PATCH 03/13] Fix segmentation fault in ffprobe --- ffprobe.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ffprobe.c b/ffprobe.c index f0ec9e4739..a2a9c2ad36 100644 --- a/ffprobe.c +++ b/ffprobe.c @@ -395,6 +395,7 @@ int main(int argc, char **argv) int ret; av_register_all(); + init_opts(); #if CONFIG_AVDEVICE avdevice_register_all(); #endif From 06724c5f5d07c4fee271832349d8f562db8b409b Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 21 Jun 2011 14:38:58 +0200 Subject: [PATCH 04/13] ffprobe: remove duplicate avformat_alloc_context() Signed-off-by: Michael Niedermayer --- ffprobe.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/ffprobe.c b/ffprobe.c index a2a9c2ad36..a2b27c3745 100644 --- a/ffprobe.c +++ b/ffprobe.c @@ -400,8 +400,6 @@ int main(int argc, char **argv) avdevice_register_all(); #endif - avformat_opts = avformat_alloc_context(); - show_banner(); parse_options(argc, argv, options, opt_input_file); From ad3ac1d507a9c99795f4f2a0c468fc4658f44788 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 21 Jun 2011 16:36:23 +0200 Subject: [PATCH 05/13] build system: disable memalign on haiku, its not reliable there. Signed-off-by: Michael Niedermayer --- configure | 5 +++++ 1 file changed, 5 insertions(+) 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 From 3afc647eda5cdad8407c43ce36aa2241e17f96e7 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 21 Jun 2011 16:37:11 +0200 Subject: [PATCH 06/13] release_notes: we do support releases Signed-off-by: Michael Niedermayer --- doc/RELEASE_NOTES | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/RELEASE_NOTES b/doc/RELEASE_NOTES index db3864d0e4..297c0cc4f5 100644 --- a/doc/RELEASE_NOTES +++ b/doc/RELEASE_NOTES @@ -20,11 +20,11 @@ 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. API changes From 6324a5a4a2f4486ad7089bad4812f6ed688c4a2e Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 21 Jun 2011 16:43:45 +0200 Subject: [PATCH 07/13] release_notes: suggest git log instead of the poorly maintained APIChanges Signed-off-by: Michael Niedermayer --- doc/RELEASE_NOTES | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/RELEASE_NOTES b/doc/RELEASE_NOTES index 297c0cc4f5..ab96596e39 100644 --- a/doc/RELEASE_NOTES +++ b/doc/RELEASE_NOTES @@ -30,7 +30,8 @@ guidelines. API changes ----------- -Please see the file doc/APIchanges for programmer-centric information. Note that a +Please see git log of the public headers or 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. From 5114e36d0860a9056da005d95dd0a3cf74124340 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 21 Jun 2011 17:02:14 +0200 Subject: [PATCH 08/13] release_notes: there will be 2 releases each for one ABI/API. Signed-off-by: Michael Niedermayer --- doc/RELEASE_NOTES | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/RELEASE_NOTES b/doc/RELEASE_NOTES index ab96596e39..473b0b2926 100644 --- a/doc/RELEASE_NOTES +++ b/doc/RELEASE_NOTES @@ -1,7 +1,9 @@ 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 ------------- From c0c5053587487fc066c0e8adac30568b5fdcf15c Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 21 Jun 2011 17:06:35 +0200 Subject: [PATCH 09/13] release_notes: mention more codecs Signed-off-by: Michael Niedermayer --- doc/RELEASE_NOTES | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/RELEASE_NOTES b/doc/RELEASE_NOTES index 473b0b2926..39dd1060de 100644 --- a/doc/RELEASE_NOTES +++ b/doc/RELEASE_NOTES @@ -9,7 +9,8 @@ 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 9b80c510665bce4b4acd8521443f619ccaa109c6 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 21 Jun 2011 17:08:01 +0200 Subject: [PATCH 10/13] release_notes: fix version Signed-off-by: Michael Niedermayer --- doc/RELEASE_NOTES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/RELEASE_NOTES b/doc/RELEASE_NOTES index 39dd1060de..6564002621 100644 --- a/doc/RELEASE_NOTES +++ b/doc/RELEASE_NOTES @@ -12,7 +12,7 @@ This release enables frame-based multithreaded decoding for a number of codecs, 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 +libraries have been bumped. On the one hand, this means that 0.8 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. From e1674d7ef7e25d9c37b8f6a6fdac2bba93692fef Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 21 Jun 2011 17:52:16 +0200 Subject: [PATCH 11/13] presets: forgotten libvpx presets Signed-off-by: Michael Niedermayer --- ffpresets/libvpx-1080p.ffpreset | 17 +++++++++++++++++ ffpresets/libvpx-1080p50_60.ffpreset | 17 +++++++++++++++++ ffpresets/libvpx-360p.ffpreset | 16 ++++++++++++++++ ffpresets/libvpx-720p.ffpreset | 17 +++++++++++++++++ ffpresets/libvpx-720p50_60.ffpreset | 17 +++++++++++++++++ 5 files changed, 84 insertions(+) create mode 100644 ffpresets/libvpx-1080p.ffpreset create mode 100644 ffpresets/libvpx-1080p50_60.ffpreset create mode 100644 ffpresets/libvpx-360p.ffpreset create mode 100644 ffpresets/libvpx-720p.ffpreset create mode 100644 ffpresets/libvpx-720p50_60.ffpreset 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 From 0452f77f49e92bc67cc2aea5b9c4470cd457ca1d Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 21 Jun 2011 18:16:16 +0200 Subject: [PATCH 12/13] release_notes: some updates Signed-off-by: Michael Niedermayer --- doc/RELEASE_NOTES | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/doc/RELEASE_NOTES b/doc/RELEASE_NOTES index 6564002621..4e4b0e630b 100644 --- a/doc/RELEASE_NOTES +++ b/doc/RELEASE_NOTES @@ -12,11 +12,12 @@ This release enables frame-based multithreaded decoding for a number of codecs, 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.8 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. @@ -34,16 +35,22 @@ API changes ----------- Please see git log of the public headers or 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. +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 From 250cebeb3b348c3da71f9972eb500d6005dc01f1 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 21 Jun 2011 20:58:39 +0200 Subject: [PATCH 13/13] release_notes: document not fully understood mingw-sdl issue Signed-off-by: Michael Niedermayer --- doc/RELEASE_NOTES | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/RELEASE_NOTES b/doc/RELEASE_NOTES index 4e4b0e630b..7861bfd4bc 100644 --- a/doc/RELEASE_NOTES +++ b/doc/RELEASE_NOTES @@ -30,6 +30,8 @@ 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 -----------