]> git.sesse.net Git - ffmpeg/log
ffmpeg
7 years agodoc/filters: extend midequalizer description
Paul B Mahol [Tue, 7 Feb 2017 09:09:18 +0000 (10:09 +0100)]
doc/filters: extend midequalizer description

Signed-off-by: Paul B Mahol <onemda@gmail.com>
7 years agoavformat/hlsenc: add hls_flag option to write segments to temporary file until complete
Aman Gupta [Tue, 7 Feb 2017 03:58:43 +0000 (11:58 +0800)]
avformat/hlsenc: add hls_flag option to write segments to temporary file until complete

Adds a `-hls_flags +temp_file` which will write segment data to
filename.tmp, and then rename to filename when the segment is complete.

This patch is similar in spirit to one used in Plex's ffmpeg fork, and
allows a transcoding webserver to ensure incomplete segment files are
never served up accidentally.

Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Reviewed-by: Bodecs Bela <bodecsb@vivanet.hu>
Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
7 years agoconfigure: use dashes instead of slashes in lib.exe invocation
Hendrik Leppkes [Mon, 6 Feb 2017 18:45:54 +0000 (19:45 +0100)]
configure: use dashes instead of slashes in lib.exe invocation

This avoids issues with wrong parameter translation by msys on some systems,
and the Windows SDK tools accept both forms equally.

7 years agoavcodec/movtextdec: Fix decode_styl() cleanup
Michael Niedermayer [Mon, 6 Feb 2017 10:17:10 +0000 (11:17 +0100)]
avcodec/movtextdec: Fix decode_styl() cleanup

Fixes: null pointer dereference
Fixes: 555/clusterfuzz-testcase-5986646595993600
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoavfilter/vf_midequalizer: Remove duplicate include
Michael Niedermayer [Mon, 6 Feb 2017 00:53:56 +0000 (01:53 +0100)]
avfilter/vf_midequalizer: Remove duplicate include

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agolavf/matroskadec: fix is_keyframe for early Blocks
Chris Cunningham [Fri, 3 Feb 2017 22:42:44 +0000 (14:42 -0800)]
lavf/matroskadec: fix is_keyframe for early Blocks

Blocks are marked as key frames whenever the "reference" field is
zero. This breaks for non-keyframe Blocks with a reference timestamp
of zero.

The likelihood of reference timestamp being zero is increased by a
longstanding bug in muxing that encodes reference timestamp as the
absolute time of the referenced frame (rather than relative to the
current Block timestamp, as described in MKV spec).

Now using INT64_MIN to denote "no reference".

Reported to chromium at http://crbug.com/497889 (contains sample)

7 years agoffmpeg: Remove redundant null check
Michael Niedermayer [Sun, 5 Feb 2017 23:00:56 +0000 (00:00 +0100)]
ffmpeg: Remove redundant null check

Fixes CID1396245

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoavcodec/pthread_frame: Check av_packet_ref() for failure
Michael Niedermayer [Sun, 5 Feb 2017 14:09:52 +0000 (15:09 +0100)]
avcodec/pthread_frame: Check av_packet_ref() for failure

Fixes CID1396242

7 years agoavfilter/af_pan: fix null pointer dereference on empty token
Marton Balint [Sun, 5 Feb 2017 01:25:04 +0000 (02:25 +0100)]
avfilter/af_pan: fix null pointer dereference on empty token

Fixes Coverity CID 1396254.

Signed-off-by: Marton Balint <cus@passwd.hu>
7 years agovf_scale_vaapi: Add missing return value checks
Mark Thompson [Mon, 9 Jan 2017 00:59:50 +0000 (00:59 +0000)]
vf_scale_vaapi: Add missing return value checks

Fixes CID 1374119.

7 years agoffmpeg_vaapi: Always set hwaccel_ctx, so it gets properly cleaned up on error
Mark Thompson [Sun, 22 Jan 2017 18:25:53 +0000 (18:25 +0000)]
ffmpeg_vaapi: Always set hwaccel_ctx, so it gets properly cleaned up on error

Fixes CID 1398954.

7 years agoRevert "avutil/hwcontext_vaapi: fix SEGV in vaTerminate when vaInitialize fails"
Mark Thompson [Sun, 5 Feb 2017 14:58:06 +0000 (14:58 +0000)]
Revert "avutil/hwcontext_vaapi: fix SEGV in vaTerminate when vaInitialize fails"

The original code is correctly following the API - vaTerminate() must
be called to free the resources of a VADisplay after it is created by
any of the vaGetDisplay*() calls; it is not necessary to have
successfully called vaInitialize() on it.  The segfaults which
prompted this change must therefore be bugs in libva or the driver it
loads.

This reverts commit 3606602f1137552ea54f2c259eb140c1e3c026d4.

7 years agoffmpeg_vaapi: Unreference global device before setting it
Mark Thompson [Sun, 22 Jan 2017 18:48:51 +0000 (18:48 +0000)]
ffmpeg_vaapi: Unreference global device before setting it

This currently leaks if multiple device options are specified on the
command line.

7 years agoavfilter/ebur128: fix relative threshold calculation for multiple contexts
Marton Balint [Wed, 25 Jan 2017 00:44:31 +0000 (01:44 +0100)]
avfilter/ebur128: fix relative threshold calculation for multiple contexts

This reworks the code a bit and also disallows NULL contexts.

Fixes Coverity CID 13962731396279.

Signed-off-by: Marton Balint <cus@passwd.hu>
7 years agoavfilter/ebur128: do not allow null ebur128 context in ff_ebur128_relative_threshold
Marton Balint [Wed, 25 Jan 2017 00:06:42 +0000 (01:06 +0100)]
avfilter/ebur128: do not allow null ebur128 context in ff_ebur128_relative_threshold

The user should supply a proper context.

Fixes Coverity CID 1396246.

Signed-off-by: Marton Balint <cus@passwd.hu>
7 years agodoc/muxers: remove confusing example for segment muxer option clocktime_wrap_duration
Marton Balint [Fri, 27 Jan 2017 00:56:30 +0000 (01:56 +0100)]
doc/muxers: remove confusing example for segment muxer option clocktime_wrap_duration

Detecting a leap second depends on a lot of things, segment time, segment
offset, system leap second implementation, the removed part is a huge
simplification which can be misleading, so it is best to remove it.

Signed-off-by: Marton Balint <cus@passwd.hu>
7 years agoavformat/segment: remove last_cut check when detecting a new segment
Marton Balint [Thu, 26 Jan 2017 02:04:57 +0000 (03:04 +0100)]
avformat/segment: remove last_cut check when detecting a new segment

Not starting a new segment if the elapsed microsecs since the start of the day
equals the the elapsed microsecs since the start of the day at the time of the
last cut seems plain wrong to me, Deti do you remember the original reason
behind this check?

Signed-off-by: Marton Balint <cus@passwd.hu>
7 years agoffplay: fix borderless mode on Windows
Marton Balint [Fri, 3 Feb 2017 00:31:30 +0000 (01:31 +0100)]
ffplay: fix borderless mode on Windows

Signed-off-by: Marton Balint <cus@passwd.hu>
7 years agoavfilter: add midequalizer filter
Paul B Mahol [Thu, 2 Feb 2017 12:10:37 +0000 (13:10 +0100)]
avfilter: add midequalizer filter

Signed-off-by: Paul B Mahol <onemda@gmail.com>
7 years agoavcodec/pngdec: Check trns more completely
Michael Niedermayer [Sat, 4 Feb 2017 11:24:14 +0000 (12:24 +0100)]
avcodec/pngdec: Check trns more completely

Fixes out of array access
Fixes: 546/clusterfuzz-testcase-4809433909559296
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoopus_rc: rename total_bits_used to total_bits and #define some constants
Rostislav Pehlivanov [Wed, 1 Feb 2017 03:13:04 +0000 (03:13 +0000)]
opus_rc: rename total_bits_used to total_bits and #define some constants

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
7 years agoconfigure: instruct MSVC 2015 to properly process UTF-8 string literals
Hendrik Leppkes [Fri, 3 Feb 2017 08:37:53 +0000 (09:37 +0100)]
configure: instruct MSVC 2015 to properly process UTF-8 string literals

Without the /UTF-8 switch, the MSVC compiler treats all files as in the
system codepage, instead of in UTF-8, which causes UTF-8 string literals
to be interpreted wrong.

This switch was only introduced in VS2015 Update 2, and any earlier
versions do not have an equivalent solution.

Fixes fate-sub-scc on MSVC 2015+

7 years agoconfigure: add nologo switch to invocation of lib.exe
Hendrik Leppkes [Fri, 3 Feb 2017 08:36:55 +0000 (09:36 +0100)]
configure: add nologo switch to invocation of lib.exe

This suppresses the startup banner, which is consistent with all other calls
to the Windows SDK binaries.

7 years agoavcodec/interplayvideo: Move parameter change check up
Michael Niedermayer [Sat, 4 Feb 2017 01:45:02 +0000 (02:45 +0100)]
avcodec/interplayvideo: Move parameter change check up

Fixes out of array read
Fixes: 544/clusterfuzz-testcase-5936536407244800.f8bd9b24_8ba77916_70c2c7be_3df6a2ea_96cd9f14
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoavcodec/flacdsp: Avoid undefined operations in non debug builds
Michael Niedermayer [Thu, 15 Dec 2016 00:32:18 +0000 (01:32 +0100)]
avcodec/flacdsp: Avoid undefined operations in non debug builds

This fixes ubsan warnings in non debug builds by using unsigned operations

in debug builds the correct signed operations are retained so that overflows
(which should not occur in valid files and may indicate problems in the DSP code
or decoder) can be detected.

Alternatively they can be changed to unsigned unconditionally, then its
not possible though to detect overflows easily if someone wants to test
the DSP code for overflows.

The 2nd alternative would be to leave the code as it is and accept that
there are undefined operations in the DSP code and that ubsan output is
full of them in some cases.

Similar changes would be needed in some other DSP routines

Suggested-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoavcodec/flacdec: Check for invalid vlcs
Michael Niedermayer [Fri, 9 Dec 2016 15:29:35 +0000 (16:29 +0100)]
avcodec/flacdec: Check for invalid vlcs

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agodoc: clarify option on looping infinitely in movie filter
Werner Robitza [Thu, 2 Feb 2017 18:39:24 +0000 (19:39 +0100)]
doc: clarify option on looping infinitely in movie filter

Clarify that setting loop=0 is required to make the stream loop infinitely, rather than saying that a value "less than 1" is needed.

Signed-off-by: Lou Logan <lou@lrcd.com>
7 years agoavfilter/vf_unsharp: Free out AVFrame on error
Michael Niedermayer [Fri, 3 Feb 2017 18:37:18 +0000 (19:37 +0100)]
avfilter/vf_unsharp: Free out AVFrame on error

Fixes memleak
Fixes part of CID1197065

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoavfilter/vf_perspective: Free out AVFrame on error
Michael Niedermayer [Fri, 3 Feb 2017 18:37:18 +0000 (19:37 +0100)]
avfilter/vf_perspective: Free out AVFrame on error

Fixes memleak
Fixes part of CID1197065

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoavfilter/vf_fieldhint: Free out AVFrame on error
Michael Niedermayer [Fri, 3 Feb 2017 18:37:18 +0000 (19:37 +0100)]
avfilter/vf_fieldhint: Free out AVFrame on error

Fixes memleak
Fixes part of CID1197065

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoavfilter/vf_deshake: Free out AVFrame on error
Michael Niedermayer [Fri, 3 Feb 2017 18:37:18 +0000 (19:37 +0100)]
avfilter/vf_deshake: Free out AVFrame on error

Fixes memleak
Fixes part of CID1197065

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoavfilter/vf_ciescope: Free out AVFrame on error
Michael Niedermayer [Fri, 3 Feb 2017 18:37:18 +0000 (19:37 +0100)]
avfilter/vf_ciescope: Free out AVFrame on error

Fixes memleak
Fixes part of CID1197065

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoavcodec/ivi: use init_get_bits8()
Paul B Mahol [Fri, 3 Feb 2017 19:36:23 +0000 (20:36 +0100)]
avcodec/ivi: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
7 years agoavcodec/metasound: use init_get_bits8()
Paul B Mahol [Fri, 3 Feb 2017 19:29:27 +0000 (20:29 +0100)]
avcodec/metasound: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
7 years agoavcodec/xsubdec: use init_get_bits8()
Paul B Mahol [Fri, 3 Feb 2017 19:25:53 +0000 (20:25 +0100)]
avcodec/xsubdec: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
7 years agoavcodec/mpc7: use init_get_bits8()
Paul B Mahol [Fri, 3 Feb 2017 19:16:30 +0000 (20:16 +0100)]
avcodec/mpc7: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
7 years agoavcodec/mpc7: return meaningful error values
Paul B Mahol [Fri, 3 Feb 2017 19:14:13 +0000 (20:14 +0100)]
avcodec/mpc7: return meaningful error values

Signed-off-by: Paul B Mahol <onemda@gmail.com>
7 years agoavcodec/mpc8: use init_get_bits8()
Paul B Mahol [Fri, 3 Feb 2017 18:57:13 +0000 (19:57 +0100)]
avcodec/mpc8: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
7 years agolavf/isom: Support DTS Express in mov.
Carl Eugen Hoyos [Fri, 3 Feb 2017 18:01:59 +0000 (19:01 +0100)]
lavf/isom: Support DTS Express in mov.

Fixes ticket #6124.

7 years agodoc: add a lexicon
Clément Bœsch [Mon, 30 Jan 2017 14:58:13 +0000 (15:58 +0100)]
doc: add a lexicon

7 years agoavcodec/ituh263dec: Implement U263s interpretation of H.263 B frames
Michael Niedermayer [Fri, 3 Feb 2017 01:50:01 +0000 (02:50 +0100)]
avcodec/ituh263dec: Implement U263s interpretation of H.263 B frames

Fixes Ticket1536

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoavutil/hwcontext_vaapi: fix SEGV in vaTerminate when vaInitialize fails
Aman Gupta [Thu, 2 Feb 2017 23:24:33 +0000 (15:24 -0800)]
avutil/hwcontext_vaapi: fix SEGV in vaTerminate when vaInitialize fails

Program terminated with signal SIGSEGV, Segmentation fault.
  #0  0x0000000000aff8a4 in vaTerminate ()
  #1  0x0000000000ae50ce in vaapi_device_free (ctx=<optimized out>) at libavutil/hwcontext_vaapi.c:882
  #2  0x0000000000ae1f9e in hwdevice_ctx_free (opaque=<optimized out>, data=<optimized out>) at libavutil/hwcontext.c:66
  #3  0x0000000000ad856f in buffer_replace (src=0x0, dst=0x7fffa26ef1b8) at libavutil/buffer.c:119
  #4  av_buffer_unref (buf=buf@entry=0x7fffa26ef1f8) at libavutil/buffer.c:129
  #5  0x0000000000ae299f in av_hwdevice_ctx_create (pdevice_ref=0x170ac50 <hw_device_ctx>, type=type@entry=AV_HWDEVICE_TYPE_VAAPI, device=<optimized out>,
      opts=opts@entry=0x0, flags=flags@entry=0) at libavutil/hwcontext.c:494
  #6  0x0000000000400968 in vaapi_device_init (device=<optimized out>) at ffmpeg_vaapi.c:223

Signed-off-by: Mark Thompson <sw@jkqxz.net>
7 years agoavcodec/utils: Fix memleak with subtitles and sidedata
Michael Niedermayer [Wed, 25 Jan 2017 11:56:52 +0000 (12:56 +0100)]
avcodec/utils: Fix memleak with subtitles and sidedata

Fixes: 454/fuzz-3-ffmpeg_SUBTITLE_AV_CODEC_ID_MOV_TEXT_fuzzer
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoavfilter/scale: refactor common code for scaling height/width expressions
Aman Gupta [Thu, 2 Feb 2017 00:30:18 +0000 (16:30 -0800)]
avfilter/scale: refactor common code for scaling height/width expressions

Implements support for height/width expressions in vf_scale_vaapi,
by refactoring common code into a new libavfilter/scale.c

Signed-off-by: Mark Thompson <sw@jkqxz.net>
7 years agox86/rv34dsp: add ff_rv34_idct_dc_add_sse2
James Almer [Thu, 2 Feb 2017 20:51:21 +0000 (17:51 -0300)]
x86/rv34dsp: add ff_rv34_idct_dc_add_sse2

Also disable ff_rv34_idct_dc_add_mmx on x86_64 as the presence of sse2
is guaranteed in such builds.

Signed-off-by: James Almer <jamrial@gmail.com>
7 years agox86/vp8dsp: add ff_vp8_idct_dc_add_sse2
James Almer [Thu, 2 Feb 2017 20:18:58 +0000 (17:18 -0300)]
x86/vp8dsp: add ff_vp8_idct_dc_add_sse2

Also disable ff_vp8_idct_dc_add_mmx on x86_64 as the presence of sse2
is guaranteed in such builds.

Signed-off-by: James Almer <jamrial@gmail.com>
7 years agolibavcodec/cinepakenc.c: comments cleanup (contents)
addr-see-the-website@aetey.se [Sun, 29 Jan 2017 15:40:27 +0000 (16:40 +0100)]
libavcodec/cinepakenc.c: comments cleanup (contents)

Change the encoding of the original developer name from ISO-8859-1 to UTF-8.
Remove the stale/completed TODO list.
Fix two small typos.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoavcodec/dca_lbr: Fix off by 1 error in freq check
Michael Niedermayer [Thu, 2 Feb 2017 14:23:31 +0000 (15:23 +0100)]
avcodec/dca_lbr: Fix off by 1 error in freq check

Fixes out of array read
Fixes: 510/clusterfuzz-testcase-5737865715646464
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoMerge commit '9064777dbb335ab4809ae09e3fdcc0245f925cdc'
Clément Bœsch [Thu, 2 Feb 2017 10:39:30 +0000 (11:39 +0100)]
Merge commit '9064777dbb335ab4809ae09e3fdcc0245f925cdc'

* commit '9064777dbb335ab4809ae09e3fdcc0245f925cdc':
  checkasm: add HEVC test for testing IDCT DC

Merged-by: Clément Bœsch <cboesch@gopro.com>
7 years agoMerge commit '7f549b8338ed3775fec4bf10421ff5744e5866dd'
Clément Bœsch [Thu, 2 Feb 2017 10:35:07 +0000 (11:35 +0100)]
Merge commit '7f549b8338ed3775fec4bf10421ff5744e5866dd'

* commit '7f549b8338ed3775fec4bf10421ff5744e5866dd':
  riff: don't overwrite bps from WAVEFORMATEX if EXTENSIBLE doesn't contain that data.

Only cosmetics, the change was already present.

Merged-by: Clément Bœsch <cboesch@gopro.com>
7 years agoMerge commit '6135c3b61e084be93c0876cecd06f4e764f961c0'
Clément Bœsch [Thu, 2 Feb 2017 10:29:53 +0000 (11:29 +0100)]
Merge commit '6135c3b61e084be93c0876cecd06f4e764f961c0'

* commit '6135c3b61e084be93c0876cecd06f4e764f961c0':
  Revert "avprobe: Zero the allocated avio buffer memory"

This commit is a noop, see 591cf8aa0ee9e09aac29861f4229616df7604172

Merged-by: Clément Bœsch <cboesch@gopro.com>
7 years agoMerge commit 'f637046d3134a331e4b5a7243ac3dfb92735b8a5'
Clément Bœsch [Thu, 2 Feb 2017 10:26:05 +0000 (11:26 +0100)]
Merge commit 'f637046d3134a331e4b5a7243ac3dfb92735b8a5'

* commit 'f637046d3134a331e4b5a7243ac3dfb92735b8a5':
  libavutil: Always use some GCC style attributes on clang

Merged-by: Clément Bœsch <cboesch@gopro.com>
7 years agoMerge commit '6f9e34baea4f6f484392e4e67f606a0835d07b73'
Clément Bœsch [Thu, 2 Feb 2017 10:22:04 +0000 (11:22 +0100)]
Merge commit '6f9e34baea4f6f484392e4e67f606a0835d07b73'

* commit '6f9e34baea4f6f484392e4e67f606a0835d07b73':
  arm: Check for support for the .fpu directive

Merged-by: Clément Bœsch <cboesch@gopro.com>
7 years agoMerge commit 'ed9b2a5178d7a7c5a95694da3a808af327f36aff'
Matthieu Bouron [Thu, 2 Feb 2017 11:05:21 +0000 (12:05 +0100)]
Merge commit 'ed9b2a5178d7a7c5a95694da3a808af327f36aff'

* commit 'ed9b2a5178d7a7c5a95694da3a808af327f36aff':
  mov: Rework the check for invalid indexes in stsc

This commit is a noop, see 3c058f570128dcfa3a68f0860e2be7f098e8d6e1.

The proposed fix breaks seeking in multiple_stsd.mp4 (ticket #3962) and
playback of wwwq_cut.mp4 (ticket #2991).

Merged-by: Matthieu Bouron <matthieu.bouron@gmail.com>
7 years agoffmpeg: Add a missing line break when requesting a sample.
Carl Eugen Hoyos [Thu, 2 Feb 2017 08:45:15 +0000 (09:45 +0100)]
ffmpeg: Add a missing line break when requesting a sample.

7 years agospeedhq: fix out-of-bounds write
Steinar H. Gunderson [Wed, 1 Feb 2017 16:19:18 +0000 (17:19 +0100)]
speedhq: fix out-of-bounds write

Certain alpha run lengths (for SHQ1/SHQ3/SHQ5) could be stored in
both long and short versions, and we would only accept the short version,
returning -1 (invalid code) for the others. This could cause an
out-of-bounds write on malicious input, as discovered by
Andreas Cadhalpun during fuzzing.

Fix by simply allowing both versions, leaving no invalid codes
in the alpha VLC.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
7 years agoswscale: add P016 input support
Philip Langdale [Sun, 20 Nov 2016 22:32:49 +0000 (14:32 -0800)]
swscale: add P016 input support

7 years agoffplay: allow borderless playback windows
Lucas Sandery [Wed, 1 Feb 2017 02:41:29 +0000 (13:11 +1030)]
ffplay: allow borderless playback windows

For a pure video tile effect, and enabling better integration of playback windows
into other programs. It would improve the looks in many situations and avoid ugly
hacks like this: http://stackoverflow.com/q/31465630/315024

Signed-off-by: Lucas Sandery <lucas-sandery@users.noreply.github.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
7 years agoavcodec/ituh263dec: Correct timestamp recovery for B frames
Michael Niedermayer [Wed, 1 Feb 2017 19:20:07 +0000 (20:20 +0100)]
avcodec/ituh263dec: Correct timestamp recovery for B frames

Improves u263_b-frames_5.avi

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoavcodec/wmalosslessdec: remove warning message as bug is fixed
Paul B Mahol [Wed, 1 Feb 2017 18:35:24 +0000 (19:35 +0100)]
avcodec/wmalosslessdec: remove warning message as bug is fixed

Signed-off-by: Paul B Mahol <onemda@gmail.com>
7 years agoavformat/msf: support codec 1, which is 16 bit pcm le
Paul B Mahol [Wed, 1 Feb 2017 18:21:01 +0000 (19:21 +0100)]
avformat/msf: support codec 1, which is 16 bit pcm le

Signed-off-by: Paul B Mahol <onemda@gmail.com>
7 years agoavcodec/atrac3: Add multichannel joint stereo ATRAC3
bnnm [Mon, 30 Jan 2017 14:44:21 +0000 (15:44 +0100)]
avcodec/atrac3: Add multichannel joint stereo ATRAC3

Multichannel joint stereo simply interleaves stereo pairs (6ch: 2ch + 2ch + 2ch), so each pair is decoded separatedly.

***

To test my changes, I converted examples to wav with ffmpeg.exe (old and new), and compared them to see they are byte-exact.

Regular 2ch files (JS and normal) were straightforward to test.

For multichannel, to check each JS pair is correctly decoded separatedly I did:
- manually demux 6ch.msf into 3 pairs and convert them (2ch_1.wav + 2ch_2.wav + 2ch_3.wav)
- convert the 6ch.msf file to wav (with my changes)
- manually demux the 6ch.wav into 3 pairs (6ch_d1.wav + 6ch_d2.wav + 6ch_d3.wav)
- compare each pair (ex. 2ch_3.wav vs 6ch_d3.wav): all pairs are byte-exact.

The new code just processes each JS pair separatedly, there are no algorithm changes.
It could be improved a bit but I'm not sure about typical styles.
I've only seen 6ch .MSF (probably the AT3 spec only supports 2ch audio).

Signed-off-by: bnnm <bananaman255@gmail.com>
7 years agoavcodec/h263: Remove disabled and wrong code from ff_h263_loop_filter()
Michael Niedermayer [Wed, 1 Feb 2017 16:44:49 +0000 (17:44 +0100)]
avcodec/h263: Remove disabled and wrong code from ff_h263_loop_filter()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoavcodec/ituh263dec: Use correct error codes in ff_h263_decode_mb()
Michael Niedermayer [Wed, 1 Feb 2017 16:42:34 +0000 (17:42 +0100)]
avcodec/ituh263dec: Use correct error codes in ff_h263_decode_mb()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoavcodec/ituh263dec: Correct indention
Michael Niedermayer [Wed, 1 Feb 2017 16:38:43 +0000 (17:38 +0100)]
avcodec/ituh263dec: Correct indention

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agolavc/error_resilience: Remove two unused variables.
Carl Eugen Hoyos [Wed, 1 Feb 2017 16:51:59 +0000 (17:51 +0100)]
lavc/error_resilience: Remove two unused variables.

7 years agoavcodec/ituh263dec: Implement B frame support with UMV
Michael Niedermayer [Wed, 1 Feb 2017 16:04:52 +0000 (17:04 +0100)]
avcodec/ituh263dec: Implement B frame support with UMV

Fixes: u263_b-frames_1.avi
Fixes part of Ticket1536

return -1 is used here as it is used in similar code in this function, I intend
to replace it by proper error codes in the whole function.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoMerge commit '90bc423212396e96a02edc1118982ab7f7766a63'
Clément Bœsch [Wed, 1 Feb 2017 14:35:56 +0000 (15:35 +0100)]
Merge commit '90bc423212396e96a02edc1118982ab7f7766a63'

* commit '90bc423212396e96a02edc1118982ab7f7766a63':
  mov: Wrap stsc index and count compare in a separate function

The mov_stsc_index_valid() function is replaced with a macro to prevent
signdness issues (index is not always signed, and count is always
unsigned currently).

The comparison is also adjusted to reduce the risk of overflows.

Merged-by: Clément Bœsch <u@pkh.me>
7 years agomov: add fate test for decryption with edit list
erankor [Mon, 30 Jan 2017 10:44:24 +0000 (12:44 +0200)]
mov: add fate test for decryption with edit list

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agomov: fix decryption with edit list
erankor [Thu, 12 Jan 2017 17:01:13 +0000 (19:01 +0200)]
mov: fix decryption with edit list

Retain the ranges of frame indexes when applying edit list in
mov_fix_index. The index ranges are then used to keep track of the frame
index of the current sample. In case of a discontinuity in frame indexes
due to edit, update the auxiliary info position accordingly.

Reviewed-by: Sasi Inguva <isasi@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoMerge commit '209ee680ce99035202520b900326a57f7fa0aceb'
Clément Bœsch [Wed, 1 Feb 2017 14:08:56 +0000 (15:08 +0100)]
Merge commit '209ee680ce99035202520b900326a57f7fa0aceb'

* commit '209ee680ce99035202520b900326a57f7fa0aceb':
  mov: Fix stsc_count comparison

This commit is a noop, see 3c058f570128dcfa3a68f0860e2be7f098e8d6e1

Merged-by: Clément Bœsch <u@pkh.me>
7 years agoffmpeg_cuvid: add 420 10-bit transcode support for hwaccel cuvid
sumit [Tue, 31 Jan 2017 15:30:50 +0000 (21:00 +0530)]
ffmpeg_cuvid: add 420 10-bit transcode support for hwaccel cuvid

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
7 years agoMerge commit 'a1f6a2dfdaf9beb42ca66e49d10bfaf5905a0128'
Clément Bœsch [Wed, 1 Feb 2017 13:47:14 +0000 (14:47 +0100)]
Merge commit 'a1f6a2dfdaf9beb42ca66e49d10bfaf5905a0128'

* commit 'a1f6a2dfdaf9beb42ca66e49d10bfaf5905a0128':
  ratecontrol: Reorder functions to avoid forward declarations

Merged, but this seems to break the clear separation of 1-pass vs
2-pass.

Merged-by: Clément Bœsch <u@pkh.me>
7 years agoMerge commit 'd639dcdae022130078c9c84b7b691c5e9694786c'
Clément Bœsch [Wed, 1 Feb 2017 13:21:36 +0000 (14:21 +0100)]
Merge commit 'd639dcdae022130078c9c84b7b691c5e9694786c'

* commit 'd639dcdae022130078c9c84b7b691c5e9694786c':
  ratecontrol: Move Xvid-related functions to the place they are actually used

Merged-by: Clément Bœsch <u@pkh.me>
7 years agoMerge commit '44972e227df0f7ad5aa9004d971fb54e9dc5c849'
Clément Bœsch [Wed, 1 Feb 2017 08:31:23 +0000 (09:31 +0100)]
Merge commit '44972e227df0f7ad5aa9004d971fb54e9dc5c849'

* commit '44972e227df0f7ad5aa9004d971fb54e9dc5c849':
  ratecontrol: Move mpegenc-only function where it is used

This commit is a noop. ff_write_pass1_stats() is used in snowenc as
well.

Merged-by: Clément Bœsch <u@pkh.me>
7 years agoboadec: remove log messages
Andreas Cadhalpun [Wed, 1 Feb 2017 01:57:40 +0000 (02:57 +0100)]
boadec: remove log messages

Requested-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
7 years agopgssubdec: reset rle_data_len/rle_remaining_len on allocation error
Andreas Cadhalpun [Tue, 31 Jan 2017 00:55:44 +0000 (01:55 +0100)]
pgssubdec: reset rle_data_len/rle_remaining_len on allocation error

The code relies on their validity and otherwise can try to access a NULL
object->rle pointer, causing segmentation faults.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
7 years agoRevert "Merge commit '0a39c9ac0bfd7345fe676b4e2707d9cec3cbb553'"
Michael Niedermayer [Tue, 31 Jan 2017 19:07:30 +0000 (20:07 +0100)]
Revert "Merge commit '0a39c9ac0bfd7345fe676b4e2707d9cec3cbb553'"

The assumption this is based on is wrong, the code is not always run with bitexact flags

This reverts commit a956164e1eb3418922cae949f02ad4035f013213, reversing
changes made to f6005907fdeb9e4de37568ed5c1a8e7b869126f6.

Approved-by: James Almer <jamrial@gmail.com>
7 years agoavcodec/mjpegdec: Check for for the bitstream end in mjpeg_decode_scan_progressive_ac()
Michael Niedermayer [Wed, 1 Feb 2017 00:32:37 +0000 (01:32 +0100)]
avcodec/mjpegdec: Check for for the bitstream end in mjpeg_decode_scan_progressive_ac()

Fixes timeout
Fixes: 496/clusterfuzz-testcase-5805083497332736
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agotools/target_dec_fuzzer: Only audio uses the return value to decode packets in pieces...
Michael Niedermayer [Tue, 31 Jan 2017 21:26:01 +0000 (22:26 +0100)]
tools/target_dec_fuzzer: Only audio uses the return value to decode packets in pieces, correct the code to match that

Fixes: Timeout
Fixes: 483/fuzz-0-ffmpeg_VIDEO_AV_CODEC_ID_H263I_fuzzer
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoMerge commit 'b4bb9593834460bbbe0e70823f2c503cb01ad052'
James Almer [Tue, 31 Jan 2017 18:50:56 +0000 (15:50 -0300)]
Merge commit 'b4bb9593834460bbbe0e70823f2c503cb01ad052'

* commit 'b4bb9593834460bbbe0e70823f2c503cb01ad052':
  ratecontrol: Drop commented out cruft

Merged-by: James Almer <jamrial@gmail.com>
7 years agoMerge commit 'd06dfaa5cbdd20acfd2364b16c0f4ae4ddb30a65'
James Almer [Tue, 31 Jan 2017 18:36:49 +0000 (15:36 -0300)]
Merge commit 'd06dfaa5cbdd20acfd2364b16c0f4ae4ddb30a65'

* commit 'd06dfaa5cbdd20acfd2364b16c0f4ae4ddb30a65':
  x86: huffyuv: Use EXTERNAL_SSSE3_FAST convenience macro where appropriate

Merged-by: James Almer <jamrial@gmail.com>
7 years agoMerge commit '8e9cd81d291b1010c625b2766058aadf4affb537'
James Almer [Tue, 31 Jan 2017 18:20:54 +0000 (15:20 -0300)]
Merge commit '8e9cd81d291b1010c625b2766058aadf4affb537'

* commit '8e9cd81d291b1010c625b2766058aadf4affb537':
  x86: cpu: Detect Conroe CPUs and their slow shuffle unit

Merged-by: James Almer <jamrial@gmail.com>
7 years agoMerge commit '7d7355aa92bb36ca0765c49a569a999bcb96f332'
James Almer [Tue, 31 Jan 2017 18:15:47 +0000 (15:15 -0300)]
Merge commit '7d7355aa92bb36ca0765c49a569a999bcb96f332'

* commit '7d7355aa92bb36ca0765c49a569a999bcb96f332':
  x86: Add SSSE3_SLOW CPU flag and related convenience macros

Merged-by: James Almer <jamrial@gmail.com>
7 years agoMerge commit '4efab89332ea39a77145e8b15562b981d9dbde68'
James Almer [Tue, 31 Jan 2017 18:08:19 +0000 (15:08 -0300)]
Merge commit '4efab89332ea39a77145e8b15562b981d9dbde68'

* commit '4efab89332ea39a77145e8b15562b981d9dbde68':
  x86: Use *_FAST/*_SLOW CPU feature detection macros where appropriate

Merged-by: James Almer <jamrial@gmail.com>
7 years agoMerge commit '0a39c9ac0bfd7345fe676b4e2707d9cec3cbb553'
James Almer [Tue, 31 Jan 2017 17:59:29 +0000 (14:59 -0300)]
Merge commit '0a39c9ac0bfd7345fe676b4e2707d9cec3cbb553'

* commit '0a39c9ac0bfd7345fe676b4e2707d9cec3cbb553':
  x86: hpeldsp: Don't check for bitexact flag when initializing VP3-specific code

Merged-by: James Almer <jamrial@gmail.com>
7 years agoMerge commit '95c1df929b92d81454656c222a35ec5f7db576b4'
James Almer [Tue, 31 Jan 2017 17:56:11 +0000 (14:56 -0300)]
Merge commit '95c1df929b92d81454656c222a35ec5f7db576b4'

* commit '95c1df929b92d81454656c222a35ec5f7db576b4':
  x86: hpeldsp: Drop unused function parameters

Merged-by: James Almer <jamrial@gmail.com>
7 years agoMerge commit 'c3e83ad3b7d75f3597f47ada2616ba4479665009'
James Almer [Tue, 31 Jan 2017 17:53:27 +0000 (14:53 -0300)]
Merge commit 'c3e83ad3b7d75f3597f47ada2616ba4479665009'

* commit 'c3e83ad3b7d75f3597f47ada2616ba4479665009':
  x86: hpeldsp: Use EXTERNAL_SSE2_FAST where appropriate

Merged-by: James Almer <jamrial@gmail.com>
7 years agoMerge commit '1dfc3cf89d0eb026af28be46294b85d79499ffb5'
James Almer [Tue, 31 Jan 2017 17:49:29 +0000 (14:49 -0300)]
Merge commit '1dfc3cf89d0eb026af28be46294b85d79499ffb5'

* commit '1dfc3cf89d0eb026af28be46294b85d79499ffb5':
  x86: hpeldsp: Split off VP3-specific bits into a separate file

Merged-by: James Almer <jamrial@gmail.com>
7 years agoMAINTAINERS: Add myself for boadec.c
Michael Niedermayer [Mon, 30 Jan 2017 00:45:30 +0000 (01:45 +0100)]
MAINTAINERS: Add myself for boadec.c

It seems ive written this thing though i cannot really remember

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years agoMerge commit '9833a406d3d743d238e4cbee08ffcaa12e067dd2'
Clément Bœsch [Tue, 31 Jan 2017 16:35:41 +0000 (17:35 +0100)]
Merge commit '9833a406d3d743d238e4cbee08ffcaa12e067dd2'

* commit '9833a406d3d743d238e4cbee08ffcaa12e067dd2':
  examples: Properly free AVCodecContext

Merged-by: Clément Bœsch <cboesch@gopro.com>
7 years agoMerge commit '0e0538aefc75958ded49f5d075c99a81cf6b2bbb'
Clément Bœsch [Tue, 31 Jan 2017 16:32:03 +0000 (17:32 +0100)]
Merge commit '0e0538aefc75958ded49f5d075c99a81cf6b2bbb'

* commit '0e0538aefc75958ded49f5d075c99a81cf6b2bbb':
  avprobe: Zero the allocated avio buffer memory

This commit is a noop, no such thing exists in ffprobe.

Merged-by: Clément Bœsch <cboesch@gopro.com>
7 years agoMerge commit '5d0f85f1b2469b60d0838330aabe5353fdd9ef1d'
Clément Bœsch [Tue, 31 Jan 2017 16:27:46 +0000 (17:27 +0100)]
Merge commit '5d0f85f1b2469b60d0838330aabe5353fdd9ef1d'

* commit '5d0f85f1b2469b60d0838330aabe5353fdd9ef1d':
  libdc1394: Fill in packet data directly

Merged-by: Clément Bœsch <cboesch@gopro.com>
7 years agoMerge commit 'e344e65109f1a75ca82aff4cecec44e79197753c'
Clément Bœsch [Tue, 31 Jan 2017 16:26:26 +0000 (17:26 +0100)]
Merge commit 'e344e65109f1a75ca82aff4cecec44e79197753c'

* commit 'e344e65109f1a75ca82aff4cecec44e79197753c':
  h264dec: do not call finish_setup() if we have not started a frame

This commit is a noop, see bdbbb8f11edbf10add874508c5125c174d8939be

Merged-by: Clément Bœsch <cboesch@gopro.com>
7 years agoMerge commit '76f7e70aa04fc5dbef5242b11cbf8fe4499f61d4'
Clément Bœsch [Tue, 31 Jan 2017 16:17:21 +0000 (17:17 +0100)]
Merge commit '76f7e70aa04fc5dbef5242b11cbf8fe4499f61d4'

* commit '76f7e70aa04fc5dbef5242b11cbf8fe4499f61d4':
  h264dec: handle zero-sized NAL units in get_last_needed_nal()

See 641dccc2aa5e0bf6b3c06998f9a7f24a5cf725e7

Merged-by: Clément Bœsch <cboesch@gopro.com>
7 years agoMerge commit '1f7b4f9abc6bae94e576e710b8d10117ca3c8238'
Clément Bœsch [Tue, 31 Jan 2017 16:11:24 +0000 (17:11 +0100)]
Merge commit '1f7b4f9abc6bae94e576e710b8d10117ca3c8238'

* commit '1f7b4f9abc6bae94e576e710b8d10117ca3c8238':
  h264dec: make sure not to call finish_setup() more than once per frame

This commit is a noop, see bdbbb8f11edbf10add874508c5125c174d8939be

Merged-by: Clément Bœsch <cboesch@gopro.com>
7 years agoMerge commit 'da917fcf5183ed249ad1285b8edd330f421376c4'
Clément Bœsch [Tue, 31 Jan 2017 16:06:49 +0000 (17:06 +0100)]
Merge commit 'da917fcf5183ed249ad1285b8edd330f421376c4'

* commit 'da917fcf5183ed249ad1285b8edd330f421376c4':
  avconv_dxva2: add a profile check for hevc

This commit is a noop, see a655bc834479024ff4d60d0b8ecca290e73eb96c

Merged-by: Clément Bœsch <cboesch@gopro.com>
7 years agolavc/hevc: remove a few random spaces to reduce diff with libav
Clément Bœsch [Tue, 31 Jan 2017 16:02:24 +0000 (17:02 +0100)]
lavc/hevc: remove a few random spaces to reduce diff with libav

7 years agoMerge commit '1ecb63cd1c1a4ddc5efed4abbc3158b969d8c5e4'
Clément Bœsch [Tue, 31 Jan 2017 15:57:18 +0000 (16:57 +0100)]
Merge commit '1ecb63cd1c1a4ddc5efed4abbc3158b969d8c5e4'

* commit '1ecb63cd1c1a4ddc5efed4abbc3158b969d8c5e4':
  hevc: set profile based on the profile compatibility flags if needed

This commit is a noop, see f85cc3bf12236e974403667610b39b802b8651d6

Merged-by: Clément Bœsch <cboesch@gopro.com>
7 years agoMerge commit 'fca3c3b61952aacc45e9ca54d86a762946c21942'
Clément Bœsch [Tue, 31 Jan 2017 15:50:21 +0000 (16:50 +0100)]
Merge commit 'fca3c3b61952aacc45e9ca54d86a762946c21942'

* commit 'fca3c3b61952aacc45e9ca54d86a762946c21942':
  hevc: Add AVX2 DC IDCT

Mostly noop as we already have that code.

In the ASM, code is merged with the exception of SECTION which is kept
uppercase for consistency with the rest of the codebase.

Still in the ASM, the prototype comment is fixed to honor the '_' added
from the original commit.

idct_dc_proto() is dropped as it's not used anymore here.

Merged-by: Clément Bœsch <cboesch@gopro.com>