Overview

Request 1500 (accepted)

- 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

Submit package home:enzokiel:...hes:Multimedia / avidemux3 to package Multimedia / avidemux3

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

No build results available

Refresh

No rpmlint results available

Request History
enzokiel's avatar

enzokiel created request over 10 years ago

- 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


enzokiel's avatar

enzokiel accepted request over 10 years ago

OK.