Projects
Essentials
A_tw-ffmpeg-3
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 3
View file
ffmpeg-3.changes
Changed
@@ -1,12 +1,12 @@ ------------------------------------------------------------------- -Sun Oct 1 15:31:56 UTC 2023 - Manfred Hollstein <manfred.h@gmx.net> +Tue Dec 12 12:12:12 UTC 2023 - olaf@aepfle.de -- Add ffmpeg-x86-mathops.patch +- Version update to 3.4.13 ------------------------------------------------------------------- -Fri Mar 3 03:03:03 UTC 2023 - olaf@aepfle.de +Sun Oct 1 15:31:56 UTC 2023 - Manfred Hollstein <manfred.h@gmx.net> -- Version update to 3.4.12 +- Add ffmpeg-x86-mathops.patch ------------------------------------------------------------------- Mon Feb 11 21:43:44 UTC 2019 - bjorn.lie@gmail.com
View file
ffmpeg-3.spec
Changed
@@ -55,7 +55,7 @@ %define _major_version 3 %define _major_expected 4 Name: ffmpeg-3 -Version: 3.4.12 +Version: 3.4.13 Release: 0 Summary: Library for working with various multimedia formats License: LGPL-2.1-or-later AND GPL-2.0-or-later
View file
_service
Changed
@@ -1,7 +1,7 @@ <services> <service name="tar_scm" mode="disabled"> <param name="filename">ffmpeg-3</param> - <param name="revision">872001459cf0a20c6f44105f485d125c8e22fc76</param> + <param name="revision">c7210207555effd194b60dee424fd5632bb388f4</param> <param name="scm">git</param> <param name="submodules">disable</param> <param name="url">https://git.ffmpeg.org/ffmpeg.git</param>
View file
ffmpeg-3-3.4.12.tar.xz/CREDITS -> ffmpeg-3-3.4.13.tar.xz/CREDITS
Changed
@@ -1,6 +1,6 @@ -See the Git history of the project (git://source.ffmpeg.org/ffmpeg) to +See the Git history of the project (https://git.ffmpeg.org/ffmpeg) to get the names of people who have contributed to FFmpeg. To check the log, you can type the command "git log" in the FFmpeg source directory, or browse the online repository at -http://source.ffmpeg.org. +https://git.ffmpeg.org/ffmpeg
View file
ffmpeg-3-3.4.12.tar.xz/Changelog -> ffmpeg-3-3.4.13.tar.xz/Changelog
Changed
@@ -1,6 +1,60 @@ Entries are sorted chronologically from oldest to youngest within each release, releases are sorted from youngest to oldest. +version 3.4.13: + avcodec/noise_bsf: Check for wrapped frames + avcodec/pngdec: Do not pass AVFrame into global header decode + avformat/wavdec: Check that smv block fits in available space + avcodec/tak: Check remaining bits in ff_tak_decode_frame_header() + avcodec/utils: the IFF_ILBM implementation assumes that there are a multiple of 16 allocated + avcodec/vorbisdec: Check codebook float values to be finite + avcodec/g2meet: Replace fake allocation avoidance for framebuf + avcodec/lcldec: More space for rgb24 + avcodec/lcldec: Support 4:1:1 and 4:2:2 with odd width + libavcodec/lcldec: width and height should not be unsigned + avcodec/escape124: Check that blocks are allocated before use + avcodec/huffyuvdec: Fix undefined behavior with shift + avcodec/j2kenc: fix 5/3 DWT identifer + avcodec/vp3: Check width to avoid assertion failure + avcodec/g729postfilter: Limit shift in long term filter + configure: update copyright year + avcodec/tests/snowenc: Fix 2nd test + avcodec/tests/snowenc: return a failure if DWT/IDWT mismatches + avcodec/snowenc: Fix visual weight calculation + avcodec/tests/snowenc: unbreak DWT tests + avcodec/vp3: Add missing check for av_malloc + avcodec/escape124: Fix some return codes + avcodec/escape124: fix signdness of end of input check + Use https for repository links + avcodec/motionpixels: Mask pixels to valid values + avcodec/xpmdec: Check size before allocation to avoid truncation + avcodec/bink: Avoid undefined out of array end pointers in binkb_decode_plane() + avcodec/bink: Fix off by 1 error in ref end + avcodec/utils: Ensure linesize for SVQ3 + avcodec/utils: allocate a line more for VC1 and WMV3 + avcodec/videodsp_template: Adjust pointers to avoid undefined pointer things + avcodec/pngdec: Check deloco index more exactly + avcodec/ffv1dec: Check that num h/v slices is supported + avformat/mov: Check samplesize and offset to avoid integer overflow + avcodec/pictordec: Remove mid exit branch + avcodec/eac3dec: avoid float noise in fixed mode addition to overflow + avcodec/utils: use 32pixel alignment for bink + avcodec/012v: Order operations for odd size handling + avcodec/eatgq: : Check index increments in tgq_decode_block() + avcodec/scpr: Test bx before use + avcodec/sunrast: Fix maplength check + avcodec/wavpack: Avoid undefined shift in get_tail() + avformat/id3v2: Check taglen in read_uslt() + avcodec/ffv1dec: restructure slice coordinate reading a bit + avcodec/mlpdec: Check max matrix instead of max channel in noise check + swscale/input: Use more unsigned intermediates + avcodec/alsdec: The minimal block is at least 7 bits + avformat/replaygain: avoid undefined / negative abs + swscale/output: Bias 16bps output calculations to improve non overflowing range + avcodec/speedhq: Check buf_size to be big enough for DC + avcodec/ffv1dec: Fail earlier if prior context is corrupted + swscale: aarch64: Fix yuv2rgb with negative strides + version 3.4.12: avcodec/dstdec: Check for overflow in build_filter() avformat/spdifdec: Use 64bit to compute bit rate
View file
ffmpeg-3-3.4.12.tar.xz/RELEASE -> ffmpeg-3-3.4.13.tar.xz/RELEASE
Changed
@@ -1,1 +1,1 @@ -3.4.12 +3.4.13
View file
ffmpeg-3-3.4.12.tar.xz/configure -> ffmpeg-3-3.4.13.tar.xz/configure
Changed
@@ -7000,7 +7000,7 @@ #define FFMPEG_CONFIG_H #define FFMPEG_CONFIGURATION "$(c_escape $FFMPEG_CONFIGURATION)" #define FFMPEG_LICENSE "$(c_escape $license)" -#define CONFIG_THIS_YEAR 2022 +#define CONFIG_THIS_YEAR 2023 #define FFMPEG_DATADIR "$(eval c_escape $datadir)" #define AVCONV_DATADIR "$(eval c_escape $datadir)" #define CC_IDENT "$(c_escape ${cc_ident:-Unknown compiler})"
View file
ffmpeg-3-3.4.12.tar.xz/doc/Doxyfile -> ffmpeg-3-3.4.13.tar.xz/doc/Doxyfile
Changed
@@ -38,7 +38,7 @@ # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 3.4.12 +PROJECT_NUMBER = 3.4.13 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a
View file
ffmpeg-3-3.4.12.tar.xz/doc/authors.texi -> ffmpeg-3-3.4.13.tar.xz/doc/authors.texi
Changed
@@ -3,9 +3,9 @@ The FFmpeg developers. For details about the authorship, see the Git history of the project -(git://source.ffmpeg.org/ffmpeg), e.g. by typing the command +(https://git.ffmpeg.org/ffmpeg), e.g. by typing the command @command{git log} in the FFmpeg source directory, or browsing the -online repository at @url{http://source.ffmpeg.org}. +online repository at @url{https://git.ffmpeg.org/ffmpeg}. Maintainers for the specific components are listed in the file @file{MAINTAINERS} in the source code tree.
View file
ffmpeg-3-3.4.12.tar.xz/doc/git-howto.texi -> ffmpeg-3-3.4.13.tar.xz/doc/git-howto.texi
Changed
@@ -53,7 +53,7 @@ @section Cloning the source tree @example -git clone git://source.ffmpeg.org/ffmpeg <target> +git clone https://git.ffmpeg.org/ffmpeg.git <target> @end example This will put the FFmpeg sources into the directory @var{<target>}.
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/012v.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/012v.c
Changed
@@ -131,8 +131,8 @@ u = x/2 + (uint16_t *)(pic->data1 + line * pic->linesize1); v = x/2 + (uint16_t *)(pic->data2 + line * pic->linesize2); memcpy(y, y_temp, sizeof(*y) * (width - x)); - memcpy(u, u_temp, sizeof(*u) * (width - x + 1) / 2); - memcpy(v, v_temp, sizeof(*v) * (width - x + 1) / 2); + memcpy(u, u_temp, sizeof(*u) * ((width - x + 1) / 2)); + memcpy(v, v_temp, sizeof(*v) * ((width - x + 1) / 2)); } line_end += stride;
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/ac3.h -> ffmpeg-3-3.4.13.tar.xz/libavcodec/ac3.h
Changed
@@ -74,6 +74,7 @@ #define AC3_DYNAMIC_RANGE1 0 typedef int INTFLOAT; +typedef unsigned int UINTFLOAT; typedef int16_t SHORTFLOAT; #else /* USE_FIXED */ @@ -93,6 +94,7 @@ #define AC3_DYNAMIC_RANGE1 1.0f typedef float INTFLOAT; +typedef float UINTFLOAT; typedef float SHORTFLOAT; #endif /* USE_FIXED */
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/alsdec.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/alsdec.c
Changed
@@ -1021,7 +1021,7 @@ *bd->shift_lsbs = 0; - if (get_bits_left(gb) < 1) + if (get_bits_left(gb) < 7) return AVERROR_INVALIDDATA; // read block type flag and read the samples accordingly
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/bink.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/bink.c
Changed
@@ -825,7 +825,7 @@ binkb_init_bundles(c); ref_start = frame->dataplane_idx; - ref_end = frame->dataplane_idx + (bh * frame->linesizeplane_idx + bw) * 8; + ref_end = frame->dataplane_idx + ((bh - 1) * frame->linesizeplane_idx + bw - 1) * 8; for (i = 0; i < 64; i++) coordmapi = (i & 7) + (i >> 3) * stride; @@ -879,7 +879,7 @@ xoff = binkb_get_value(c, BINKB_SRC_X_OFF); yoff = binkb_get_value(c, BINKB_SRC_Y_OFF) + ybias; ref = dst + xoff + yoff * stride; - if (ref < ref_start || ref + 8*stride > ref_end) { + if (ref < ref_start || ref > ref_end) { av_log(c->avctx, AV_LOG_WARNING, "Reference block is out of bounds\n"); } else if (ref + 8*stride < dst || ref >= dst + 8*stride) { c->hdsp.put_pixels_tab10(dst, ref, stride, 8); @@ -895,7 +895,7 @@ xoff = binkb_get_value(c, BINKB_SRC_X_OFF); yoff = binkb_get_value(c, BINKB_SRC_Y_OFF) + ybias; ref = dst + xoff + yoff * stride; - if (ref < ref_start || ref + 8 * stride > ref_end) { + if (ref < ref_start || ref > ref_end) { av_log(c->avctx, AV_LOG_WARNING, "Reference block is out of bounds\n"); } else if (ref + 8*stride < dst || ref >= dst + 8*stride) { c->hdsp.put_pixels_tab10(dst, ref, stride, 8); @@ -925,7 +925,7 @@ xoff = binkb_get_value(c, BINKB_SRC_X_OFF); yoff = binkb_get_value(c, BINKB_SRC_Y_OFF) + ybias; ref = dst + xoff + yoff * stride; - if (ref < ref_start || ref + 8 * stride > ref_end) { + if (ref < ref_start || ref > ref_end) { av_log(c->avctx, AV_LOG_WARNING, "Reference block is out of bounds\n"); } else if (ref + 8*stride < dst || ref >= dst + 8*stride) { c->hdsp.put_pixels_tab10(dst, ref, stride, 8);
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/eac3dec.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/eac3dec.c
Changed
@@ -146,9 +146,11 @@ // spx_noise_blend and spx_signal_blend are both FP.23 nscale *= 1.0 / (1<<23); sscale *= 1.0 / (1<<23); + if (nscale < -1.0) + nscale = -1.0; #endif for (i = 0; i < s->spx_band_sizesbnd; i++) { - float noise = nscale * (int32_t)av_lfg_get(&s->dith_state); + UINTFLOAT noise = (INTFLOAT)(nscale * (int32_t)av_lfg_get(&s->dith_state)); s->transform_coeffschbin *= sscale; s->transform_coeffschbin++ += noise; }
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/eatgq.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/eatgq.c
Changed
@@ -58,7 +58,7 @@ return 0; } -static void tgq_decode_block(TgqContext *s, int16_t block64, GetBitContext *gb) +static int tgq_decode_block(TgqContext *s, int16_t block64, GetBitContext *gb) { uint8_t *perm = s->scantable.permutated; int i, j, value; @@ -66,6 +66,8 @@ for (i = 1; i < 64;) { switch (show_bits(gb, 3)) { case 4: + if (i >= 63) + return AVERROR_INVALIDDATA; blockpermi++ = 0; case 0: blockpermi++ = 0; @@ -75,6 +77,8 @@ case 1: skip_bits(gb, 2); value = get_bits(gb, 6); + if (value > 64 - i) + return AVERROR_INVALIDDATA; for (j = 0; j < value; j++) blockpermi++ = 0; break; @@ -102,6 +106,7 @@ } } block0 += 128 << 4; + return 0; } static void tgq_idct_put_mb(TgqContext *s, int16_t (*block)64, AVFrame *frame, @@ -161,8 +166,11 @@ if (ret < 0) return ret; - for (i = 0; i < 6; i++) - tgq_decode_block(s, s->blocki, &gb); + for (i = 0; i < 6; i++) { + int ret = tgq_decode_block(s, s->blocki, &gb); + if (ret < 0) + return ret; + } tgq_idct_put_mb(s, s->block, frame, mb_x, mb_y); bytestream2_skip(&s->gb, mode); } else {
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/escape124.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/escape124.c
Changed
@@ -88,11 +88,6 @@ unsigned i, j; CodeBook cb = { 0 }; - if (size >= INT_MAX / 34 || get_bits_left(gb) < size * 34) - return cb; - - if (size >= INT_MAX / sizeof(MacroBlock)) - return cb; cb.blocks = av_malloc(size ? size * sizeof(MacroBlock) : 1); if (!cb.blocks) return cb; @@ -162,7 +157,7 @@ // This condition can occur with invalid bitstreams and // *codebook_index == 2 - if (block_index >= s->codebooks*codebook_index.size) + if (block_index >= s->codebooks*codebook_index.size || !s->codebooks*codebook_index.blocks) return (MacroBlock) { { 0 } }; return s->codebooks*codebook_index.blocksblock_index; @@ -226,7 +221,7 @@ // represent a lower bound of the space needed for skipped superblocks. Non // skipped SBs need more space. if (get_bits_left(&gb) < 64 + s->num_superblocks * 23LL / 4320) - return -1; + return AVERROR_INVALIDDATA; frame_flags = get_bits_long(&gb, 32); frame_size = get_bits_long(&gb, 32); @@ -277,9 +272,14 @@ } av_freep(&s->codebooksi.blocks); + if (cb_size >= INT_MAX / 34 || get_bits_left(&gb) < (int)cb_size * 34) + return AVERROR_INVALIDDATA; + + if (cb_size >= INT_MAX / sizeof(MacroBlock)) + return AVERROR_INVALIDDATA; s->codebooksi = unpack_codebook(&gb, cb_depth, cb_size); if (!s->codebooksi.blocks) - return -1; + return AVERROR(ENOMEM); } }
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/ffv1dec.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/ffv1dec.c
Changed
@@ -169,24 +169,31 @@ RangeCoder *c = &fs->c; uint8_t stateCONTEXT_SIZE; unsigned ps, i, context_count; + int sx, sy, sw, sh; + memset(state, 128, sizeof(state)); + sx = get_symbol(c, state, 0); + sy = get_symbol(c, state, 0); + sw = get_symbol(c, state, 0) + 1U; + sh = get_symbol(c, state, 0) + 1U; av_assert0(f->version > 2); - fs->slice_x = get_symbol(c, state, 0) * f->width ; - fs->slice_y = get_symbol(c, state, 0) * f->height; - fs->slice_width = (get_symbol(c, state, 0) + 1) * f->width + fs->slice_x; - fs->slice_height = (get_symbol(c, state, 0) + 1) * f->height + fs->slice_y; - - fs->slice_x /= f->num_h_slices; - fs->slice_y /= f->num_v_slices; - fs->slice_width = fs->slice_width /f->num_h_slices - fs->slice_x; - fs->slice_height = fs->slice_height/f->num_v_slices - fs->slice_y; - if ((unsigned)fs->slice_width > f->width || (unsigned)fs->slice_height > f->height) - return -1; - if ( (unsigned)fs->slice_x + (uint64_t)fs->slice_width > f->width - || (unsigned)fs->slice_y + (uint64_t)fs->slice_height > f->height) - return -1; + + if (sx < 0 || sy < 0 || sw <= 0 || sh <= 0) + return AVERROR_INVALIDDATA; + if (sx > f->num_h_slices - sw || sy > f->num_v_slices - sh) + return AVERROR_INVALIDDATA; + + fs->slice_x = sx * (int64_t)f->width / f->num_h_slices; + fs->slice_y = sy * (int64_t)f->height / f->num_v_slices; + fs->slice_width = (sx + sw) * (int64_t)f->width / f->num_h_slices - fs->slice_x; + fs->slice_height = (sy + sh) * (int64_t)f->height / f->num_v_slices - fs->slice_y; + + av_assert0((unsigned)fs->slice_width <= f->width && + (unsigned)fs->slice_height <= f->height); + av_assert0 ( (unsigned)fs->slice_x + (uint64_t)fs->slice_width <= f->width + && (unsigned)fs->slice_y + (uint64_t)fs->slice_height <= f->height); if (fs->ac == AC_GOLOMB_RICE && fs->slice_width >= (1<<23)) return AVERROR_INVALIDDATA; @@ -304,8 +311,11 @@ } if ((ret = ff_ffv1_init_slice_state(f, fs)) < 0) return ret; - if (f->cur->key_frame || fs->slice_reset_contexts) + if (f->cur->key_frame || fs->slice_reset_contexts) { ff_ffv1_clear_slice_state(f, fs); + } else if (fs->slice_damaged) { + return AVERROR_INVALIDDATA; + } width = fs->slice_width; height = fs->slice_height; @@ -466,6 +476,11 @@ return AVERROR_INVALIDDATA; } + if (f->num_h_slices > MAX_SLICES / f->num_v_slices) { + av_log(f->avctx, AV_LOG_ERROR, "slice count unsupported\n"); + return AVERROR_PATCHWELCOME; + } + f->quant_table_count = get_symbol(c, state, 0); if (f->quant_table_count > (unsigned)MAX_QUANT_TABLES || !f->quant_table_count) { av_log(f->avctx, AV_LOG_ERROR, "quant table count %d is invalid\n", f->quant_table_count); @@ -742,21 +757,25 @@ fs->slice_damaged = 0; if (f->version == 2) { - fs->slice_x = get_symbol(c, state, 0) * f->width ; - fs->slice_y = get_symbol(c, state, 0) * f->height; - fs->slice_width = (get_symbol(c, state, 0) + 1) * f->width + fs->slice_x; - fs->slice_height = (get_symbol(c, state, 0) + 1) * f->height + fs->slice_y; - - fs->slice_x /= f->num_h_slices; - fs->slice_y /= f->num_v_slices; - fs->slice_width = fs->slice_width / f->num_h_slices - fs->slice_x; - fs->slice_height = fs->slice_height / f->num_v_slices - fs->slice_y; - if ((unsigned)fs->slice_width > f->width || - (unsigned)fs->slice_height > f->height) + int sx = get_symbol(c, state, 0); + int sy = get_symbol(c, state, 0); + int sw = get_symbol(c, state, 0) + 1U; + int sh = get_symbol(c, state, 0) + 1U; + + if (sx < 0 || sy < 0 || sw <= 0 || sh <= 0) return AVERROR_INVALIDDATA; - if ( (unsigned)fs->slice_x + (uint64_t)fs->slice_width > f->width - || (unsigned)fs->slice_y + (uint64_t)fs->slice_height > f->height) + if (sx > f->num_h_slices - sw || sy > f->num_v_slices - sh) return AVERROR_INVALIDDATA; + + fs->slice_x = sx * (int64_t)f->width / f->num_h_slices; + fs->slice_y = sy * (int64_t)f->height / f->num_v_slices; + fs->slice_width = (sx + sw) * (int64_t)f->width / f->num_h_slices - fs->slice_x; + fs->slice_height = (sy + sh) * (int64_t)f->height / f->num_v_slices - fs->slice_y; + + av_assert0((unsigned)fs->slice_width <= f->width && + (unsigned)fs->slice_height <= f->height); + av_assert0 ( (unsigned)fs->slice_x + (uint64_t)fs->slice_width <= f->width + && (unsigned)fs->slice_y + (uint64_t)fs->slice_height <= f->height); } for (i = 0; i < f->plane_count; i++) {
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/g2meet.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/g2meet.c
Changed
@@ -143,7 +143,8 @@ int got_header; uint8_t *framebuf; - int framebuf_stride, old_width, old_height; + int framebuf_stride; + unsigned int framebuf_allocated; uint8_t *synth_tile, *jpeg_tile, *epic_buf, *epic_buf_base; int tile_stride, epic_buf_stride, old_tile_w, old_tile_h; @@ -1179,14 +1180,13 @@ { int aligned_height; - if (!c->framebuf || c->old_width < c->width || c->old_height < c->height) { - c->framebuf_stride = FFALIGN(c->width + 15, 16) * 3; - aligned_height = c->height + 15; - av_free(c->framebuf); - c->framebuf = av_mallocz_array(c->framebuf_stride, aligned_height); - if (!c->framebuf) - return AVERROR(ENOMEM); - } + c->framebuf_stride = FFALIGN(c->width + 15, 16) * 3; + aligned_height = c->height + 15; + + av_fast_mallocz(&c->framebuf, &c->framebuf_allocated, c->framebuf_stride * aligned_height); + if (!c->framebuf) + return AVERROR(ENOMEM); + if (!c->synth_tile || !c->jpeg_tile || (c->compression == 2 && !c->epic_buf_base) || c->old_tile_w < c->tile_width || @@ -1638,6 +1638,7 @@ av_freep(&c->jpeg_tile); av_freep(&c->cursor); av_freep(&c->framebuf); + c->framebuf_allocated = 0; return 0; }
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/g729postfilter.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/g729postfilter.c
Changed
@@ -350,7 +350,7 @@ if (tmp > 0) L_temp0 >>= tmp; else - L_temp1 >>= -tmp; + L_temp1 >>= FFMIN(-tmp, 31); /* Check if longer filter increases the values of R'(k). */ if (L_temp1 > L_temp0) {
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/huffyuvdec.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/huffyuvdec.c
Changed
@@ -691,9 +691,9 @@ /* TODO instead of restarting the read when the code isn't in the first level * of the joint table, jump into the 2nd level of the individual table. */ #define READ_2PIX_PLANE16(dst0, dst1, plane){\ - dst0 = get_vlc2(&s->gb, s->vlcplane.table, VLC_BITS, 3)<<2;\ + dst0 = get_vlc2(&s->gb, s->vlcplane.table, VLC_BITS, 3)*4;\ dst0 += get_bits(&s->gb, 2);\ - dst1 = get_vlc2(&s->gb, s->vlcplane.table, VLC_BITS, 3)<<2;\ + dst1 = get_vlc2(&s->gb, s->vlcplane.table, VLC_BITS, 3)*4;\ dst1 += get_bits(&s->gb, 2);\ } static void decode_plane_bitstream(HYuvContext *s, int width, int plane)
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/j2kenc.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/j2kenc.c
Changed
@@ -1188,7 +1188,7 @@ { "tile_height", "Tile Height", OFFSET(tile_height), AV_OPT_TYPE_INT, { .i64 = 256 }, 1, 1<<30, VE, }, { "pred", "DWT Type", OFFSET(pred), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE, "pred" }, { "dwt97int", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, INT_MIN, INT_MAX, VE, "pred" }, - { "dwt53", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, INT_MIN, INT_MAX, VE, "pred" }, + { "dwt53", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, INT_MIN, INT_MAX, VE, "pred" }, { NULL } };
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/lcldec.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/lcldec.c
Changed
@@ -148,6 +148,8 @@ if (expected != (unsigned int)c->zstream.total_out) { av_log(avctx, AV_LOG_ERROR, "Decoded size differs (%d != %lu)\n", expected, c->zstream.total_out); + if (expected > (unsigned int)c->zstream.total_out) + return (unsigned int)c->zstream.total_out; return AVERROR_UNKNOWN; } return c->zstream.total_out; @@ -166,8 +168,8 @@ int row, col; unsigned char *encoded = avpkt->data, *outptr; uint8_t *y_out, *u_out, *v_out; - unsigned int width = avctx->width; // Real image width - unsigned int height = avctx->height; // Real image height + int width = avctx->width; // Real image width + int height = avctx->height; // Real image height unsigned int mszh_dlen; unsigned char yq, y1q, uq, vq; int uqvq, ret; @@ -274,12 +276,13 @@ ret = zlib_decomp(avctx, buf + 8 + mthread_inlen, len - 8 - mthread_inlen, mthread_outlen, mthread_outlen); if (ret < 0) return ret; + len = c->decomp_size; } else { int ret = zlib_decomp(avctx, buf, len, 0, c->decomp_size); if (ret < 0) return ret; + len = ret; } encoded = c->decomp_buf; - len = c->decomp_size; break; #endif default: @@ -399,6 +402,11 @@ v_out col >> 1 = *encoded++ + 128; v_out(col >> 1) + 1 = *encoded++ + 128; } + if (col && col < width) { + u_out col >> 1 = u_out(col>>1) - 1; + v_out col >> 1 = v_out(col>>1) - 1; + } + y_out -= frame->linesize0; u_out -= frame->linesize1; v_out -= frame->linesize2; @@ -420,6 +428,10 @@ u_outcol >> 2 = *encoded++ + 128; v_outcol >> 2 = *encoded++ + 128; } + if (col && col < width) { + u_outcol >> 2 = u_out(col>>2) - 1; + v_outcol >> 2 = v_out(col>>2) - 1; + } y_out -= frame->linesize0; u_out -= frame->linesize1; v_out -= frame->linesize2; @@ -477,6 +489,7 @@ FFALIGN(avctx->height, 4); unsigned int max_decomp_size; int subsample_h, subsample_v; + int partial_h_supported = 0; if (avctx->extradata_size < 8) { av_log(avctx, AV_LOG_ERROR, "Extradata size too small.\n"); @@ -498,26 +511,24 @@ av_log(avctx, AV_LOG_DEBUG, "Image type is YUV 1:1:1.\n"); break; case IMGTYPE_YUV422: - c->decomp_size = basesize * 2; + c->decomp_size = (avctx->width & ~3) * avctx->height * 2; max_decomp_size = max_basesize * 2; avctx->pix_fmt = AV_PIX_FMT_YUV422P; av_log(avctx, AV_LOG_DEBUG, "Image type is YUV 4:2:2.\n"); - if (avctx->width % 4) { - avpriv_request_sample(avctx, "Unsupported dimensions"); - return AVERROR_INVALIDDATA; - } + partial_h_supported = 1; break; case IMGTYPE_RGB24: - c->decomp_size = basesize * 3; + c->decomp_size = FFALIGN(avctx->width*3, 4) * avctx->height; max_decomp_size = max_basesize * 3; avctx->pix_fmt = AV_PIX_FMT_BGR24; av_log(avctx, AV_LOG_DEBUG, "Image type is RGB 24.\n"); break; case IMGTYPE_YUV411: - c->decomp_size = basesize / 2 * 3; + c->decomp_size = (avctx->width & ~3) * avctx->height / 2 * 3; max_decomp_size = max_basesize / 2 * 3; avctx->pix_fmt = AV_PIX_FMT_YUV411P; av_log(avctx, AV_LOG_DEBUG, "Image type is YUV 4:1:1.\n"); + partial_h_supported = 1; break; case IMGTYPE_YUV211: c->decomp_size = basesize * 2; @@ -537,7 +548,7 @@ } av_pix_fmt_get_chroma_sub_sample(avctx->pix_fmt, &subsample_h, &subsample_v); - if (avctx->width % (1<<subsample_h) || avctx->height % (1<<subsample_v)) { + if ((avctx->width % (1<<subsample_h) && !partial_h_supported) || avctx->height % (1<<subsample_v)) { avpriv_request_sample(avctx, "Unsupported dimensions"); return AVERROR_INVALIDDATA; }
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/mlpdec.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/mlpdec.c
Changed
@@ -515,7 +515,7 @@ /* This should happen for TrueHD streams with >6 channels and MLP's noise * type. It is not yet known if this is allowed. */ - if (max_channel > MAX_MATRIX_CHANNEL_MLP && !noise_type) { + if (max_matrix_channel > MAX_MATRIX_CHANNEL_MLP && !noise_type) { avpriv_request_sample(m->avctx, "%d channels (more than the " "maximum supported by the decoder)",
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/motionpixels.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/motionpixels.c
Changed
@@ -185,7 +185,7 @@ int color; color = *(uint16_t *)&mp->frame->data0y * mp->frame->linesize0 + x * 2; - return mp_rgb_yuv_tablecolor; + return mp_rgb_yuv_tablecolor & 0x7FFF; } static void mp_set_rgb_from_yuv(MotionPixelsContext *mp, int x, int y, const YuvPixel *p)
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/noise_bsf.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/noise_bsf.c
Changed
@@ -45,6 +45,11 @@ if (amount <= 0) return AVERROR(EINVAL); + if (ctx->par_in->codec_id == AV_CODEC_ID_WRAPPED_AVFRAME) { + av_log(ctx, AV_LOG_ERROR, "Wrapped AVFrame noising is unsupported\n"); + return AVERROR_PATCHWELCOME; + } + ret = ff_bsf_get_packet(ctx, &in); if (ret < 0) return ret;
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/pictordec.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/pictordec.c
Changed
@@ -223,8 +223,6 @@ run = bytestream2_get_le16(&s->g); val = bytestream2_get_byte(&s->g); } - if (!bytestream2_get_bytes_left(&s->g)) - break; if (bits_per_plane == 8) { picmemset_8bpp(s, frame, val, run, &x, &y);
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/pngdec.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/pngdec.c
Changed
@@ -308,7 +308,7 @@ static void deloco_ ## NAME(TYPE *dst, int size, int alpha) \ { \ int i; \ - for (i = 0; i < size; i += 3 + alpha) { \ + for (i = 0; i < size - 2; i += 3 + alpha) { \ int g = dst i + 1; \ dsti + 0 += g; \ dsti + 2 += g; \ @@ -620,6 +620,8 @@ int ret; size_t byte_depth = s->bit_depth > 8 ? 2 : 1; + if (!p) + return AVERROR_INVALIDDATA; if (!(s->hdr_state & PNG_IHDR)) { av_log(avctx, AV_LOG_ERROR, "IDAT without IHDR\n"); return AVERROR_INVALIDDATA; @@ -1292,6 +1294,8 @@ break; } case MKTAG('i', 'C', 'C', 'P'): { + if (!p) + return AVERROR_INVALIDDATA; if ((ret = decode_iccp_chunk(s, length, p)) < 0) goto fail; break; @@ -1314,6 +1318,9 @@ } exit_loop: + if (!p) + return AVERROR_INVALIDDATA; + if (avctx->codec_id == AV_CODEC_ID_PNG && avctx->skip_frame == AVDISCARD_ALL) { return 0; @@ -1460,7 +1467,7 @@ s->zstream.zfree = ff_png_zfree; bytestream2_init(&s->gb, avctx->extradata, avctx->extradata_size); - if ((ret = decode_frame_common(avctx, s, p, avpkt)) < 0) + if ((ret = decode_frame_common(avctx, s, NULL, avpkt)) < 0) goto end; }
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/scpr.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/scpr.c
Changed
@@ -583,6 +583,9 @@ int run, r, g, b, z, bx = x * 16 + sx1, by = y * 16 + sy1; unsigned clr, ptype = 0; + if (bx >= avctx->width) + return AVERROR_INVALIDDATA; + for (; by < y * 16 + sy2 && by < avctx->height;) { ret = decode_value(s, s->op_modelptype, 6, 1000, &ptype); if (ret < 0)
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/snowenc.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/snowenc.c
Changed
@@ -1542,10 +1542,10 @@ int level, orientation, x, y; for(level=0; level<s->spatial_decomposition_count; level++){ + int64_t error=0; for(orientation=level ? 1 : 0; orientation<4; orientation++){ SubBand *b= &p->bandlevelorientation; IDWTELEM *ibuf= b->ibuf; - int64_t error=0; memset(s->spatial_idwt_buffer, 0, sizeof(*s->spatial_idwt_buffer)*width*height); ibufb->width/2 + b->height/2*b->stride= 256*16; @@ -1556,9 +1556,13 @@ error += d*d; } } - + if (orientation == 2) + error /= 2; b->qlog= (int)(QROOT * log2(352256.0/sqrt(error)) + 0.5); + if (orientation != 1) + error = 0; } + p->bandlevel1.qlog = p->bandlevel2.qlog; } }
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/speedhq.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/speedhq.c
Changed
@@ -426,6 +426,8 @@ if (buf_size < 4 || avctx->width < 8 || avctx->width % 8 != 0) return AVERROR_INVALIDDATA; + if (buf_size < avctx->width*avctx->height / 64 / 4) + return AVERROR_INVALIDDATA; quality = buf0; if (quality >= 100) {
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/sunrast.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/sunrast.c
Changed
@@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/avassert.h" #include "libavutil/common.h" #include "libavutil/intreadwrite.h" #include "libavutil/imgutils.h" @@ -75,6 +76,12 @@ return AVERROR_PATCHWELCOME; } + if (maplength > 768) { + av_log(avctx, AV_LOG_WARNING, "invalid colormap length\n"); + return AVERROR_INVALIDDATA; + } + + // This also checks depth to be valid switch (depth) { case 1: avctx->pix_fmt = maplength ? AV_PIX_FMT_PAL8 : AV_PIX_FMT_MONOWHITE; @@ -96,15 +103,23 @@ return AVERROR_INVALIDDATA; } + // This checks w and h to be valid in the sense that bytes of a padded bitmap are addressable with 32bit int ret = ff_set_dimensions(avctx, w, h); if (ret < 0) return ret; + // ensured by ff_set_dimensions() + av_assert0(w <= (INT32_MAX - 7) / depth); + /* scanlines are aligned on 16 bit boundaries */ len = (depth * w + 7) >> 3; alen = len + (len & 1); - if (buf_end - buf < maplength + (len * h) * 3 / 256) + // ensured by ff_set_dimensions() + av_assert0(h <= INT32_MAX / (3 * len)); + + // maplength is limited to 768 and the right term is limited to INT32_MAX / 256 so the add needs no check + if (buf_end - buf < (uint64_t)maplength + (len * h) * 3 / 256) return AVERROR_INVALIDDATA; if ((ret = ff_get_buffer(avctx, p, 0)) < 0) @@ -118,7 +133,7 @@ } else if (maplength) { unsigned int len = maplength / 3; - if (maplength % 3 || maplength > 768) { + if (maplength % 3) { av_log(avctx, AV_LOG_WARNING, "invalid colormap length\n"); return AVERROR_INVALIDDATA; }
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/tak.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/tak.c
Changed
@@ -154,6 +154,9 @@ if (ti->flags & TAK_FRAME_FLAG_HAS_METADATA) return AVERROR_INVALIDDATA; + if (get_bits_left(gb) < 24) + return AVERROR_INVALIDDATA; + skip_bits(gb, 24); return 0;
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/tests/snowenc.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/tests/snowenc.c
Changed
@@ -31,11 +31,13 @@ #define width 256 #define height 256 int buffer2width*height; + short obufferwidth*height; SnowContext s; int i; AVLFG prng; s.spatial_decomposition_count=6; s.spatial_decomposition_type=1; + int ret = 0; s.temp_dwt_buffer = av_mallocz_array(width, sizeof(DWTELEM)); s.temp_idwt_buffer = av_mallocz_array(width, sizeof(IDWTELEM)); @@ -49,24 +51,34 @@ printf("testing 5/3 DWT\n"); for(i=0; i<width*height; i++) - buffer0i = buffer1i = av_lfg_get(&prng) % 54321 - 12345; + buffer0i = buffer1i = av_lfg_get(&prng) % 19000 - 9000; ff_spatial_dwt(buffer0, s.temp_dwt_buffer, width, height, width, s.spatial_decomposition_type, s.spatial_decomposition_count); - ff_spatial_idwt((IDWTELEM*)buffer0, s.temp_idwt_buffer, width, height, width, s.spatial_decomposition_type, s.spatial_decomposition_count); + for(i=0; i<width*height; i++) + obufferi = buffer0i; + ff_spatial_idwt(obuffer, s.temp_idwt_buffer, width, height, width, s.spatial_decomposition_type, s.spatial_decomposition_count); for(i=0; i<width*height; i++) - if(buffer0i!= buffer1i) printf("fsck: %6d %12d %7d\n",i, buffer0i, buffer1i); + if(buffer1i!= obufferi) { + printf("fsck: %4dx%4dx %12d %7d\n",i%width, i/width, buffer1i, obufferi); + ret = 1; + } printf("testing 9/7 DWT\n"); s.spatial_decomposition_type=0; for(i=0; i<width*height; i++) - buffer0i = buffer1i = av_lfg_get(&prng) % 54321 - 12345; + buffer0i = buffer1i = av_lfg_get(&prng) % 11000 - 5000; ff_spatial_dwt(buffer0, s.temp_dwt_buffer, width, height, width, s.spatial_decomposition_type, s.spatial_decomposition_count); - ff_spatial_idwt((IDWTELEM*)buffer0, s.temp_idwt_buffer, width, height, width, s.spatial_decomposition_type, s.spatial_decomposition_count); + for(i=0; i<width*height; i++) + obufferi = buffer0i; + ff_spatial_idwt(obuffer, s.temp_idwt_buffer, width, height, width, s.spatial_decomposition_type, s.spatial_decomposition_count); for(i=0; i<width*height; i++) - if(FFABS(buffer0i - buffer1i)>20) printf("fsck: %6d %12d %7d\n",i, buffer0i, buffer1i); + if(FFABS(buffer1i - obufferi)>20) { + printf("fsck: %4dx%4d %12d %7d\n",i%width, i/width, buffer1i, obufferi); + ret = 1; + } { int level, orientation, x, y; @@ -81,18 +93,18 @@ int w= width >> (s.spatial_decomposition_count-level); int h= height >> (s.spatial_decomposition_count-level); int stride= width << (s.spatial_decomposition_count-level); - DWTELEM *buf= buffer0; + IDWTELEM *buf= obuffer; int64_t error=0; if(orientation&1) buf+=w; if(orientation>1) buf+=stride>>1; - memset(buffer0, 0, sizeof(int)*width*height); - bufw/2 + h/2*stride= 256*256; - ff_spatial_idwt((IDWTELEM*)buffer0, s.temp_idwt_buffer, width, height, width, s.spatial_decomposition_type, s.spatial_decomposition_count); + memset(obuffer, 0, sizeof(short)*width*height); + bufw/2 + h/2*stride= 8*256; + ff_spatial_idwt(obuffer, s.temp_idwt_buffer, width, height, width, s.spatial_decomposition_type, s.spatial_decomposition_count); for(y=0; y<height; y++){ for(x=0; x<width; x++){ - int64_t d= buffer0x + y*width; + int64_t d= obufferx + y*width; error += d*d; if(FFABS(width/2-x)<9 && FFABS(height/2-y)<9 && level==2) printf("%8"PRId64" ", d); } @@ -143,5 +155,5 @@ } } - return 0; + return ret; }
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/utils.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/utils.c
Changed
@@ -359,6 +359,8 @@ case AV_PIX_FMT_GBRAP16BE: w_align = 16; //FIXME assume 16 pixel per macroblock h_align = 16 * 2; // interlaced needs 2 macroblocks height + if (s->codec_id == AV_CODEC_ID_BINKVIDEO) + w_align = 16*2; break; case AV_PIX_FMT_YUV411P: case AV_PIX_FMT_YUVJ411P: @@ -424,12 +426,13 @@ } if (s->codec_id == AV_CODEC_ID_IFF_ILBM) { - w_align = FFMAX(w_align, 8); + w_align = FFMAX(w_align, 16); } *width = FFALIGN(*width, w_align); *height = FFALIGN(*height, h_align); if (s->codec_id == AV_CODEC_ID_H264 || s->lowres || + s->codec_id == AV_CODEC_ID_VC1 || s->codec_id == AV_CODEC_ID_WMV3 || s->codec_id == AV_CODEC_ID_VP5 || s->codec_id == AV_CODEC_ID_VP6 || s->codec_id == AV_CODEC_ID_VP6F || s->codec_id == AV_CODEC_ID_VP6A ) { @@ -443,6 +446,9 @@ // the next rounded up width is 32 *width = FFMAX(*width, 32); } + if (s->codec_id == AV_CODEC_ID_SVQ3) { + *width = FFMAX(*width, 32); + } for (i = 0; i < 4; i++) linesize_aligni = STRIDE_ALIGN;
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/videodsp_template.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/videodsp_template.c
Changed
@@ -60,7 +60,7 @@ av_assert2(start_x < end_x && block_w); w = end_x - start_x; - src += start_y * src_linesize + start_x * sizeof(pixel); + src += start_y * src_linesize + start_x * (ptrdiff_t)sizeof(pixel); buf += start_x * sizeof(pixel); // top @@ -83,7 +83,7 @@ buf += buf_linesize; } - buf -= block_h * buf_linesize + start_x * sizeof(pixel); + buf -= block_h * buf_linesize + start_x * (ptrdiff_t)sizeof(pixel); while (block_h--) { pixel *bufp = (pixel *) buf;
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/vorbisdec.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/vorbisdec.c
Changed
@@ -363,6 +363,10 @@ unsigned codebook_value_bits = get_bits(gb, 4) + 1; unsigned codebook_sequence_p = get_bits1(gb); + if (!isfinite(codebook_minimum_value) || !isfinite(codebook_delta_value)) { + ret = AVERROR_INVALIDDATA; + goto error; + } ff_dlog(NULL, " We expect %d numbers for building the codevectors. \n", codebook_lookup_values); ff_dlog(NULL, " delta %f minmum %f \n",
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/vp3.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/vp3.c
Changed
@@ -1747,6 +1747,8 @@ s->avctx = avctx; s->width = FFALIGN(avctx->coded_width, 16); s->height = FFALIGN(avctx->coded_height, 16); + if (s->width < 18) + return AVERROR_PATCHWELCOME; if (avctx->codec_id != AV_CODEC_ID_THEORA) avctx->pix_fmt = AV_PIX_FMT_YUV420P; avctx->chroma_sample_location = AVCHROMA_LOC_CENTER; @@ -2099,8 +2101,13 @@ if (ff_thread_get_buffer(avctx, &s->current_frame, AV_GET_BUFFER_FLAG_REF) < 0) goto error; - if (!s->edge_emu_buffer) + if (!s->edge_emu_buffer) { s->edge_emu_buffer = av_malloc(9 * FFABS(s->current_frame.f->linesize0)); + if (!s->edge_emu_buffer) { + ret = AVERROR(ENOMEM); + goto error; + } + } if (s->keyframe) { if (!s->theora) { @@ -2308,7 +2315,9 @@ /* sanity check */ if (av_image_check_size(visible_width, visible_height, 0, avctx) < 0 || visible_width + offset_x > s->width || - visible_height + offset_y > s->height) { + visible_height + offset_y > s->height || + visible_width < 18 + ) { av_log(avctx, AV_LOG_ERROR, "Invalid frame dimensions - w:%d h:%d x:%d y:%d (%dx%d).\n", visible_width, visible_height, offset_x, offset_y, @@ -2354,6 +2363,8 @@ } else avctx->pix_fmt = AV_PIX_FMT_YUV420P; + if (s->width < 18) + return AVERROR_PATCHWELCOME; ret = ff_set_dimensions(avctx, s->width, s->height); if (ret < 0) return ret;
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/wavpack.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/wavpack.c
Changed
@@ -95,7 +95,7 @@ e = (1 << (p + 1)) - k - 1; res = get_bitsz(gb, p); if (res >= e) - res = (res << 1) - e + get_bits1(gb); + res = res * 2U - e + get_bits1(gb); return res; }
View file
ffmpeg-3-3.4.12.tar.xz/libavcodec/xpmdec.c -> ffmpeg-3-3.4.13.tar.xz/libavcodec/xpmdec.c
Changed
@@ -351,6 +351,9 @@ return AVERROR_INVALIDDATA; } + if (size > SIZE_MAX / 4) + return AVERROR(ENOMEM); + size *= 4; ptr += mod_strcspn(ptr, ",") + 1;
View file
ffmpeg-3-3.4.12.tar.xz/libavformat/id3v2.c -> ffmpeg-3-3.4.13.tar.xz/libavformat/id3v2.c
Changed
@@ -375,10 +375,10 @@ lang3 = '\0'; taglen -= 3; - if (decode_str(s, pb, encoding, &descriptor, &taglen) < 0) + if (decode_str(s, pb, encoding, &descriptor, &taglen) < 0 || taglen < 0) goto error; - if (decode_str(s, pb, encoding, &text, &taglen) < 0) + if (decode_str(s, pb, encoding, &text, &taglen) < 0 || taglen < 0) goto error; // FFmpeg does not support hierarchical metadata, so concatenate the keys.
View file
ffmpeg-3-3.4.12.tar.xz/libavformat/mov.c -> ffmpeg-3-3.4.13.tar.xz/libavformat/mov.c
Changed
@@ -3553,6 +3553,13 @@ if (keyframe) distance = 0; sample_size = sc->stsz_sample_size > 0 ? sc->stsz_sample_size : sc->sample_sizescurrent_sample; + if (current_offset > INT64_MAX - sample_size) { + av_log(mov->fc, AV_LOG_ERROR, "Current offset %"PRId64" or sample size %u is too large\n", + current_offset, + sample_size); + return; + } + if (sc->pseudo_stream_id == -1 || sc->stsc_datastsc_index.id - 1 == sc->pseudo_stream_id) { AVIndexEntry *e;
View file
ffmpeg-3-3.4.12.tar.xz/libavformat/replaygain.c -> ffmpeg-3-3.4.13.tar.xz/libavformat/replaygain.c
Changed
@@ -61,7 +61,7 @@ } } - if (abs(db) > (INT32_MAX - mb) / 100000) + if (llabs(db) > (INT32_MAX - mb) / 100000) return min; return db * 100000 + sign * mb;
View file
ffmpeg-3-3.4.12.tar.xz/libavformat/wavdec.c -> ffmpeg-3-3.4.13.tar.xz/libavformat/wavdec.c
Changed
@@ -647,6 +647,10 @@ goto smv_out; } size = avio_rl24(s->pb); + if (size > wav->smv_block_size) { + ret = AVERROR_EOF; + goto smv_out; + } ret = av_get_packet(s->pb, pkt, size); if (ret < 0) goto smv_out;
View file
ffmpeg-3-3.4.12.tar.xz/libswscale/aarch64/yuv2rgb_neon.S -> ffmpeg-3-3.4.13.tar.xz/libswscale/aarch64/yuv2rgb_neon.S
Changed
@@ -118,8 +118,8 @@ .endm .macro increment_yuv422p - add x6, x6, w7, UXTW // srcU += incU - add x13, x13, w14, UXTW // srcV += incV + add x6, x6, w7, SXTW // srcU += incU + add x13, x13, w14, SXTW // srcV += incV .endm .macro compute_rgba r1 g1 b1 a1 r2 g2 b2 a2 @@ -188,8 +188,8 @@ st4 {v16.8B,v17.8B,v18.8B,v19.8B}, x2, #32 subs w8, w8, #16 // width -= 16 b.gt 2b - add x2, x2, w3, UXTW // dst += padding - add x4, x4, w5, UXTW // srcY += paddingY + add x2, x2, w3, SXTW // dst += padding + add x4, x4, w5, SXTW // srcY += paddingY increment_\ifmt subs w1, w1, #1 // height -= 1 b.gt 1b
View file
ffmpeg-3-3.4.12.tar.xz/libswscale/input.c -> ffmpeg-3-3.4.13.tar.xz/libswscale/input.c
Changed
@@ -84,9 +84,9 @@ int32_t rv = rgb2yuvRV_IDX, gv = rgb2yuvGV_IDX, bv = rgb2yuvBV_IDX; av_assert1(src1==src2); for (i = 0; i < width; i++) { - int r_b = (input_pixel(&src18 * i + 0) + input_pixel(&src18 * i + 4) + 1) >> 1; - int g = (input_pixel(&src18 * i + 1) + input_pixel(&src18 * i + 5) + 1) >> 1; - int b_r = (input_pixel(&src18 * i + 2) + input_pixel(&src18 * i + 6) + 1) >> 1; + unsigned r_b = (input_pixel(&src18 * i + 0) + input_pixel(&src18 * i + 4) + 1) >> 1; + unsigned g = (input_pixel(&src18 * i + 1) + input_pixel(&src18 * i + 5) + 1) >> 1; + unsigned b_r = (input_pixel(&src18 * i + 2) + input_pixel(&src18 * i + 6) + 1) >> 1; dstUi= (ru*r + gu*g + bu*b + (0x10001<<(RGB2YUV_SHIFT-1))) >> RGB2YUV_SHIFT; dstVi= (rv*r + gv*g + bv*b + (0x10001<<(RGB2YUV_SHIFT-1))) >> RGB2YUV_SHIFT; @@ -156,9 +156,9 @@ int32_t rv = rgb2yuvRV_IDX, gv = rgb2yuvGV_IDX, bv = rgb2yuvBV_IDX; av_assert1(src1 == src2); for (i = 0; i < width; i++) { - int r_b = input_pixel(&src1i * 3 + 0); - int g = input_pixel(&src1i * 3 + 1); - int b_r = input_pixel(&src1i * 3 + 2); + unsigned r_b = input_pixel(&src1i * 3 + 0); + unsigned g = input_pixel(&src1i * 3 + 1); + unsigned b_r = input_pixel(&src1i * 3 + 2); dstUi = (ru*r + gu*g + bu*b + (0x10001 << (RGB2YUV_SHIFT - 1))) >> RGB2YUV_SHIFT; dstVi = (rv*r + gv*g + bv*b + (0x10001 << (RGB2YUV_SHIFT - 1))) >> RGB2YUV_SHIFT; @@ -178,12 +178,12 @@ int32_t rv = rgb2yuvRV_IDX, gv = rgb2yuvGV_IDX, bv = rgb2yuvBV_IDX; av_assert1(src1 == src2); for (i = 0; i < width; i++) { - int r_b = (input_pixel(&src16 * i + 0) + - input_pixel(&src16 * i + 3) + 1) >> 1; - int g = (input_pixel(&src16 * i + 1) + - input_pixel(&src16 * i + 4) + 1) >> 1; - int b_r = (input_pixel(&src16 * i + 2) + - input_pixel(&src16 * i + 5) + 1) >> 1; + unsigned r_b = (input_pixel(&src16 * i + 0) + + input_pixel(&src16 * i + 3) + 1) >> 1; + unsigned g = (input_pixel(&src16 * i + 1) + + input_pixel(&src16 * i + 4) + 1) >> 1; + unsigned b_r = (input_pixel(&src16 * i + 2) + + input_pixel(&src16 * i + 5) + 1) >> 1; dstUi = (ru*r + gu*g + bu*b + (0x10001 << (RGB2YUV_SHIFT - 1))) >> RGB2YUV_SHIFT; dstVi = (rv*r + gv*g + bv*b + (0x10001 << (RGB2YUV_SHIFT - 1))) >> RGB2YUV_SHIFT;
View file
ffmpeg-3-3.4.12.tar.xz/libswscale/output.c -> ffmpeg-3-3.4.13.tar.xz/libswscale/output.c
Changed
@@ -827,8 +827,8 @@ Y2 -= c->yuv2rgb_y_offset; Y1 *= c->yuv2rgb_y_coeff; Y2 *= c->yuv2rgb_y_coeff; - Y1 += 1 << 13; // 21 - Y2 += 1 << 13; + Y1 += (1 << 13) - (1 << 29); // 21 + Y2 += (1 << 13) - (1 << 29); // 8 bits: 17 + 13 bits = 30 bits, 16 bits: 17 + 13 bits = 30 bits R = V * c->yuv2rgb_v2r_coeff; @@ -836,20 +836,20 @@ B = U * c->yuv2rgb_u2b_coeff; // 8 bits: 30 - 22 = 8 bits, 16 bits: 30 bits - 14 = 16 bits - output_pixel(&dest0, av_clip_uintp2(R_B + Y1, 30) >> 14); - output_pixel(&dest1, av_clip_uintp2( G + Y1, 30) >> 14); - output_pixel(&dest2, av_clip_uintp2(B_R + Y1, 30) >> 14); + output_pixel(&dest0, av_clip_uintp2(((R_B + Y1) >> 14) + (1<<15), 16)); + output_pixel(&dest1, av_clip_uintp2((( G + Y1) >> 14) + (1<<15), 16)); + output_pixel(&dest2, av_clip_uintp2(((B_R + Y1) >> 14) + (1<<15), 16)); if (eightbytes) { output_pixel(&dest3, av_clip_uintp2(A1 , 30) >> 14); - output_pixel(&dest4, av_clip_uintp2(R_B + Y2, 30) >> 14); - output_pixel(&dest5, av_clip_uintp2( G + Y2, 30) >> 14); - output_pixel(&dest6, av_clip_uintp2(B_R + Y2, 30) >> 14); + output_pixel(&dest4, av_clip_uintp2(((R_B + Y2) >> 14) + (1<<15), 16)); + output_pixel(&dest5, av_clip_uintp2((( G + Y2) >> 14) + (1<<15), 16)); + output_pixel(&dest6, av_clip_uintp2(((B_R + Y2) >> 14) + (1<<15), 16)); output_pixel(&dest7, av_clip_uintp2(A2 , 30) >> 14); dest += 8; } else { - output_pixel(&dest3, av_clip_uintp2(R_B + Y2, 30) >> 14); - output_pixel(&dest4, av_clip_uintp2( G + Y2, 30) >> 14); - output_pixel(&dest5, av_clip_uintp2(B_R + Y2, 30) >> 14); + output_pixel(&dest3, av_clip_uintp2(((R_B + Y2) >> 14) + (1<<15), 16)); + output_pixel(&dest4, av_clip_uintp2((( G + Y2) >> 14) + (1<<15), 16)); + output_pixel(&dest5, av_clip_uintp2(((B_R + Y2) >> 14) + (1<<15), 16)); dest += 6; } } @@ -886,8 +886,8 @@ Y2 -= c->yuv2rgb_y_offset; Y1 *= c->yuv2rgb_y_coeff; Y2 *= c->yuv2rgb_y_coeff; - Y1 += 1 << 13; - Y2 += 1 << 13; + Y1 += (1 << 13) - (1 << 29); + Y2 += (1 << 13) - (1 << 29); R = V * c->yuv2rgb_v2r_coeff; G = V * c->yuv2rgb_v2g_coeff + U * c->yuv2rgb_u2g_coeff; @@ -901,20 +901,20 @@ A2 += 1 << 13; } - output_pixel(&dest0, av_clip_uintp2(R_B + Y1, 30) >> 14); - output_pixel(&dest1, av_clip_uintp2( G + Y1, 30) >> 14); - output_pixel(&dest2, av_clip_uintp2(B_R + Y1, 30) >> 14); + output_pixel(&dest0, av_clip_uintp2(((R_B + Y1) >> 14) + (1<<15), 16)); + output_pixel(&dest1, av_clip_uintp2((( G + Y1) >> 14) + (1<<15), 16)); + output_pixel(&dest2, av_clip_uintp2(((B_R + Y1) >> 14) + (1<<15), 16)); if (eightbytes) { output_pixel(&dest3, av_clip_uintp2(A1 , 30) >> 14); - output_pixel(&dest4, av_clip_uintp2(R_B + Y2, 30) >> 14); - output_pixel(&dest5, av_clip_uintp2( G + Y2, 30) >> 14); - output_pixel(&dest6, av_clip_uintp2(B_R + Y2, 30) >> 14); + output_pixel(&dest4, av_clip_uintp2(((R_B + Y2) >> 14) + (1<<15), 16)); + output_pixel(&dest5, av_clip_uintp2((( G + Y2) >> 14) + (1<<15), 16)); + output_pixel(&dest6, av_clip_uintp2(((B_R + Y2) >> 14) + (1<<15), 16)); output_pixel(&dest7, av_clip_uintp2(A2 , 30) >> 14); dest += 8; } else { - output_pixel(&dest3, av_clip_uintp2(R_B + Y2, 30) >> 14); - output_pixel(&dest4, av_clip_uintp2( G + Y2, 30) >> 14); - output_pixel(&dest5, av_clip_uintp2(B_R + Y2, 30) >> 14); + output_pixel(&dest3, av_clip_uintp2(((R_B + Y2) >> 14) + (1<<15), 16)); + output_pixel(&dest4, av_clip_uintp2((( G + Y2) >> 14) + (1<<15), 16)); + output_pixel(&dest5, av_clip_uintp2(((B_R + Y2) >> 14) + (1<<15), 16)); dest += 6; } } @@ -942,8 +942,8 @@ Y2 -= c->yuv2rgb_y_offset; Y1 *= c->yuv2rgb_y_coeff; Y2 *= c->yuv2rgb_y_coeff; - Y1 += 1 << 13; - Y2 += 1 << 13; + Y1 += (1 << 13) - (1 << 29); + Y2 += (1 << 13) - (1 << 29); if (hasAlpha) { A1 = abuf0i * 2 << 11; @@ -957,20 +957,20 @@ G = V * c->yuv2rgb_v2g_coeff + U * c->yuv2rgb_u2g_coeff; B = U * c->yuv2rgb_u2b_coeff; - output_pixel(&dest0, av_clip_uintp2(R_B + Y1, 30) >> 14); - output_pixel(&dest1, av_clip_uintp2( G + Y1, 30) >> 14); - output_pixel(&dest2, av_clip_uintp2(B_R + Y1, 30) >> 14); + output_pixel(&dest0, av_clip_uintp2(((R_B + Y1) >> 14) + (1<<15), 16)); + output_pixel(&dest1, av_clip_uintp2((( G + Y1) >> 14) + (1<<15), 16)); + output_pixel(&dest2, av_clip_uintp2(((B_R + Y1) >> 14) + (1<<15), 16)); if (eightbytes) { output_pixel(&dest3, av_clip_uintp2(A1 , 30) >> 14); - output_pixel(&dest4, av_clip_uintp2(R_B + Y2, 30) >> 14); - output_pixel(&dest5, av_clip_uintp2( G + Y2, 30) >> 14); - output_pixel(&dest6, av_clip_uintp2(B_R + Y2, 30) >> 14); + output_pixel(&dest4, av_clip_uintp2(((R_B + Y2) >> 14) + (1<<15), 16)); + output_pixel(&dest5, av_clip_uintp2((( G + Y2) >> 14) + (1<<15), 16)); + output_pixel(&dest6, av_clip_uintp2(((B_R + Y2) >> 14) + (1<<15), 16)); output_pixel(&dest7, av_clip_uintp2(A2 , 30) >> 14); dest += 8; } else { - output_pixel(&dest3, av_clip_uintp2(R_B + Y2, 30) >> 14); - output_pixel(&dest4, av_clip_uintp2( G + Y2, 30) >> 14); - output_pixel(&dest5, av_clip_uintp2(B_R + Y2, 30) >> 14); + output_pixel(&dest3, av_clip_uintp2(((R_B + Y2) >> 14) + (1<<15), 16)); + output_pixel(&dest4, av_clip_uintp2((( G + Y2) >> 14) + (1<<15), 16)); + output_pixel(&dest5, av_clip_uintp2(((B_R + Y2) >> 14) + (1<<15), 16)); dest += 6; } } @@ -988,8 +988,8 @@ Y2 -= c->yuv2rgb_y_offset; Y1 *= c->yuv2rgb_y_coeff; Y2 *= c->yuv2rgb_y_coeff; - Y1 += 1 << 13; - Y2 += 1 << 13; + Y1 += (1 << 13) - (1 << 29); + Y2 += (1 << 13) - (1 << 29); if (hasAlpha) { A1 = abuf0i * 2 << 11; @@ -1003,20 +1003,20 @@ G = V * c->yuv2rgb_v2g_coeff + U * c->yuv2rgb_u2g_coeff; B = U * c->yuv2rgb_u2b_coeff; - output_pixel(&dest0, av_clip_uintp2(R_B + Y1, 30) >> 14); - output_pixel(&dest1, av_clip_uintp2( G + Y1, 30) >> 14); - output_pixel(&dest2, av_clip_uintp2(B_R + Y1, 30) >> 14); + output_pixel(&dest0, av_clip_uintp2(((R_B + Y1) >> 14) + (1<<15), 16)); + output_pixel(&dest1, av_clip_uintp2((( G + Y1) >> 14) + (1<<15), 16)); + output_pixel(&dest2, av_clip_uintp2(((B_R + Y1) >> 14) + (1<<15), 16)); if (eightbytes) { output_pixel(&dest3, av_clip_uintp2(A1 , 30) >> 14); - output_pixel(&dest4, av_clip_uintp2(R_B + Y2, 30) >> 14); - output_pixel(&dest5, av_clip_uintp2( G + Y2, 30) >> 14); - output_pixel(&dest6, av_clip_uintp2(B_R + Y2, 30) >> 14); + output_pixel(&dest4, av_clip_uintp2(((R_B + Y2) >> 14) + (1<<15), 16)); + output_pixel(&dest5, av_clip_uintp2((( G + Y2) >> 14) + (1<<15), 16)); + output_pixel(&dest6, av_clip_uintp2(((B_R + Y2) >> 14) + (1<<15), 16)); output_pixel(&dest7, av_clip_uintp2(A2 , 30) >> 14); dest += 8; } else { - output_pixel(&dest3, av_clip_uintp2(R_B + Y2, 30) >> 14); - output_pixel(&dest4, av_clip_uintp2( G + Y2, 30) >> 14); - output_pixel(&dest5, av_clip_uintp2(B_R + Y2, 30) >> 14); + output_pixel(&dest3, av_clip_uintp2(((R_B + Y2) >> 14) + (1<<15), 16)); + output_pixel(&dest4, av_clip_uintp2((( G + Y2) >> 14) + (1<<15), 16)); + output_pixel(&dest5, av_clip_uintp2(((B_R + Y2) >> 14) + (1<<15), 16)); dest += 6; } } @@ -1067,7 +1067,7 @@ // 8bit: 27 -> 17bit, 16bit: 31 - 14 = 17bit Y -= c->yuv2rgb_y_offset; Y *= c->yuv2rgb_y_coeff; - Y += 1 << 13; // 21 + Y += (1 << 13) - (1<<29); // 21 // 8bit: 17 + 13bit = 30bit, 16bit: 17 + 13bit = 30bit R = V * c->yuv2rgb_v2r_coeff; @@ -1075,9 +1075,9 @@ B = U * c->yuv2rgb_u2b_coeff; // 8bit: 30 - 22 = 8bit, 16bit: 30bit - 14 = 16bit - output_pixel(&dest0, av_clip_uintp2(R_B + Y, 30) >> 14); - output_pixel(&dest1, av_clip_uintp2( G + Y, 30) >> 14); - output_pixel(&dest2, av_clip_uintp2(B_R + Y, 30) >> 14); + output_pixel(&dest0, av_clip_uintp2(((R_B + Y)>>14) + (1<<15), 16)); + output_pixel(&dest1, av_clip_uintp2((( G + Y)>>14) + (1<<15), 16)); + output_pixel(&dest2, av_clip_uintp2(((B_R + Y)>>14) + (1<<15), 16)); if (eightbytes) { output_pixel(&dest3, av_clip_uintp2(A, 30) >> 14); dest += 4; @@ -1115,7 +1115,7 @@ Y -= c->yuv2rgb_y_offset; Y *= c->yuv2rgb_y_coeff; - Y += 1 << 13; + Y += (1 << 13) - (1 << 29); R = V * c->yuv2rgb_v2r_coeff; G = V * c->yuv2rgb_v2g_coeff + U * c->yuv2rgb_u2g_coeff; @@ -1127,9 +1127,9 @@ A += 1 << 13; } - output_pixel(&dest0, av_clip_uintp2(R_B + Y, 30) >> 14);
View file
ffmpeg-3-3.4.12.tar.xz/tests/ref/seek/vsynth_lena-snow -> ffmpeg-3-3.4.13.tar.xz/tests/ref/seek/vsynth_lena-snow
Changed
@@ -2,45 +2,45 @@ ret: 0 st:-1 flags:0 ts:-1.000000 ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 5652 size: 3035 ret: 0 st:-1 flags:1 ts: 1.894167 -ret: 0 st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos: 39806 size: 3640 +ret: 0 st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos: 39690 size: 3640 ret: 0 st: 0 flags:0 ts: 0.800000 -ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 27442 size: 3494 +ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 27382 size: 3493 ret:-1 st: 0 flags:1 ts:-0.320000 ret:-1 st:-1 flags:0 ts: 2.576668 ret: 0 st:-1 flags:1 ts: 1.470835 -ret: 0 st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos: 39806 size: 3640 +ret: 0 st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos: 39690 size: 3640 ret: 0 st: 0 flags:0 ts: 0.360000 -ret: 0 st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 16134 size: 3244 +ret: 0 st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 16074 size: 3245 ret:-1 st: 0 flags:1 ts:-0.760000 ret:-1 st:-1 flags:0 ts: 2.153336 ret: 0 st:-1 flags:1 ts: 1.047503 -ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 27442 size: 3494 +ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 27382 size: 3493 ret: 0 st: 0 flags:0 ts:-0.040000 ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 5652 size: 3035 ret: 0 st: 0 flags:1 ts: 2.840000 -ret: 0 st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos: 52608 size: 3582 +ret: 0 st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos: 52538 size: 3582 ret: 0 st:-1 flags:0 ts: 1.730004 -ret: 0 st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos: 52608 size: 3582 +ret: 0 st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos: 52538 size: 3582 ret: 0 st:-1 flags:1 ts: 0.624171 -ret: 0 st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 16134 size: 3244 +ret: 0 st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 16074 size: 3245 ret: 0 st: 0 flags:0 ts:-0.480000 ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 5652 size: 3035 ret: 0 st: 0 flags:1 ts: 2.400000 -ret: 0 st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos: 52608 size: 3582 +ret: 0 st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos: 52538 size: 3582 ret: 0 st:-1 flags:0 ts: 1.306672 -ret: 0 st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos: 39806 size: 3640 +ret: 0 st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos: 39690 size: 3640 ret: 0 st:-1 flags:1 ts: 0.200839 ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 5652 size: 3035 ret: 0 st: 0 flags:0 ts:-0.920000 ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 5652 size: 3035 ret: 0 st: 0 flags:1 ts: 2.000000 -ret: 0 st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos: 52608 size: 3582 +ret: 0 st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos: 52538 size: 3582 ret: 0 st:-1 flags:0 ts: 0.883340 -ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 27442 size: 3494 +ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 27382 size: 3493 ret:-1 st:-1 flags:1 ts:-0.222493 ret:-1 st: 0 flags:0 ts: 2.680000 ret: 0 st: 0 flags:1 ts: 1.560000 -ret: 0 st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos: 39806 size: 3640 +ret: 0 st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos: 39690 size: 3640 ret: 0 st:-1 flags:0 ts: 0.460008 -ret: 0 st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 16134 size: 3244 +ret: 0 st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 16074 size: 3245 ret:-1 st:-1 flags:1 ts:-0.645825
View file
ffmpeg-3-3.4.12.tar.xz/tests/ref/vsynth/vsynth1-snow -> ffmpeg-3-3.4.13.tar.xz/tests/ref/vsynth/vsynth1-snow
Changed
@@ -1,4 +1,4 @@ -67c10f8d52fcd1103caa675a1408bf6e *tests/data/fate/vsynth1-snow.avi -136088 tests/data/fate/vsynth1-snow.avi -bfc0bcc4bc7b956933aa58acc587018d *tests/data/fate/vsynth1-snow.out.rawvideo -stddev: 22.77 PSNR: 20.98 MAXDIFF: 175 bytes: 7603200/ 7603200 +c4c77a6fb926b89fe6591c398f5cd4db *tests/data/fate/vsynth1-snow.avi +136160 tests/data/fate/vsynth1-snow.avi +dcf8b3f62d9c3ae2b2d0fbbacbf83e4e *tests/data/fate/vsynth1-snow.out.rawvideo +stddev: 22.74 PSNR: 20.99 MAXDIFF: 173 bytes: 7603200/ 7603200
View file
ffmpeg-3-3.4.12.tar.xz/tests/ref/vsynth/vsynth1-snow-hpel -> ffmpeg-3-3.4.13.tar.xz/tests/ref/vsynth/vsynth1-snow-hpel
Changed
@@ -1,4 +1,4 @@ -e62ae25d5040d04622a965bcb27fdb1e *tests/data/fate/vsynth1-snow-hpel.avi -138446 tests/data/fate/vsynth1-snow-hpel.avi -57c914cd150f8fc260b5989ce3e5884c *tests/data/fate/vsynth1-snow-hpel.out.rawvideo -stddev: 22.74 PSNR: 20.99 MAXDIFF: 172 bytes: 7603200/ 7603200 +5c9eb93646eb0e5570d37e9adc9625e4 *tests/data/fate/vsynth1-snow-hpel.avi +138580 tests/data/fate/vsynth1-snow-hpel.avi +3382bdde624d8bb4af206a5ac6614605 *tests/data/fate/vsynth1-snow-hpel.out.rawvideo +stddev: 22.71 PSNR: 21.00 MAXDIFF: 171 bytes: 7603200/ 7603200
View file
ffmpeg-3-3.4.12.tar.xz/tests/ref/vsynth/vsynth2-snow -> ffmpeg-3-3.4.13.tar.xz/tests/ref/vsynth/vsynth2-snow
Changed
@@ -1,4 +1,4 @@ -0a41e73ddd2f54936490655b46dad4a3 *tests/data/fate/vsynth2-snow.avi -72868 tests/data/fate/vsynth2-snow.avi -34a75f5cf8a71159f1a572d9cedcfef9 *tests/data/fate/vsynth2-snow.out.rawvideo -stddev: 13.73 PSNR: 25.37 MAXDIFF: 162 bytes: 7603200/ 7603200 +5e130d6a48b69348eee7f7c76c5869a3 *tests/data/fate/vsynth2-snow.avi +72942 tests/data/fate/vsynth2-snow.avi +9b6cee60e3ec0d1f312a8a25a7878fcc *tests/data/fate/vsynth2-snow.out.rawvideo +stddev: 13.39 PSNR: 25.59 MAXDIFF: 154 bytes: 7603200/ 7603200
View file
ffmpeg-3-3.4.12.tar.xz/tests/ref/vsynth/vsynth2-snow-hpel -> ffmpeg-3-3.4.13.tar.xz/tests/ref/vsynth/vsynth2-snow-hpel
Changed
@@ -1,4 +1,4 @@ -9bc409e4794ee50691a26c9c836d31a7 *tests/data/fate/vsynth2-snow-hpel.avi -79728 tests/data/fate/vsynth2-snow-hpel.avi -2cc64d8171175a1532fd7d3ed3011fbf *tests/data/fate/vsynth2-snow-hpel.out.rawvideo -stddev: 13.70 PSNR: 25.39 MAXDIFF: 162 bytes: 7603200/ 7603200 +8edcf0fd7f066972ff77d5b891ed6dde *tests/data/fate/vsynth2-snow-hpel.avi +79798 tests/data/fate/vsynth2-snow-hpel.avi +7e0f2a24feda6fb3e54b85511a28c45f *tests/data/fate/vsynth2-snow-hpel.out.rawvideo +stddev: 13.35 PSNR: 25.62 MAXDIFF: 157 bytes: 7603200/ 7603200
View file
ffmpeg-3-3.4.12.tar.xz/tests/ref/vsynth/vsynth_lena-snow -> ffmpeg-3-3.4.13.tar.xz/tests/ref/vsynth/vsynth_lena-snow
Changed
@@ -1,4 +1,4 @@ -8e96f337e8f4ccac7d72ef517e1d2208 *tests/data/fate/vsynth_lena-snow.avi -57680 tests/data/fate/vsynth_lena-snow.avi -90963cfd2359d460001c94d94256dc2b *tests/data/fate/vsynth_lena-snow.out.rawvideo -stddev: 10.48 PSNR: 27.72 MAXDIFF: 119 bytes: 7603200/ 7603200 +bf2cf9cacc1d98388798be98872049ee *tests/data/fate/vsynth_lena-snow.avi +57604 tests/data/fate/vsynth_lena-snow.avi +707a42eb20195913be55ba8dfadf72fb *tests/data/fate/vsynth_lena-snow.out.rawvideo +stddev: 10.37 PSNR: 27.81 MAXDIFF: 120 bytes: 7603200/ 7603200
View file
ffmpeg-3-3.4.12.tar.xz/tests/ref/vsynth/vsynth_lena-snow-hpel -> ffmpeg-3-3.4.13.tar.xz/tests/ref/vsynth/vsynth_lena-snow-hpel
Changed
@@ -1,4 +1,4 @@ -56b14cb1cbb637536233982e87f7ac3e *tests/data/fate/vsynth_lena-snow-hpel.avi -61764 tests/data/fate/vsynth_lena-snow-hpel.avi -244b0266127fa354d8485234b2c388e4 *tests/data/fate/vsynth_lena-snow-hpel.out.rawvideo -stddev: 10.45 PSNR: 27.74 MAXDIFF: 119 bytes: 7603200/ 7603200 +c6ec87a11415a99b1a781f9f5bacb722 *tests/data/fate/vsynth_lena-snow-hpel.avi +61814 tests/data/fate/vsynth_lena-snow-hpel.avi +40f330397b7acf6bdbb3ec6d908be451 *tests/data/fate/vsynth_lena-snow-hpel.out.rawvideo +stddev: 10.34 PSNR: 27.83 MAXDIFF: 118 bytes: 7603200/ 7603200
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
.