Projects
Multimedia
avidemux3
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 14
View file
avidemux3.changes
Changed
@@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Tue Dec 23 2014 - joerg.lorenzen@ki.tng.de +- update internal ffmpeg to version 1.2.11 +- removed workaround for build on arm armv6l/armv6hl, the problem + is caused by additional RaspberryPi repository and should be + fixed there + +------------------------------------------------------------------- Sat Dec 13 18:20:28 UTC 2014 - joerg.lorenzen@ki.tng.de - removed some unneeded dependencies to enable build on armv6l/armv6hl
View file
avidemux3.spec
Changed
@@ -16,7 +16,7 @@ # -%define ffmpeg_version 1.2.10 +%define ffmpeg_version 1.2.11 Name: avidemux3 Summary: Graphical video editing and transcoding tool @@ -38,15 +38,6 @@ License: GPL-2.0 Group: Productivity/Multimedia/Video/Editors and Convertors -%ifarch armv6l || armv6hl -BuildRequires: Mesa-libEGL1 -BuildRequires: Mesa-libEGL-devel -BuildRequires: Mesa-libGLESv1_CM1 -BuildRequires: Mesa-libGLESv1_CM-devel -BuildRequires: Mesa-libGLESv2-2 -BuildRequires: Mesa-libGLESv2-devel -%endif - # Utilities / Libraries BuildRequires: cmake BuildRequires: gettext-tools
View file
ffmpeg-1.2.10.tar.bz2/RELEASE -> ffmpeg-1.2.11.tar.bz2/RELEASE
Changed
@@ -1,1 +1,1 @@ -1.2.10 +1.2.11
View file
ffmpeg-1.2.10.tar.bz2/VERSION -> ffmpeg-1.2.11.tar.bz2/VERSION
Changed
@@ -1,1 +1,1 @@ -1.2.10 +1.2.11
View file
ffmpeg-1.2.10.tar.bz2/doc/Doxyfile -> ffmpeg-1.2.11.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.10 +PROJECT_NUMBER = 1.2.11 # 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.10.tar.bz2/libavcodec/flacdec.c -> ffmpeg-1.2.11.tar.bz2/libavcodec/flacdec.c
Changed
@@ -463,10 +463,10 @@ ret = allocate_buffers(s); if (ret < 0) return ret; - ff_flacdsp_init(&s->dsp, s->avctx->sample_fmt, s->bps); s->got_streaminfo = 1; dump_headers(s->avctx, (FLACStreaminfo *)s); } + ff_flacdsp_init(&s->dsp, s->avctx->sample_fmt, s->bps); // dump_headers(s->avctx, (FLACStreaminfo *)s);
View file
ffmpeg-1.2.10.tar.bz2/libavcodec/h264.c -> ffmpeg-1.2.11.tar.bz2/libavcodec/h264.c
Changed
@@ -1043,6 +1043,7 @@ av_freep(&h->visualization_buffer[i]); if (free_rbsp) { + memset(h->delayed_pic, 0, sizeof(h->delayed_pic)); for (i = 0; i < h->picture_count && !h->avctx->internal->is_copy; i++) free_picture(h, &h->DPB[i]); av_freep(&h->DPB); @@ -2431,6 +2432,16 @@ h->luma_log2_weight_denom = get_ue_golomb(&h->gb); if (h->sps.chroma_format_idc) h->chroma_log2_weight_denom = get_ue_golomb(&h->gb); + + if (h->luma_log2_weight_denom > 7U) { + av_log(h->avctx, AV_LOG_ERROR, "luma_log2_weight_denom %d is out of range\n", h->luma_log2_weight_denom); + h->luma_log2_weight_denom = 0; + } + if (h->chroma_log2_weight_denom > 7U) { + av_log(h->avctx, AV_LOG_ERROR, "chroma_log2_weight_denom %d is out of range\n", h->chroma_log2_weight_denom); + h->chroma_log2_weight_denom = 0; + } + luma_def = 1 << h->luma_log2_weight_denom; chroma_def = 1 << h->chroma_log2_weight_denom;
View file
ffmpeg-1.2.10.tar.bz2/libavcodec/h264.h -> ffmpeg-1.2.11.tar.bz2/libavcodec/h264.h
Changed
@@ -255,6 +255,7 @@ * H264Context */ typedef struct H264Context { + AVClass *av_class; AVCodecContext *avctx; VideoDSPContext vdsp; H264DSPContext h264dsp;
View file
ffmpeg-1.2.10.tar.bz2/libavcodec/indeo3.c -> ffmpeg-1.2.11.tar.bz2/libavcodec/indeo3.c
Changed
@@ -95,7 +95,7 @@ int16_t width, height; uint32_t frame_num; ///< current frame number (zero-based) - uint32_t data_size; ///< size of the frame data in bytes + int data_size; ///< size of the frame data in bytes uint16_t frame_flags; ///< frame properties uint8_t cb_offset; ///< needed for selecting VQ tables uint8_t buf_sel; ///< active frame buffer: 0 - primary, 1 -secondary @@ -897,7 +897,8 @@ { const uint8_t *buf_ptr = buf, *bs_hdr; uint32_t frame_num, word2, check_sum, data_size; - uint32_t y_offset, u_offset, v_offset, starts[3], ends[3]; + int y_offset, u_offset, v_offset; + uint32_t starts[3], ends[3]; uint16_t height, width; int i, j; @@ -977,7 +978,8 @@ ctx->y_data_size = ends[0] - starts[0]; ctx->v_data_size = ends[1] - starts[1]; ctx->u_data_size = ends[2] - starts[2]; - if (FFMAX3(y_offset, v_offset, u_offset) >= ctx->data_size - 16 || + if (FFMIN3(y_offset, v_offset, u_offset) < 0 || + FFMAX3(y_offset, v_offset, u_offset) >= ctx->data_size - 16 || FFMIN3(ctx->y_data_size, ctx->v_data_size, ctx->u_data_size) <= 0) { av_log(avctx, AV_LOG_ERROR, "One of the y/u/v offsets is invalid\n"); return AVERROR_INVALIDDATA;
View file
ffmpeg-1.2.10.tar.bz2/libavcodec/mjpegdec.c -> ffmpeg-1.2.11.tar.bz2/libavcodec/mjpegdec.c
Changed
@@ -1437,6 +1437,8 @@ } if (id == AV_RB32("LJIF")) { + int rgb = s->rgb; + int pegasus_rct = s->pegasus_rct; if (s->avctx->debug & FF_DEBUG_PICT_INFO) av_log(s->avctx, AV_LOG_INFO, "Pegasus lossless jpeg header found\n"); @@ -1446,17 +1448,27 @@ skip_bits(&s->gb, 16); /* unknown always 0? */ switch (get_bits(&s->gb, 8)) { case 1: - s->rgb = 1; - s->pegasus_rct = 0; + rgb = 1; + pegasus_rct = 0; break; case 2: - s->rgb = 1; - s->pegasus_rct = 1; + rgb = 1; + pegasus_rct = 1; break; default: av_log(s->avctx, AV_LOG_ERROR, "unknown colorspace\n"); } + len -= 9; + if (s->got_picture) + if (rgb != s->rgb || pegasus_rct != s->pegasus_rct) { + av_log(s->avctx, AV_LOG_WARNING, "Mismatching LJIF tag\n"); + goto out; + } + + s->rgb = rgb; + s->pegasus_rct = pegasus_rct; + goto out; }
View file
ffmpeg-1.2.10.tar.bz2/libavcodec/motion_est.c -> ffmpeg-1.2.11.tar.bz2/libavcodec/motion_est.c
Changed
@@ -189,7 +189,13 @@ int uvdxy; /* no, it might not be used uninitialized */ if(dxy){ if(qpel){ - c->qpel_put[size][dxy](c->temp, ref[0] + x + y*stride, stride); //FIXME prototype (add h) + if (h << size == 16) { + c->qpel_put[size][dxy](c->temp, ref[0] + x + y*stride, stride); //FIXME prototype (add h) + } else if (size == 0 && h == 8) { + c->qpel_put[1][dxy](c->temp , ref[0] + x + y*stride , stride); + c->qpel_put[1][dxy](c->temp + 8, ref[0] + x + y*stride + 8, stride); + } else + av_assert2(0); if(chroma){ int cx= hx/2; int cy= hy/2;
View file
ffmpeg-1.2.10.tar.bz2/libavcodec/options_table.h -> ffmpeg-1.2.11.tar.bz2/libavcodec/options_table.h
Changed
@@ -102,8 +102,8 @@ {"extradata_size", NULL, OFFSET(extradata_size), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX}, {"time_base", NULL, OFFSET(time_base), AV_OPT_TYPE_RATIONAL, {.dbl = 0}, INT_MIN, INT_MAX}, {"g", "set the group of picture (GOP) size", OFFSET(gop_size), AV_OPT_TYPE_INT, {.i64 = 12 }, INT_MIN, INT_MAX, V|E}, -{"ar", "set audio sampling rate (in Hz)", OFFSET(sample_rate), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX, A|D|E}, -{"ac", "set number of audio channels", OFFSET(channels), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX, A|D|E}, +{"ar", "set audio sampling rate (in Hz)", OFFSET(sample_rate), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, 0, INT_MAX, A|D|E}, +{"ac", "set number of audio channels", OFFSET(channels), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, 0, INT_MAX, A|D|E}, {"cutoff", "set cutoff bandwidth", OFFSET(cutoff), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX, A|E}, {"frame_size", NULL, OFFSET(frame_size), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX, A|E}, {"frame_number", NULL, OFFSET(frame_number), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX},
View file
ffmpeg-1.2.10.tar.bz2/libavcodec/pngdec.c -> ffmpeg-1.2.11.tar.bz2/libavcodec/pngdec.c
Changed
@@ -563,6 +563,12 @@ case MKTAG('I', 'H', 'D', 'R'): if (length != 13) goto fail; + + if (s->state & PNG_IDAT) { + av_log(avctx, AV_LOG_ERROR, "IHDR after IDAT\n"); + goto fail; + } + s->width = bytestream2_get_be32(&s->gb); s->height = bytestream2_get_be32(&s->gb); if (av_image_check_size(s->width, s->height, 0, avctx)) {
View file
ffmpeg-1.2.10.tar.bz2/libavcodec/utils.c -> ffmpeg-1.2.11.tar.bz2/libavcodec/utils.c
Changed
@@ -2876,6 +2876,11 @@ ret = av_bprint_finalize(buf, &str); if (ret < 0) return ret; + if (!av_bprint_is_complete(buf)) { + av_free(str); + return AVERROR(ENOMEM); + } + avctx->extradata = str; /* Note: the string is NUL terminated (so extradata can be read as a * string), but the ending character is not accounted in the size (in
View file
ffmpeg-1.2.10.tar.bz2/libavcodec/utvideodec.c -> ffmpeg-1.2.11.tar.bz2/libavcodec/utvideodec.c
Changed
@@ -212,6 +212,8 @@ slice_height = ((((slice + 1) * height) / slices) & cmask) - slice_start; + if (!slice_height) + continue; bsrc = src + slice_start * stride; // first line - left neighbour prediction @@ -222,7 +224,7 @@ A = bsrc[i]; } bsrc += stride; - if (slice_height == 1) + if (slice_height <= 1) continue; // second line - first element has top prediction, the rest uses median C = bsrc[-stride]; @@ -267,6 +269,8 @@ slice_height = ((((slice + 1) * height) / slices) & cmask) - slice_start; slice_height >>= 1; + if (!slice_height) + continue; bsrc = src + slice_start * stride; @@ -282,7 +286,7 @@ A = bsrc[stride + i]; } bsrc += stride2; - if (slice_height == 1) + if (slice_height <= 1) continue; // second line - first element has top prediction, the rest uses median C = bsrc[-stride2];
View file
ffmpeg-1.2.10.tar.bz2/libavcodec/vmdav.c -> ffmpeg-1.2.11.tar.bz2/libavcodec/vmdav.c
Changed
@@ -343,7 +343,7 @@ if (*pb++ == 0xFF) len = rle_unpack(pb, pb_end - pb, len, &dp[ofs], frame_width - ofs); else { - if (pb_end - pb < len) + if (ofs + len > frame_width || pb_end - pb < len) return; memcpy(&dp[ofs], pb, len); }
View file
ffmpeg-1.2.10.tar.bz2/libavcodec/wmaprodec.c -> ffmpeg-1.2.11.tar.bz2/libavcodec/wmaprodec.c
Changed
@@ -409,6 +409,9 @@ offset &= ~3; if (offset > s->sfb_offsets[i][band - 1]) s->sfb_offsets[i][band++] = offset; + + if (offset >= subframe_len) + break; } s->sfb_offsets[i][band - 1] = subframe_len; s->num_sfb[i] = band - 1;
View file
ffmpeg-1.2.10.tar.bz2/libavformat/aviobuf.c -> ffmpeg-1.2.11.tar.bz2/libavformat/aviobuf.c
Changed
@@ -216,6 +216,9 @@ return offset1; offset += offset1; } + if (offset < 0) + return AVERROR(EINVAL); + offset1 = offset - pos; if (!s->must_flush && (!s->direct || !s->seek) && offset1 >= 0 && offset1 <= (s->buf_end - s->buffer)) {
View file
ffmpeg-1.2.10.tar.bz2/libavformat/hlsenc.c -> ffmpeg-1.2.11.tar.bz2/libavformat/hlsenc.c
Changed
@@ -305,9 +305,10 @@ av_write_trailer(oc); avio_closep(&oc->pb); - avformat_free_context(oc); av_free(hls->basename); append_entry(hls, hls->duration); + avformat_free_context(oc); + hls->avf = NULL; hls_window(s, 1); free_entries(hls);
View file
ffmpeg-1.2.10.tar.bz2/libavformat/isom.h -> ffmpeg-1.2.11.tar.bz2/libavformat/isom.h
Changed
@@ -162,6 +162,7 @@ int use_absolute_path; int ignore_editlist; int64_t next_root_atom; ///< offset of the next root atom + int atom_depth; } MOVContext; int ff_mp4_read_descr_len(AVIOContext *pb);
View file
ffmpeg-1.2.10.tar.bz2/libavformat/matroskadec.c -> ffmpeg-1.2.11.tar.bz2/libavformat/matroskadec.c
Changed
@@ -1362,13 +1362,17 @@ EbmlList *seekhead_list = &matroska->seekhead; int64_t before_pos = avio_tell(matroska->ctx->pb); int i; + int nb_elem; // we should not do any seeking in the streaming case if (!matroska->ctx->pb->seekable || (matroska->ctx->flags & AVFMT_FLAG_IGNIDX)) return; - for (i = 0; i < seekhead_list->nb_elem; i++) { + // do not read entries that are added while parsing seekhead entries + nb_elem = seekhead_list->nb_elem; + + for (i = 0; i < nb_elem; i++) { MatroskaSeekhead *seekhead = seekhead_list->elem; if (seekhead[i].pos <= before_pos) continue;
View file
ffmpeg-1.2.10.tar.bz2/libavformat/mov.c -> ffmpeg-1.2.11.tar.bz2/libavformat/mov.c
Changed
@@ -2788,6 +2788,12 @@ MOVAtom a; int i; + if (c->atom_depth > 10) { + av_log(c->fc, AV_LOG_ERROR, "Atoms too deeply nested\n"); + return AVERROR_INVALIDDATA; + } + c->atom_depth ++; + if (atom.size < 0) atom.size = INT64_MAX; while (total_size + 8 <= atom.size && !url_feof(pb)) { @@ -2804,6 +2810,7 @@ { av_log(c->fc, AV_LOG_ERROR, "Broken file, trak/mdat not at top-level\n"); avio_skip(pb, -8); + c->atom_depth --; return 0; } } @@ -2840,13 +2847,16 @@ int64_t start_pos = avio_tell(pb); int64_t left; int err = parse(c, pb, a); - if (err < 0) + if (err < 0) { + c->atom_depth --; return err; + } if (c->found_moov && c->found_mdat && ((!pb->seekable || c->fc->flags & AVFMT_FLAG_IGNIDX) || start_pos + a.size == avio_size(pb))) { if (!pb->seekable || c->fc->flags & AVFMT_FLAG_IGNIDX) c->next_root_atom = start_pos + a.size; + c->atom_depth --; return 0; } left = a.size - avio_tell(pb) + start_pos; @@ -2864,6 +2874,7 @@ if (total_size < atom.size && atom.size < 0x7ffff) avio_skip(pb, atom.size - total_size); + c->atom_depth --; return 0; }
View file
ffmpeg-1.2.10.tar.bz2/libavformat/rmdec.c -> ffmpeg-1.2.11.tar.bz2/libavformat/rmdec.c
Changed
@@ -309,6 +309,9 @@ int64_t codec_pos; int ret; + if (codec_data_size < 0) + return AVERROR_INVALIDDATA; + avpriv_set_pts_info(st, 64, 1, 1000); codec_pos = avio_tell(pb); v = avio_rb32(pb);
View file
ffmpeg-1.2.10.tar.bz2/libswresample/soxr_resample.c -> ffmpeg-1.2.11.tar.bz2/libswresample/soxr_resample.c
Changed
@@ -76,8 +76,12 @@ AudioData *src, int src_size, int *consumed){ size_t idone, odone; soxr_error_t error = soxr_set_error((soxr_t)c, soxr_set_num_channels((soxr_t)c, src->ch_count)); - error = soxr_process((soxr_t)c, src->ch, (size_t)src_size, - &idone, dst->ch, (size_t)dst_size, &odone); + if (!error) + error = soxr_process((soxr_t)c, src->ch, (size_t)src_size, + &idone, dst->ch, (size_t)dst_size, &odone); + else + idone = 0; + *consumed = (int)idone; return error? -1 : odone; }
View file
ffmpeg-1.2.10.tar.bz2/libswscale/swscale_internal.h -> ffmpeg-1.2.11.tar.bz2/libswscale/swscale_internal.h
Changed
@@ -37,7 +37,7 @@ #define STR(s) AV_TOSTRING(s) // AV_STRINGIFY is too long -#define YUVRGB_TABLE_HEADROOM 128 +#define YUVRGB_TABLE_HEADROOM 256 #define FAST_BGR2YV12 // use 7-bit instead of 15-bit coefficients
View file
ffmpeg-1.2.10.tar.bz2/libswscale/x86/rgb2rgb_template.c -> ffmpeg-1.2.11.tar.bz2/libswscale/x86/rgb2rgb_template.c
Changed
@@ -1616,6 +1616,16 @@ { int y; const x86_reg chromWidth= width>>1; + + if (height > 2) { + rgb24toyv12_c(src, ydst, udst, vdst, width, 2, lumStride, chromStride, srcStride); + src += 2*srcStride; + ydst += 2*lumStride; + udst += chromStride; + vdst += chromStride; + height -= 2; + } + for (y=0; y<height-2; y+=2) { int i; for (i=0; i<2; i++) { @@ -1864,6 +1874,7 @@ for (h=0; h < height; h++) { int w; + if (width >= 16) #if COMPILE_TEMPLATE_SSE2 __asm__( "xor %%"REG_a", %%"REG_a" \n\t"
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
.