Overview
avidemux3.changes
Changed
x
1
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Login required, please
login
or
signup
in order to comment
Request History
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 accepted request over 10 years ago
OK.