version 2.6.1:
- avformat/mov: Disallow ".." in dref unless use_absolute_path is set
- avfilter/palettegen: make sure at least one frame was sent to the filter
- avformat/mov: Check for string truncation in mov_open_dref()
- ac3_fixed: fix out-of-bound read
- mips/asmdefs: use _ABI64 as defined by gcc
- hevc: delay ff_thread_finish_setup for hwaccel
- avcodec/012v: Check dimensions more completely
- asfenc: fix leaking asf->index_ptr on error
- roqvideoenc: set enc->avctx in roq_encode_init
- avcodec/options_table: remove extradata_size from the AVOptions table
- ffmdec: limit the backward seek to the last resync position
- Add dependencies to configure file for vf_fftfilt
- ffmdec: make sure the time base is valid
- ffmdec: fix infinite loop at EOF
- ffmdec: initialize f_cprv, f_stvi and f_stau
- arm: Suppress tags about used cpu arch and extensions
- mxfdec: Fix the error handling for when strftime fails
- avcodec/opusdec: Fix delayed sample value
- avcodec/opusdec: Clear out pointers per packet
- avcodec/utils: Align YUV411 by as much as the other YUV variants
- lavc/hevcdsp: Fix compilation for arm with --disable-neon.
- vp9: fix segmentation map retention with threading enabled.
- Revert "avutil/opencl: is_compiled flag not being cleared in av_opencl_uninit"
* Makefile: add dependencies which require ffversion.h
* Add FFMPEG_VERSION into the binary libs
* mmvideo: check frame dimensions
* jvdec: check frame dimensions
* avcodec/indeo3: ensure offsets are non negative
* avcodec/h264: Check *log2_weight_denom
* avcodec/hevc_ps: Check diff_cu_qp_delta_depth
* avcodec/h264: Clear delayed_pic on deallocation
* avcodec/hevc: clear filter_slice_edges() on allocation
* avcodec/dcadec: Check that the added xch channel isnt already there
* avcodec/indeo3: use signed variables to avoid underflow
* avcodec/h264: make the first field of H264Context an AVClass
* swscale: increase yuv2rgb table headroom
* avformat/mov: fix integer overflow of size
* avformat/mov: check atom nesting depth
* avcodec/utvideodec: Fix handling of slice_height=0
* avcodec/xface: Add asserts to limit nb_words from becoming too large
* avcodec/xface: correct the XFACE_MAX_* values
* avcodec/vmdvideo: Check len before using it in method 3
* avformat/flvdec: Use av_freep() avoid leaving stale pointers in memory
* avformat/hdsenc: Use av_freep() avoid leaving stale pointers in memory
* configure: create the tests directory like the doc directory
The most important new features are AVFoundation screen-grabbing support,
animated WebP decoding support, and Animated PNG support. In addition, many
exciting features for video streaming are also implemented, including MPEG-
DASH fragmenting muxer, HEVC RTP payload muxer, and UDP Lite support.
Add -mstackrealign -mpreferred-stack-boundary=4 to CFLAGS on i386 for all
gcc 4.x versions, this appears to still be needed with gcc 4.8.4.
Bump PKGREVISION for ffmpeg2 and ffplay2 (which uses ffmpeg2 patches)
* doc: correct license template for t2h.pm
* avformat: replace some odd 30-60 rates by higher less odd ones in get_std_framerate()
* swscale: fix yuv2yuvX_8 assembly on x86
* avcodec/hevc_ps: Check num_long_term_ref_pics_sps
* avcodec/mjpegdec: Fix integer overflow in shift
* avcodec/hevc_ps: Check return code from pps_range_extensions()
* avcodec/rawdec: Check the return code of avpicture_get_size()
* avcodec/pngdec: Check IHDR/IDAT order
* avcodec/h264_slice: Clear table pointers to avoid stale pointers
* avcodec/h264_parser: rewrite the parse_nal_units() loop logic based on h264.c
* avcodec/h264: simplify find_start_code()
* Move get_avc_nalsize() and find_start_code() to h264.h
* mpeg4vdpau: Fix priv data size.
* avformat/matroskadec: do not trust the default duration to be the real 1/timebase if its less than 5fps
* avformat/options_table: add FF_COMPLIANCE_UNOFFICIAL
* Stop demuxing wtv on eof.
version 2.4.2:
- avcodec/on2avc: Check number of channels
- avcodec/hevc: fix chroma transform_add size
- avcodec/h264: Check mode before considering mixed mode intra prediction
- avformat/mpegts: use a padded buffer in read_sl_header()
- avformat/mpegts: Check desc_len / get8() return code
- avcodec/vorbisdec: Fix off by 1 error in ptns_to_read
- sdp: add support for H.261
- avcodec/svq3: Do not memcpy AVFrame
- avcodec/smc: fix off by 1 error
- avcodec/qpeg: fix off by 1 error in MV bounds check
- avcodec/gifdec: factorize interleave end handling out
- avcodec/cinepak: fix integer underflow
- avcodec/pngdec: Check bits per pixel before setting monoblack pixel format
- avcodec/pngdec: Calculate MPNG bytewidth more defensively
- avcodec/tiff: more completely check bpp/bppcount
- avcodec/mmvideo: Bounds check 2nd line of HHV Intra blocks
- avcodec/h263dec: Fix decoding messenger.h263
- avcodec/utils: Add case for jv to avcodec_align_dimensions2()
- avcodec/mjpegdec: check bits per pixel for changes similar to dimensions
- avcodec/jpeglsdec: Check run value more completely in ls_decode_line()
- avformat/hlsenc: export inner muxer timebase
- configure: add noexecstack to linker options if supported.
- avcodec/ac3enc_template: fix out of array read
- avutil/x86/cpu: fix cpuid sub-leaf selection
- avformat/img2dec: enable generic seeking for image pipes
- avformat/img2dec: initialize pkt->pos for image pipes
- avformat/img2dec: pass error code and signal EOF
- avformat/img2dec: fix error code at EOF for pipes
- libavutil/opt: fix av_opt_set_channel_layout() to access correct memory address
- tests/fate-run.sh: Cat .err file in case of error with V>0
- avformat/riffenc: Filter out "BottomUp" in ff_put_bmp_header()
- avcodec/webp: fix default palette color 0xff000000 -> 0x00000000
- avcodec/asvenc: fix AAN scaling
- Fix compile error on arm4/arm5 platform
The FFmpeg Project proudly presents FFmpeg 2.4 "Fresnel", just 2 months
after the release of 2.3. Since this wasn't a long time ago, the Changelog
is a bit short this time.
The most important thing in this release is the major version bump of the
libraries. This means that this release is neither ABI-compatible nor
fully API-compatible. But on the other hand it is aligned with the Libav
11 release series, and will as a result probably end up being maintained for
a long time.
Important API changes since 2.3:
• The new field mime_type was added to AVProbeData, which can
cause crashes, if it is not initialized.
• Some deprecated functions were removed.
• The avfilter_graph_parse function was made compatible with Libav.
• The Matroska demuxer now outputs verbatim ASS packets.
Please refer to the doc/APIchanges file for more information.
libavformat
• Icecast protocol.
• API for live metadata updates through event flags.
• UTF-16 support in text subtitles formats.
• The ASS muxer now reorders the Dialogue events properly.
• support for H.261 RTP payload format (RFC 4587)
• HEVC/H.265 RTP payload format (draft v6) depacketizer
libavfilter
• Ported lenscorrection filter from frei0r filter.
• Large optimizations in dctdnoiz to make it usable.
• Added codecview filter to visualize information exported by some codecs.
• Added silenceremove filter.
libavutil
• Added clip() function in eval.
Behaviour changes
• dctdnoiz filter now uses a block size of 8x8 instead of 16x16 by default
• -vismv option is deprecated in favor of the codecview filter
• libmodplug is now detected through pkg-config
• HTML documentation generation through texi2html is deprecated in
favor of makeinfo/texi2any
• ICY metadata are now requested by default with the HTTP protocol
avcodec/h264_mb: fix grayscale only decoding with weighted prediction
avformat/mpegts: Use differential score for analyze()
avcodec/mjpegdec: Support AV_PIX_FMT_YUV420P16 with upscale_h
proresenc_kostya: properly account for alpha
avformat/matroskadec: Check avpriv_new_chapter() for failure
proresenc_kostya: report buffer overflow
proresenc_kostya: remove unneeded parameters
avcodec/snow: fix null pointer dereference in cleanup after allocation failure
avcodec/huffyuvdec: fix overread checks
avcodec/get_bits: add BITS_LEFT() for finding the bits left with an opened reader
avcodec/vc1dec: do not crash when flushing without an allocated frame
avdevice/pulse_audio_enc: use getter function for AVFrame.channels
MAINTAINERS: update list of releases i maintain
avcodec/avdct: Add avcodec_dct_get_class()
fate: support testing of release branches
tests/fate.sh: If cat *.rep fails try it with a for loop.
g2meet: allow size changes within original sizes
version.sh: Print versions based on the last git tag for release branches
release with all the great features committed during the three-month period
since the release of FFmpeg 2.2.
In this release, there are lots of internal overhauls that make FFmpeg a
more accessible project for new developers. Many important new
optimizations and features like QTKit and AVFoundation input devices are
committed. Contributions done by Libav such as a new native Opus decoder
are also merged.
Because of the increasing difficulty to maintain and lack of maintainers,
we are very sorry to say that we have removed all Blackfin and SPARC
architecture assembly optimizations with the cleanups done. If you are
interested in maintaining optimization for these two architecture, feel
free to contact us and we will restore the code!
Oh, and since this release, this modern-looking release note is provided in
addition to the old-style Changelog file, to make it easier for you to
focus on the most important features in this release.
Enjoy!
* ffmpeg: Use av_stream_get_parser() to avoid ABI issues
* avformat: add av_stream_get_parser() to access avformat AVParser
* avformat/utils: do not wait for packets from discarded streams for genpts
* avfilter/f_ebur128: Use av_malloc_array()
* avcodec/hevc: Use av_malloc(z)_array()
* cmdutils_opencl: Use av_malloc_array()
* avfilter/x86/vf_pullup: fix old typo
* avfilter/vf_pullup: use ptrdiff_t as stride argument for dsp functions
avformat/mpc: attempt to allocate a packet that is not smaller than the data inside it
avformat/cavsvideodec: Fix probing when the file extension is avs
cavsdec: fix qp fixed slice handling
avcodec/alsdec: Clear MPEG4AudioConfig so that no use of uninitialized memory is possible
avformat/flvenc: Do not allow creating h263/mpeg4 in flv without unofficial format extensions being enabled.
avcodec/aic: fix quantization table permutation
avutil/lzo: add asserts to be double sure against overflows
avutil/lzo: Fix integer overflow
Show duration for large asf files as written in the file header.
* avformat/h263dec/h263_probe: Check TR
* avformat/h263dec/h263_probe: Check PSC bit 9 and 13 in
* avformat/h263dec: shift data in state to make more bits available to probe
* avcodec/svq3: Fix "incompatible pointer type" warnings
* avformat/utils: Call ff_rfps_add_frame() only for video
* avformat/flvenc: fix assertion failure after 4h muxing
* avcodec/mss4: Fix () in MKVAL() macro
* avcodec/mss34dsp: fix () in SOP* macros
more...
* avcodec/dirac_arith: Fix build with PIC and stack-check options
* swscale/x86/swscale_template: loose hardcoded dstw_offset
* swresample/resample: use av_malloc_array() where appropriate
* swresample/dither: use av_malloc_array()
* swresample/resample: Limit filter length
* avcodec/msrle: check return code for success before use
* avcodec/pthread_frame: fix missing unlock on error
* examples/avio_reading: fix null dereference on error
* avformat/omadec: fix probetest failure
* avcodec/wma: use av_freep(), do not leave stale pointers in memory
* lavu/opt: validate range before dereference
* avcodec/h264: clear cur_pic structure instead of duplicating it in ff_h264_update_thread_context()
* avfilter/vf_pullup: fix gray8
* avcodec/libx264: move where x264opts is applied down so it isnt overridden by avctx & defaults
- HNM version 4 demuxer and video decoder
- Live HDS muxer
- setsar/setdar filters now support variables in ratio expressions
- elbg filter
- string validation in ffprobe
- support for decoding through VDPAU in ffmpeg (the -hwaccel option)
- complete Voxware MetaSound decoder
- remove mp3_header_compress bitstream filter
- Windows resource files for shared libraries
- aeval filter
- stereoscopic 3d metadata handling
- WebP encoding via libwebp
- ATRAC3+ decoder
- VP8 in Ogg demuxing
- side & metadata support in NUT
- framepack filter
- XYZ12 rawvideo support in NUT
- Exif metadata support in WebP decoder
- OpenGL device
- Use metadata_header_padding to control padding in ID3 tags (currently used in
MP3, AIFF, and OMA files), FLAC header, and the AVI "junk" block.
- Mirillis FIC video decoder
- Support DNx444
- libx265 encoder
- dejudder filter
- Autodetect VDA like all other hardware accelerations
* avcodec/hevc: Simplify get_qPy_pred()
* avcodec/mpeg4videodec: Check for bitstream overread in decode_vol_header()
* avcodec/h264: use subsample factors of the used pixel format
* avformat/bink: Check return value of av_add_index_entry()
* avcodec/h264: more completely check the loop filter parameters
* avcodec/alsdec: check predictor order against block length
* avcodec/hevc_ps: Use get_bits_long() in decode_vui()
* avcodec/hevc: make check for previous slice segment tighter
* avcodec/hevc: clear tab_slice_address of ctb on error.
* avcodec/hevc: hls_decode_entry: check that the previous slice segment is available before decoding the next
* avcodec/hevc: clear tab_slice_address in hevc_frame_start()
* avcodec/h264: update current_sps & sps->new only after the whole slice header decoder and init code finished
* avcodec/h264: Disallow pps_id changing between slices
* avcodec/aacdec: Fix pulse position checks in decode_pulses()
* avcodec/hevc: propagate error code from hls_coding_quadtree()
* avcodec/tiff: reset geotag_count in free_geotags()
* avcodec/vc1: Check bfraction_lut_index
* avcodec/vc1: factor read_bfraction() out
* avcodec/vc1dec: field pictures with direct mode MBs, followed by frame pictures are not supported
* library.mak: only run asm strip if ASMSTRIP flags are set
* configure: remove code that disables striping in the absence of some flags
* This more closely matches the actual use, also we use plain strip without these flags for striping
* avformat/utils/av_probe_input_buffer2: fix buffer passed to ffio_rewind_with_probe_data()
* avformat/utils/av_probe_input_buffer2: fix offset check
* avformat/utils/av_probe_input_buffer2: Fix pd.buf_size
Fix a crash on oom when decoding hevc.
avcodec/hevc: Check entry point arrays for malloc failure
hevc: Bound check slice_qp
hevc: Reject impossible dependent tile
hevc: remove useless clip in FUNC(sao_band_filter)()
hevc: clip pixels when transquant bypass is used
- aecho filter
- perspective filter ported from libmpcodecs
- ffprobe -show_programs option
- compand filter
- RTMP seek support
- when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate
even when used as an input option. Previous behavior can be restored with
the -noaccurate_seek option.
- ffmpeg -t option can now be used for inputs, to limit the duration of
data read from an input file
- incomplete Voxware MetaSound decoder
- read EXIF metadata from JPEG
- DVB teletext decoder
- phase filter ported from libmpcodecs
- w3fdif filter
- Opus support in Matroska
- FFV1 version 1.3 is stable and no longer experimental
- FFV1: YUVA(444,422,420) 9, 10 and 16 bit support
- changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be
more consistent with other muxers.
- adelay filter
- pullup filter ported from libmpcodecs
- ffprobe -read_intervals option
- Lossless and alpha support for WebP decoder
- Error Resilient AAC syntax (ER AAC LC) decoding
- Low Delay AAC (ER AAC LD) decoding
- mux chapters in ASF files
- SFTP protocol (via libssh)
- libx264: add ability to encode in YUVJ422P and YUVJ444P
- Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does
- make decoding alpha optional for prores, ffv1 and vp6 by setting
the skip_alpha flag.
- ladspa wrapper filter
- native VP9 decoder
- dpx parser
- max_error_rate parameter in ffmpeg
- PulseAudio output device
- ReplayGain scanner
- Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
- Linux framebuffer output device
- HEVC decoder, raw HEVC demuxer, HEVC demuxing in TS, Matroska and MP4
- mergeplanes filter