[FFmpeg-cvslog] hevc: fix incorrect sao buffer size
ffmpeg | branch: master | Christophe Gisquet | Sun Aug 10 11:43:12 2014 +0200| [7117547298b13d6f52a20d6a62a27dc0a1c3e263] | committer: Michael Niedermayer hevc: fix incorrect sao buffer size It previously used the output, cropped size, causing overreads/writes. Fixes ticket #3839. This issue was introduced by d249e682, which is not part of any release Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7117547298b13d6f52a20d6a62a27dc0a1c3e263 --- libavcodec/hevc.c |8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c index 1972a5b..3272485 100644 --- a/libavcodec/hevc.c +++ b/libavcodec/hevc.c @@ -280,16 +280,16 @@ static int get_buffer_sao(HEVCContext *s, AVFrame *frame, const HEVCSPS *sps) { int ret, i; -frame->width = s->avctx->width + 2; -frame->height = s->avctx->height + 2; +frame->width = s->avctx->coded_width + 2; +frame->height = s->avctx->coded_height + 2; if ((ret = ff_get_buffer(s->avctx, frame, AV_GET_BUFFER_FLAG_REF)) < 0) return ret; for (i = 0; frame->data[i]; i++) { int offset = frame->linesize[i] + (1 << sps->pixel_shift); frame->data[i] += offset; } -frame->width = s->avctx->width; -frame->height = s->avctx->height; +frame->width = s->avctx->coded_width; +frame->height = s->avctx->coded_height; return 0; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Revert "lavc/utils: Do not require dimensions for PNG."
ffmpeg | branch: master | Derek Buitenhuis | Sun Jul 13 19:32:56 2014 +0100| [43654a22c037a86c23e7aed90660c5ea3971e56d] | committer: Derek Buitenhuis Revert "lavc/utils: Do not require dimensions for PNG." mplayer-specifc hacks should not be in our codebase. mplayer should fix its own code. It is not our responsibility to work around their broken code. This reverts commit e8e575633faf19711910cf9caf59f7db300a9ccd. Signed-off-by: Derek Buitenhuis > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=43654a22c037a86c23e7aed90660c5ea3971e56d --- libavcodec/utils.c |4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 0bc0b38..62d4b26 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -1531,9 +1531,7 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code } else if (avctx->channel_layout) { avctx->channels = av_get_channel_layout_nb_channels(avctx->channel_layout); } -if(avctx->codec_type == AVMEDIA_TYPE_VIDEO && - avctx->codec_id != AV_CODEC_ID_PNG // For mplayer -) { +if(avctx->codec_type == AVMEDIA_TYPE_VIDEO) { if (avctx->width <= 0 || avctx->height <= 0) { av_log(avctx, AV_LOG_ERROR, "dimensions not set\n"); ret = AVERROR(EINVAL); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] hevc_mvs: set candidate availabilities
ffmpeg | branch: master | Christophe Gisquet | Sun Aug 10 15:02:36 2014 +0200| [84bc45880ae14277cb804569401ddd34274f4764] | committer: Michael Niedermayer hevc_mvs: set candidate availabilities They might be left uninitialized otherwise since 3ad04608. Fixes ticket #3840. Found-by: Carl Eugen Hoyos Reported-by: Piotr Bandurski Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=84bc45880ae14277cb804569401ddd34274f4764 --- libavcodec/hevc_mvs.c | 20 +++- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/libavcodec/hevc_mvs.c b/libavcodec/hevc_mvs.c index 1d4c002..3d8276f 100644 --- a/libavcodec/hevc_mvs.c +++ b/libavcodec/hevc_mvs.c @@ -677,6 +677,17 @@ b_candidates: xB0 < s->sps->width && PRED_BLOCK_AVAILABLE(B0); +// above spatial merge candidate +xB1= x0 + nPbW - 1; +yB1= y0 - 1; +is_available_b1 = AVAILABLE(cand_up, B1); + +// above left spatial merge candidate +xB2 = x0 - 1; +yB2 = y0 - 1; +is_available_b2 = AVAILABLE(cand_up_left, B2); + +// above right spatial merge candidate if (is_available_b0) { if (MP_MX(B0, pred_flag_index_l0, mxB)) { goto scalef; @@ -687,11 +698,6 @@ b_candidates: } // above spatial merge candidate -xB1= x0 + nPbW - 1; -yB1= y0 - 1; - -is_available_b1 = AVAILABLE(cand_up, B1); - if (is_available_b1) { if (MP_MX(B1, pred_flag_index_l0, mxB)) { goto scalef; @@ -702,10 +708,6 @@ b_candidates: } // above left spatial merge candidate -xB2 = x0 - 1; -yB2 = y0 - 1; -is_available_b2 = AVAILABLE(cand_up_left, B2); - if (is_available_b2) { if (MP_MX(B2, pred_flag_index_l0, mxB)) { goto scalef; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
Re: [FFmpeg-cvslog] Revert "lavc/utils: Do not require dimensions for PNG."
Derek Buitenhuis videolan.org> writes: > Revert "lavc/utils: Do not require dimensions for PNG." > > mplayer-specifc hacks should not be in our codebase. > mplayer should fix its own code. It is not our > responsibility to work around their broken code. I believe you have been told that these troll-like flames are not welcome in commit messages. Please stop this behaviour, Carl Eugen ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] hevc_ps: verify P/T/L information
ffmpeg | branch: master | Christophe Gisquet | Sat Aug 9 20:11:20 2014 +0200| [0d0d24af0159ff08f396ad04cd63ce5655b1fc60] | committer: Michael Niedermayer hevc_ps: verify P/T/L information This makes the SPS parsing a little, but barely, safer. Reviewed-by: Mickaël Raulet Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0d0d24af0159ff08f396ad04cd63ce5655b1fc60 --- libavcodec/hevc_ps.c | 43 ++- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c index f45dd8c..fe974bc 100644 --- a/libavcodec/hevc_ps.c +++ b/libavcodec/hevc_ps.c @@ -199,12 +199,15 @@ int ff_hevc_decode_short_term_rps(HEVCContext *s, ShortTermRPS *rps, } -static void decode_profile_tier_level(HEVCContext *s, PTLCommon *ptl) +static int decode_profile_tier_level(HEVCContext *s, PTLCommon *ptl) { int i; HEVCLocalContext *lc = s->HEVClc; GetBitContext *gb = &lc->gb; +if (get_bits_left(gb) < 2+1+5 + 32 + 4 + 16 + 16 + 12) +return -1; + ptl->profile_space = get_bits(gb, 2); ptl->tier_flag = get_bits1(gb); ptl->profile_idc = get_bits(gb, 5); @@ -229,29 +232,49 @@ static void decode_profile_tier_level(HEVCContext *s, PTLCommon *ptl) skip_bits(gb, 16); // XXX_reserved_zero_44bits[0..15] skip_bits(gb, 16); // XXX_reserved_zero_44bits[16..31] skip_bits(gb, 12); // XXX_reserved_zero_44bits[32..43] + +return 0; } -static void parse_ptl(HEVCContext *s, PTL *ptl, int max_num_sub_layers) +static int parse_ptl(HEVCContext *s, PTL *ptl, int max_num_sub_layers) { int i; HEVCLocalContext *lc = s->HEVClc; GetBitContext *gb = &lc->gb; -decode_profile_tier_level(s, &ptl->general_ptl); +if (decode_profile_tier_level(s, &ptl->general_ptl) < 0 || +get_bits_left(gb) < 8 + 8*2) { +av_log(s->avctx, AV_LOG_ERROR, "PTL information too short\n"); +return -1; +} + ptl->general_ptl.level_idc = get_bits(gb, 8); for (i = 0; i < max_num_sub_layers - 1; i++) { ptl->sub_layer_profile_present_flag[i] = get_bits1(gb); ptl->sub_layer_level_present_flag[i] = get_bits1(gb); } + if (max_num_sub_layers - 1> 0) for (i = max_num_sub_layers - 1; i < 8; i++) skip_bits(gb, 2); // reserved_zero_2bits[i] for (i = 0; i < max_num_sub_layers - 1; i++) { -if (ptl->sub_layer_profile_present_flag[i]) -decode_profile_tier_level(s, &ptl->sub_layer_ptl[i]); -if (ptl->sub_layer_level_present_flag[i]) -ptl->sub_layer_ptl[i].level_idc = get_bits(gb, 8); +if (ptl->sub_layer_profile_present_flag[i] && +decode_profile_tier_level(s, &ptl->sub_layer_ptl[i]) < 0) { +av_log(s->avctx, AV_LOG_ERROR, + "PTL information for sublayer %i too short\n", i); +return -1; +} +if (ptl->sub_layer_level_present_flag[i]) { +if (get_bits_left(gb) < 8) { +av_log(s->avctx, AV_LOG_ERROR, + "Not enough data for sublayer %i level_idc\n", i); +return -1; +} else +ptl->sub_layer_ptl[i].level_idc = get_bits(gb, 8); +} } + +return 0; } static void decode_sublayer_hrd(HEVCContext *s, unsigned int nb_cpb, @@ -375,7 +398,8 @@ int ff_hevc_decode_nal_vps(HEVCContext *s) goto err; } -parse_ptl(s, &vps->ptl, vps->vps_max_sub_layers); +if (parse_ptl(s, &vps->ptl, vps->vps_max_sub_layers) < 0) +goto err; vps->vps_sub_layer_ordering_info_present_flag = get_bits1(gb); @@ -692,7 +716,8 @@ int ff_hevc_decode_nal_sps(HEVCContext *s) skip_bits1(gb); // temporal_id_nesting_flag -parse_ptl(s, &sps->ptl, sps->max_sub_layers); +if (parse_ptl(s, &sps->ptl, sps->max_sub_layers) < 0) +goto err; sps_id = get_ue_golomb_long(gb); if (sps_id >= MAX_SPS_COUNT) { ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/options_table: leave xvidmmx AVOption in place
ffmpeg | branch: master | Michael Niedermayer | Sat Aug 9 14:49:32 2014 +0200| [07262c719945bf417e5b2e9057de2bf4c84de075] | committer: Michael Niedermayer avcodec/options_table: leave xvidmmx AVOption in place Also mark it as deprecated through its help text Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=07262c719945bf417e5b2e9057de2bf4c84de075 --- libavcodec/options_table.h |4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h index 1c73aff..2e9dfa0 100644 --- a/libavcodec/options_table.h +++ b/libavcodec/options_table.h @@ -224,9 +224,7 @@ static const AVOption avcodec_options[] = { {"ipp", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_IPP }, INT_MIN, INT_MAX, V|E|D, "idct"}, #endif /* FF_API_UNUSED_MEMBERS */ {"xvid", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_XVID }, INT_MIN, INT_MAX, V|E|D, "idct"}, -#if FF_API_IDCT_XVIDMMX -{"xvidmmx", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_XVID }, INT_MIN, INT_MAX, V|E|D, "idct"}, -#endif /* FF_API_IDCT_XVIDMMX */ +{"xvidmmx", "deprecated, for compatibility only", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_XVID }, INT_MIN, INT_MAX, V|E|D, "idct"}, {"faani", "floating point AAN IDCT", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_FAAN }, INT_MIN, INT_MAX, V|D|E, "idct"}, {"simpleauto", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_SIMPLEAUTO }, INT_MIN, INT_MAX, V|E|D, "idct"}, {"slice_count", NULL, OFFSET(slice_count), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX}, ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit 'fb1ddcdc8f51b9d261ae8e9c26b91e81f7b6bf45'
ffmpeg | branch: master | Michael Niedermayer | Sun Aug 10 18:20:37 2014 +0200| [78eaaa857e95fa5542dc008c8ad3664e6ab6801a] | committer: Michael Niedermayer Merge commit 'fb1ddcdc8f51b9d261ae8e9c26b91e81f7b6bf45' * commit 'fb1ddcdc8f51b9d261ae8e9c26b91e81f7b6bf45': avresample: Introduce AVFrame-based API Conflicts: libavresample/utils.c libavutil/version.h Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=78eaaa857e95fa5542dc008c8ad3664e6ab6801a --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avresample: Introduce AVFrame-based API
ffmpeg | branch: master | Luca Barbato | Sun May 25 17:49:15 2014 +0200| [fb1ddcdc8f51b9d261ae8e9c26b91e81f7b6bf45] | committer: Luca Barbato avresample: Introduce AVFrame-based API > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fb1ddcdc8f51b9d261ae8e9c26b91e81f7b6bf45 --- doc/APIchanges |6 ++ libavresample/avresample.h | 69 +++ libavresample/utils.c | 130 libavresample/version.h|2 +- libavutil/error.h |2 + libavutil/version.h|2 +- 6 files changed, 209 insertions(+), 2 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index 250088b..6e5242e 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -13,6 +13,12 @@ libavutil: 2014-08-09 API changes, most recent first: +2014-04-xx - xxx - lavr 2.1.0 - avresample.h + Add avresample_convert_frame() and avresample_config(). + +2014-04-xx - xxx - lavu 54.1.0 - error.h + Add AVERROR_INPUT_CHANGED and AVERROR_OUTPUT_CHANGED. + 2014-08-xx - xxx - lavc 55.57.4 - avcodec.h Deprecate FF_IDCT_XVIDMMX define and xvidmmx idct option. Replaced by FF_IDCT_XVID and xvid respectively. diff --git a/libavresample/avresample.h b/libavresample/avresample.h index 6105759..b705a45 100644 --- a/libavresample/avresample.h +++ b/libavresample/avresample.h @@ -95,6 +95,7 @@ #include "libavutil/avutil.h" #include "libavutil/channel_layout.h" #include "libavutil/dict.h" +#include "libavutil/frame.h" #include "libavutil/log.h" #include "libavutil/mathematics.h" @@ -165,6 +166,10 @@ AVAudioResampleContext *avresample_alloc_context(void); /** * Initialize AVAudioResampleContext. + * @note The context must be configured using the AVOption API. + * + * @see av_opt_set_int() + * @see av_opt_set_dict() * * @param avr audio resample context * @return 0 on success, negative AVERROR code on failure @@ -423,6 +428,70 @@ int avresample_available(AVAudioResampleContext *avr); int avresample_read(AVAudioResampleContext *avr, uint8_t **output, int nb_samples); /** + * Convert the samples in the input AVFrame and write them to the output AVFrame. + * + * Input and output AVFrames must have channel_layout, sample_rate and format set. + * + * The upper bound on the number of output samples is obtained through + * avresample_get_out_samples(). + * + * If the output AVFrame does not have the data pointers allocated the nb_samples + * field will be set using avresample_get_out_samples() and av_frame_get_buffer() + * is called to allocate the frame. + * + * The output AVFrame can be NULL or have fewer allocated samples than required. + * In this case, any remaining samples not written to the output will be added + * to an internal FIFO buffer, to be returned at the next call to this function + * or to avresample_convert() or to avresample_read(). + * + * If converting sample rate, there may be data remaining in the internal + * resampling delay buffer. avresample_get_delay() tells the number of + * remaining samples. To get this data as output, call this function or + * avresample_convert() with NULL input. + * + * At the end of the conversion process, there may be data remaining in the + * internal FIFO buffer. avresample_available() tells the number of remaining + * samples. To get this data as output, either call this function or + * avresample_convert() with NULL input or call avresample_read(). + * + * If the AVAudioResampleContext configuration does not match the output and + * input AVFrame settings the conversion does not take place and depending on + * which AVFrame is not matching AVERROR_OUTPUT_CHANGED, AVERROR_INPUT_CHANGED + * or AVERROR_OUTPUT_CHANGED|AVERROR_INPUT_CHANGED is returned. + * + * @see avresample_get_out_samples() + * @see avresample_available() + * @see avresample_convert() + * @see avresample_read() + * @see avresample_get_delay() + * + * @param avr audio resample context + * @param output output AVFrame + * @param input input AVFrame + * @return0 on success, AVERROR on failure or nonmatching + *configuration. + */ +int avresample_convert_frame(AVAudioResampleContext *avr, + AVFrame *output, AVFrame *input); + +/** + * Configure or reconfigure the AVAudioResampleContext using the information + * provided by the AVFrames. + * + * The original resampling context is reset even on failure. + * The function calls avresample_close() internally if the context is open. + * + * @see avresample_open(); + * @see avresample_close(); + * + * @param avr audio resample context + * @param output output AVFrame + * @param input input AVFrame + * @return0 on success, AVERROR on failure. + */ +int avresample_config(AVAudioResampleContext *avr, AVFrame *out, AVFrame *in); + +/** * @} */ diff --git a/libavresample/utils.c b/libavresample/util
[FFmpeg-cvslog] Merge commit '2597a842a0a2c7e8aa76f32733d27bf64817ae86'
ffmpeg | branch: master | Michael Niedermayer | Sun Aug 10 18:40:46 2014 +0200| [61b9ce00a30c8bb261678d9c210a06b5eefaed7a] | committer: Michael Niedermayer Merge commit '2597a842a0a2c7e8aa76f32733d27bf64817ae86' * commit '2597a842a0a2c7e8aa76f32733d27bf64817ae86': tiff: Improve grayscale support Conflicts: libavcodec/tiff.c Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=61b9ce00a30c8bb261678d9c210a06b5eefaed7a --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] tiff: Improve grayscale support
ffmpeg | branch: master | Diego Elio Pettenò | Sat Aug 9 14:19:45 2014 +0100| [2597a842a0a2c7e8aa76f32733d27bf64817ae86] | committer: Luca Barbato tiff: Improve grayscale support Only use PAL8 if palette is present, else use GRAY8 for pixfmt. Instead of simulating a grayscale palette, use real grayscale pixels, if no palette is actually defined. Signed-off-by: Diego Elio Pettenò Signed-off-by: Luca Barbato > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2597a842a0a2c7e8aa76f32733d27bf64817ae86 --- libavcodec/tiff.c | 14 +++--- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c index 2aff45a..ca5ec75 100644 --- a/libavcodec/tiff.c +++ b/libavcodec/tiff.c @@ -246,15 +246,14 @@ static int tiff_unpack_strip(TiffContext *s, uint8_t *dst, int stride, static int init_image(TiffContext *s, AVFrame *frame) { -int i, ret; -uint32_t *pal; +int ret; switch (s->bpp * 10 + s->bppcount) { case 11: s->avctx->pix_fmt = AV_PIX_FMT_MONOBLACK; break; case 81: -s->avctx->pix_fmt = AV_PIX_FMT_PAL8; +s->avctx->pix_fmt = s->palette_is_set ? AV_PIX_FMT_PAL8 : AV_PIX_FMT_GRAY8; break; case 243: s->avctx->pix_fmt = AV_PIX_FMT_RGB24; @@ -290,14 +289,7 @@ static int init_image(TiffContext *s, AVFrame *frame) return ret; } if (s->avctx->pix_fmt == AV_PIX_FMT_PAL8) { -if (s->palette_is_set) { -memcpy(frame->data[1], s->palette, sizeof(s->palette)); -} else { -/* make default grayscale pal */ -pal = (uint32_t *) frame->data[1]; -for (i = 0; i < 256; i++) -pal[i] = i * 0x010101; -} +memcpy(frame->data[1], s->palette, sizeof(s->palette)); } return 0; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavf/img2dec: Initialize a stack variable.
ffmpeg | branch: master | Carl Eugen Hoyos | Sun Aug 10 17:45:05 2014 +0200| [273fc0139e0add4b45d40849ff88c6df5a7e819b] | committer: Carl Eugen Hoyos lavf/img2dec: Initialize a stack variable. Fixes a valgrind warning about using unitialised memory. Hopefully fixes crashes on several platforms reported through fate. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=273fc0139e0add4b45d40849ff88c6df5a7e819b --- libavformat/img2dec.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c index b9a1bcf..d70fc75 100644 --- a/libavformat/img2dec.c +++ b/libavformat/img2dec.c @@ -395,7 +395,7 @@ int ff_img_read_packet(AVFormatContext *s1, AVPacket *pkt) } if (codec->codec_id == AV_CODEC_ID_NONE) { -AVProbeData pd; +AVProbeData pd = { 0 }; AVInputFormat *ifmt; uint8_t header[PROBE_BUF_MIN + AVPROBE_PADDING_SIZE]; int ret; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge remote-tracking branch 'cehoyos/master'
ffmpeg | branch: master | Michael Niedermayer | Sun Aug 10 18:48:03 2014 +0200| [d6efed84b1dac904c86c7fc2f33d170e730efb6c] | committer: Michael Niedermayer Merge remote-tracking branch 'cehoyos/master' * cehoyos/master: lavf/img2dec: Initialize a stack variable. Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d6efed84b1dac904c86c7fc2f33d170e730efb6c --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit 'f4312352fc52cc47c1ba398a33f629d32a737e91'
ffmpeg | branch: master | Michael Niedermayer | Sun Aug 10 18:54:11 2014 +0200| [f51c3e3a84e6b6fa5d6c2c26387a5bb8fb5580da] | committer: Michael Niedermayer Merge commit 'f4312352fc52cc47c1ba398a33f629d32a737e91' * commit 'f4312352fc52cc47c1ba398a33f629d32a737e91': configure: Add probe identification of MS armasm Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f51c3e3a84e6b6fa5d6c2c26387a5bb8fb5580da --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] configure: Add probe identification of MS armasm
ffmpeg | branch: master | Martin Storsjö | Sat Aug 9 22:25:44 2014 +0300| [f4312352fc52cc47c1ba398a33f629d32a737e91] | committer: Martin Storsjö configure: Add probe identification of MS armasm Signed-off-by: Martin Storsjö > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f4312352fc52cc47c1ba398a33f629d32a737e91 --- configure |5 + 1 file changed, 5 insertions(+) diff --git a/configure b/configure index c128b29..b9626e7 100755 --- a/configure +++ b/configure @@ -2883,6 +2883,11 @@ probe_cc(){ _cflags_size="-O2 -Munroll=c:1 $opt_common" _cflags_noopt="-O1" _flags_filter=pgi_flags +elif $_cc 2>&1 | grep -q 'Microsoft.*ARM.*Assembler'; then +_type=armasm +_ident=$($_cc | head -n1) +# 4509: "This form of conditional instruction is deprecated" +_flags="-nologo -ignore 4509" elif $_cc 2>&1 | grep -q Microsoft; then _type=msvc _ident=$($cc 2>&1 | head -n1) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] configure: Enable gas-preprocessor on all OSes but only if available
ffmpeg | branch: master | Diego Biurrun | Sat Aug 9 08:06:12 2014 -0700| [9f8cf50e3be04b8e178086edaa4598826143303d] | committer: Martin Storsjö configure: Enable gas-preprocessor on all OSes but only if available Signed-off-by: Martin Storsjö > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9f8cf50e3be04b8e178086edaa4598826143303d --- configure | 16 +--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/configure b/configure index b9626e7..684a93c 100755 --- a/configure +++ b/configure @@ -2199,8 +2199,6 @@ ranlib="ranlib" strip="strip" yasmexe="yasm" -nogas=":" - # machine arch_default=$(uname -m) cpu="generic" @@ -3424,7 +3422,6 @@ case $target_os in add_extralibs -lpoll -lgnugetopt ;; darwin) -gas="gas-preprocessor.pl $cc" enabled ppc && add_asflags -force_cpusubtype_ALL SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR)' enabled x86_32 && append SHFLAGS -Wl,-read_only_relocs,suppress @@ -3783,8 +3780,21 @@ EOF } if enabled_any arm aarch64 || enabled_all ppc altivec && enabled asm; then +nogas=: enabled_any arm aarch64 && nogas=die enabled_all ppc altivec && nogas=warn +as_noop=-v + +case $as_type in +arm*) gaspp_as_type=armasm; as_noop=-h ;; +gcc) gaspp_as_type=gas ;; +*)gaspp_as_type=$as_type ;; +esac + +[ $target_os = "darwin" ] && gaspp_as_type="apple-$gaspp_as_type" + +check_cmd gas-preprocessor.pl -arch $arch -as-type $gaspp_as_type -- $as $as_noop && +gas="gas-preprocessor.pl -arch $arch -as-type $gaspp_as_type -- $as" if ! check_gas ; then as=${gas:=$as} ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '9f8cf50e3be04b8e178086edaa4598826143303d'
ffmpeg | branch: master | Michael Niedermayer | Sun Aug 10 19:16:42 2014 +0200| [7e4e45d227e13972209fad39fc1bff9eddbdd905] | committer: Michael Niedermayer Merge commit '9f8cf50e3be04b8e178086edaa4598826143303d' * commit '9f8cf50e3be04b8e178086edaa4598826143303d': configure: Enable gas-preprocessor on all OSes but only if available Conflicts: configure Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7e4e45d227e13972209fad39fc1bff9eddbdd905 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] configure: Suggest upgrading gas-preprocessor instead of just installing
ffmpeg | branch: master | Martin Storsjö | Sun Aug 10 16:05:41 2014 +0300| [ab0742d2f34d70415620441b7ed7da2f03a0c14f] | committer: Martin Storsjö configure: Suggest upgrading gas-preprocessor instead of just installing Older versions don't support all the features we test for now. Signed-off-by: Martin Storsjö > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ab0742d2f34d70415620441b7ed7da2f03a0c14f --- configure |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 684a93c..411af5e 100755 --- a/configure +++ b/configure @@ -3799,7 +3799,7 @@ if enabled_any arm aarch64 || enabled_all ppc altivec && enabled asm; then if ! check_gas ; then as=${gas:=$as} check_gas || \ -$nogas "GNU assembler not found, install gas-preprocessor" +$nogas "GNU assembler not found, install/update gas-preprocessor" fi check_as
[FFmpeg-cvslog] Merge commit 'ab0742d2f34d70415620441b7ed7da2f03a0c14f'
ffmpeg | branch: master | Michael Niedermayer | Sun Aug 10 19:53:00 2014 +0200| [3787495e1f2c2e2de333cf452021822c2655c8d0] | committer: Michael Niedermayer Merge commit 'ab0742d2f34d70415620441b7ed7da2f03a0c14f' * commit 'ab0742d2f34d70415620441b7ed7da2f03a0c14f': configure: Suggest upgrading gas-preprocessor instead of just installing Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3787495e1f2c2e2de333cf452021822c2655c8d0 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '8dca0877e3e1457e9ec79ffa1ead1135aabb791c'
ffmpeg | branch: master | Michael Niedermayer | Sun Aug 10 20:34:28 2014 +0200| [d123d9abef52931f54701e5fb0ed569416258f75] | committer: Michael Niedermayer Merge commit '8dca0877e3e1457e9ec79ffa1ead1135aabb791c' * commit '8dca0877e3e1457e9ec79ffa1ead1135aabb791c': mpegts: Return proper error code on invalid input data Conflicts: libavformat/mpegtsenc.c Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d123d9abef52931f54701e5fb0ed569416258f75 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Prepare for 11_alpha2 Release
ffmpeg | branch: master | Reinhard Tartler | Sun Aug 10 10:07:55 2014 -0400| [59cc0812207e3c2e2f2e559d60d0a8f9296a8847] | committer: Reinhard Tartler Prepare for 11_alpha2 Release > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=59cc0812207e3c2e2f2e559d60d0a8f9296a8847 --- RELEASE |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE b/RELEASE index 086e7dc..83512dd 100644 --- a/RELEASE +++ b/RELEASE @@ -1 +1 @@ -11_alpha1 +11_alpha2 ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '59cc0812207e3c2e2f2e559d60d0a8f9296a8847'
ffmpeg | branch: master | Michael Niedermayer | Sun Aug 10 20:32:00 2014 +0200| [c24be3c4a2e15e7295bdef8183deb168b6835eb9] | committer: Michael Niedermayer Merge commit '59cc0812207e3c2e2f2e559d60d0a8f9296a8847' * commit '59cc0812207e3c2e2f2e559d60d0a8f9296a8847': Prepare for 11_alpha2 Release Conflicts: RELEASE Not merged, as our release numbers differ Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c24be3c4a2e15e7295bdef8183deb168b6835eb9 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] mpegts: Return proper error code on invalid input data
ffmpeg | branch: master | Nidhi Makhijani | Sun Aug 10 00:07:12 2014 +0530| [8dca0877e3e1457e9ec79ffa1ead1135aabb791c] | committer: Diego Biurrun mpegts: Return proper error code on invalid input data Signed-off-by: Diego Biurrun > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8dca0877e3e1457e9ec79ffa1ead1135aabb791c --- libavformat/mpegtsenc.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 457b2e7..b210b02 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -165,7 +165,7 @@ static int mpegts_write_section1(MpegTSSection *s, int tid, int id, tot_len = 3 + 5 + len + 4; /* check if not too big */ if (tot_len > 1024) -return -1; +return AVERROR_INVALIDDATA; q= section; *q++ = tid; @@ -1006,7 +1006,7 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) if (ts_st->first_pts_check && pts == AV_NOPTS_VALUE) { av_log(s, AV_LOG_ERROR, "first pts value must set\n"); -return AVERROR(EINVAL); +return AVERROR_INVALIDDATA; } ts_st->first_pts_check = 0; @@ -1017,7 +1017,7 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) if (pkt->size < 5 || AV_RB32(pkt->data) != 0x001) { av_log(s, AV_LOG_ERROR, "H.264 bitstream malformed, " "no startcode found, use -bsf h264_mp4toannexb\n"); -return AVERROR(EINVAL); +return AVERROR_INVALIDDATA; } do { @@ -1040,7 +1040,7 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) } else if (st->codec->codec_id == AV_CODEC_ID_AAC) { if (pkt->size < 2) { av_log(s, AV_LOG_ERROR, "AAC packet too short\n"); -return AVERROR(EINVAL); +return AVERROR_INVALIDDATA; } if ((AV_RB16(pkt->data) & 0xfff0) != 0xfff0) { int ret; @@ -1049,7 +1049,7 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) if (!ts_st->amux) { av_log(s, AV_LOG_ERROR, "AAC bitstream not in ADTS format " "and extradata missing\n"); -return AVERROR(EINVAL); +return AVERROR_INVALIDDATA; } av_init_packet(&pkt2); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit 'd63443b9684fa7b3e086634f7b44b203b6d9221e'
ffmpeg | branch: master | Michael Niedermayer | Sun Aug 10 20:51:15 2014 +0200| [bd879652476b1d57628f09531038ef4487fd68a6] | committer: Michael Niedermayer Merge commit 'd63443b9684fa7b3e086634f7b44b203b6d9221e' * commit 'd63443b9684fa7b3e086634f7b44b203b6d9221e': lavc: drop the av_fast_{re,m}alloc compatibility wrappers Conflicts: libavcodec/utils.c See: a973e01501bc3ca5c61d778f97f350837d4ed481 Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bd879652476b1d57628f09531038ef4487fd68a6 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavc: drop the av_fast_{re, m}alloc compatibility wrappers
ffmpeg | branch: master | Anton Khirnov | Sun Aug 10 10:13:30 2014 +| [d63443b9684fa7b3e086634f7b44b203b6d9221e] | committer: Anton Khirnov lavc: drop the av_fast_{re,m}alloc compatibility wrappers They were only needed until the bump. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d63443b9684fa7b3e086634f7b44b203b6d9221e --- libavcodec/utils.c | 12 1 file changed, 12 deletions(-) diff --git a/libavcodec/utils.c b/libavcodec/utils.c index b115da1..4253e8c 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -56,18 +56,6 @@ static int (*lockmgr_cb)(void **mutex, enum AVLockOp op); static void *codec_mutex; static void *avformat_mutex; -#if FF_API_FAST_MALLOC && CONFIG_SHARED && HAVE_SYMVER -FF_SYMVER(void*, av_fast_realloc, (void *ptr, unsigned int *size, size_t min_size), "LIBAVCODEC_55") -{ -return av_fast_realloc(ptr, size, min_size); -} - -FF_SYMVER(void, av_fast_malloc, (void *ptr, unsigned int *size, size_t min_size), "LIBAVCODEC_55") -{ -av_fast_malloc(ptr, size, min_size); -} -#endif - void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size) { void **p = ptr; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/movenc: check that reel_name length doesn't exceed UINT16_MAX
ffmpeg | branch: master | Mark Reid | Sun Aug 10 12:01:33 2014 -0700| [cab39afb1a9c8a86a00485fbba12a9ba26bea57d] | committer: Michael Niedermayer avformat/movenc: check that reel_name length doesn't exceed UINT16_MAX Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cab39afb1a9c8a86a00485fbba12a9ba26bea57d --- libavformat/movenc.c | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 6a38e89..00dd7a3 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -1340,13 +1340,22 @@ static int mov_write_rtp_tag(AVIOContext *pb, MOVTrack *track) return update_size(pb, pos); } -static int mov_write_source_reference_tag(AVIOContext *pb, MOVTrack *track, const char *reel_name){ +static int mov_write_source_reference_tag(AVIOContext *pb, MOVTrack *track, const char *reel_name) +{ +uint64_t str_size =strlen(reel_name); int64_t pos = avio_tell(pb); + +if (str_size >= UINT16_MAX){ +av_log(NULL, AV_LOG_ERROR, "reel_name length %llu is too large\n", str_size); +avio_wb16(pb, 0); +return AVERROR(EINVAL); +} + avio_wb32(pb, 0); /* size */ ffio_wfourcc(pb, "name"); /* Data format */ -avio_wb16(pb, strlen(reel_name)); /* string size */ +avio_wb16(pb, str_size); /* string size */ avio_wb16(pb, track->language);/* langcode */ -avio_write(pb, reel_name, strlen(reel_name)); /* reel name */ +avio_write(pb, reel_name, str_size); /* reel name */ return update_size(pb,pos); } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/iff: check pixfmt for rgb8 / rgbn
ffmpeg | branch: master | Michael Niedermayer | Sun Aug 10 21:59:33 2014 +0200| [3539d6c63a16e1b2874bb037a86f317449c58770] | committer: Michael Niedermayer avcodec/iff: check pixfmt for rgb8 / rgbn Fixes out of array access Found-by: Piotr Bandurski Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3539d6c63a16e1b2874bb037a86f317449c58770 --- libavcodec/iff.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/iff.c b/libavcodec/iff.c index 00f5261..ce06b36 100644 --- a/libavcodec/iff.c +++ b/libavcodec/iff.c @@ -849,9 +849,9 @@ static int decode_frame(AVCodecContext *avctx, break; case 4: bytestream2_init(&gb, buf, buf_size); -if (avctx->codec_tag == MKTAG('R', 'G', 'B', '8')) +if (avctx->codec_tag == MKTAG('R', 'G', 'B', '8') && avctx->pix_fmt == AV_PIX_FMT_RGB32) decode_rgb8(&gb, s->frame->data[0], avctx->width, avctx->height, s->frame->linesize[0]); -else if (avctx->codec_tag == MKTAG('R', 'G', 'B', 'N')) +else if (avctx->codec_tag == MKTAG('R', 'G', 'B', 'N') && avctx->pix_fmt == AV_PIX_FMT_RGB444) decode_rgbn(&gb, s->frame->data[0], avctx->width, avctx->height, s->frame->linesize[0]); else return unsupported(avctx); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/iff: Factorize av_pix_fmt_desc_get() out
ffmpeg | branch: master | Michael Niedermayer | Sun Aug 10 21:53:39 2014 +0200| [9bcdb98839f3d883867d87c6425e67ed7bcc7149] | committer: Michael Niedermayer avcodec/iff: Factorize av_pix_fmt_desc_get() out Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9bcdb98839f3d883867d87c6425e67ed7bcc7149 --- libavcodec/iff.c |7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libavcodec/iff.c b/libavcodec/iff.c index f08a0f7..00f5261 100644 --- a/libavcodec/iff.c +++ b/libavcodec/iff.c @@ -677,11 +677,15 @@ static int decode_frame(AVCodecContext *avctx, const uint8_t *buf_end = buf + buf_size; int y, plane, res; GetByteContext gb; +const AVPixFmtDescriptor *desc; if ((res = extract_header(avctx, avpkt)) < 0) return res; if ((res = ff_reget_buffer(avctx, s->frame)) < 0) return res; + +desc = av_pix_fmt_desc_get(avctx->pix_fmt); + if (!s->init && avctx->bits_per_coded_sample <= 8 && avctx->pix_fmt == AV_PIX_FMT_PAL8) { if ((res = cmap_read_palette(avctx, (uint32_t *)s->frame->data[1])) < 0) @@ -721,7 +725,6 @@ static int decode_frame(AVCodecContext *avctx, } else return unsupported(avctx); } else if (avctx->codec_tag == MKTAG('D', 'E', 'E', 'P')) { -const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt); int raw_width = avctx->width * (av_get_bits_per_pixel(desc) >> 3); int x; for (y = 0; y < avctx->height && buf < buf_end; y++) { @@ -838,7 +841,6 @@ static int decode_frame(AVCodecContext *avctx, } else return unsupported(avctx); } else if (avctx->codec_tag == MKTAG('D', 'E', 'E', 'P')) { // IFF-DEEP -const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt); if (av_get_bits_per_pixel(desc) == 32) decode_deep_rle32(s->frame->data[0], buf, buf_size, avctx->width, avctx->height, s->frame->linesize[0]); else @@ -856,7 +858,6 @@ static int decode_frame(AVCodecContext *avctx, break; case 5: if (avctx->codec_tag == MKTAG('D', 'E', 'E', 'P')) { -const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt); if (av_get_bits_per_pixel(desc) == 32) decode_deep_tvdc32(s->frame->data[0], buf, buf_size, avctx->width, avctx->height, s->frame->linesize[0], s->tvdc); else ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] [ffmpeg-web] branch master updated. 5668e92 web: Move FFmpeg 2.1 to olddownload
The branch, master has been updated via 5668e9288181a98476aa4dde06155b0694bc4498 (commit) from 2a4f40b0208e623604e7d656b32bd35a6241fae7 (commit) - Log - commit 5668e9288181a98476aa4dde06155b0694bc4498 Author: Michael Niedermayer AuthorDate: Sun Aug 10 22:42:40 2014 +0200 Commit: Michael Niedermayer CommitDate: Sun Aug 10 22:42:40 2014 +0200 web: Move FFmpeg 2.1 to olddownload diff --git a/src/download b/src/download index 7204bdf..68fde72 100644 --- a/src/download +++ b/src/download @@ -327,42 +327,6 @@ libpostproc52. 3.100 - -FFmpeg 2.1.5 "Fourier" - - -2.1.5 was released on 2014-06-23. It is the latest stable FFmpeg release -from the 2.1 release branch, which was cut from master on 2013-10-28. -Amongst lots of other changes, it includes all changes from -ffmpeg-mt, libav master of 2013-10-27, libav 9 as of 2013-10-27. - - It includes the following library versions: - - -libavutil 52. 48.101 -libavcodec 55. 39.101 -libavformat55. 19.104 -libavdevice55. 5.100 -libavfilter 3. 90.100 -libavresample 1. 1. 0 -libswscale 2. 5.101 -libswresample 0. 17.104 -libpostproc52. 3.100 - - - - Download bzip2 tarball - PGP signature - - - Download gzip tarball - PGP signature - - - http://git.videolan.org/?p=ffmpeg.git;a=shortlog;h=n2.1.5";>Changelog - - - FFmpeg 1.2.7 "Magic" diff --git a/src/olddownload b/src/olddownload index 0625f14..d3e639f 100644 --- a/src/olddownload +++ b/src/olddownload @@ -6,6 +6,42 @@ maintaining an old release. + +FFmpeg 2.1.5 "Fourier" + + +2.1.5 was released on 2014-06-23. It is the latest stable FFmpeg release +from the 2.1 release branch, which was cut from master on 2013-10-28. +Amongst lots of other changes, it includes all changes from +ffmpeg-mt, libav master of 2013-10-27, libav 9 as of 2013-10-27. + + It includes the following library versions: + + +libavutil 52. 48.101 +libavcodec 55. 39.101 +libavformat55. 19.104 +libavdevice55. 5.100 +libavfilter 3. 90.100 +libavresample 1. 1. 0 +libswscale 2. 5.101 +libswresample 0. 17.104 +libpostproc52. 3.100 + + + + Download bzip2 tarball + PGP signature + + + Download gzip tarball + PGP signature + + + http://git.videolan.org/?p=ffmpeg.git;a=shortlog;h=n2.1.5";>Changelog + + + FFmpeg 2.0.5 "Nameless" --- Summary of changes: src/download| 36 src/olddownload | 36 2 files changed, 36 insertions(+), 36 deletions(-) hooks/post-receive -- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/h264_mp4toannexb_bsf: fix issue when sps/ pps are already in the bistream
ffmpeg | branch: release/2.3 | Chris \"Koying\" Browet | Sat Jul 26 09:15:57 2014 +0200| [6d2219e9f950b96279fd8464cc11c4d02518b629] | committer: Michael Niedermayer avcodec/h264_mp4toannexb_bsf: fix issue when sps/pps are already in the bistream (cherry picked from commit ad91bf854b559f1afc42fc06f8a7dfbb75def5c8) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6d2219e9f950b96279fd8464cc11c4d02518b629 --- libavcodec/h264_mp4toannexb_bsf.c | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/libavcodec/h264_mp4toannexb_bsf.c b/libavcodec/h264_mp4toannexb_bsf.c index 0f142bb..a7b4f41 100644 --- a/libavcodec/h264_mp4toannexb_bsf.c +++ b/libavcodec/h264_mp4toannexb_bsf.c @@ -28,6 +28,7 @@ typedef struct H264BSFContext { uint8_t length_size; uint8_t first_idr; +uint8_t idr_sps_pps_seen; int extradata_parsed; } H264BSFContext; @@ -155,6 +156,7 @@ static int h264_mp4toannexb_filter(AVBitStreamFilterContext *bsfc, return ret; ctx->length_size = ret; ctx->first_idr= 1; +ctx->idr_sps_pps_seen = 0; ctx->extradata_parsed = 1; } @@ -174,8 +176,12 @@ static int h264_mp4toannexb_filter(AVBitStreamFilterContext *bsfc, if (buf + nal_size > buf_end || nal_size < 0) goto fail; -/* prepend only to the first type 5 NAL unit of an IDR picture */ -if (ctx->first_idr && (unit_type == 5 || unit_type == 7 || unit_type == 8)) { +if (ctx->first_idr && (unit_type == 7 || unit_type == 8)) +ctx->idr_sps_pps_seen = 1; + + +/* prepend only to the first type 5 NAL unit of an IDR picture, if no sps/pps are already present */ +if (ctx->first_idr && unit_type == 5 && !ctx->idr_sps_pps_seen) { if ((ret=alloc_and_copy(poutbuf, poutbuf_size, avctx->extradata, avctx->extradata_size, buf, nal_size)) < 0) @@ -185,8 +191,10 @@ static int h264_mp4toannexb_filter(AVBitStreamFilterContext *bsfc, if ((ret=alloc_and_copy(poutbuf, poutbuf_size, NULL, 0, buf, nal_size)) < 0) goto fail; -if (!ctx->first_idr && unit_type == 1) +if (!ctx->first_idr && unit_type == 1) { ctx->first_idr = 1; +ctx->idr_sps_pps_seen = 0; +} } buf+= nal_size; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] libavcodec/h264_parser: Increase parse_history, fix huge resolutions
ffmpeg | branch: release/2.3 | Michael Niedermayer | Thu Jul 31 16:25:21 2014 +0200| [594b1fa9615f9226722956ef0b49ba697241befb] | committer: Michael Niedermayer libavcodec/h264_parser: Increase parse_history, fix huge resolutions Signed-off-by: Michael Niedermayer (cherry picked from commit 0782fb6bcb32fe3ab956a99af4cc472ff81da0c2) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=594b1fa9615f9226722956ef0b49ba697241befb --- libavcodec/h264.h|2 +- libavcodec/h264_parser.c |4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libavcodec/h264.h b/libavcodec/h264.h index 228558b..7a6a652 100644 --- a/libavcodec/h264.h +++ b/libavcodec/h264.h @@ -749,7 +749,7 @@ typedef struct H264Context { int16_t slice_row[MAX_SLICES]; ///< to detect when MAX_SLICES is too low -uint8_t parse_history[4]; +uint8_t parse_history[6]; int parse_history_count; int parse_last_mb; uint8_t *edge_emu_buffer; diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c index ea0ab98..a075bfa 100644 --- a/libavcodec/h264_parser.c +++ b/libavcodec/h264_parser.c @@ -92,7 +92,7 @@ static int h264_find_frame_end(H264Context *h, const uint8_t *buf, state = 7; } else { h->parse_history[h->parse_history_count++]= buf[i]; -if (h->parse_history_count>3) { +if (h->parse_history_count>5) { unsigned int mb, last_mb= h->parse_last_mb; GetBitContext gb; @@ -120,7 +120,7 @@ found: pc->frame_start_found = 0; if (h->is_avc) return next_avc; -return i - (state & 5) - 3 * (state > 7); +return i - (state & 5) - 5 * (state > 7); } static int scan_mmco_reset(AVCodecParserContext *s) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/dvdsub_parser: never return 0 when the input isnt 0
ffmpeg | branch: release/2.3 | Michael Niedermayer | Sat Aug 2 00:27:23 2014 +0200| [aa0a8ef50e88e89a5c50dbf7ffc448a1a4315759] | committer: Michael Niedermayer avcodec/dvdsub_parser: never return 0 when the input isnt 0 Fixes a infinite loop Fixes Ticket3804 Signed-off-by: Michael Niedermayer (cherry picked from commit cfdb30d2f1241de9354a8efdbf8252d0f1a6f933) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=aa0a8ef50e88e89a5c50dbf7ffc448a1a4315759 --- libavcodec/dvdsub_parser.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/dvdsub_parser.c b/libavcodec/dvdsub_parser.c index e50c339..9a6457e 100644 --- a/libavcodec/dvdsub_parser.c +++ b/libavcodec/dvdsub_parser.c @@ -46,7 +46,7 @@ static int dvdsub_parse(AVCodecParserContext *s, if (pc->packet_index == 0) { if (buf_size < 2) -return 0; +return buf_size; pc->packet_len = AV_RB16(buf); if (pc->packet_len == 0) /* HD-DVD subpicture packet */ pc->packet_len = AV_RB32(buf+2); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] h264_mp4toannexb_bsf: account for consecutive IDR pictures.
ffmpeg | branch: release/2.3 | Benoit Fouet | Thu Jul 31 15:32:14 2014 +0200| [7a1262fca37d16b0de5dfc34937b193a2ede8872] | committer: Michael Niedermayer h264_mp4toannexb_bsf: account for consecutive IDR pictures. If there are consecutive IDR pictures, then SPS/PPS should be prepended to all of them, not only the first one. Signed-off-by: Michael Niedermayer (cherry picked from commit bf428bb3145c4f0eef32f8ef00de0ee222b3e414) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7a1262fca37d16b0de5dfc34937b193a2ede8872 --- libavcodec/h264_mp4toannexb_bsf.c |5 + 1 file changed, 5 insertions(+) diff --git a/libavcodec/h264_mp4toannexb_bsf.c b/libavcodec/h264_mp4toannexb_bsf.c index a7b4f41..a003a1d 100644 --- a/libavcodec/h264_mp4toannexb_bsf.c +++ b/libavcodec/h264_mp4toannexb_bsf.c @@ -179,6 +179,11 @@ static int h264_mp4toannexb_filter(AVBitStreamFilterContext *bsfc, if (ctx->first_idr && (unit_type == 7 || unit_type == 8)) ctx->idr_sps_pps_seen = 1; +/* if this is a new IDR picture following an IDR picture, reset the idr flag. + * Just check first_mb_in_slice to be 0 as this is the simplest solution. + * This could be checking idr_pic_id instead, but would complexify the parsing. */ +if (!ctx->first_idr && unit_type == 5 && (buf[1] & 0x80)) +ctx->first_idr = 1; /* prepend only to the first type 5 NAL unit of an IDR picture, if no sps/pps are already present */ if (ctx->first_idr && unit_type == 5 && !ctx->idr_sps_pps_seen) { ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/iff: Factorize av_pix_fmt_desc_get() out
ffmpeg | branch: release/2.3 | Michael Niedermayer | Sun Aug 10 21:53:39 2014 +0200| [fc57959fd57dadfc9525f8b3e7acd2ed458185d3] | committer: Michael Niedermayer avcodec/iff: Factorize av_pix_fmt_desc_get() out Signed-off-by: Michael Niedermayer (cherry picked from commit 9bcdb98839f3d883867d87c6425e67ed7bcc7149) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fc57959fd57dadfc9525f8b3e7acd2ed458185d3 --- libavcodec/iff.c |7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libavcodec/iff.c b/libavcodec/iff.c index d93015c..ce06b36 100644 --- a/libavcodec/iff.c +++ b/libavcodec/iff.c @@ -677,11 +677,15 @@ static int decode_frame(AVCodecContext *avctx, const uint8_t *buf_end = buf + buf_size; int y, plane, res; GetByteContext gb; +const AVPixFmtDescriptor *desc; if ((res = extract_header(avctx, avpkt)) < 0) return res; if ((res = ff_reget_buffer(avctx, s->frame)) < 0) return res; + +desc = av_pix_fmt_desc_get(avctx->pix_fmt); + if (!s->init && avctx->bits_per_coded_sample <= 8 && avctx->pix_fmt == AV_PIX_FMT_PAL8) { if ((res = cmap_read_palette(avctx, (uint32_t *)s->frame->data[1])) < 0) @@ -721,7 +725,6 @@ static int decode_frame(AVCodecContext *avctx, } else return unsupported(avctx); } else if (avctx->codec_tag == MKTAG('D', 'E', 'E', 'P')) { -const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt); int raw_width = avctx->width * (av_get_bits_per_pixel(desc) >> 3); int x; for (y = 0; y < avctx->height && buf < buf_end; y++) { @@ -838,7 +841,6 @@ static int decode_frame(AVCodecContext *avctx, } else return unsupported(avctx); } else if (avctx->codec_tag == MKTAG('D', 'E', 'E', 'P')) { // IFF-DEEP -const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt); if (av_get_bits_per_pixel(desc) == 32) decode_deep_rle32(s->frame->data[0], buf, buf_size, avctx->width, avctx->height, s->frame->linesize[0]); else @@ -856,7 +858,6 @@ static int decode_frame(AVCodecContext *avctx, break; case 5: if (avctx->codec_tag == MKTAG('D', 'E', 'E', 'P')) { -const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt); if (av_get_bits_per_pixel(desc) == 32) decode_deep_tvdc32(s->frame->data[0], buf, buf_size, avctx->width, avctx->height, s->frame->linesize[0], s->tvdc); else ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] v4l2enc: adding AVClass
ffmpeg | branch: release/2.3 | Anshul Maheswhwari | Thu Jul 31 21:17:59 2014 +0530| [3ed27832e7b05745822781603fa6978aff6be24c] | committer: Michael Niedermayer v4l2enc: adding AVClass Signed-off-by: Michael Niedermayer (cherry picked from commit fcb11ec291e9b3e3f352fa4d3e9026c0f7f64aa8) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3ed27832e7b05745822781603fa6978aff6be24c --- libavdevice/v4l2enc.c |1 + 1 file changed, 1 insertion(+) diff --git a/libavdevice/v4l2enc.c b/libavdevice/v4l2enc.c index efe08b5..c9f8d92 100644 --- a/libavdevice/v4l2enc.c +++ b/libavdevice/v4l2enc.c @@ -22,6 +22,7 @@ #include "avdevice.h" typedef struct { +AVClass *class; int fd; } V4L2Context; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/tee: flip assigment direction
ffmpeg | branch: release/2.3 | Michael Niedermayer | Sat Aug 2 22:30:03 2014 +0200| [b63ec0cb0fb5998584337f9f11bf74ac27f23921] | committer: Michael Niedermayer avformat/tee: flip assigment direction Found-by: CSA Reviewed-by: Nicolas George Signed-off-by: Michael Niedermayer (cherry picked from commit 2e6fdcb7f3c86491408a3699f0aa9dc52b7c5686) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b63ec0cb0fb5998584337f9f11bf74ac27f23921 --- libavformat/tee.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/tee.c b/libavformat/tee.c index f26e157..681f943 100644 --- a/libavformat/tee.c +++ b/libavformat/tee.c @@ -467,7 +467,7 @@ static int tee_write_packet(AVFormatContext *avf, AVPacket *pkt) if ((ret = av_copy_packet(&pkt2, pkt)) < 0 || (ret = av_dup_packet(&pkt2))< 0) if (!ret_all) { -ret = ret_all; +ret_all = ret; continue; } tb = avf ->streams[s ]->time_base; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] cdgraphics: do not return 0 from the decode function
ffmpeg | branch: release/2.3 | Anton Khirnov | Wed Aug 6 10:56:34 2014 +| [a72b7286e6db0f5ffac386bb13fe6efe55fb0b12] | committer: Michael Niedermayer cdgraphics: do not return 0 from the decode function 0 means no data consumed, so it can trigger an infinite loop in the caller. CC:libav-sta...@libav.org (cherry picked from commit c7d9b473e28238d4a4ef1b7e8b42c1cca256da36) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a72b7286e6db0f5ffac386bb13fe6efe55fb0b12 --- libavcodec/cdgraphics.c |3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavcodec/cdgraphics.c b/libavcodec/cdgraphics.c index b7a8fa7..3c07fc7 100644 --- a/libavcodec/cdgraphics.c +++ b/libavcodec/cdgraphics.c @@ -353,10 +353,9 @@ static int cdg_decode_frame(AVCodecContext *avctx, *got_frame = 1; } else { *got_frame = 0; -buf_size = 0; } -return buf_size; +return avpkt->size; } static av_cold int cdg_decode_end(AVCodecContext *avctx) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] ffserver: initialize pbuffer in prepare_sdp_description()
ffmpeg | branch: release/2.3 | Michael Niedermayer | Sat Aug 2 14:03:30 2014 +0200| [7a6b5d7a867ee2e9bab9f4cd7456085cc5833435] | committer: Michael Niedermayer ffserver: initialize pbuffer in prepare_sdp_description() also check pbuffer before use Found-by: CSA Reviewed-by: Stefano Sabatini Signed-off-by: Michael Niedermayer (cherry picked from commit 1d8d21b90ab91aa471f369e0f9d1ea20fb40733b) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7a6b5d7a867ee2e9bab9f4cd7456085cc5833435 --- ffserver.c |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ffserver.c b/ffserver.c index 08f7878..fa04a54 100644 --- a/ffserver.c +++ b/ffserver.c @@ -2977,6 +2977,8 @@ static int prepare_sdp_description(FFStream *stream, uint8_t **pbuffer, AVDictionaryEntry *entry = av_dict_get(stream->metadata, "title", NULL, 0); int i; +*pbuffer = NULL; + avc = avformat_alloc_context(); if (avc == NULL || !rtp_format) { return -1; @@ -3013,7 +3015,7 @@ static int prepare_sdp_description(FFStream *stream, uint8_t **pbuffer, av_free(avc); av_free(avs); -return strlen(*pbuffer); +return *pbuffer ? strlen(*pbuffer) : AVERROR(ENOMEM); } static void rtsp_cmd_options(HTTPContext *c, const char *url) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/matroskaenc: fix MAX_CUEPOINT_SIZE calculation
ffmpeg | branch: release/2.3 | Michael Niedermayer | Sat Aug 9 04:49:09 2014 +0200| [ed15be7519af8aa68bdf58ccdf39915b560d11a2] | committer: Michael Niedermayer avformat/matroskaenc: fix MAX_CUEPOINT_SIZE calculation Fixes assertion failure Fixes Ticket3822 as a side-effect this makes some mkv files a few bytes smaller Signed-off-by: Michael Niedermayer (cherry picked from commit 64d029de41ed556b765df50c7080b06fd5a86417) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ed15be7519af8aa68bdf58ccdf39915b560d11a2 --- libavformat/matroskaenc.c | 15 ++- tests/ref/lavf/mkv|4 ++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index 92d091f..fc9c728 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -445,8 +445,21 @@ static int64_t mkv_write_cues(AVFormatContext *s, mkv_cues *cues, mkv_track *tra ebml_master cuepoint, track_positions; mkv_cuepoint *entry = &cues->entries[i]; uint64_t pts = entry->pts; +int ctp_nb = 0; -cuepoint = start_ebml_master(pb, MATROSKA_ID_POINTENTRY, MAX_CUEPOINT_SIZE(num_tracks)); +// Calculate the number of entries, so we know the element size +for (j = 0; j < num_tracks; j++) +tracks[j].has_cue = 0; +for (j = 0; j < cues->num_entries - i && entry[j].pts == pts; j++) { +int tracknum = entry[j].stream_idx; +av_assert0(tracknum>=0 && tracknumstreams[tracknum]->codec->codec_type != AVMEDIA_TYPE_SUBTITLE) +continue; +tracks[tracknum].has_cue = 1; +ctp_nb ++; +} + +cuepoint = start_ebml_master(pb, MATROSKA_ID_POINTENTRY, MAX_CUEPOINT_SIZE(ctp_nb)); put_ebml_uint(pb, MATROSKA_ID_CUETIME, pts); // put all the entries from different tracks that have the exact same diff --git a/tests/ref/lavf/mkv b/tests/ref/lavf/mkv index 97c9864..edbfe60 100644 --- a/tests/ref/lavf/mkv +++ b/tests/ref/lavf/mkv @@ -1,5 +1,5 @@ -bda342503392d517955e1112def7b03a *./tests/data/lavf/lavf.mkv -472671 ./tests/data/lavf/lavf.mkv +bab98f5a04a9f7991fb960041c996478 *./tests/data/lavf/lavf.mkv +472668 ./tests/data/lavf/lavf.mkv ./tests/data/lavf/lavf.mkv CRC=0xec6c3c68 c93950920d4ee57eb3ff5ba0cf0c8b19 *./tests/data/lavf/lavf.mkv 320412 ./tests/data/lavf/lavf.mkv ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/mpeg12dec: fix support for interlaced mpeg2 with missing last slice
ffmpeg | branch: release/2.3 | Michael Niedermayer | Fri Aug 1 21:10:43 2014 +0200| [d6173ae341fabacf05608ceb7470d24befdbdc68] | committer: Michael Niedermayer avcodec/mpeg12dec: fix support for interlaced mpeg2 with missing last slice Fixes Ticket3809 Signed-off-by: Michael Niedermayer (cherry picked from commit f95298c913899207344d668a6d5624cb2d2e480c) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d6173ae341fabacf05608ceb7470d24befdbdc68 --- libavcodec/mpeg12dec.c |8 1 file changed, 8 insertions(+) diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index fcc1d4c..0eecb7d 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -1884,6 +1884,14 @@ static int mpeg_decode_slice(MpegEncContext *s, int mb_y, } else goto eos; } +if (s->mb_y >= ((s->height + 15) >> 4) && +s->progressive_frame && +!s->progressive_sequence && +get_bits_left(&s->gb) <= 8 && +get_bits_left(&s->gb) >= 0 && +s->mb_skip_run == -1 && +show_bits(&s->gb, 8) == 0) +goto eos; ff_init_block_index(s); } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avutil/cpu: add aarch64 entries to 2nd table
ffmpeg | branch: release/2.3 | Michael Niedermayer | Wed Aug 6 13:59:18 2014 +0200| [901e275697dee8a1512540d6d653e38a16103bfa] | committer: Michael Niedermayer avutil/cpu: add aarch64 entries to 2nd table Signed-off-by: Michael Niedermayer (cherry picked from commit efc4fe9d74a5040e465dbff80b29468dbc227c19) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=901e275697dee8a1512540d6d653e38a16103bfa --- libavutil/cpu.c |4 1 file changed, 4 insertions(+) diff --git a/libavutil/cpu.c b/libavutil/cpu.c index 2d40211..e9bfb58 100644 --- a/libavutil/cpu.c +++ b/libavutil/cpu.c @@ -225,6 +225,10 @@ int av_parse_cpu_caps(unsigned *flags, const char *s) { "vfp", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_VFP },.unit = "flags" }, { "vfpv3",NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_VFPV3 },.unit = "flags" }, { "neon", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_NEON },.unit = "flags" }, +#elif ARCH_AARCH64 +{ "armv8",NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_ARMV8 },.unit = "flags" }, +{ "neon", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_NEON },.unit = "flags" }, +{ "vfp", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_VFP },.unit = "flags" }, #endif { NULL }, }; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/dvdsub_parser: Check buf_size before reading 32bit packet size
ffmpeg | branch: release/2.3 | Michael Niedermayer | Sat Aug 2 01:15:37 2014 +0200| [76d59f1b34bbee44a98ae8683bcc3780321d8184] | committer: Michael Niedermayer avcodec/dvdsub_parser: Check buf_size before reading 32bit packet size Signed-off-by: Michael Niedermayer (cherry picked from commit 81c1657a593b1c0f8e46fca00ead1d30ee1cd418) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=76d59f1b34bbee44a98ae8683bcc3780321d8184 --- libavcodec/dvdsub_parser.c |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/dvdsub_parser.c b/libavcodec/dvdsub_parser.c index 9a6457e..07ed4f7 100644 --- a/libavcodec/dvdsub_parser.c +++ b/libavcodec/dvdsub_parser.c @@ -45,8 +45,9 @@ static int dvdsub_parse(AVCodecParserContext *s, DVDSubParseContext *pc = s->priv_data; if (pc->packet_index == 0) { -if (buf_size < 2) +if (buf_size < 2 || AV_RB16(buf) && buf_size < 6) { return buf_size; +} pc->packet_len = AV_RB16(buf); if (pc->packet_len == 0) /* HD-DVD subpicture packet */ pc->packet_len = AV_RB32(buf+2); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/iff: check pixfmt for rgb8 / rgbn
ffmpeg | branch: release/2.3 | Michael Niedermayer | Sun Aug 10 21:59:33 2014 +0200| [83956309cc16b47fbf8548e8c5bcf67b8cd4b65f] | committer: Michael Niedermayer avcodec/iff: check pixfmt for rgb8 / rgbn Fixes out of array access Found-by: Piotr Bandurski Signed-off-by: Michael Niedermayer (cherry picked from commit 3539d6c63a16e1b2874bb037a86f317449c58770) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=83956309cc16b47fbf8548e8c5bcf67b8cd4b65f --- libavcodec/iff.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/iff.c b/libavcodec/iff.c index f08a0f7..d93015c 100644 --- a/libavcodec/iff.c +++ b/libavcodec/iff.c @@ -847,9 +847,9 @@ static int decode_frame(AVCodecContext *avctx, break; case 4: bytestream2_init(&gb, buf, buf_size); -if (avctx->codec_tag == MKTAG('R', 'G', 'B', '8')) +if (avctx->codec_tag == MKTAG('R', 'G', 'B', '8') && avctx->pix_fmt == AV_PIX_FMT_RGB32) decode_rgb8(&gb, s->frame->data[0], avctx->width, avctx->height, s->frame->linesize[0]); -else if (avctx->codec_tag == MKTAG('R', 'G', 'B', 'N')) +else if (avctx->codec_tag == MKTAG('R', 'G', 'B', 'N') && avctx->pix_fmt == AV_PIX_FMT_RGB444) decode_rgbn(&gb, s->frame->data[0], avctx->width, avctx->height, s->frame->linesize[0]); else return unsupported(avctx); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/wavpackenc: Fix log2sample() result value
ffmpeg | branch: release/2.3 | Michael Niedermayer | Sat Aug 2 18:15:12 2014 +0200| [fdfe94f4b16f70b6ca38dfd184795269906e9cf0] | committer: Michael Niedermayer avcodec/wavpackenc: Fix log2sample() result value Found-by: CSA Reviewed-by: Paul B Mahol Signed-off-by: Michael Niedermayer (cherry picked from commit e706fe764049b3f1ccf10ba9f686426a4c007906) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fdfe94f4b16f70b6ca38dfd184795269906e9cf0 --- libavcodec/wavpackenc.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/wavpackenc.c b/libavcodec/wavpackenc.c index 66ebf2f..5b8973c 100644 --- a/libavcodec/wavpackenc.c +++ b/libavcodec/wavpackenc.c @@ -638,7 +638,7 @@ static uint32_t log2sample(uint32_t v, int limit, uint32_t *result) if ((v += v >> 9) < (1 << 8)) { dbits = nbits_table[v]; -result += (dbits << 8) + wp_log2_table[(v << (9 - dbits)) & 0xff]; +*result += (dbits << 8) + wp_log2_table[(v << (9 - dbits)) & 0xff]; } else { if (v < (1L << 16)) dbits = nbits_table[v >> 8] + 8; @@ -647,7 +647,7 @@ static uint32_t log2sample(uint32_t v, int limit, uint32_t *result) else dbits = nbits_table[v >> 24] + 24; -result += dbits = (dbits << 8) + wp_log2_table[(v >> (dbits - 9)) & 0xff]; +*result += dbits = (dbits << 8) + wp_log2_table[(v >> (dbits - 9)) & 0xff]; if (limit && dbits >= limit) return 1; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] update for FFmpeg 2.3.2
ffmpeg | branch: release/2.3 | Michael Niedermayer | Sun Aug 10 22:38:39 2014 +0200| [c5129da726bb8e2dde610799053736b828989864] | committer: Michael Niedermayer update for FFmpeg 2.3.2 Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c5129da726bb8e2dde610799053736b828989864 --- RELEASE |2 +- doc/Doxyfile |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASE b/RELEASE index 2bf1c1c..f90b1af 100644 --- a/RELEASE +++ b/RELEASE @@ -1 +1 @@ -2.3.1 +2.3.2 diff --git a/doc/Doxyfile b/doc/Doxyfile index e707528..13593d8 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = FFmpeg # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.3.1 +PROJECT_NUMBER = 2.3.2 # With the PROJECT_LOGO tag one can specify a logo or icon that is included # in the documentation. The maximum height of the logo should not exceed 55 ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] ffmpeg_opt: Use av_guess_codec() instead of AVOutputFormat->*codec
ffmpeg | branch: release/2.3 | Michael Niedermayer | Sat Aug 2 03:29:42 2014 +0200| [2eb72d5bdcd5d06a2440bdfb411583362745b5ec] | committer: Michael Niedermayer ffmpeg_opt: Use av_guess_codec() instead of AVOutputFormat->*codec Fixes part of ticket2236 Signed-off-by: Michael Niedermayer (cherry picked from commit 956f4087c6eb717e31f3b92fe03fd56a3747eccf) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2eb72d5bdcd5d06a2440bdfb411583362745b5ec --- ffmpeg_opt.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c index ab13d3c..a825062 100644 --- a/ffmpeg_opt.c +++ b/ffmpeg_opt.c @@ -1828,7 +1828,7 @@ static int open_output_file(OptionsContext *o, const char *filename) /* pick the "best" stream of each type */ /* video: highest resolution */ -if (!o->video_disable && oc->oformat->video_codec != AV_CODEC_ID_NONE) { +if (!o->video_disable && av_guess_codec(oc->oformat, NULL, filename, NULL, AVMEDIA_TYPE_VIDEO) != AV_CODEC_ID_NONE) { int area = 0, idx = -1; int qcr = avformat_query_codec(oc->oformat, oc->oformat->video_codec, 0); for (i = 0; i < nb_input_streams; i++) { @@ -1850,7 +1850,7 @@ static int open_output_file(OptionsContext *o, const char *filename) } /* audio: most channels */ -if (!o->audio_disable && oc->oformat->audio_codec != AV_CODEC_ID_NONE) { +if (!o->audio_disable && av_guess_codec(oc->oformat, NULL, filename, NULL, AVMEDIA_TYPE_AUDIO) != AV_CODEC_ID_NONE) { int channels = 0, idx = -1; for (i = 0; i < nb_input_streams; i++) { ist = input_streams[i]; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/dvdsub_parser: print message if packet is smaller than the packet size field
ffmpeg | branch: release/2.3 | Michael Niedermayer | Sat Aug 2 01:16:14 2014 +0200| [638c3aca645a4834e880e311f73388cdfeb6ad76] | committer: Michael Niedermayer avcodec/dvdsub_parser: print message if packet is smaller than the packet size field Signed-off-by: Michael Niedermayer (cherry picked from commit bcc898dd2643c883522ffa565be4b226ce798c78) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=638c3aca645a4834e880e311f73388cdfeb6ad76 --- libavcodec/dvdsub_parser.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/dvdsub_parser.c b/libavcodec/dvdsub_parser.c index 07ed4f7..32a945e 100644 --- a/libavcodec/dvdsub_parser.c +++ b/libavcodec/dvdsub_parser.c @@ -46,6 +46,8 @@ static int dvdsub_parse(AVCodecParserContext *s, if (pc->packet_index == 0) { if (buf_size < 2 || AV_RB16(buf) && buf_size < 6) { +if (buf_size) +av_log(avctx, AV_LOG_DEBUG, "Parser input %d too small\n", buf_size); return buf_size; } pc->packet_len = AV_RB16(buf); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] h264: fix interpretation of interleved stereo modes
ffmpeg | branch: release/2.3 | Felix Abecassis | Thu Aug 7 11:42:36 2014 +0200| [69281934935e0b93e20fa905c1cdbc5a1b24fd2a] | committer: Michael Niedermayer h264: fix interpretation of interleved stereo modes Column and row frame packing arrangements were inverted. Signed-off-by: Vittorio Giovara (cherry picked from commit a7e541c9926d531a100ba0d36f4e56956dd84651) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=69281934935e0b93e20fa905c1cdbc5a1b24fd2a --- libavcodec/h264.c|4 ++-- libavcodec/libx264.c |4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 1d91987..f110a67 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -841,10 +841,10 @@ static void decode_postinit(H264Context *h, int setup_finished) stereo->type = AV_STEREO3D_CHECKERBOARD; break; case 1: -stereo->type = AV_STEREO3D_LINES; +stereo->type = AV_STEREO3D_COLUMNS; break; case 2: -stereo->type = AV_STEREO3D_COLUMNS; +stereo->type = AV_STEREO3D_LINES; break; case 3: if (h->quincunx_subsampling) diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index edf6fc6..ab3d59a 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -236,10 +236,10 @@ static int X264_frame(AVCodecContext *ctx, AVPacket *pkt, const AVFrame *frame, case AV_STEREO3D_CHECKERBOARD: fpa_type = 0; break; -case AV_STEREO3D_LINES: +case AV_STEREO3D_COLUMNS: fpa_type = 1; break; -case AV_STEREO3D_COLUMNS: +case AV_STEREO3D_LINES: fpa_type = 2; break; case AV_STEREO3D_SIDEBYSIDE: ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Remove panscan information in av_frame_copy_props() if resolution changes.
ffmpeg | branch: master | Carl Eugen Hoyos | Sun Aug 10 22:31:33 2014 +0200| [788cf6f0c60739653a1ded8d1fd79a805a16d530] | committer: Carl Eugen Hoyos Remove panscan information in av_frame_copy_props() if resolution changes. Fixes ticket #3750. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=788cf6f0c60739653a1ded8d1fd79a805a16d530 --- libavutil/frame.c |6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavutil/frame.c b/libavutil/frame.c index 67a7d3e..12eac55 100644 --- a/libavutil/frame.c +++ b/libavutil/frame.c @@ -492,7 +492,11 @@ int av_frame_copy_props(AVFrame *dst, const AVFrame *src) for (i = 0; i < src->nb_side_data; i++) { const AVFrameSideData *sd_src = src->side_data[i]; -AVFrameSideData *sd_dst = av_frame_new_side_data(dst, sd_src->type, +AVFrameSideData *sd_dst; +if ( sd_src->type == AV_FRAME_DATA_PANSCAN +&& (src->width != dst->width || src->height != dst->height)) +continue; +sd_dst = av_frame_new_side_data(dst, sd_src->type, sd_src->size); if (!sd_dst) { for (i = 0; i < dst->nb_side_data; i++) { ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit 'cc1d8c54c19dd14fb851e3e7a7793d6b3bd75e94'
ffmpeg | branch: master | Michael Niedermayer | Sun Aug 10 23:41:08 2014 +0200| [d177f275170c968837dc0c00bc1f1f3b59426e93] | committer: Michael Niedermayer Merge commit 'cc1d8c54c19dd14fb851e3e7a7793d6b3bd75e94' * commit 'cc1d8c54c19dd14fb851e3e7a7793d6b3bd75e94': avcodec: Postpone FF_IDCT_XVIDMMX removal until the next version bump Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d177f275170c968837dc0c00bc1f1f3b59426e93 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec: Postpone FF_IDCT_XVIDMMX removal until the next version bump
ffmpeg | branch: master | Diego Biurrun | Sun Aug 10 06:44:03 2014 -0700| [cc1d8c54c19dd14fb851e3e7a7793d6b3bd75e94] | committer: Diego Biurrun avcodec: Postpone FF_IDCT_XVIDMMX removal until the next version bump > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cc1d8c54c19dd14fb851e3e7a7793d6b3bd75e94 --- libavcodec/version.h |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/version.h b/libavcodec/version.h index f7bb8e0..b42b970 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -133,7 +133,7 @@ #define FF_API_UNUSED_MEMBERS(LIBAVCODEC_VERSION_MAJOR < 57) #endif #ifndef FF_API_IDCT_XVIDMMX -#define FF_API_IDCT_XVIDMMX (LIBAVCODEC_VERSION_MAJOR < 56) +#define FF_API_IDCT_XVIDMMX (LIBAVCODEC_VERSION_MAJOR < 57) #endif #ifndef FF_API_INPUT_PRESERVED #define FF_API_INPUT_PRESERVED (LIBAVCODEC_VERSION_MAJOR < 57) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '08b94f160a2c966bb83e32bde0e52246fafa2155'
ffmpeg | branch: master | Michael Niedermayer | Sun Aug 10 23:47:09 2014 +0200| [77273456137f1799e6eb2066a4d767b553568aba] | committer: Michael Niedermayer Merge commit '08b94f160a2c966bb83e32bde0e52246fafa2155' * commit '08b94f160a2c966bb83e32bde0e52246fafa2155': configure: Don't pass MSVC compiler options -M[TD] to armasm Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=77273456137f1799e6eb2066a4d767b553568aba --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] configure: Don't pass MSVC compiler options -M[TD] to armasm
ffmpeg | branch: master | Martin Storsjö | Sun Aug 10 14:40:09 2014 +0300| [08b94f160a2c966bb83e32bde0e52246fafa2155] | committer: Martin Storsjö configure: Don't pass MSVC compiler options -M[TD] to armasm The -MD option (for enabling a dynamically linked crt) gets interpreted as a cpp option for generating dependency information (into a file named '-.d', when preprocessing to a pipe). We shouldn't be passing any and all C compiler flags to armasm (which is a plain assembler, only with cpp bolted on via gas-preprocessor), but these are the main conflicting ones. Signed-off-by: Martin Storsjö > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=08b94f160a2c966bb83e32bde0e52246fafa2155 --- configure | 12 1 file changed, 12 insertions(+) diff --git a/configure b/configure index 411af5e..a5ad34c 100755 --- a/configure +++ b/configure @@ -2614,6 +2614,17 @@ EOF die "Sanity test failed." fi +armasm_flags(){ +for flag; do +case $flag in +# Filter out MSVC cl.exe options from cflags that shouldn't +# be passed to gas-preprocessor +-M[TD]*);; +*) echo $flag ;; +esac + done +} + ccc_flags(){ for flag; do case $flag in @@ -2886,6 +2897,7 @@ probe_cc(){ _ident=$($_cc | head -n1) # 4509: "This form of conditional instruction is deprecated" _flags="-nologo -ignore 4509" +_flags_filter=armasm_flags elif $_cc 2>&1 | grep -q Microsoft; then _type=msvc _ident=$($cc 2>&1 | head -n1) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/movenc: Fix printf type
ffmpeg | branch: master | Michael Niedermayer | Mon Aug 11 00:09:09 2014 +0200| [49456a95ebcbc2c2318422d51740de2f54b9915f] | committer: Michael Niedermayer avformat/movenc: Fix printf type Found-by: Timothy Gu Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=49456a95ebcbc2c2318422d51740de2f54b9915f --- libavformat/movenc.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 00dd7a3..20710be 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -1346,7 +1346,7 @@ static int mov_write_source_reference_tag(AVIOContext *pb, MOVTrack *track, cons int64_t pos = avio_tell(pb); if (str_size >= UINT16_MAX){ -av_log(NULL, AV_LOG_ERROR, "reel_name length %llu is too large\n", str_size); +av_log(NULL, AV_LOG_ERROR, "reel_name length %"PRIu64" is too large\n", str_size); avio_wb16(pb, 0); return AVERROR(EINVAL); } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] swresample: document the need to configure the context using AVOptions
ffmpeg | branch: master | Luca Barbato | Mon Aug 11 00:35:19 2014 +0200| [c4ac48c5a1464e20bb02ef62da2503906349e297] | committer: Michael Niedermayer swresample: document the need to configure the context using AVOptions Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c4ac48c5a1464e20bb02ef62da2503906349e297 --- libswresample/swresample.h |4 1 file changed, 4 insertions(+) diff --git a/libswresample/swresample.h b/libswresample/swresample.h index e4bbeba..4b8b045 100644 --- a/libswresample/swresample.h +++ b/libswresample/swresample.h @@ -211,6 +211,10 @@ struct SwrContext *swr_alloc(void); /** * Initialize context after user parameters have been set. + * @note The context must be configured using the AVOption API. + * + * @see av_opt_set_int() + * @see av_opt_set_dict() * * @param[in,out] s Swr context to initialize * @return AVERROR error code in case of failure. ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] swresample: check av_opt_set for failure in swr_alloc_set_opts()
ffmpeg | branch: master | Michael Niedermayer | Mon Aug 11 01:34:34 2014 +0200| [f4e814f787d050ac65f507b1304dcdc4ffa56f29] | committer: Michael Niedermayer swresample: check av_opt_set for failure in swr_alloc_set_opts() Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f4e814f787d050ac65f507b1304dcdc4ffa56f29 --- libswresample/swresample.c | 40 +++- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/libswresample/swresample.c b/libswresample/swresample.c index 81c04b2..32bbee3 100644 --- a/libswresample/swresample.c +++ b/libswresample/swresample.c @@ -62,17 +62,39 @@ struct SwrContext *swr_alloc_set_opts(struct SwrContext *s, s->log_level_offset= log_offset; s->log_ctx= log_ctx; -av_opt_set_int(s, "ocl", out_ch_layout, 0); -av_opt_set_int(s, "osf", out_sample_fmt, 0); -av_opt_set_int(s, "osr", out_sample_rate, 0); -av_opt_set_int(s, "icl", in_ch_layout,0); -av_opt_set_int(s, "isf", in_sample_fmt, 0); -av_opt_set_int(s, "isr", in_sample_rate, 0); -av_opt_set_int(s, "tsf", AV_SAMPLE_FMT_NONE, 0); -av_opt_set_int(s, "ich", av_get_channel_layout_nb_channels(s-> in_ch_layout), 0); -av_opt_set_int(s, "och", av_get_channel_layout_nb_channels(s->out_ch_layout), 0); +if (av_opt_set_int(s, "ocl", out_ch_layout, 0) < 0) +goto fail; + +if (av_opt_set_int(s, "osf", out_sample_fmt, 0) < 0) +goto fail; + +if (av_opt_set_int(s, "osr", out_sample_rate, 0) < 0) +goto fail; + +if (av_opt_set_int(s, "icl", in_ch_layout,0) < 0) +goto fail; + +if (av_opt_set_int(s, "isf", in_sample_fmt, 0) < 0) +goto fail; + +if (av_opt_set_int(s, "isr", in_sample_rate, 0) < 0) +goto fail; + +if (av_opt_set_int(s, "tsf", AV_SAMPLE_FMT_NONE, 0) < 0) +goto fail; + +if (av_opt_set_int(s, "ich", av_get_channel_layout_nb_channels(s-> in_ch_layout), 0) < 0) +goto fail; + +if (av_opt_set_int(s, "och", av_get_channel_layout_nb_channels(s->out_ch_layout), 0) < 0) +goto fail; + av_opt_set_int(s, "uch", 0, 0); return s; +fail: +av_log(s, AV_LOG_ERROR, "Failed to set option\n"); +swr_free(&s); +return NULL; } static void set_audiodata_fmt(AudioData *a, enum AVSampleFormat fmt){ ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/vc1dec: do not crash when flushing without an allocated frame
ffmpeg | branch: master | Michael Niedermayer | Mon Aug 11 02:16:43 2014 +0200| [6801eb0a0981f113f5f09ed4799d9ae805af62a3] | committer: Michael Niedermayer avcodec/vc1dec: do not crash when flushing without an allocated frame Fixes Ticket3837 Found-by: Piotr Bandurski Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6801eb0a0981f113f5f09ed4799d9ae805af62a3 --- libavcodec/vc1dec.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c index 06deb7f..a73d615 100644 --- a/libavcodec/vc1dec.c +++ b/libavcodec/vc1dec.c @@ -5514,7 +5514,7 @@ static void vc1_sprite_flush(AVCodecContext *avctx) Since we can't enforce it, clear to black the missing sprite. This is wrong but it looks better than doing nothing. */ -if (f->data[0]) +if (f && f->data[0]) for (plane = 0; plane < (s->flags&CODEC_FLAG_GRAY ? 1 : 3); plane++) for (i = 0; i < v->sprite_height>>!!plane; i++) memset(f->data[plane] + i * f->linesize[plane], ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] hevc: add missing comma in log message.
ffmpeg | branch: master | Ronald S. Bultje | Sun Aug 10 20:04:56 2014 -0400| [bfffce4d081c87b9fadcc0ce3fb5309cf8f266e5] | committer: Michael Niedermayer hevc: add missing comma in log message. Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bfffce4d081c87b9fadcc0ce3fb5309cf8f266e5 --- libavcodec/hevc.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c index 3272485..829b5d1 100644 --- a/libavcodec/hevc.c +++ b/libavcodec/hevc.c @@ -2484,7 +2484,7 @@ static int hls_nal_unit(HEVCContext *s) return AVERROR_INVALIDDATA; av_log(s->avctx, AV_LOG_DEBUG, - "nal_unit_type: %d, nuh_layer_id: %dtemporal_id: %d\n", + "nal_unit_type: %d, nuh_layer_id: %d, temporal_id: %d\n", s->nal_unit_type, nuh_layer_id, s->temporal_id); return nuh_layer_id == 0; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] hevc: do generic validation of bitstream
ffmpeg | branch: master | Christophe Gisquet | Sun Aug 10 19:22:06 2014 +0200| [5ec85c9750f0770383b781acd6362a8bebbf4db6] | committer: Michael Niedermayer hevc: do generic validation of bitstream After finishing parsing VPS/SPS/PPS/slice header, check remaining bits, and if an overconsumption occurred, report invalid data. Liked-by: BBB Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5ec85c9750f0770383b781acd6362a8bebbf4db6 --- libavcodec/hevc.c|6 ++ libavcodec/hevc_ps.c | 18 ++ 2 files changed, 24 insertions(+) diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c index 829b5d1..3170d84 100644 --- a/libavcodec/hevc.c +++ b/libavcodec/hevc.c @@ -740,6 +740,12 @@ static int hls_slice_header(HEVCContext *s) return AVERROR_INVALIDDATA; } +if (get_bits_left(gb) < 0) { +av_log(s->avctx, AV_LOG_ERROR, + "Overread slice header by %d bits\n", -get_bits_left(gb)); +return AVERROR_INVALIDDATA; +} + s->HEVClc->first_qp_group = !s->sh.dependent_slice_segment_flag; if (!s->pps->cu_qp_delta_enabled_flag) diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c index fe974bc..163c5e4 100644 --- a/libavcodec/hevc_ps.c +++ b/libavcodec/hevc_ps.c @@ -452,6 +452,12 @@ int ff_hevc_decode_nal_vps(HEVCContext *s) } get_bits1(gb); /* vps_extension_flag */ +if (get_bits_left(gb) < 0) { +av_log(s->avctx, AV_LOG_ERROR, + "Overread VPS by %d bits\n", -get_bits_left(gb)); +goto err; +} + av_buffer_unref(&s->vps_list[vps_id]); s->vps_list[vps_id] = vps_buf; return 0; @@ -1050,6 +1056,12 @@ int ff_hevc_decode_nal_sps(HEVCContext *s) goto err; } +if (get_bits_left(gb) < 0) { +av_log(s->avctx, AV_LOG_ERROR, + "Overread SPS by %d bits\n", -get_bits_left(gb)); +goto err; +} + if (s->avctx->debug & FF_DEBUG_BITSTREAM) { av_log(s->avctx, AV_LOG_DEBUG, "Parsed SPS: id %d; coded wxh: %dx%d; " @@ -1473,6 +1485,12 @@ int ff_hevc_decode_nal_pps(HEVCContext *s) } } +if (get_bits_left(gb) < 0) { +av_log(s->avctx, AV_LOG_ERROR, + "Overread PPS by %d bits\n", -get_bits_left(gb)); +goto err; +} + av_buffer_unref(&s->pps_list[pps_id]); s->pps_list[pps_id] = pps_buf; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog