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>
This commit is contained in:
Michael Niedermayer 2011-06-21 21:13:49 +02:00
commit df3850db49
10 changed files with 122 additions and 21 deletions

5
configure vendored
View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -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);
}
}

View File

@ -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;