Overview

Request 1379 (accepted)

- update internal ffmpeg to version 1.2.10

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

avidemux3.changes Changed
x
 
1
@@ -1,4 +1,8 @@
2
 -------------------------------------------------------------------
3
+Wed Nov 05 2014 - joerg.lorenzen@ki.tng.de
4
+- update internal ffmpeg to version 1.2.10
5
+
6
+-------------------------------------------------------------------
7
 Fri Oct 17 2014 - joerg.lorenzen@ki.tng.de
8
 - changed BuildRequires to pkgconfig where possible
9
 - enable build for SLES, unfortunately without frontends qt and gtk
10
avidemux3.spec Changed
10
 
1
@@ -16,7 +16,7 @@
2
 #
3
 
4
 
5
-%define         ffmpeg_version 1.2.9
6
+%define         ffmpeg_version 1.2.10
7
 
8
 Name:           avidemux3
9
 Summary:        Graphical video editing and transcoding tool
10
ffmpeg-1.2.9.tar.bz2/RELEASE -> ffmpeg-1.2.10.tar.bz2/RELEASE Changed
4
 
1
@@ -1,1 +1,1 @@
2
-1.2.9
3
+1.2.10
4
ffmpeg-1.2.9.tar.bz2/VERSION -> ffmpeg-1.2.10.tar.bz2/VERSION Changed
4
 
1
@@ -1,1 +1,1 @@
2
-1.2.9
3
+1.2.10
4
ffmpeg-1.2.9.tar.bz2/doc/Doxyfile -> ffmpeg-1.2.10.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.9
6
+PROJECT_NUMBER         = 1.2.10
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.9.tar.bz2/libavcodec/dirac_arith.h -> ffmpeg-1.2.10.tar.bz2/libavcodec/dirac_arith.h Changed
12
 
1
@@ -171,6 +171,10 @@
2
 {
3
     int ret = 1;
4
     while (!dirac_get_arith_bit(c, follow_ctx)) {
5
+        if (ret >= 0x40000000) {
6
+            av_log(NULL, AV_LOG_ERROR, "dirac_get_arith_uint overflow\n");
7
+            return -1;
8
+        }
9
         ret <<= 1;
10
         ret += dirac_get_arith_bit(c, data_ctx);
11
         follow_ctx = ff_dirac_next_ctx[follow_ctx];
12
ffmpeg-1.2.9.tar.bz2/libavcodec/diracdec.c -> ffmpeg-1.2.10.tar.bz2/libavcodec/diracdec.c Changed
25
 
1
@@ -598,10 +598,10 @@
2
 
3
     top = 0;
4
     for (cb_y = 0; cb_y < cb_height; cb_y++) {
5
-        bottom = (b->height * (cb_y+1)) / cb_height;
6
+        bottom = (b->height * (cb_y+1LL)) / cb_height;
7
         left = 0;
8
         for (cb_x = 0; cb_x < cb_width; cb_x++) {
9
-            right = (b->width * (cb_x+1)) / cb_width;
10
+            right = (b->width * (cb_x+1LL)) / cb_width;
11
             codeblock(s, b, &gb, &c, left, right, top, bottom, blockcnt_one, is_arith);
12
             left = right;
13
         }
14
@@ -990,8 +990,8 @@
15
         /* Codeblock parameters (core syntax only) */
16
         if (get_bits1(gb)) {
17
             for (i = 0; i <= s->wavelet_depth; i++) {
18
-                CHECKEDREAD(s->codeblock[i].width , tmp < 1, "codeblock width invalid\n")
19
-                CHECKEDREAD(s->codeblock[i].height, tmp < 1, "codeblock height invalid\n")
20
+                CHECKEDREAD(s->codeblock[i].width , tmp < 1 || tmp > (s->avctx->width >>s->wavelet_depth-i), "codeblock width invalid\n")
21
+                CHECKEDREAD(s->codeblock[i].height, tmp < 1 || tmp > (s->avctx->height>>s->wavelet_depth-i), "codeblock height invalid\n")
22
             }
23
 
24
             CHECKEDREAD(s->codeblock_mode, tmp > 1, "unknown codeblock mode\n")
25
ffmpeg-1.2.9.tar.bz2/libavcodec/dnxhddec.c -> ffmpeg-1.2.10.tar.bz2/libavcodec/dnxhddec.c Changed
43
 
1
@@ -39,6 +39,7 @@
2
     GetBitContext gb;
3
     int64_t cid;                        ///< compression id
4
     unsigned int width, height;
5
+    enum AVPixelFormat pix_fmt;
6
     unsigned int mb_width, mb_height;
7
     uint32_t mb_scan_index[68];         /* max for 1080p */
8
     int cur_field;                      ///< current interlaced field
9
@@ -135,7 +136,7 @@
10
     av_dlog(ctx->avctx, "width %d, height %d\n", ctx->width, ctx->height);
11
 
12
     if (buf[0x21] & 0x40) {
13
-        ctx->avctx->pix_fmt = AV_PIX_FMT_YUV422P10;
14
+        ctx->pix_fmt = AV_PIX_FMT_YUV422P10;
15
         ctx->avctx->bits_per_raw_sample = 10;
16
         if (ctx->bit_depth != 10) {
17
             ff_dsputil_init(&ctx->dsp, ctx->avctx);
18
@@ -143,7 +144,7 @@
19
             ctx->decode_dct_block = dnxhd_decode_dct_block_10;
20
         }
21
     } else {
22
-        ctx->avctx->pix_fmt = AV_PIX_FMT_YUV422P;
23
+        ctx->pix_fmt = AV_PIX_FMT_YUV422P;
24
         ctx->avctx->bits_per_raw_sample = 8;
25
         if (ctx->bit_depth != 8) {
26
             ff_dsputil_init(&ctx->dsp, ctx->avctx);
27
@@ -381,9 +382,15 @@
28
                avctx->width, avctx->height, ctx->width, ctx->height);
29
         first_field = 1;
30
     }
31
+    if (avctx->pix_fmt != AV_PIX_FMT_NONE && avctx->pix_fmt != ctx->pix_fmt) {
32
+        av_log(avctx, AV_LOG_WARNING, "pix_fmt changed: %s -> %s\n",
33
+               av_get_pix_fmt_name(avctx->pix_fmt), av_get_pix_fmt_name(ctx->pix_fmt));
34
+        first_field = 1;
35
+    }
36
 
37
     if (av_image_check_size(ctx->width, ctx->height, 0, avctx))
38
         return -1;
39
+    avctx->pix_fmt = ctx->pix_fmt;
40
     avcodec_set_dimensions(avctx, ctx->width, ctx->height);
41
 
42
     if (first_field) {
43
ffmpeg-1.2.9.tar.bz2/libavcodec/dxa.c -> ffmpeg-1.2.10.tar.bz2/libavcodec/dxa.c Changed
13
 
1
@@ -308,6 +308,11 @@
2
 
3
     avctx->pix_fmt = AV_PIX_FMT_PAL8;
4
 
5
+    if (avctx->width%4 || avctx->height%4) {
6
+        av_log(avctx, AV_LOG_ERROR, "dimensions are not a multiple of 4");
7
+        return AVERROR_INVALIDDATA;
8
+    }
9
+
10
     avcodec_get_frame_defaults(&c->pic);
11
     avcodec_get_frame_defaults(&c->prev);
12
 
13
ffmpeg-1.2.9.tar.bz2/libavcodec/h264.c -> ffmpeg-1.2.10.tar.bz2/libavcodec/h264.c Changed
19
 
1
@@ -1600,6 +1600,17 @@
2
         memset(&h->me, 0, sizeof(h->me));
3
         h->avctx = dst;
4
         h->DPB   = NULL;
5
+        h->intra4x4_pred_mode= NULL;
6
+        h->non_zero_count    = NULL;
7
+        h->slice_table_base  = NULL;
8
+        h->slice_table       = NULL;
9
+        h->cbp_table         = NULL;
10
+        h->chroma_pred_mode_table = NULL;
11
+        memset(h->mvd_table, 0, sizeof(h->mvd_table));
12
+        h->direct_table      = NULL;
13
+        h->list_counts       = NULL;
14
+        h->mb2b_xy           = NULL;
15
+        h->mb2br_xy          = NULL;
16
 
17
         if (h1->context_initialized) {
18
         h->context_initialized = 0;
19
ffmpeg-1.2.9.tar.bz2/libavcodec/h264.h -> ffmpeg-1.2.10.tar.bz2/libavcodec/h264.h Changed
35
 
1
@@ -969,6 +969,33 @@
2
                   0x0001000100010001ULL));
3
 }
4
 
5
+static inline int find_start_code(const uint8_t *buf, int buf_size,
6
+                           int buf_index, int next_avc)
7
+{
8
+    uint32_t state = -1;
9
+
10
+    buf_index = avpriv_mpv_find_start_code(buf + buf_index, buf + next_avc + 1, &state) - buf - 1;
11
+
12
+    return FFMIN(buf_index, buf_size);
13
+}
14
+
15
+static inline int get_avc_nalsize(H264Context *h, const uint8_t *buf,
16
+                           int buf_size, int *buf_index)
17
+{
18
+    int i, nalsize = 0;
19
+
20
+    if (*buf_index >= buf_size - h->nal_length_size)
21
+        return -1;
22
+
23
+    for (i = 0; i < h->nal_length_size; i++)
24
+        nalsize = ((unsigned)nalsize << 8) | buf[(*buf_index)++];
25
+    if (nalsize <= 0 || nalsize > buf_size - *buf_index) {
26
+        av_log(h->avctx, AV_LOG_ERROR,
27
+               "AVC: nal size %d\n", nalsize);
28
+        return -1;
29
+    }
30
+    return nalsize;
31
+}
32
 void ff_h264_draw_horiz_band(H264Context *h, int y, int height);
33
 
34
 #endif /* AVCODEC_H264_H */
35
ffmpeg-1.2.9.tar.bz2/libavcodec/h264_parser.c -> ffmpeg-1.2.10.tar.bz2/libavcodec/h264_parser.c Changed
78
 
1
@@ -139,10 +139,10 @@
2
  */
3
 static inline int parse_nal_units(AVCodecParserContext *s,
4
                                   AVCodecContext *avctx,
5
-                                  const uint8_t *buf, int buf_size)
6
+                                  const uint8_t * const buf, int buf_size)
7
 {
8
     H264Context *h = s->priv_data;
9
-    const uint8_t *buf_end = buf + buf_size;
10
+    int buf_index, next_avc;
11
     unsigned int pps_id;
12
     unsigned int slice_type;
13
     int state = -1;
14
@@ -162,26 +162,26 @@
15
     if (!buf_size)
16
         return 0;
17
 
18
+    buf_index     = 0;
19
+    next_avc      = h->is_avc ? 0 : buf_size;
20
     for(;;) {
21
         int src_length, dst_length, consumed, nalsize = 0;
22
-        if (h->is_avc) {
23
-            int i;
24
-            if (h->nal_length_size >= buf_end - buf) break;
25
-            nalsize = 0;
26
-            for (i = 0; i < h->nal_length_size; i++)
27
-                nalsize = (nalsize << 8) | *buf++;
28
-            if (nalsize <= 0 || nalsize > buf_end - buf) {
29
-                av_log(h->avctx, AV_LOG_ERROR, "AVC: nal size %d\n", nalsize);
30
+
31
+        if (buf_index >= next_avc) {
32
+            nalsize = get_avc_nalsize(h, buf, buf_size, &buf_index);
33
+            if (nalsize < 0)
34
                 break;
35
-            }
36
-            src_length = nalsize;
37
+            next_avc = buf_index + nalsize;
38
         } else {
39
-        buf = avpriv_mpv_find_start_code(buf, buf_end, &state);
40
-        if(buf >= buf_end)
41
-            break;
42
-        --buf;
43
-        src_length = buf_end - buf;
44
+            buf_index = find_start_code(buf, buf_size, buf_index, next_avc);
45
+            if (buf_index >= buf_size)
46
+                break;
47
+            if (buf_index >= next_avc)
48
+                continue;
49
         }
50
+        src_length = next_avc - buf_index;
51
+
52
+        state = buf[buf_index];
53
         switch (state & 0x1f) {
54
         case NAL_SLICE:
55
         case NAL_IDR_SLICE:
56
@@ -190,10 +190,12 @@
57
                 src_length = 20;
58
             break;
59
         }
60
-        ptr= ff_h264_decode_nal(h, buf, &dst_length, &consumed, src_length);
61
+        ptr= ff_h264_decode_nal(h, buf + buf_index, &dst_length, &consumed, src_length);
62
         if (ptr==NULL || dst_length < 0)
63
             break;
64
 
65
+        buf_index += consumed;
66
+
67
         init_get_bits(&h->gb, ptr, 8*dst_length);
68
         switch(h->nal_unit_type) {
69
         case NAL_SPS:
70
@@ -277,7 +279,6 @@
71
 
72
             return 0; /* no need to evaluate the rest */
73
         }
74
-        buf += h->is_avc ? nalsize : consumed;
75
     }
76
     if (q264)
77
         return 0;
78
ffmpeg-1.2.9.tar.bz2/libavcodec/svq1dec.c -> ffmpeg-1.2.10.tar.bz2/libavcodec/svq1dec.c Changed
33
 
1
@@ -497,7 +497,7 @@
2
     return result;
3
 }
4
 
5
-static void svq1_parse_string(GetBitContext *bitbuf, uint8_t *out)
6
+static void svq1_parse_string(GetBitContext *bitbuf, uint8_t out[257])
7
 {
8
     uint8_t seed;
9
     int i;
10
@@ -509,6 +509,7 @@
11
         out[i] = get_bits(bitbuf, 8) ^ seed;
12
         seed   = string_table[out[i] ^ seed];
13
     }
14
+    out[i] = 0;
15
 }
16
 
17
 static int svq1_decode_frame_header(AVCodecContext *avctx, AVFrame *frame)
18
@@ -551,12 +552,12 @@
19
         }
20
 
21
         if ((s->frame_code ^ 0x10) >= 0x50) {
22
-            uint8_t msg[256];
23
+            uint8_t msg[257];
24
 
25
             svq1_parse_string(bitbuf, msg);
26
 
27
             av_log(avctx, AV_LOG_INFO,
28
-                   "embedded message: \"%s\"\n", (char *)msg);
29
+                   "embedded message: \"%s\"\n", ((char *)msg) + 1);
30
         }
31
 
32
         skip_bits(bitbuf, 2);
33
ffmpeg-1.2.9.tar.bz2/libavcodec/utils.c -> ffmpeg-1.2.10.tar.bz2/libavcodec/utils.c Changed
23
 
1
@@ -193,6 +193,12 @@
2
     int i;
3
     int w_align = 1;
4
     int h_align = 1;
5
+    AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(s->pix_fmt);
6
+
7
+    if (desc) {
8
+        w_align = 1 << desc->log2_chroma_w;
9
+        h_align = 1 << desc->log2_chroma_h;
10
+    }
11
 
12
     switch (s->pix_fmt) {
13
     case AV_PIX_FMT_YUV420P:
14
@@ -293,8 +299,6 @@
15
         }
16
         break;
17
     default:
18
-        w_align = 1;
19
-        h_align = 1;
20
         break;
21
     }
22
 
23
ffmpeg-1.2.9.tar.bz2/libavformat/matroskadec.c -> ffmpeg-1.2.10.tar.bz2/libavformat/matroskadec.c Changed
11
 
1
@@ -1785,7 +1785,8 @@
2
                 av_reduce(&st->avg_frame_rate.num, &st->avg_frame_rate.den,
3
                           1000000000, track->default_duration, 30000);
4
 #if FF_API_R_FRAME_RATE
5
-                if (st->avg_frame_rate.num < st->avg_frame_rate.den * 1000L)
6
+                if (   st->avg_frame_rate.num < st->avg_frame_rate.den * 1000L
7
+                    && st->avg_frame_rate.num > st->avg_frame_rate.den * 5L)
8
                     st->r_frame_rate = st->avg_frame_rate;
9
 #endif
10
             }
11
ffmpeg-1.2.9.tar.bz2/libavformat/mpeg.c -> ffmpeg-1.2.10.tar.bz2/libavformat/mpeg.c Changed
10
 
1
@@ -91,7 +91,7 @@
2
         score= AVPROBE_SCORE_MAX/4;
3
 
4
     if(sys>invalid && sys*9 <= pspack*10)
5
-        return (audio > 12 || vid > 3 || pspack > 2) ? AVPROBE_SCORE_MAX/2+2 : AVPROBE_SCORE_MAX/4; // +1 for .mpg
6
+        return (audio > 12 || vid > 3 || pspack > 2) ? AVPROBE_SCORE_MAX/2+2 : AVPROBE_SCORE_MAX/4+1; // +1 for .mpg
7
     if(pspack > invalid && (priv1+vid+audio)*10 >= pspack*9)
8
         return pspack > 2 ? AVPROBE_SCORE_MAX/2+2 : AVPROBE_SCORE_MAX/4; // +1 for .mpg
9
     if((!!vid ^ !!audio) && (audio > 4 || vid > 1) && !sys && !pspack && p->buf_size>2048 && vid + audio > invalid) /* PES stream */
10
ffmpeg-1.2.9.tar.bz2/libpostproc/postprocess.c -> ffmpeg-1.2.10.tar.bz2/libpostproc/postprocess.c Changed
19
 
1
@@ -975,7 +975,7 @@
2
 
3
     if(pict_type & PP_PICT_TYPE_QP2){
4
         int i;
5
-        const int count= mbHeight * absQPStride;
6
+        const int count= FFMAX(mbHeight * absQPStride, mbWidth);
7
         for(i=0; i<(count>>2); i++){
8
             ((uint32_t*)c->stdQPTable)[i] = (((const uint32_t*)QP_store)[i]>>1) & 0x7F7F7F7F;
9
         }
10
@@ -1000,7 +1000,7 @@
11
     if((pict_type&7)!=3){
12
         if (QPStride >= 0){
13
             int i;
14
-            const int count= mbHeight * QPStride;
15
+            const int count= FFMAX(mbHeight * QPStride, mbWidth);
16
             for(i=0; i<(count>>2); i++){
17
                 ((uint32_t*)c->nonBQPTable)[i] = ((const uint32_t*)QP_store)[i] & 0x3F3F3F3F;
18
             }
19
ffmpeg-1.2.9.tar.bz2/tests/ref/lavfi/pp3 -> ffmpeg-1.2.10.tar.bz2/tests/ref/lavfi/pp3 Changed
4
 
1
@@ -1,1 +1,1 @@
2
-pp3                 39af1a30d0ea0e906df264773adfcaa6
3
+pp3                 c8277ef31ab01bad51356841c9634522
4
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.10


Marguerite Su's avatar

marguerite accepted request over 10 years ago

Please add a comment