mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-13 10:30:05 +01:00
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:
5
configure
vendored
5
configure
vendored
@@ -3148,6 +3148,11 @@ check_deps $CONFIG_LIST \
|
|||||||
|
|
||||||
enabled asm || { arch=c; disable $ARCH_LIST $ARCH_EXT_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 memalign posix_memalign malloc_aligned &&
|
||||||
enabled_any $need_memalign && enable memalign_hack
|
enabled_any $need_memalign && enable memalign_hack
|
||||||
|
|
||||||
|
|||||||
@@ -1,45 +1,58 @@
|
|||||||
Release Notes
|
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
|
General notes
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
This release enables frame-based multithreaded decoding for a number of codecs,
|
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
|
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 except libpostproc have been bumped. This means that 0.8 can be installed
|
||||||
side-by-side with previous releases, on the other hand, in order to benefit
|
side-by-side with previous releases, on the other hand applications need to be
|
||||||
from the new features, applications need to be recompiled.
|
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
|
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
|
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.
|
HTTP Live Streaming, SAP, IEC 61937 (S/PDIF) have been added.
|
||||||
|
|
||||||
See the Changelog file for a list of significant changes.
|
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
|
Bugreports against FFmpeg git master or the most recent FFmpeg release are
|
||||||
bug reports against HEAD of the FFmpeg trunk repository. If you are experiencing
|
accepted. If you are experiencing issues with any formally released version of
|
||||||
issues with any formally released version of FFmpeg, please try a current version
|
FFmpeg, please try git master to check if the issue still exists. If it does,
|
||||||
of the development code to check if the issue still exists. If it does, make your
|
make your report against the development code following the usual bug reporting
|
||||||
report against the development code following the usual bug reporting guidelines.
|
guidelines.
|
||||||
|
|
||||||
|
Note, if you have difficulty building for mingw, try --disable-outdev=sdl
|
||||||
|
|
||||||
|
|
||||||
API changes
|
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
|
||||||
lot of long-time deprecated APIs have been removed. Also, a number of additional
|
programmer-centric information. Note that some long-time deprecated APIs have
|
||||||
APIs have been deprecated and are scheduled for removal in the next release.
|
been removed. Also, a number of additional APIs have been deprecated and might
|
||||||
|
be removed in the next release.
|
||||||
|
|
||||||
|
|
||||||
Other notable changes
|
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
|
- many ARM NEON optimizations
|
||||||
- libswscale cleanup started, optimizations should become easier in the future
|
|
||||||
- nonfree libfaad support for AAC decoding removed
|
- nonfree libfaad support for AAC decoding removed
|
||||||
- 4:4:4 H.264 decoding
|
- 4:4:4 H.264 decoding
|
||||||
- 9/10bit H.264 decoding
|
- 9/10bit H.264 decoding
|
||||||
|
|||||||
17
ffpresets/libvpx-1080p.ffpreset
Normal file
17
ffpresets/libvpx-1080p.ffpreset
Normal 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
|
||||||
17
ffpresets/libvpx-1080p50_60.ffpreset
Normal file
17
ffpresets/libvpx-1080p50_60.ffpreset
Normal 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
|
||||||
16
ffpresets/libvpx-360p.ffpreset
Normal file
16
ffpresets/libvpx-360p.ffpreset
Normal 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
|
||||||
17
ffpresets/libvpx-720p.ffpreset
Normal file
17
ffpresets/libvpx-720p.ffpreset
Normal 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
|
||||||
17
ffpresets/libvpx-720p50_60.ffpreset
Normal file
17
ffpresets/libvpx-720p50_60.ffpreset
Normal 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
|
||||||
@@ -395,12 +395,11 @@ int main(int argc, char **argv)
|
|||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
av_register_all();
|
av_register_all();
|
||||||
|
init_opts();
|
||||||
#if CONFIG_AVDEVICE
|
#if CONFIG_AVDEVICE
|
||||||
avdevice_register_all();
|
avdevice_register_all();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
avformat_opts = avformat_alloc_context();
|
|
||||||
|
|
||||||
show_banner();
|
show_banner();
|
||||||
parse_options(argc, argv, options, opt_input_file);
|
parse_options(argc, argv, options, opt_input_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);
|
h->hpc.pred16x16_add[h->intra16x16_pred_mode](dest_y, block_offset, h->mb + (p*256 << pixel_shift), linesize);
|
||||||
}else{
|
}else{
|
||||||
for(i=0; i<16; i++){
|
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);
|
s->dsp.add_pixels4(dest_y + block_offset[i], h->mb + (i*16+p*256 << pixel_shift), linesize);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -828,7 +828,8 @@ static int wma_decode_superframe(AVCodecContext *avctx,
|
|||||||
}
|
}
|
||||||
if (buf_size < s->block_align)
|
if (buf_size < s->block_align)
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
buf_size = s->block_align;
|
if(s->block_align)
|
||||||
|
buf_size = s->block_align;
|
||||||
|
|
||||||
samples = data;
|
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);
|
//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;
|
*data_size = (int8_t *)samples - (int8_t *)data;
|
||||||
return s->block_align;
|
return buf_size;
|
||||||
fail:
|
fail:
|
||||||
/* when error, we reset the bit reservoir */
|
/* when error, we reset the bit reservoir */
|
||||||
s->last_superframe_len = 0;
|
s->last_superframe_len = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user