[FFmpeg-cvslog] avcodec: Add avpriv_codec_get_cap_skip_frame_fill_param()
ffmpeg | branch: master | Michael Niedermayer | Wed Apr 20 19:19:25 2016 +0200| [0de99ab06f707e71a3c3bb30083d1cc324ba9c26] | committer: Michael Niedermayer avcodec: Add avpriv_codec_get_cap_skip_frame_fill_param() With this the use of the caps_internal from libavformat can be avoided Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0de99ab06f707e71a3c3bb30083d1cc324ba9c26 --- libavcodec/internal.h |2 ++ libavcodec/utils.c|4 libavcodec/version.h |2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libavcodec/internal.h b/libavcodec/internal.h index 24d320c..6c0efec 100644 --- a/libavcodec/internal.h +++ b/libavcodec/internal.h @@ -293,6 +293,8 @@ const uint8_t *avpriv_find_start_code(const uint8_t *p, const uint8_t *end, uint32_t *state); +int avpriv_codec_get_cap_skip_frame_fill_param(const AVCodec *codec); + /** * Check that the provided frame dimensions are valid and set them on the codec * context. diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 44843a4..9766bb0 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -1160,6 +1160,10 @@ int av_codec_get_max_lowres(const AVCodec *codec) return codec->max_lowres; } +int avpriv_codec_get_cap_skip_frame_fill_param(const AVCodec *codec){ +return !!(codec->caps_internal & FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM); +} + static void get_subtitle_defaults(AVSubtitle *sub) { memset(sub, 0, sizeof(*sub)); diff --git a/libavcodec/version.h b/libavcodec/version.h index b8ef9c5..8712425 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -28,7 +28,7 @@ #include "libavutil/version.h" #define LIBAVCODEC_VERSION_MAJOR 57 -#define LIBAVCODEC_VERSION_MINOR 35 +#define LIBAVCODEC_VERSION_MINOR 36 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/utils: Remove use of caps_internal as it is not public API
ffmpeg | branch: master | Michael Niedermayer | Thu Apr 21 13:35:22 2016 +0200| [a0b92788a885f4a424d74e04b942ade0cca25403] | committer: Michael Niedermayer avformat/utils: Remove use of caps_internal as it is not public API Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a0b92788a885f4a424d74e04b942ade0cca25403 --- libavformat/utils.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index b43cfb1..566c7b8 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2879,7 +2879,7 @@ static int try_decode_frame(AVFormatContext *s, AVStream *st, AVPacket *avpkt, goto fail; } -if (avctx->codec->caps_internal & FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM) { +if (avpriv_codec_get_cap_skip_frame_fill_param(avctx->codec)) { do_skip_frame = 1; skip_frame = avctx->skip_frame; avctx->skip_frame = AVDISCARD_ALL; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Changelog: Make formating consistent
ffmpeg | branch: release/3.0 | Michael Niedermayer | Mon Apr 4 22:45:14 2016 +0200| [6103a8453fadf53f87fe4198db41cb6a5a7420dc] | committer: Michael Niedermayer Changelog: Make formating consistent Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6103a8453fadf53f87fe4198db41cb6a5a7420dc --- Changelog | 80 ++--- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/Changelog b/Changelog index 7556ada..8776e0d 100644 --- a/Changelog +++ b/Changelog @@ -2,46 +2,46 @@ Entries are sorted chronologically from oldest to youngest within each release, releases are sorted from youngest to oldest. version 3.0.1: -avcodec/libutvideodec: copy frame so it has reference counters when refcounted_frames is set -avformat/rtpdec_jpeg: fix low contrast image on low quality setting -avformat/mpegtsenc: Fix used service -avformat/mpegtsenc: Keep track of the program for each service -avformat/file: Add crypto to default whitelist -avcodec/mjpegenc_common: Store approximate aspect if exact cannot be stored -lavc/hevc: Allow arbitrary garbage in bytestream as long as at least one NAL unit is found. -avcodec/resample: Remove disabled and faulty code -indeo2: Fix banding artefacts -indeo2data: K&R formatting cosmetics -avformat/hlsenc: Fix passing options, regression since bc9a5965c815cf7fd998d8ce14a18b8e861dd9ce -avutil/random_seed: Add the runtime in cycles of the main loop to the entropy pool -avutil/channel_layout: AV_CH_LAYOUT_6POINT1_BACK not reachable in parsing -avformat/concatdec: set safe mode to enabled instead of auto -avformat/utils: fix dts from pts code in compute_pkt_fields() during ascending delay -avformat/rtpenc: Fix integer overflow in NTP_TO_RTP_FORMAT -avcodec/dca: clear X96 channels if nothing was decoded -fate/aac: Increase fuzz from of fate-aac-pns-encode from 72 to 74 for Loongson -avformat/cache: Fix memleak of tree entries -lavf/mov: downgrade sidx errors to non-fatal warnings; fixes trac #5216 -lavf/mov: fix sidx with edit lists -avcodec/mjpegdec: Fix decoding slightly odd progressive jpeg -swscale/utils: Fix chrSrcHSubSample for GBRAP16 -swscale/input: Fix GBRAP16 input -avutil/pixdesc: Make get_color_type() aware of CIE XYZ formats -avcodec/h264: Execute error concealment before marking the frame as done. -swscale/x86/output: Fix yuv2planeX_16* with unaligned destination -swscale/x86/output: Move code into yuv2planeX_mainloop -MAINTAINERS: add myself as an OS/2 maintainer -libwebpenc_animencoder: print library messages in verbose log levels -libwebpenc_animencoder: zero initialize the WebPAnimEncoderOptions struct -configure: check for SEC_I_CONTEXT_EXPIRED before enabling SChannel -lavf/http: Add httpproxy to the default protocol whitelist. -doc/utils: fix typo for min() description -ffserver&ffm: Fixed issues preventing ffserver write_index and files_size from being set correctly which was breaking ffserver streaming. -postproc: fix unaligned access -vc2enc: fix use of uninitialized variables in the rate control system, correctly zero out coefficient array padding -aacenc: optimize encoding speed -avcodec/diracdec: check bitstream size related fields for overflows -avcodec/h264_slice: Check PPS more extensively when its not copied +- avcodec/libutvideodec: copy frame so it has reference counters when refcounted_frames is set +- avformat/rtpdec_jpeg: fix low contrast image on low quality setting +- avformat/mpegtsenc: Fix used service +- avformat/mpegtsenc: Keep track of the program for each service +- avformat/file: Add crypto to default whitelist +- avcodec/mjpegenc_common: Store approximate aspect if exact cannot be stored +- lavc/hevc: Allow arbitrary garbage in bytestream as long as at least one NAL unit is found. +- avcodec/resample: Remove disabled and faulty code +- indeo2: Fix banding artefacts +- indeo2data: K&R formatting cosmetics +- avformat/hlsenc: Fix passing options, regression since bc9a5965c815cf7fd998d8ce14a18b8e861dd9ce +- avutil/random_seed: Add the runtime in cycles of the main loop to the entropy pool +- avutil/channel_layout: AV_CH_LAYOUT_6POINT1_BACK not reachable in parsing +- avformat/concatdec: set safe mode to enabled instead of auto +- avformat/utils: fix dts from pts code in compute_pkt_fields() during ascending delay +- avformat/rtpenc: Fix integer overflow in NTP_TO_RTP_FORMAT +- avcodec/dca: clear X96 channels if nothing was decoded +- fate/aac: Increase fuzz from of fate-aac-pns-encode from 72 to 74 for Loongson +- avformat/cache: Fix memleak of tree entries +- lavf/mov: downgrade sidx errors to non-fatal warnings; fixes trac #5216 +- lavf/mov: fix sidx with edit lists +- avcodec/mjpegdec: Fix decoding slightly odd progressive jpeg +- swscale/utils: Fix chrSrcHSubSample for GBRAP16 +- swscale/input: Fix GBRAP16 input +- avutil/pixdesc: Make get_color_type() aware of CIE XYZ formats +- avcodec/h264: Execute error concealment be
[FFmpeg-cvslog] avcodec/pngdec: Fix alpha detection with skip_frame
ffmpeg | branch: release/3.0 | Michael Niedermayer | Sat Apr 9 00:47:10 2016 +0200| [325d0b64d5a43925adb81daa3a86a25dbb7d58fe] | committer: Michael Niedermayer avcodec/pngdec: Fix alpha detection with skip_frame Fixes Ticket4816 Signed-off-by: Michael Niedermayer (cherry picked from commit d433623fba2b273491ff7dda401648e7d07e19fe) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=325d0b64d5a43925adb81daa3a86a25dbb7d58fe --- libavcodec/pngdec.c |1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index 61857d0..24318fb 100644 --- a/libavcodec/pngdec.c +++ b/libavcodec/pngdec.c @@ -1136,6 +1136,7 @@ static int decode_frame_common(AVCodecContext *avctx, PNGDecContext *s, case MKTAG('p', 'H', 'Y', 's'): case MKTAG('t', 'E', 'X', 't'): case MKTAG('I', 'D', 'A', 'T'): +case MKTAG('t', 'R', 'N', 'S'): break; default: goto skip_tag; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avfilter/src_movie: fix how we check for overflows with seek_point
ffmpeg | branch: release/3.0 | Marios Titas | Sat Apr 2 21:11:44 2016 +0300| [47f0d80ee01b1ae5f3ab68ef697681d9a1327b00] | committer: Michael Niedermayer avfilter/src_movie: fix how we check for overflows with seek_point Currently, if the movie source filter is used and a seek_point is specified on a file that has a negative start time, ffmpeg will fail. An easy way to reproduce this is as follows: $ ffmpeg -vsync passthrough -filter_complex 'color=d=10,setpts=PTS-1/TB' test.mp4 $ ffmpeg -filter_complex 'movie=filename=test.mp4:seek_point=2' -f null - The problem is caused by checking for int64_t overflow the wrong way. In general, to check whether a + b overflows, it is not enough to do: a > INT64_MAX - b because b might be negative; the correct way is: b > 0 && > a > INT64_MAX - b Signed-off-by: Michael Niedermayer (cherry picked from commit c1f9734f977f59bc0034096afbe8e43e40d93a5d) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=47f0d80ee01b1ae5f3ab68ef697681d9a1327b00 --- libavfilter/src_movie.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavfilter/src_movie.c b/libavfilter/src_movie.c index 82d2bcd..eab2458 100644 --- a/libavfilter/src_movie.c +++ b/libavfilter/src_movie.c @@ -240,7 +240,7 @@ static av_cold int movie_common_init(AVFilterContext *ctx) timestamp = movie->seek_point; // add the stream start time, should it exist if (movie->format_ctx->start_time != AV_NOPTS_VALUE) { -if (timestamp > INT64_MAX - movie->format_ctx->start_time) { +if (timestamp > 0 && movie->format_ctx->start_time > INT64_MAX - timestamp) { av_log(ctx, AV_LOG_ERROR, "%s: seek value overflow with start_time:%"PRId64" seek_point:%"PRId64"\n", movie->file_name, movie->format_ctx->start_time, movie->seek_point); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/bmp_parser: Ensure remaining_size is not too small in startcode packet crossing corner case
ffmpeg | branch: release/3.0 | Michael Niedermayer | Thu Apr 14 15:10:31 2016 +0200| [14fdebc4ffcbaa202fe4568234fcb26752b416ad] | committer: Michael Niedermayer avcodec/bmp_parser: Ensure remaining_size is not too small in startcode packet crossing corner case Fixes Ticket 5438 Signed-off-by: Michael Niedermayer (cherry picked from commit 8e26bdd59bf559d00c7e60c53fff292de10139ff) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=14fdebc4ffcbaa202fe4568234fcb26752b416ad --- libavcodec/bmp_parser.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/bmp_parser.c b/libavcodec/bmp_parser.c index c9493dc..7ab32a0 100644 --- a/libavcodec/bmp_parser.c +++ b/libavcodec/bmp_parser.c @@ -63,7 +63,7 @@ restart: continue; } bpc->pc.frame_start_found++; -bpc->remaining_size = bpc->fsize + i - 17; +bpc->remaining_size = bpc->fsize + FFMAX(i - 17, 0); if (bpc->pc.index + i > 17) { next = i - 17; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/h264: Fix for H.264 configuration parsing
ffmpeg | branch: release/3.0 | Ivan | Tue Apr 12 16:32:04 2016 -0400| [76573c5239fb7d293cc350807f02cc3e91bff18d] | committer: Michael Niedermayer avcodec/h264: Fix for H.264 configuration parsing Sometimes video fails to decode if H.264 configuration changes mid stream. The reason is that configuration parser assumes that nal_ref_idc is equal to 11b while actually some codecs but 01b there. The H.264 spec is somewhat vague about this but it looks like it allows any non-zero nal_ref_idc for sps/pps. Signed-off-by: Michael Niedermayer (cherry picked from commit 3a727606c474d3d0b9efa3c900294a84bdb5e331) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=76573c5239fb7d293cc350807f02cc3e91bff18d --- libavcodec/h264.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index f1399b8..88768af 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -1781,7 +1781,7 @@ static int is_extra(const uint8_t *buf, int buf_size) const uint8_t *p= buf+6; while(cnt--){ int nalsize= AV_RB16(p) + 2; -if(nalsize > buf_size - (p-buf) || p[2]!=0x67) +if(nalsize > buf_size - (p-buf) || (p[2] & 0x9F) != 7) return 0; p += nalsize; } @@ -1790,7 +1790,7 @@ static int is_extra(const uint8_t *buf, int buf_size) return 0; while(cnt--){ int nalsize= AV_RB16(p) + 2; -if(nalsize > buf_size - (p-buf) || p[2]!=0x68) +if(nalsize > buf_size - (p-buf) || (p[2] & 0x9F) != 8) return 0; p += nalsize; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/j2kenc: Add attribution to OpenJPEG project:
ffmpeg | branch: release/3.0 | Aaron Boxer | Thu Mar 31 16:02:14 2016 -0400| [5d79566ab3ddfc6fc46cc2fe7f3b894b4c384f3e] | committer: Michael Niedermayer avcodec/j2kenc: Add attribution to OpenJPEG project: http://ghostscript.com/~tor/gs-browse/gs/openjpeg/libopenjpeg/t1.c Signed-off-by: Michael Niedermayer (cherry picked from commit b6b4b0a65e02495edf9d7e5b23bef99a92921147) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5d79566ab3ddfc6fc46cc2fe7f3b894b4c384f3e --- libavcodec/j2kenc.c | 38 ++ 1 file changed, 38 insertions(+) diff --git a/libavcodec/j2kenc.c b/libavcodec/j2kenc.c index 2cd837d..c8d3861 100644 --- a/libavcodec/j2kenc.c +++ b/libavcodec/j2kenc.c @@ -17,8 +17,46 @@ * You should have received a copy of the GNU Lesser General Public * License along with FFmpeg; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * ** + * + * + * + * This source code incorporates work covered by the following copyright and + * permission notice: + * + * Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium + * Copyright (c) 2002-2007, Professor Benoit Macq + * Copyright (c) 2001-2003, David Janssens + * Copyright (c) 2002-2003, Yannick Verschueren + * Copyright (c) 2003-2007, Francois-Olivier Devaux and Antonin Descampe + * Copyright (c) 2005, Herve Drolon, FreeImage Team + * Copyright (c) 2007, Callum Lerwick + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *notice, this list of conditions and the following disclaimer in the + *documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ + /** * JPEG2000 image encoder * @file ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/takdec: add code that got somehow lost in process of REing
ffmpeg | branch: release/3.0 | Paul B Mahol | Wed Apr 20 22:45:05 2016 +0200| [7626fb6cbf5f4755c3f7591e99ca475dfadf4c7c] | committer: Michael Niedermayer avcodec/takdec: add code that got somehow lost in process of REing Signed-off-by: Paul B Mahol (cherry picked from commit 38797a8033d061ade58b30b8ac86da222fe42a84) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7626fb6cbf5f4755c3f7591e99ca475dfadf4c7c --- libavcodec/takdec.c |1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/takdec.c b/libavcodec/takdec.c index d057e0a..001086b 100644 --- a/libavcodec/takdec.c +++ b/libavcodec/takdec.c @@ -227,6 +227,7 @@ static void decode_lpc(int32_t *coeffs, int mode, int length) int a3 = coeffs[2]; int a4 = a3 + a1; int a5 = a4 + a2; +coeffs[2] = a5; coeffs += 3; for (i = 0; i < length - 3; i++) { a3 += *coeffs; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/avpacket: Fix off by 5 error
ffmpeg | branch: release/3.0 | Michael Niedermayer | Wed Apr 20 22:38:26 2016 +0200| [264c9fe6aada7ee6c4f0d94e624d84c58097db92] | committer: Michael Niedermayer avcodec/avpacket: Fix off by 5 error Fixes out of array read Fixes: mozilla bug 1266129 Found-by: Tyson Smith Tested-by: Tyson Smith Signed-off-by: Michael Niedermayer (cherry picked from commit 9f36ea57ae6eefb42432220feab0350494f4144c) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=264c9fe6aada7ee6c4f0d94e624d84c58097db92 --- libavcodec/avpacket.c |6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c index 4901d36..b2079f6 100644 --- a/libavcodec/avpacket.c +++ b/libavcodec/avpacket.c @@ -401,10 +401,12 @@ int av_packet_split_side_data(AVPacket *pkt){ p = pkt->data + pkt->size - 8 - 5; for (i=1; ; i++){ size = AV_RB32(p); -if (size>INT_MAX || p - pkt->data < size) +if (size>INT_MAX - 5 || p - pkt->data < size) return 0; if (p[4]&128) break; +if (p - pkt->data < size + 5) +return 0; p-= size+5; } @@ -415,7 +417,7 @@ int av_packet_split_side_data(AVPacket *pkt){ p= pkt->data + pkt->size - 8 - 5; for (i=0; ; i++){ size= AV_RB32(p); -av_assert0(size<=INT_MAX && p - pkt->data >= size); +av_assert0(size<=INT_MAX - 5 && p - pkt->data >= size); pkt->side_data[i].data = av_mallocz(size + AV_INPUT_BUFFER_PADDING_SIZE); pkt->side_data[i].size = size; pkt->side_data[i].type = p[4]&127; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/apedec: fix decoding of stereo files with one channel full of silence
ffmpeg | branch: release/3.0 | Paul B Mahol | Tue Apr 12 10:51:30 2016 +0200| [6fdd122b11e57582655ae9d7735c2c7f45a36cb7] | committer: Michael Niedermayer avcodec/apedec: fix decoding of stereo files with one channel full of silence Signed-off-by: Paul B Mahol (cherry picked from commit 9149e9c0baaec122bc3da925d6068dffa60b5427) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6fdd122b11e57582655ae9d7735c2c7f45a36cb7 --- libavcodec/apedec.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/apedec.c b/libavcodec/apedec.c index bed9a96..de9d71c 100644 --- a/libavcodec/apedec.c +++ b/libavcodec/apedec.c @@ -1372,7 +1372,7 @@ static void ape_unpack_stereo(APEContext *ctx, int count) int32_t *decoded0 = ctx->decoded[0]; int32_t *decoded1 = ctx->decoded[1]; -if (ctx->frameflags & APE_FRAMECODE_STEREO_SILENCE) { +if ((ctx->frameflags & APE_FRAMECODE_STEREO_SILENCE) == APE_FRAMECODE_STEREO_SILENCE) { /* We are pure silence, so we're done. */ av_log(ctx->avctx, AV_LOG_DEBUG, "pure silence stereo\n"); return; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavf: use new decode API
ffmpeg | branch: master | wm4 | Tue Mar 22 19:09:57 2016 +0100| [656b07b5a9698c5f5a244f334a2a9852cfbbd01c] | committer: wm4 lavf: use new decode API From Libav commit 8bc4accc37ab047d2fd85d672c577b39dfc918e1, with additional code for decoding subtitles (not present in Libav). Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=656b07b5a9698c5f5a244f334a2a9852cfbbd01c --- libavformat/utils.c | 30 +++--- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index 566c7b8..72396af 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2891,27 +2891,27 @@ static int try_decode_frame(AVFormatContext *s, AVStream *st, AVPacket *avpkt, (!st->codec_info_nb_frames && (avctx->codec->capabilities & AV_CODEC_CAP_CHANNEL_CONF { got_picture = 0; -switch (avctx->codec_type) { -case AVMEDIA_TYPE_VIDEO: -ret = avcodec_decode_video2(avctx, frame, -&got_picture, &pkt); -break; -case AVMEDIA_TYPE_AUDIO: -ret = avcodec_decode_audio4(avctx, frame, &got_picture, &pkt); -break; -case AVMEDIA_TYPE_SUBTITLE: +if (avctx->codec_type == AVMEDIA_TYPE_VIDEO || +avctx->codec_type == AVMEDIA_TYPE_AUDIO) { +ret = avcodec_send_packet(avctx, &pkt); +if (ret < 0 && ret != AVERROR(EAGAIN) && ret != AVERROR_EOF) +break; +if (ret >= 0) +pkt.size = 0; +ret = avcodec_receive_frame(avctx, frame); +if (ret >= 0) +got_picture = 1; +if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) +ret = 0; +} else if (avctx->codec_type == AVMEDIA_TYPE_SUBTITLE) { ret = avcodec_decode_subtitle2(avctx, &subtitle, &got_picture, &pkt); -ret = pkt.size; -break; -default: -break; +if (ret >= 0) +pkt.size = 0; } if (ret >= 0) { if (got_picture) st->nb_decoded_frames++; -pkt.data += ret; -pkt.size -= ret; ret = got_picture; } } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavc: introduce a new decoding/encoding API with decoupled input/output
ffmpeg | branch: master | wm4 | Tue Mar 22 19:09:53 2016 +0100| [7fc329e2dd6226dfecaa4a1d7adf353bf2773726] | committer: wm4 lavc: introduce a new decoding/encoding API with decoupled input/output Until now, the decoding API was restricted to outputting 0 or 1 frames per input packet. It also enforces a somewhat rigid dataflow in general. This new API seeks to relax these restrictions by decoupling input and output. Instead of doing a single call on each decode step, which may consume the packet and may produce output, the new API requires the user to send input first, and then ask for output. For now, there are no codecs supporting this API. The API can work with codecs using the old API, and most code added here is to make them interoperate. The reverse is not possible, although for audio it might. From Libav commit 05f66706d182eb0c36af54d72614bf4c33e957a9. Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7fc329e2dd6226dfecaa4a1d7adf353bf2773726 --- doc/APIchanges |5 + libavcodec/avcodec.h | 241 +++- libavcodec/internal.h | 13 +++ libavcodec/utils.c | 289 +++- libavcodec/version.h |2 +- libavformat/avformat.h |4 +- 6 files changed, 546 insertions(+), 8 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index 8a14e77..02e4d70 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -15,6 +15,11 @@ libavutil: 2015-08-28 API changes, most recent first: +2016-xx-xx - xxx - lavc 57.37.100 - avcodec.h + Add a new audio/video encoding and decoding API with decoupled input + and output -- avcodec_send_packet(), avcodec_receive_frame(), + avcodec_send_frame() and avcodec_receive_packet(). + 2016-xx-xx - xxx - lavc 57.15.0 - avcodec.h Add a new bitstream filtering API working with AVPackets. Deprecate the old bistream filtering API. diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 9a8a0f0..da32a6b 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -73,6 +73,95 @@ */ /** + * @ingroup libavc + * @defgroup lavc_encdec send/receive encoding and decoding API overview + * @{ + * + * The avcodec_send_packet()/avcodec_receive_frame()/avcodec_send_frame()/ + * avcodec_receive_packet() functions provide an encode/decode API, which + * decouples input and output. + * + * The API is very similar for encoding/decoding and audio/video, and works as + * follows: + * - Set up and open the AVCodecContext as usual. + * - Send valid input: + * - For decoding, call avcodec_send_packet() to give the decoder raw + * compressed data in an AVPacket. + * - For encoding, call avcodec_send_frame() to give the decoder an AVFrame + * containing uncompressed audio or video. + * In both cases, it is recommended that AVPackets and AVFrames are + * refcounted, or libavcodec might have to copy the input data. (libavformat + * always returns refcounted AVPackets, and av_frame_get_buffer() allocates + * refcounted AVFrames.) + * - Receive output in a loop. Periodically call one of the avcodec_receive_*() + * functions and process their output: + * - For decoding, call avcodec_receive_frame(). On success, it will return + * an AVFrame containing uncompressed audio or video data. + * - For encoding, call avcodec_receive_packet(). On success, it will return + * an AVPacket with a compressed frame. + * Repeat this call until it returns AVERROR(EAGAIN) or an error. The + * AVERROR(EAGAIN) return value means that new input data is required to + * return new output. In this case, continue with sending input. For each + * input frame/packet, the codec will typically return 1 output frame/packet, + * but it can also be 0 or more than 1. + * + * At the beginning of decoding or encoding, the codec might accept multiple + * input frames/packets without returning a frame, until its internal buffers + * are filled. This situation is handled transparently if you follow the steps + * outlined above. + * + * End of stream situations. These require "flushing" (aka draining) the codec, + * as the codec might buffer multiple frames or packets internally for + * performance or out of necessity (consider B-frames). + * This is handled as follows: + * - Instead of valid input, send NULL to the avcodec_send_packet() (decoding) + * or avcodec_send_frame() (encoding) functions. This will enter draining + * mode. + * - Call avcodec_receive_frame() (decoding) or avcodec_receive_packet() + * (encoding) in a loop until AVERROR_EOF is returned. The functions will + * not return AVERROR(EAGAIN), unless you forgot to enter draining mode. + * - Before decoding can be resumed again, the codec has to be reset with + * avcodec_flush_buffers(). + * + * Using the API as outlined above is highly recommended. But it is also + * possible to call functions outside of this rigid schema. For example, you can + *
[FFmpeg-cvslog] libnut: Pass stream to ff_parse_specific_params
ffmpeg | branch: master | Derek Buitenhuis | Thu Apr 21 15:21:09 2016 +0100| [be5fde92ff6cf920e2e7d58a864dcf5527404564] | committer: Derek Buitenhuis libnut: Pass stream to ff_parse_specific_params This function bo longer takes an AVCodecContext. Fixes ticket #5430. Signed-off-by: Derek Buitenhuis > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=be5fde92ff6cf920e2e7d58a864dcf5527404564 --- libavformat/libnut.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/libnut.c b/libavformat/libnut.c index 48f0928..26bb354 100644 --- a/libavformat/libnut.c +++ b/libavformat/libnut.c @@ -94,7 +94,7 @@ static int nut_write_header(AVFormatContext * avf) { s[i].fourcc = av_malloc(s[i].fourcc_len); for (j = 0; j < s[i].fourcc_len; j++) s[i].fourcc[j] = (fourcc >> (j*8)) & 0xFF; -ff_parse_specific_params(codec, &num, &ssize, &denom); +ff_parse_specific_params(avf->streams[i], &num, &ssize, &denom); avpriv_set_pts_info(avf->streams[i], 60, denom, num); s[i].time_base.num = denom; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avio: Copy URLContext generic options into child URLContexts
ffmpeg | branch: master | Martin Storsjö | Sat Feb 28 02:00:50 2015 +0200| [fab8156b2f30666adabe227b3d7712fd193873b1] | committer: Martin Storsjö avio: Copy URLContext generic options into child URLContexts Since all URLContexts have the same AVOptions, such AVOptions will be applied on the outermost context only and removed from the dict, while they probably make sense on all contexts. This makes sure that rw_timeout gets propagated to the innermost URLContext (to make sure it gets passed to the tcp protocol, when opening a http connection for instance). Alternatively, such matching options would be kept in the dict and only removed after the ffurl_connect call. Signed-off-by: Martin Storsjö > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fab8156b2f30666adabe227b3d7712fd193873b1 --- libavformat/avio.c |5 - libavformat/aviobuf.c|2 +- libavformat/concat.c |2 +- libavformat/crypto.c |2 +- libavformat/gopher.c |2 +- libavformat/hlsproto.c |2 +- libavformat/http.c |4 ++-- libavformat/icecast.c|2 +- libavformat/md5proto.c |2 +- libavformat/mmst.c |2 +- libavformat/rtmpcrypt.c |2 +- libavformat/rtmpproto.c |4 ++-- libavformat/rtpproto.c |4 ++-- libavformat/rtsp.c | 10 +- libavformat/rtspdec.c|4 ++-- libavformat/sapdec.c |2 +- libavformat/sapenc.c |4 ++-- libavformat/smoothstreamingenc.c |6 +++--- libavformat/srtpproto.c |2 +- libavformat/tls.c|2 +- libavformat/url.h|4 +++- 21 files changed, 37 insertions(+), 32 deletions(-) diff --git a/libavformat/avio.c b/libavformat/avio.c index 6039990..1692f1b 100644 --- a/libavformat/avio.c +++ b/libavformat/avio.c @@ -174,11 +174,14 @@ int ffurl_alloc(URLContext **puc, const char *filename, int flags, int ffurl_open(URLContext **puc, const char *filename, int flags, const AVIOInterruptCB *int_cb, AVDictionary **options, - const URLProtocol **protocols) + const URLProtocol **protocols, + URLContext *parent) { int ret = ffurl_alloc(puc, filename, flags, int_cb, protocols); if (ret) return ret; +if (parent) +av_opt_copy(*puc, parent); if (options && (ret = av_opt_set_dict(*puc, options)) < 0) goto fail; diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index a2edb74..29fccbe 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -905,7 +905,7 @@ int avio_open2(AVIOContext **s, const char *filename, int flags, if (!protocols) return AVERROR(ENOMEM); -err = ffurl_open(&h, filename, flags, int_cb, options, protocols); +err = ffurl_open(&h, filename, flags, int_cb, options, protocols, NULL); if (err < 0) { av_freep(&protocols); return err; diff --git a/libavformat/concat.c b/libavformat/concat.c index ecdf5df..a338df6 100644 --- a/libavformat/concat.c +++ b/libavformat/concat.c @@ -95,7 +95,7 @@ static av_cold int concat_open(URLContext *h, const char *uri, int flags) /* creating URLContext */ if ((err = ffurl_open(&uc, node_uri, flags, - &h->interrupt_callback, NULL, h->protocols)) < 0) + &h->interrupt_callback, NULL, h->protocols, h)) < 0) break; /* creating size */ diff --git a/libavformat/crypto.c b/libavformat/crypto.c index a364dc0..55430c4 100644 --- a/libavformat/crypto.c +++ b/libavformat/crypto.c @@ -83,7 +83,7 @@ static int crypto_open(URLContext *h, const char *uri, int flags) goto err; } if ((ret = ffurl_open(&c->hd, nested_url, AVIO_FLAG_READ, - &h->interrupt_callback, NULL, h->protocols)) < 0) { + &h->interrupt_callback, NULL, h->protocols, h)) < 0) { av_log(h, AV_LOG_ERROR, "Unable to open input\n"); goto err; } diff --git a/libavformat/gopher.c b/libavformat/gopher.c index afa2b7d..6d9fc38 100644 --- a/libavformat/gopher.c +++ b/libavformat/gopher.c @@ -94,7 +94,7 @@ static int gopher_open(URLContext *h, const char *uri, int flags) s->hd = NULL; err = ffurl_open(&s->hd, buf, AVIO_FLAG_READ_WRITE, - &h->interrupt_callback, NULL, h->protocols); + &h->interrupt_callback, NULL, h->protocols, h); if (err < 0) goto fail; diff --git a/libavformat/hlsproto.c b/libavformat/hlsproto.c index b01cef0..4c3048a 100644 --- a/libavformat/hlsproto.c +++ b/libavformat/hlsproto.c @@ -304,7 +304,7 @@ retry: url = s->segments[s->cur_seq_no - s->start_seq_no]->url, av_log(h, AV_LOG_DEBUG, "opening %s\n", url); ret = ffurl_open(&s->seg_hd, url, AVIO_FLA
[FFmpeg-cvslog] tcp: Use rw_timeout for setting the connect/listen timeouts
ffmpeg | branch: master | Martin Storsjö | Sat Feb 28 01:43:39 2015 +0200| [136c3438bbdb56a5d2f1f0f486f180641dc6dda0] | committer: Martin Storsjö tcp: Use rw_timeout for setting the connect/listen timeouts Apply the default value for timeout in code instead of via the avoption, to allow distinguishing the default value from the user not setting anything at all. Signed-off-by: Martin Storsjö > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=136c3438bbdb56a5d2f1f0f486f180641dc6dda0 --- libavformat/tcp.c |6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavformat/tcp.c b/libavformat/tcp.c index f211142..1498c26 100644 --- a/libavformat/tcp.c +++ b/libavformat/tcp.c @@ -43,7 +43,7 @@ typedef struct TCPContext { #define E AV_OPT_FLAG_ENCODING_PARAM static const AVOption options[] = { { "listen", "Listen for incoming connections", OFFSET(listen), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, .flags = D|E }, -{ "timeout", "Connection timeout (in milliseconds)", OFFSET(timeout),AV_OPT_TYPE_INT, { .i64 = 1 }, INT_MIN, INT_MAX, .flags = D|E }, +{ "timeout", "Connection timeout (in milliseconds)", OFFSET(timeout),AV_OPT_TYPE_INT, { .i64 = 0 }, INT_MIN, INT_MAX, .flags = D|E }, { "listen_timeout", "Bind timeout (in milliseconds)", OFFSET(listen_timeout), AV_OPT_TYPE_INT, { .i64 = -1 },INT_MIN, INT_MAX, .flags = D|E }, { NULL } }; @@ -86,6 +86,10 @@ static int tcp_open(URLContext *h, const char *uri, int flags) s->listen_timeout = strtol(buf, NULL, 10); } } +if (!s->timeout) +s->timeout = h->rw_timeout ? h->rw_timeout / 1000 : 1; +if (h->rw_timeout && s->listen_timeout < 0) +s->listen_timeout = h->rw_timeout / 1000; hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; snprintf(portstr, sizeof(portstr), "%d", port); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] unix: Use rw_timeout for setting the connect timeout
ffmpeg | branch: master | Martin Storsjö | Sat Feb 28 01:47:20 2015 +0200| [3ee2ec5ec1e39a438f89302d949c93a1b5d365a2] | committer: Martin Storsjö unix: Use rw_timeout for setting the connect timeout Signed-off-by: Martin Storsjö > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3ee2ec5ec1e39a438f89302d949c93a1b5d365a2 --- libavformat/unix.c |3 +++ 1 file changed, 3 insertions(+) diff --git a/libavformat/unix.c b/libavformat/unix.c index 6bb677d..647e7e8 100644 --- a/libavformat/unix.c +++ b/libavformat/unix.c @@ -73,6 +73,9 @@ static int unix_open(URLContext *h, const char *filename, int flags) if ((fd = ff_socket(AF_UNIX, s->type, 0)) < 0) return ff_neterrno(); +if (s->timeout < 0 && h->rw_timeout) +s->timeout = h->rw_timeout / 1000; + if (s->listen) { ret = ff_listen_bind(fd, (struct sockaddr *)&s->addr, sizeof(s->addr), s->timeout, h); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '136c3438bbdb56a5d2f1f0f486f180641dc6dda0'
ffmpeg | branch: master | Derek Buitenhuis | Thu Apr 21 16:01:26 2016 +0100| [ba2d37e9ada5239e4b856996136e4ee859863b16] | committer: Derek Buitenhuis Merge commit '136c3438bbdb56a5d2f1f0f486f180641dc6dda0' This commit is a no-op. * commit '136c3438bbdb56a5d2f1f0f486f180641dc6dda0': tcp: Use rw_timeout for setting the connect/listen timeouts Merged-by: Derek Buitenhuis > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ba2d37e9ada5239e4b856996136e4ee859863b16 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '3ee2ec5ec1e39a438f89302d949c93a1b5d365a2'
ffmpeg | branch: master | Derek Buitenhuis | Thu Apr 21 16:01:47 2016 +0100| [7e3d3a6a895f80e8a376a3ba37054eb84b44f671] | committer: Derek Buitenhuis Merge commit '3ee2ec5ec1e39a438f89302d949c93a1b5d365a2' * commit '3ee2ec5ec1e39a438f89302d949c93a1b5d365a2': unix: Use rw_timeout for setting the connect timeout Merged-by: Derek Buitenhuis > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7e3d3a6a895f80e8a376a3ba37054eb84b44f671 --- libavformat/unix.c |3 +++ 1 file changed, 3 insertions(+) diff --git a/libavformat/unix.c b/libavformat/unix.c index 70d00ef..4f01d14 100644 --- a/libavformat/unix.c +++ b/libavformat/unix.c @@ -72,6 +72,9 @@ static int unix_open(URLContext *h, const char *filename, int flags) if ((fd = ff_socket(AF_UNIX, s->type, 0)) < 0) return ff_neterrno(); +if (s->timeout < 0 && h->rw_timeout) +s->timeout = h->rw_timeout / 1000; + if (s->listen) { ret = ff_listen_bind(fd, (struct sockaddr *)&s->addr, sizeof(s->addr), s->timeout, h); == ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] build: Drop redundant removal of compiled object files
ffmpeg | branch: master | Diego Biurrun | Fri Mar 18 15:23:24 2016 +0100| [3dfbf32b95ae69a9b15cd4912bc1c68fa16b4093] | committer: Diego Biurrun build: Drop redundant removal of compiled object files This is already taken care of by CLEANSUFFIXES. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3dfbf32b95ae69a9b15cd4912bc1c68fa16b4093 --- common.mak |1 - 1 file changed, 1 deletion(-) diff --git a/common.mak b/common.mak index ed9cbd4..832025d 100644 --- a/common.mak +++ b/common.mak @@ -58,7 +58,6 @@ LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a define RULES clean:: - $(RM) $(OBJS) $(OBJS:.o=.d) $(RM) $(HOSTPROGS) $(RM) $(TOOLS) endef ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit 'b298b36fc008ad94a24929fe770c8189d96bcac4'
ffmpeg | branch: master | Derek Buitenhuis | Thu Apr 21 16:02:26 2016 +0100| [420806f0d14a8de81cfbd38032649c710eec7ac1] | committer: Derek Buitenhuis Merge commit 'b298b36fc008ad94a24929fe770c8189d96bcac4' * commit 'b298b36fc008ad94a24929fe770c8189d96bcac4': fate: Only run SRTP test if SRTP code is enabled Merged-by: Derek Buitenhuis > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=420806f0d14a8de81cfbd38032649c710eec7ac1 --- tests/fate/libavformat.mak |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/fate/libavformat.mak b/tests/fate/libavformat.mak index 5d9914a..f88d6fa 100644 --- a/tests/fate/libavformat.mak +++ b/tests/fate/libavformat.mak @@ -10,7 +10,7 @@ FATE_LIBAVFORMAT-$(CONFIG_FFRTMPCRYPT_PROTOCOL) += fate-rtmpdh fate-rtmpdh: libavformat/rtmpdh-test$(EXESUF) fate-rtmpdh: CMD = run libavformat/rtmpdh-test -FATE_LIBAVFORMAT-yes += fate-srtp +FATE_LIBAVFORMAT-$(CONFIG_SRTP) += fate-srtp fate-srtp: libavformat/srtp-test$(EXESUF) fate-srtp: CMD = run libavformat/srtp-test == ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] fate: Only run SRTP test if SRTP code is enabled
ffmpeg | branch: master | Diego Biurrun | Wed Mar 23 22:02:46 2016 +0100| [b298b36fc008ad94a24929fe770c8189d96bcac4] | committer: Diego Biurrun fate: Only run SRTP test if SRTP code is enabled > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b298b36fc008ad94a24929fe770c8189d96bcac4 --- tests/fate/libavformat.mak |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/fate/libavformat.mak b/tests/fate/libavformat.mak index b9cca35..e98e0ee 100644 --- a/tests/fate/libavformat.mak +++ b/tests/fate/libavformat.mak @@ -6,7 +6,7 @@ FATE_LIBAVFORMAT-$(CONFIG_FFRTMPCRYPT_PROTOCOL) += fate-rtmpdh fate-rtmpdh: libavformat/rtmpdh-test$(EXESUF) fate-rtmpdh: CMD = run libavformat/rtmpdh-test -FATE_LIBAVFORMAT-yes += fate-srtp +FATE_LIBAVFORMAT-$(CONFIG_SRTP) += fate-srtp fate-srtp: libavformat/srtp-test$(EXESUF) fate-srtp: CMD = run libavformat/srtp-test ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '3dfbf32b95ae69a9b15cd4912bc1c68fa16b4093'
ffmpeg | branch: master | Derek Buitenhuis | Thu Apr 21 16:03:43 2016 +0100| [53107052b2a12a8ab037c77e1064c085fd0826f2] | committer: Derek Buitenhuis Merge commit '3dfbf32b95ae69a9b15cd4912bc1c68fa16b4093' * commit '3dfbf32b95ae69a9b15cd4912bc1c68fa16b4093': build: Drop redundant removal of compiled object files Merged-by: Derek Buitenhuis > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=53107052b2a12a8ab037c77e1064c085fd0826f2 --- common.mak |1 - 1 file changed, 1 deletion(-) diff --git a/common.mak b/common.mak index 03b51c5..700e4c1 100644 --- a/common.mak +++ b/common.mak @@ -158,7 +158,6 @@ LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a define RULES clean:: - $(RM) $(OBJS) $(OBJS:.o=.d) $(OBJS:.o=$(DEFAULT_YASMD).d) $(RM) $(HOSTPROGS) $(RM) $(TOOLS) endef == ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '439929859ae0eb9542d3bb8a0c856bd5a1d1ec48'
ffmpeg | branch: master | Derek Buitenhuis | Thu Apr 21 16:04:10 2016 +0100| [32c044cbc64034a9688e3711efe5251998d767b1] | committer: Derek Buitenhuis Merge commit '439929859ae0eb9542d3bb8a0c856bd5a1d1ec48' * commit '439929859ae0eb9542d3bb8a0c856bd5a1d1ec48': testprogs: Clean up #includes Merged-by: Derek Buitenhuis > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=32c044cbc64034a9688e3711efe5251998d767b1 --- libavdevice/timefilter.c |2 +- libavformat/rtmpdh.c | 10 +- libavformat/rtmpdh.h |3 ++- libavutil/des.c |4 +++- libavutil/lls.c |1 - 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/libavdevice/timefilter.c b/libavdevice/timefilter.c index 9d38f93..a4ae204 100644 --- a/libavdevice/timefilter.c +++ b/libavdevice/timefilter.c @@ -24,7 +24,7 @@ #include "libavutil/common.h" #include "libavutil/mem.h" -#include "config.h" + #include "timefilter.h" struct TimeFilter { diff --git a/libavformat/rtmpdh.c b/libavformat/rtmpdh.c index 42ad72c..c52af9a 100644 --- a/libavformat/rtmpdh.c +++ b/libavformat/rtmpdh.c @@ -26,10 +26,18 @@ * RTMP Diffie-Hellmann utilities */ +#include +#include + #include "config.h" -#include "rtmpdh.h" + +#include "libavutil/attributes.h" +#include "libavutil/error.h" +#include "libavutil/mem.h" #include "libavutil/random_seed.h" +#include "rtmpdh.h" + #define P1024 \ "C90FDAA22168C234C4C6628B80DC1CD1" \ "29024E088A67CC74020BBEA63B139B22514A08798E3404DD" \ diff --git a/libavformat/rtmpdh.h b/libavformat/rtmpdh.h index 95b2620..2b250f5 100644 --- a/libavformat/rtmpdh.h +++ b/libavformat/rtmpdh.h @@ -22,7 +22,8 @@ #ifndef AVFORMAT_RTMPDH_H #define AVFORMAT_RTMPDH_H -#include "avformat.h" +#include + #include "config.h" #if CONFIG_GMP || CONFIG_GCRYPT diff --git a/libavutil/des.c b/libavutil/des.c index 7198076..ec2c399 100644 --- a/libavutil/des.c +++ b/libavutil/des.c @@ -18,7 +18,9 @@ * License along with FFmpeg; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include + +#include + #include "avutil.h" #include "common.h" #include "intreadwrite.h" diff --git a/libavutil/lls.c b/libavutil/lls.c index 7dd718d..de3d58f 100644 --- a/libavutil/lls.c +++ b/libavutil/lls.c @@ -29,7 +29,6 @@ #include #include "attributes.h" -#include "config.h" #include "internal.h" #include "version.h" #include "lls.h" == diff --cc libavutil/des.c index 7198076,2b16b04..ec2c399 --- a/libavutil/des.c +++ b/libavutil/des.c @@@ -15,10 -15,12 +15,12 @@@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with Libav; if not, write to the Free Software + * License along with FFmpeg; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ - #include + + #include + #include "avutil.h" #include "common.h" #include "intreadwrite.h" ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] testprogs: Clean up #includes
ffmpeg | branch: master | Diego Biurrun | Mon Mar 21 20:06:18 2016 +0100| [439929859ae0eb9542d3bb8a0c856bd5a1d1ec48] | committer: Diego Biurrun testprogs: Clean up #includes > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=439929859ae0eb9542d3bb8a0c856bd5a1d1ec48 --- libavdevice/timefilter.c |2 +- libavformat/rtmpdh.c | 10 +- libavformat/rtmpdh.h |3 ++- libavutil/des.c |4 +++- libavutil/lls.c |1 - 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/libavdevice/timefilter.c b/libavdevice/timefilter.c index a497351..ee25d7a 100644 --- a/libavdevice/timefilter.c +++ b/libavdevice/timefilter.c @@ -24,7 +24,7 @@ #include "libavutil/common.h" #include "libavutil/mem.h" -#include "config.h" + #include "timefilter.h" struct TimeFilter { diff --git a/libavformat/rtmpdh.c b/libavformat/rtmpdh.c index df06bec..f56a784 100644 --- a/libavformat/rtmpdh.c +++ b/libavformat/rtmpdh.c @@ -26,10 +26,18 @@ * RTMP Diffie-Hellmann utilities */ +#include +#include + #include "config.h" -#include "rtmpdh.h" + +#include "libavutil/attributes.h" +#include "libavutil/error.h" +#include "libavutil/mem.h" #include "libavutil/random_seed.h" +#include "rtmpdh.h" + #define P1024 \ "C90FDAA22168C234C4C6628B80DC1CD1" \ "29024E088A67CC74020BBEA63B139B22514A08798E3404DD" \ diff --git a/libavformat/rtmpdh.h b/libavformat/rtmpdh.h index 21ad13e..eb742dd 100644 --- a/libavformat/rtmpdh.h +++ b/libavformat/rtmpdh.h @@ -22,7 +22,8 @@ #ifndef AVFORMAT_RTMPDH_H #define AVFORMAT_RTMPDH_H -#include "avformat.h" +#include + #include "config.h" #if CONFIG_GMP || CONFIG_GCRYPT diff --git a/libavutil/des.c b/libavutil/des.c index 2b77af6..2b16b04 100644 --- a/libavutil/des.c +++ b/libavutil/des.c @@ -18,7 +18,9 @@ * License along with Libav; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include + +#include + #include "avutil.h" #include "common.h" #include "intreadwrite.h" diff --git a/libavutil/lls.c b/libavutil/lls.c index 60d2b64..e512c7e 100644 --- a/libavutil/lls.c +++ b/libavutil/lls.c @@ -29,7 +29,6 @@ #include #include "attributes.h" -#include "config.h" #include "internal.h" #include "version.h" #include "lls.h" ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] testprogs: K&R formatting cosmetics
ffmpeg | branch: master | Diego Biurrun | Mon Mar 21 15:19:30 2016 +0100| [3b08d9d932eef09403074d5af31e10d8011e840b] | committer: Diego Biurrun testprogs: K&R formatting cosmetics > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3b08d9d932eef09403074d5af31e10d8011e840b --- libavcodec/iirfilter.c | 122 +++--- libavcodec/rangecoder.c |2 +- libavutil/aes.c | 37 ++--- libavutil/crc.c | 16 +- libavutil/des.c | 268 +++ libavutil/lls.c |2 +- libavutil/md5.c | 57 --- libavutil/opt.c | 406 +++ 8 files changed, 493 insertions(+), 417 deletions(-) diff --git a/libavcodec/iirfilter.c b/libavcodec/iirfilter.c index 40a543d..fba4ac8 100644 --- a/libavcodec/iirfilter.c +++ b/libavcodec/iirfilter.c @@ -24,27 +24,29 @@ * different IIR filters implementation */ -#include "iirfilter.h" #include + #include "libavutil/attributes.h" #include "libavutil/common.h" +#include "iirfilter.h" + /** * IIR filter global parameters */ -typedef struct FFIIRFilterCoeffs{ +typedef struct FFIIRFilterCoeffs { int order; float gain; int *cx; float *cy; -}FFIIRFilterCoeffs; +} FFIIRFilterCoeffs; /** * IIR filter state */ -typedef struct FFIIRFilterState{ +typedef struct FFIIRFilterState { float x[1]; -}FFIIRFilterState; +} FFIIRFilterState; /// maximum supported filter order #define MAXORDER 30 @@ -61,51 +63,50 @@ static av_cold int butterworth_init_coeffs(void *avc, if (filt_mode != FF_FILTER_MODE_LOWPASS) { av_log(avc, AV_LOG_ERROR, "Butterworth filter currently only supports " - "low-pass filter mode\n"); + "low-pass filter mode\n"); return -1; } if (order & 1) { av_log(avc, AV_LOG_ERROR, "Butterworth filter currently only supports " - "even filter orders\n"); + "even filter orders\n"); return -1; } wa = 2 * tan(M_PI * 0.5 * cutoff_ratio); c->cx[0] = 1; -for(i = 1; i < (order >> 1) + 1; i++) +for (i = 1; i < (order >> 1) + 1; i++) c->cx[i] = c->cx[i - 1] * (order - i + 1LL) / i; p[0][0] = 1.0; p[0][1] = 0.0; -for(i = 1; i <= order; i++) +for (i = 1; i <= order; i++) p[i][0] = p[i][1] = 0.0; -for(i = 0; i < order; i++){ +for (i = 0; i < order; i++) { double zp[2]; double th = (i + (order >> 1) + 0.5) * M_PI / order; double a_re, a_im, c_re, c_im; zp[0] = cos(th) * wa; zp[1] = sin(th) * wa; -a_re = zp[0] + 2.0; -c_re = zp[0] - 2.0; -a_im = -c_im = zp[1]; +a_re = zp[0] + 2.0; +c_re = zp[0] - 2.0; +a_im = +c_im = zp[1]; zp[0] = (a_re * c_re + a_im * c_im) / (c_re * c_re + c_im * c_im); zp[1] = (a_im * c_re - a_re * c_im) / (c_re * c_re + c_im * c_im); -for(j = order; j >= 1; j--) -{ -a_re = p[j][0]; -a_im = p[j][1]; -p[j][0] = a_re*zp[0] - a_im*zp[1] + p[j-1][0]; -p[j][1] = a_re*zp[1] + a_im*zp[0] + p[j-1][1]; +for (j = order; j >= 1; j--) { +a_re= p[j][0]; +a_im= p[j][1]; +p[j][0] = a_re * zp[0] - a_im * zp[1] + p[j - 1][0]; +p[j][1] = a_re * zp[1] + a_im * zp[0] + p[j - 1][1]; } -a_re= p[0][0]*zp[0] - p[0][1]*zp[1]; -p[0][1] = p[0][0]*zp[1] + p[0][1]*zp[0]; +a_re= p[0][0] * zp[0] - p[0][1] * zp[1]; +p[0][1] = p[0][0] * zp[1] + p[0][1] * zp[0]; p[0][0] = a_re; } c->gain = p[order][0]; -for(i = 0; i < order; i++){ +for (i = 0; i < order; i++) { c->gain += p[i][0]; c->cy[i] = (-p[i][0] * p[order][0] + -p[i][1] * p[order][1]) / (p[order][0] * p[order][0] + p[order][1] * p[order][1]); @@ -125,7 +126,7 @@ static av_cold int biquad_init_coeffs(void *avc, struct FFIIRFilterCoeffs *c, if (filt_mode != FF_FILTER_MODE_HIGHPASS && filt_mode != FF_FILTER_MODE_LOWPASS) { av_log(avc, AV_LOG_ERROR, "Biquad filter currently only supports " - "high-pass and low-pass filter modes\n"); + "high-pass and low-pass filter modes\n"); return -1; } if (order != 2) { @@ -158,11 +159,11 @@ static av_cold int biquad_init_coeffs(void *avc, struct FFIIRFilterCoeffs *c, return 0; } -av_cold struct FFIIRFilterCoeffs* ff_iir_filter_init_coeffs(void *avc, -enum IIRFilterType filt_type, -enum IIRFilterMode filt_mode, -int order, float cutoff_ratio, -float stopband, float ripple) +a
[FFmpeg-cvslog] vf_fade: make sure the slice end is always in the frame
ffmpeg | branch: master | Anton Khirnov | Thu Mar 24 21:38:54 2016 +0100| [a638e9184d63e57e67901f34afe919fd56fd3ac4] | committer: Anton Khirnov vf_fade: make sure the slice end is always in the frame CC: libav-sta...@libav.org > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a638e9184d63e57e67901f34afe919fd56fd3ac4 --- libavfilter/vf_fade.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavfilter/vf_fade.c b/libavfilter/vf_fade.c index eac0c2c..eb6d82a 100644 --- a/libavfilter/vf_fade.c +++ b/libavfilter/vf_fade.c @@ -123,7 +123,7 @@ static int filter_slice_chroma(AVFilterContext *ctx, void *arg, int jobnr, AVFrame *frame = arg; int slice_h = FFALIGN(frame->height / nb_jobs, 1 << s->vsub); int slice_start = jobnr * slice_h; -int slice_end = (jobnr == nb_jobs - 1) ? frame->height : (jobnr + 1) * slice_h; +int slice_end = FFMIN((jobnr + 1) * slice_h, frame->height); int i, j, plane; for (plane = 1; plane < 3; plane++) { ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit 'a638e9184d63e57e67901f34afe919fd56fd3ac4'
ffmpeg | branch: master | Derek Buitenhuis | Thu Apr 21 16:52:03 2016 +0100| [aa40df483b210ec95154848e068300ccd055286f] | committer: Derek Buitenhuis Merge commit 'a638e9184d63e57e67901f34afe919fd56fd3ac4' * commit 'a638e9184d63e57e67901f34afe919fd56fd3ac4': vf_fade: make sure the slice end is always in the frame Merged-by: Derek Buitenhuis > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=aa40df483b210ec95154848e068300ccd055286f --- libavfilter/vf_fade.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavfilter/vf_fade.c b/libavfilter/vf_fade.c index f7b2b6a..cf77d87 100644 --- a/libavfilter/vf_fade.c +++ b/libavfilter/vf_fade.c @@ -247,7 +247,7 @@ static int filter_slice_chroma(AVFilterContext *ctx, void *arg, int jobnr, const int width = AV_CEIL_RSHIFT(frame->width, s->hsub); const int height= AV_CEIL_RSHIFT(frame->height, s->vsub); int slice_start = (height * jobnr ) / nb_jobs; -int slice_end = (height * (jobnr+1)) / nb_jobs; +int slice_end = FFMIN(((height * (jobnr+1)) / nb_jobs), frame->height); for (plane = 1; plane < 3; plane++) { for (i = slice_start; i < slice_end; i++) { == diff --cc libavfilter/vf_fade.c index f7b2b6a,eb6d82a..cf77d87 --- a/libavfilter/vf_fade.c +++ b/libavfilter/vf_fade.c @@@ -243,11 -121,10 +243,11 @@@ static int filter_slice_chroma(AVFilter { FadeContext *s = ctx->priv; AVFrame *frame = arg; -int slice_h = FFALIGN(frame->height / nb_jobs, 1 << s->vsub); -int slice_start = jobnr * slice_h; -int slice_end = FFMIN((jobnr + 1) * slice_h, frame->height); int i, j, plane; +const int width = AV_CEIL_RSHIFT(frame->width, s->hsub); +const int height= AV_CEIL_RSHIFT(frame->height, s->vsub); +int slice_start = (height * jobnr ) / nb_jobs; - int slice_end = (height * (jobnr+1)) / nb_jobs; ++int slice_end = FFMIN(((height * (jobnr+1)) / nb_jobs), frame->height); for (plane = 1; plane < 3; plane++) { for (i = slice_start; i < slice_end; i++) { ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec: add TrueMotion 2.0 Real Time decoder
ffmpeg | branch: master | Paul B Mahol | Wed Apr 6 11:02:39 2016 +0200| [c85d04251df613db0e94a0bca50dbedfd38f41dd] | committer: Paul B Mahol avcodec: add TrueMotion 2.0 Real Time decoder Signed-off-by: Paul B Mahol > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c85d04251df613db0e94a0bca50dbedfd38f41dd --- Changelog |1 + libavcodec/Makefile|1 + libavcodec/allcodecs.c |1 + libavcodec/avcodec.h |1 + libavcodec/codec_desc.c|7 ++ libavcodec/truemotion2rt.c | 220 libavcodec/version.h |2 +- libavformat/riff.c |1 + 8 files changed, 233 insertions(+), 1 deletion(-) diff --git a/Changelog b/Changelog index 58ac1d7..328ba46 100644 --- a/Changelog +++ b/Changelog @@ -28,6 +28,7 @@ version : - readvitc filter - VAAPI-accelerated format conversion and scaling - libnpp/CUDA-accelerated format conversion and scaling +- Duck TrueMotion 2.0 Real Time decoder version 3.0: - Common Encryption (CENC) MP4 encoding and decoding support diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 6a2450e..bc4c97f 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -524,6 +524,7 @@ OBJS-$(CONFIG_TMV_DECODER) += tmv.o cga_data.o OBJS-$(CONFIG_TRUEHD_DECODER) += mlpdec.o mlpdsp.o OBJS-$(CONFIG_TRUEMOTION1_DECODER) += truemotion1.o OBJS-$(CONFIG_TRUEMOTION2_DECODER) += truemotion2.o +OBJS-$(CONFIG_TRUEMOTION2RT_DECODER) += truemotion2rt.o OBJS-$(CONFIG_TRUESPEECH_DECODER) += truespeech.o OBJS-$(CONFIG_TSCC_DECODER)+= tscc.o msrledec.o OBJS-$(CONFIG_TSCC2_DECODER) += tscc2.o diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index f88c0ff..2b46a13 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -310,6 +310,7 @@ void avcodec_register_all(void) REGISTER_DECODER(TMV, tmv); REGISTER_DECODER(TRUEMOTION1, truemotion1); REGISTER_DECODER(TRUEMOTION2, truemotion2); +REGISTER_DECODER(TRUEMOTION2RT, truemotion2rt); REGISTER_DECODER(TSCC, tscc); REGISTER_DECODER(TSCC2, tscc2); REGISTER_DECODER(TXD, txd); diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index da32a6b..161ee9d 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -404,6 +404,7 @@ enum AVCodecID { AV_CODEC_ID_APNG, AV_CODEC_ID_DAALA, AV_CODEC_ID_CFHD, +AV_CODEC_ID_TRUEMOTION2RT, /* various PCM "codecs" */ AV_CODEC_ID_FIRST_AUDIO = 0x1, ///< A dummy id pointing at the start of audio codecs diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c index b9c0c99..7b48ee6 100644 --- a/libavcodec/codec_desc.c +++ b/libavcodec/codec_desc.c @@ -1528,6 +1528,13 @@ static const AVCodecDescriptor codec_descriptors[] = { .long_name = NULL_IF_CONFIG_SMALL("Cineform HD"), .props = AV_CODEC_PROP_LOSSY, }, +{ +.id= AV_CODEC_ID_TRUEMOTION2RT, +.type = AVMEDIA_TYPE_VIDEO, +.name = "truemotion2rt", +.long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 2.0 Real Time"), +.props = AV_CODEC_PROP_LOSSY, +}, /* various PCM "codecs" */ { diff --git a/libavcodec/truemotion2rt.c b/libavcodec/truemotion2rt.c new file mode 100644 index 000..ef0e2cb --- /dev/null +++ b/libavcodec/truemotion2rt.c @@ -0,0 +1,220 @@ +/* + * Duck TrueMotion 2.0 Real Time Decoder + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include +#include +#include + +#include "avcodec.h" +#define BITSTREAM_READER_LE +#include "get_bits.h" +#include "internal.h" +#include "libavutil/imgutils.h" +#include "libavutil/internal.h" +#include "libavutil/intreadwrite.h" +#include "libavutil/mem.h" + +typedef struct TrueMotion2RTContext { +GetBitContext gb; +const uint8_t *buf; +int size; +int delta_size; +int hscale; +} TrueMotion2RTContext; + +static av_cold int decode_init(AVCodecContext *avctx) +{ +avctx->pix_fmt = AV_PIX_FMT_YUV410P; +return 0; +} + +/* Returns the number of bytes consumed from the bytestream. Returns -1 if + * there was an error while decodin
[FFmpeg-cvslog] avfilter: Add AV_OPT_FLAG_FILTERING_PARAM to where it was missing
ffmpeg | branch: master | Michael Niedermayer | Thu Apr 21 16:49:00 2016 +0200| [7b7c338e9a7390d5463f2ba6b240e254f8e77de0] | committer: Michael Niedermayer avfilter: Add AV_OPT_FLAG_FILTERING_PARAM to where it was missing Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7b7c338e9a7390d5463f2ba6b240e254f8e77de0 --- libavfilter/split.c |2 +- libavfilter/vf_format.c |2 +- libavfilter/vf_scale_npp.c |2 +- libavfilter/vf_scale_vaapi.c |2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libavfilter/split.c b/libavfilter/split.c index c545fd6..6cf4ab1 100644 --- a/libavfilter/split.c +++ b/libavfilter/split.c @@ -95,7 +95,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame) } #define OFFSET(x) offsetof(SplitContext, x) -#define FLAGS AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_VIDEO_PARAM +#define FLAGS (AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_FILTERING_PARAM) static const AVOption options[] = { { "outputs", "set number of outputs", OFFSET(nb_outputs), AV_OPT_TYPE_INT, { .i64 = 2 }, 1, INT_MAX, FLAGS }, { NULL } diff --git a/libavfilter/vf_format.c b/libavfilter/vf_format.c index 1fb3442..a57c99d 100644 --- a/libavfilter/vf_format.c +++ b/libavfilter/vf_format.c @@ -140,7 +140,7 @@ static int query_formats(AVFilterContext *ctx) #define OFFSET(x) offsetof(FormatContext, x) static const AVOption options[] = { -{ "pix_fmts", "A '|'-separated list of pixel formats", OFFSET(pix_fmts), AV_OPT_TYPE_STRING, .flags = AV_OPT_FLAG_VIDEO_PARAM }, +{ "pix_fmts", "A '|'-separated list of pixel formats", OFFSET(pix_fmts), AV_OPT_TYPE_STRING, .flags = AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_FILTERING_PARAM }, { NULL } }; diff --git a/libavfilter/vf_scale_npp.c b/libavfilter/vf_scale_npp.c index 7d2b5df..68cee39 100644 --- a/libavfilter/vf_scale_npp.c +++ b/libavfilter/vf_scale_npp.c @@ -600,7 +600,7 @@ fail: } #define OFFSET(x) offsetof(NPPScaleContext, x) -#define FLAGS AV_OPT_FLAG_VIDEO_PARAM +#define FLAGS (AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM) static const AVOption options[] = { { "w", "Output video width", OFFSET(w_expr), AV_OPT_TYPE_STRING, { .str = "iw" }, .flags = FLAGS }, { "h", "Output video height", OFFSET(h_expr), AV_OPT_TYPE_STRING, { .str = "ih" }, .flags = FLAGS }, diff --git a/libavfilter/vf_scale_vaapi.c b/libavfilter/vf_scale_vaapi.c index f7eb891..8dd5acf 100644 --- a/libavfilter/vf_scale_vaapi.c +++ b/libavfilter/vf_scale_vaapi.c @@ -410,7 +410,7 @@ static av_cold void scale_vaapi_uninit(AVFilterContext *avctx) #define OFFSET(x) offsetof(ScaleVAAPIContext, x) -#define FLAGS (AV_OPT_FLAG_VIDEO_PARAM) +#define FLAGS (AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM) static const AVOption scale_vaapi_options[] = { { "w", "Output video width", OFFSET(output_width), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS }, ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc/APIchanges: Fix bistream typo
ffmpeg | branch: master | Michael Niedermayer | Fri Apr 22 04:30:30 2016 +0200| [268b5ae10aa6219e0215c0f756c1a9124ba84140] | committer: Michael Niedermayer doc/APIchanges: Fix bistream typo Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=268b5ae10aa6219e0215c0f756c1a9124ba84140 --- doc/APIchanges |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/APIchanges b/doc/APIchanges index 02e4d70..8870451 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -22,7 +22,7 @@ API changes, most recent first: 2016-xx-xx - xxx - lavc 57.15.0 - avcodec.h Add a new bitstream filtering API working with AVPackets. - Deprecate the old bistream filtering API. + Deprecate the old bitsream filtering API. 2016-xx-xx - xxx - lavfi 6.42.0 - avfilter.h Add AVFilterContext.hw_device_ctx. ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc/APIchanges: Fix bitsream typo
ffmpeg | branch: master | Lou Logan | Thu Apr 21 22:06:05 2016 -0800| [3eafbbe70a1066e2f5556865d302b5ecb1954954] | committer: Lou Logan doc/APIchanges: Fix bitsream typo Signed-off-by: Lou Logan > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3eafbbe70a1066e2f5556865d302b5ecb1954954 --- doc/APIchanges |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/APIchanges b/doc/APIchanges index 8870451..de72807 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -22,7 +22,7 @@ API changes, most recent first: 2016-xx-xx - xxx - lavc 57.15.0 - avcodec.h Add a new bitstream filtering API working with AVPackets. - Deprecate the old bitsream filtering API. + Deprecate the old bitstream filtering API. 2016-xx-xx - xxx - lavfi 6.42.0 - avfilter.h Add AVFilterContext.hw_device_ctx. ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog