Projects
Multimedia
avidemux3
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 11
View file
avidemux3.changes
Changed
@@ -1,4 +1,8 @@ ------------------------------------------------------------------- +Wed Nov 05 2014 - joerg.lorenzen@ki.tng.de +- update internal ffmpeg to version 1.2.10 + +------------------------------------------------------------------- Fri Oct 17 2014 - joerg.lorenzen@ki.tng.de - changed BuildRequires to pkgconfig where possible - enable build for SLES, unfortunately without frontends qt and gtk
View file
avidemux3.spec
Changed
@@ -16,7 +16,7 @@ # -%define ffmpeg_version 1.2.9 +%define ffmpeg_version 1.2.10 Name: avidemux3 Summary: Graphical video editing and transcoding tool
View file
ffmpeg-1.2.9.tar.bz2/RELEASE -> ffmpeg-1.2.10.tar.bz2/RELEASE
Changed
@@ -1,1 +1,1 @@ -1.2.9 +1.2.10
View file
ffmpeg-1.2.9.tar.bz2/VERSION -> ffmpeg-1.2.10.tar.bz2/VERSION
Changed
@@ -1,1 +1,1 @@ -1.2.9 +1.2.10
View file
ffmpeg-1.2.9.tar.bz2/doc/Doxyfile -> ffmpeg-1.2.10.tar.bz2/doc/Doxyfile
Changed
@@ -31,7 +31,7 @@ # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.2.9 +PROJECT_NUMBER = 1.2.10 # With the PROJECT_LOGO tag one can specify an logo or icon that is included # in the documentation. The maximum height of the logo should not exceed 55
View file
ffmpeg-1.2.9.tar.bz2/libavcodec/dirac_arith.h -> ffmpeg-1.2.10.tar.bz2/libavcodec/dirac_arith.h
Changed
@@ -171,6 +171,10 @@ { int ret = 1; while (!dirac_get_arith_bit(c, follow_ctx)) { + if (ret >= 0x40000000) { + av_log(NULL, AV_LOG_ERROR, "dirac_get_arith_uint overflow\n"); + return -1; + } ret <<= 1; ret += dirac_get_arith_bit(c, data_ctx); follow_ctx = ff_dirac_next_ctx[follow_ctx];
View file
ffmpeg-1.2.9.tar.bz2/libavcodec/diracdec.c -> ffmpeg-1.2.10.tar.bz2/libavcodec/diracdec.c
Changed
@@ -598,10 +598,10 @@ top = 0; for (cb_y = 0; cb_y < cb_height; cb_y++) { - bottom = (b->height * (cb_y+1)) / cb_height; + bottom = (b->height * (cb_y+1LL)) / cb_height; left = 0; for (cb_x = 0; cb_x < cb_width; cb_x++) { - right = (b->width * (cb_x+1)) / cb_width; + right = (b->width * (cb_x+1LL)) / cb_width; codeblock(s, b, &gb, &c, left, right, top, bottom, blockcnt_one, is_arith); left = right; } @@ -990,8 +990,8 @@ /* Codeblock parameters (core syntax only) */ if (get_bits1(gb)) { for (i = 0; i <= s->wavelet_depth; i++) { - CHECKEDREAD(s->codeblock[i].width , tmp < 1, "codeblock width invalid\n") - CHECKEDREAD(s->codeblock[i].height, tmp < 1, "codeblock height invalid\n") + CHECKEDREAD(s->codeblock[i].width , tmp < 1 || tmp > (s->avctx->width >>s->wavelet_depth-i), "codeblock width invalid\n") + CHECKEDREAD(s->codeblock[i].height, tmp < 1 || tmp > (s->avctx->height>>s->wavelet_depth-i), "codeblock height invalid\n") } CHECKEDREAD(s->codeblock_mode, tmp > 1, "unknown codeblock mode\n")
View file
ffmpeg-1.2.9.tar.bz2/libavcodec/dnxhddec.c -> ffmpeg-1.2.10.tar.bz2/libavcodec/dnxhddec.c
Changed
@@ -39,6 +39,7 @@ GetBitContext gb; int64_t cid; ///< compression id unsigned int width, height; + enum AVPixelFormat pix_fmt; unsigned int mb_width, mb_height; uint32_t mb_scan_index[68]; /* max for 1080p */ int cur_field; ///< current interlaced field @@ -135,7 +136,7 @@ av_dlog(ctx->avctx, "width %d, height %d\n", ctx->width, ctx->height); if (buf[0x21] & 0x40) { - ctx->avctx->pix_fmt = AV_PIX_FMT_YUV422P10; + ctx->pix_fmt = AV_PIX_FMT_YUV422P10; ctx->avctx->bits_per_raw_sample = 10; if (ctx->bit_depth != 10) { ff_dsputil_init(&ctx->dsp, ctx->avctx); @@ -143,7 +144,7 @@ ctx->decode_dct_block = dnxhd_decode_dct_block_10; } } else { - ctx->avctx->pix_fmt = AV_PIX_FMT_YUV422P; + ctx->pix_fmt = AV_PIX_FMT_YUV422P; ctx->avctx->bits_per_raw_sample = 8; if (ctx->bit_depth != 8) { ff_dsputil_init(&ctx->dsp, ctx->avctx); @@ -381,9 +382,15 @@ avctx->width, avctx->height, ctx->width, ctx->height); first_field = 1; } + if (avctx->pix_fmt != AV_PIX_FMT_NONE && avctx->pix_fmt != ctx->pix_fmt) { + av_log(avctx, AV_LOG_WARNING, "pix_fmt changed: %s -> %s\n", + av_get_pix_fmt_name(avctx->pix_fmt), av_get_pix_fmt_name(ctx->pix_fmt)); + first_field = 1; + } if (av_image_check_size(ctx->width, ctx->height, 0, avctx)) return -1; + avctx->pix_fmt = ctx->pix_fmt; avcodec_set_dimensions(avctx, ctx->width, ctx->height); if (first_field) {
View file
ffmpeg-1.2.9.tar.bz2/libavcodec/dxa.c -> ffmpeg-1.2.10.tar.bz2/libavcodec/dxa.c
Changed
@@ -308,6 +308,11 @@ avctx->pix_fmt = AV_PIX_FMT_PAL8; + if (avctx->width%4 || avctx->height%4) { + av_log(avctx, AV_LOG_ERROR, "dimensions are not a multiple of 4"); + return AVERROR_INVALIDDATA; + } + avcodec_get_frame_defaults(&c->pic); avcodec_get_frame_defaults(&c->prev);
View file
ffmpeg-1.2.9.tar.bz2/libavcodec/h264.c -> ffmpeg-1.2.10.tar.bz2/libavcodec/h264.c
Changed
@@ -1600,6 +1600,17 @@ memset(&h->me, 0, sizeof(h->me)); h->avctx = dst; h->DPB = NULL; + h->intra4x4_pred_mode= NULL; + h->non_zero_count = NULL; + h->slice_table_base = NULL; + h->slice_table = NULL; + h->cbp_table = NULL; + h->chroma_pred_mode_table = NULL; + memset(h->mvd_table, 0, sizeof(h->mvd_table)); + h->direct_table = NULL; + h->list_counts = NULL; + h->mb2b_xy = NULL; + h->mb2br_xy = NULL; if (h1->context_initialized) { h->context_initialized = 0;
View file
ffmpeg-1.2.9.tar.bz2/libavcodec/h264.h -> ffmpeg-1.2.10.tar.bz2/libavcodec/h264.h
Changed
@@ -969,6 +969,33 @@ 0x0001000100010001ULL)); } +static inline int find_start_code(const uint8_t *buf, int buf_size, + int buf_index, int next_avc) +{ + uint32_t state = -1; + + buf_index = avpriv_mpv_find_start_code(buf + buf_index, buf + next_avc + 1, &state) - buf - 1; + + return FFMIN(buf_index, buf_size); +} + +static inline int get_avc_nalsize(H264Context *h, const uint8_t *buf, + int buf_size, int *buf_index) +{ + int i, nalsize = 0; + + if (*buf_index >= buf_size - h->nal_length_size) + return -1; + + for (i = 0; i < h->nal_length_size; i++) + nalsize = ((unsigned)nalsize << 8) | buf[(*buf_index)++]; + if (nalsize <= 0 || nalsize > buf_size - *buf_index) { + av_log(h->avctx, AV_LOG_ERROR, + "AVC: nal size %d\n", nalsize); + return -1; + } + return nalsize; +} void ff_h264_draw_horiz_band(H264Context *h, int y, int height); #endif /* AVCODEC_H264_H */
View file
ffmpeg-1.2.9.tar.bz2/libavcodec/h264_parser.c -> ffmpeg-1.2.10.tar.bz2/libavcodec/h264_parser.c
Changed
@@ -139,10 +139,10 @@ */ static inline int parse_nal_units(AVCodecParserContext *s, AVCodecContext *avctx, - const uint8_t *buf, int buf_size) + const uint8_t * const buf, int buf_size) { H264Context *h = s->priv_data; - const uint8_t *buf_end = buf + buf_size; + int buf_index, next_avc; unsigned int pps_id; unsigned int slice_type; int state = -1; @@ -162,26 +162,26 @@ if (!buf_size) return 0; + buf_index = 0; + next_avc = h->is_avc ? 0 : buf_size; for(;;) { int src_length, dst_length, consumed, nalsize = 0; - if (h->is_avc) { - int i; - if (h->nal_length_size >= buf_end - buf) break; - nalsize = 0; - for (i = 0; i < h->nal_length_size; i++) - nalsize = (nalsize << 8) | *buf++; - if (nalsize <= 0 || nalsize > buf_end - buf) { - av_log(h->avctx, AV_LOG_ERROR, "AVC: nal size %d\n", nalsize); + + if (buf_index >= next_avc) { + nalsize = get_avc_nalsize(h, buf, buf_size, &buf_index); + if (nalsize < 0) break; - } - src_length = nalsize; + next_avc = buf_index + nalsize; } else { - buf = avpriv_mpv_find_start_code(buf, buf_end, &state); - if(buf >= buf_end) - break; - --buf; - src_length = buf_end - buf; + buf_index = find_start_code(buf, buf_size, buf_index, next_avc); + if (buf_index >= buf_size) + break; + if (buf_index >= next_avc) + continue; } + src_length = next_avc - buf_index; + + state = buf[buf_index]; switch (state & 0x1f) { case NAL_SLICE: case NAL_IDR_SLICE: @@ -190,10 +190,12 @@ src_length = 20; break; } - ptr= ff_h264_decode_nal(h, buf, &dst_length, &consumed, src_length); + ptr= ff_h264_decode_nal(h, buf + buf_index, &dst_length, &consumed, src_length); if (ptr==NULL || dst_length < 0) break; + buf_index += consumed; + init_get_bits(&h->gb, ptr, 8*dst_length); switch(h->nal_unit_type) { case NAL_SPS: @@ -277,7 +279,6 @@ return 0; /* no need to evaluate the rest */ } - buf += h->is_avc ? nalsize : consumed; } if (q264) return 0;
View file
ffmpeg-1.2.9.tar.bz2/libavcodec/svq1dec.c -> ffmpeg-1.2.10.tar.bz2/libavcodec/svq1dec.c
Changed
@@ -497,7 +497,7 @@ return result; } -static void svq1_parse_string(GetBitContext *bitbuf, uint8_t *out) +static void svq1_parse_string(GetBitContext *bitbuf, uint8_t out[257]) { uint8_t seed; int i; @@ -509,6 +509,7 @@ out[i] = get_bits(bitbuf, 8) ^ seed; seed = string_table[out[i] ^ seed]; } + out[i] = 0; } static int svq1_decode_frame_header(AVCodecContext *avctx, AVFrame *frame) @@ -551,12 +552,12 @@ } if ((s->frame_code ^ 0x10) >= 0x50) { - uint8_t msg[256]; + uint8_t msg[257]; svq1_parse_string(bitbuf, msg); av_log(avctx, AV_LOG_INFO, - "embedded message: \"%s\"\n", (char *)msg); + "embedded message: \"%s\"\n", ((char *)msg) + 1); } skip_bits(bitbuf, 2);
View file
ffmpeg-1.2.9.tar.bz2/libavcodec/utils.c -> ffmpeg-1.2.10.tar.bz2/libavcodec/utils.c
Changed
@@ -193,6 +193,12 @@ int i; int w_align = 1; int h_align = 1; + AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(s->pix_fmt); + + if (desc) { + w_align = 1 << desc->log2_chroma_w; + h_align = 1 << desc->log2_chroma_h; + } switch (s->pix_fmt) { case AV_PIX_FMT_YUV420P: @@ -293,8 +299,6 @@ } break; default: - w_align = 1; - h_align = 1; break; }
View file
ffmpeg-1.2.9.tar.bz2/libavformat/matroskadec.c -> ffmpeg-1.2.10.tar.bz2/libavformat/matroskadec.c
Changed
@@ -1785,7 +1785,8 @@ av_reduce(&st->avg_frame_rate.num, &st->avg_frame_rate.den, 1000000000, track->default_duration, 30000); #if FF_API_R_FRAME_RATE - if (st->avg_frame_rate.num < st->avg_frame_rate.den * 1000L) + if ( st->avg_frame_rate.num < st->avg_frame_rate.den * 1000L + && st->avg_frame_rate.num > st->avg_frame_rate.den * 5L) st->r_frame_rate = st->avg_frame_rate; #endif }
View file
ffmpeg-1.2.9.tar.bz2/libavformat/mpeg.c -> ffmpeg-1.2.10.tar.bz2/libavformat/mpeg.c
Changed
@@ -91,7 +91,7 @@ score= AVPROBE_SCORE_MAX/4; if(sys>invalid && sys*9 <= pspack*10) - return (audio > 12 || vid > 3 || pspack > 2) ? AVPROBE_SCORE_MAX/2+2 : AVPROBE_SCORE_MAX/4; // +1 for .mpg + return (audio > 12 || vid > 3 || pspack > 2) ? AVPROBE_SCORE_MAX/2+2 : AVPROBE_SCORE_MAX/4+1; // +1 for .mpg if(pspack > invalid && (priv1+vid+audio)*10 >= pspack*9) return pspack > 2 ? AVPROBE_SCORE_MAX/2+2 : AVPROBE_SCORE_MAX/4; // +1 for .mpg if((!!vid ^ !!audio) && (audio > 4 || vid > 1) && !sys && !pspack && p->buf_size>2048 && vid + audio > invalid) /* PES stream */
View file
ffmpeg-1.2.9.tar.bz2/libpostproc/postprocess.c -> ffmpeg-1.2.10.tar.bz2/libpostproc/postprocess.c
Changed
@@ -975,7 +975,7 @@ if(pict_type & PP_PICT_TYPE_QP2){ int i; - const int count= mbHeight * absQPStride; + const int count= FFMAX(mbHeight * absQPStride, mbWidth); for(i=0; i<(count>>2); i++){ ((uint32_t*)c->stdQPTable)[i] = (((const uint32_t*)QP_store)[i]>>1) & 0x7F7F7F7F; } @@ -1000,7 +1000,7 @@ if((pict_type&7)!=3){ if (QPStride >= 0){ int i; - const int count= mbHeight * QPStride; + const int count= FFMAX(mbHeight * QPStride, mbWidth); for(i=0; i<(count>>2); i++){ ((uint32_t*)c->nonBQPTable)[i] = ((const uint32_t*)QP_store)[i] & 0x3F3F3F3F; }
View file
ffmpeg-1.2.9.tar.bz2/tests/ref/lavfi/pp3 -> ffmpeg-1.2.10.tar.bz2/tests/ref/lavfi/pp3
Changed
@@ -1,1 +1,1 @@ -pp3 39af1a30d0ea0e906df264773adfcaa6 +pp3 c8277ef31ab01bad51356841c9634522
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.