diff --git a/RELEASE b/RELEASE new file mode 100644 index 0000000000..eb49d7c7fd --- /dev/null +++ b/RELEASE @@ -0,0 +1 @@ +0.7 diff --git a/configure b/configure index 552c8e0a82..84d8feba1b 100755 --- a/configure +++ b/configure @@ -2100,6 +2100,7 @@ elif $cc -v 2>&1 | grep -q 'PathScale\|Path64'; then AS_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@' speed_cflags='-O2' size_cflags='-Os' + filter_cflags='filter_out -Wdisabled-optimization' elif $cc -v 2>&1 | grep -q Open64; then cc_type=open64 cc_version=__OPEN64__ @@ -2108,6 +2109,7 @@ elif $cc -v 2>&1 | grep -q Open64; then AS_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@' speed_cflags='-O2' size_cflags='-Os' + filter_cflags='filter_out -Wdisabled-optimization|-Wtype-limits|-fno-signed-zeros' fi test -n "$cc_type" && enable $cc_type || diff --git a/doc/RELEASE_NOTES b/doc/RELEASE_NOTES new file mode 100644 index 0000000000..db3864d0e4 --- /dev/null +++ b/doc/RELEASE_NOTES @@ -0,0 +1,52 @@ +Release Notes +============= + +* 0.7 "Love and Peace" June, 2011 + +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 +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. + +Other important changes are 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. + + +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. + + +Other notable changes +--------------------- + +- 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 +- Win64 Assembler support +- native MMSH/MMST support +- Windows TV demuxing +- native AMR-WB decoding +- native GSM-MS decoding +- SMPTE 302M decoding +- AVS encoding diff --git a/libavcodec/h264.c b/libavcodec/h264.c index ca7867e11c..b22d5e2938 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -1014,7 +1014,7 @@ int ff_h264_decode_extradata(H264Context *h) { AVCodecContext *avctx = h->s.avctx; - if(*(char *)avctx->extradata == 1){ + if(avctx->extradata[0] == 1){ int i, cnt, nalsize; unsigned char *p = avctx->extradata; @@ -1049,7 +1049,7 @@ int ff_h264_decode_extradata(H264Context *h) p += nalsize; } // Now store right nal length size, that will be use to parse all other nals - h->nal_length_size = ((*(((char*)(avctx->extradata))+4))&0x03)+1; + h->nal_length_size = (avctx->extradata[4] & 0x03) + 1; } else { h->is_avc = 0; if(decode_nal_units(h, avctx->extradata, avctx->extradata_size) < 0) diff --git a/libavcodec/sipr.c b/libavcodec/sipr.c index b96e3b9024..9befe8a158 100644 --- a/libavcodec/sipr.c +++ b/libavcodec/sipr.c @@ -23,6 +23,7 @@ #include #include +#include #include "libavutil/mathematics.h" #include "avcodec.h" @@ -461,7 +462,7 @@ static void decode_frame(SiprContext *ctx, SiprParameters *params, memcpy(ctx->postfilter_syn5k0, ctx->postfilter_syn5k0 + frame_size, LP_FILTER_ORDER*sizeof(float)); } - memcpy(ctx->excitation, excitation - PITCH_DELAY_MAX - L_INTERPOL, + memmove(ctx->excitation, excitation - PITCH_DELAY_MAX - L_INTERPOL, (PITCH_DELAY_MAX + L_INTERPOL) * sizeof(float)); ff_acelp_apply_order_2_transfer_function(out_data, synth, @@ -495,8 +496,6 @@ static av_cold int sipr_decoder_init(AVCodecContext * avctx) avctx->sample_fmt = AV_SAMPLE_FMT_FLT; - dsputil_init(&ctx->dsp, avctx); - return 0; } diff --git a/libavcodec/sipr.h b/libavcodec/sipr.h index 66e7696466..3bb0b37016 100644 --- a/libavcodec/sipr.h +++ b/libavcodec/sipr.h @@ -55,7 +55,6 @@ typedef enum { typedef struct { AVCodecContext *avctx; - DSPContext dsp; SiprMode mode; diff --git a/version.sh b/version.sh index 51bca4f21a..41ae520ecc 100755 --- a/version.sh +++ b/version.sh @@ -3,11 +3,10 @@ # check for git short hash if ! test "$revision"; then revision=$(cd "$1" && git describe --tags --match N 2> /dev/null) - test "$revision" && revision=git-$revision fi # no revision number found -test "$revision" || revision=UNKNOWN +test "$revision" || revision=$(cd "$1" && cat RELEASE 2> /dev/null) # releases extract the version number from the VERSION file version=$(cd "$1" && cat VERSION 2> /dev/null)