1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-07-13 08:00:49 +02:00
Commit Graph

77268 Commits

Author SHA1 Message Date
Matthieu Bouron
3d09065316 fate/api-jpeg-codec-param: rename to api-mjpeg-codec-param 2015-12-08 20:43:20 +01:00
Sebastian Dröge
9aebea0a4d avcodec/h264: Set CORRUPT flag on output frames that are not fully recovered
In the merge commit 78265fcfee this behaviour
was broken and the CORRUPT flag would never ever be set on a frame. However
the flag on the AVCodecContext was taken into account properly, including
AV_CODEC_FLAG2_SHOW_ALL.

The reason for this was that the recovered field of the next output picture
was always set to TRUE whenever one of the two AVCodecContext flags was set,
which made it impossible to detect later, before outputting, if the frame was
really recovered or not. Now don't set it to TRUE unless the frame is really
recovered and check the AVCodecContext flags right before outputting.

Signed-off-by: Sebastian Dröge <sebastian@centricular.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-08 18:09:27 +01:00
Clément Bœsch
503d8bf74a lavu/frame: use AVPALETTE_SIZE instead of 1024 2015-12-08 17:50:40 +01:00
Rostislav Pehlivanov
4c5136a48b aacenc_ltp: disable LTP with high lambda values
Makes no sense to enable for high bitrates, the coder does well enough.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-12-08 13:31:55 +00:00
Rostislav Pehlivanov
6e5dbe7267 aacenc_tns: use 4 bits for short windows
With only 7 coefficients per short window at most the extra precision
makes a difference and seems to reduce crackling and stddev even
further.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-12-08 13:31:50 +00:00
Hendrik Leppkes
8142daca44 Merge commit '6788baebb3680d447eabdadf3f5743c8470a4611'
* commit '6788baebb3680d447eabdadf3f5743c8470a4611':
  log: Use a do {} while (0) for dlog

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-08 10:06:23 +01:00
Hendrik Leppkes
c9dbff60c6 Merge commit '7d36474d1908d6267d4e11d4d9909f9604bd0c81'
* commit '7d36474d1908d6267d4e11d4d9909f9604bd0c81':
  imgconvert: Re-enable the deprecation warnings

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-08 10:03:51 +01:00
Hendrik Leppkes
68cb0dc8a3 Merge commit 'f7edcac040f73635fc1127489c9bb29ca8b43532'
* commit 'f7edcac040f73635fc1127489c9bb29ca8b43532':
  avpicture: Suppress warning from deprecated code

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-08 10:03:08 +01:00
Hendrik Leppkes
92186f2d10 Merge commit 'b805482b1fba1d82fbe47023a24c9261f18979b6'
* commit 'b805482b1fba1d82fbe47023a24c9261f18979b6':
  aac: Provide more information on the failure message

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-08 09:59:45 +01:00
Hendrik Leppkes
3f9c64831c Merge commit 'c5eb279e240af6b7228a624cd7193732f2d5adaa'
* commit 'c5eb279e240af6b7228a624cd7193732f2d5adaa':
  g723: Add missing header

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-08 09:50:59 +01:00
Hendrik Leppkes
8076711d4c Merge commit '1077d8c8455b27688de37cd04f8cc253fb37944d'
* commit '1077d8c8455b27688de37cd04f8cc253fb37944d':
  configure: Add -framework CoreVideo when building the avfoundation indev

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-08 09:50:45 +01:00
Hendrik Leppkes
d1b7cafae1 Merge commit 'bf12a81cc67d62dd45c58e29fa0e9177331cc151'
* commit 'bf12a81cc67d62dd45c58e29fa0e9177331cc151':
  configure: Replace `pr` since it is not provided by busybox

Not merged as requested by Timothy Gu.

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-08 09:45:24 +01:00
Hendrik Leppkes
6a6cfeb2e7 Merge commit '5f3a081b42b84404a40a52c80ef7a354cf048c56'
* commit '5f3a081b42b84404a40a52c80ef7a354cf048c56':
  avi: Spin out the logic to position to the next non-interleaved stream

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-08 09:41:43 +01:00
Matthieu Bouron
5aca33c2cf swscale/arm: add ff_nv{12,21}_to_{argb,rgba,abgr,bgra}_neon_16 2015-12-08 08:12:42 +01:00
Matthieu Bouron
102842d5fb fate/api-{jpeg,png}-codec-param: add missing codec dependencies 2015-12-08 08:12:35 +01:00
Matthieu Bouron
bd0a9f603d fate/api-codec-param: fix codec context leak 2015-12-08 08:12:35 +01:00
foo86
ff6dd5851b avcodec/libdcadec: honor -err_detect option
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-08 03:37:04 +01:00
foo86
de12aa51b6 avcodec/libdcadec: add some useful options
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-08 03:37:04 +01:00
foo86
704b278361 avcodec/libdcadec: implement logging callback
Don't print a warning when dcadec_context_filter() returns positive
warning code. Most relevant warnings are now output through the callback
function.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-08 03:37:04 +01:00
foo86
704654ea17 avcodec/libdcadec: fix request_channel_layout
Take request_channel_layout as a hint and don't force 2.0 downmix by
using both the 2CH and 6CH flags together.

Remove warnings about missing coefficients because they are no longer
relevant.

Honor AV_CH_LAYOUT_NATIVE and make it possible for native DTS channel
layout to be output.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-08 03:37:04 +01:00
Marton Balint
97795ba6c3 lavf/mxfdec: fix seeking before the first keyframe
Regression since 53f2ef2c4a.
Fixes ticket #5017.

Signed-off-by: Marton Balint <cus@passwd.hu>
2015-12-08 02:14:44 +01:00
Clément Bœsch
dd1d9b80c9 lavu/opencl: restore #if HAVE_THREADS
Fix regression since a8bb81a.

Spotted-by: RiCON
2015-12-07 20:28:30 +01:00
Timothy Gu
006d3e97fc cosmetics: Fix weird indentations 2015-12-07 10:43:43 -08:00
Clément Bœsch
a8bb81a05c lavc, lavu: use avutil/thread.h instead of redundant conditional includes 2015-12-07 17:25:51 +01:00
James Almer
a0050d9bf9 configure: fix vp9_d3d11va_hwaccel deps
Signed-off-by: James Almer <jamrial@gmail.com>
2015-12-07 13:12:21 -03:00
Clément Bœsch
5e0c47d41c avutil/threadmessage: fix build without HAVE_THREADS, new attempt 2015-12-07 16:39:57 +01:00
Hendrik Leppkes
312c83e057 avcodec/g723_1: fix license header 2015-12-07 16:10:51 +01:00
Hendrik Leppkes
357c62657a Merge commit 'cb49bb10ca7fcff2e382d9d989232b1a7f28e7da'
* commit 'cb49bb10ca7fcff2e382d9d989232b1a7f28e7da':
  build: Move -Wcast-qual to the extra_warnings

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-07 16:01:41 +01:00
Hendrik Leppkes
8cfa7beffc Merge commit '0fc61c6ab6912a2f0c40fdd3f3c591bc2a33efd4'
* commit '0fc61c6ab6912a2f0c40fdd3f3c591bc2a33efd4':
  avi: Validate the stream-id for DV as well

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-07 16:00:47 +01:00
Hendrik Leppkes
e92aa34d7b Merge commit 'd017ed878a45171f2f6c69fb9d76401c3c494110'
* commit 'd017ed878a45171f2f6c69fb9d76401c3c494110':
  avi: Use the correct data type

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-07 15:57:02 +01:00
Hendrik Leppkes
ee367fadf5 Merge commit '7f57ea143c55ce5732ef7e31e4b75ae6c307af13'
* commit '7f57ea143c55ce5732ef7e31e4b75ae6c307af13':
  vsrc_color: Drop unneeded variable

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-07 15:55:51 +01:00
Hendrik Leppkes
d1256272b1 Merge commit 'ca5f386e75c592ce25b8184516fd0d580ccb31bb'
* commit 'ca5f386e75c592ce25b8184516fd0d580ccb31bb':
  lavf: G.723.1 muxer

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-07 15:55:13 +01:00
Hendrik Leppkes
90c93fb129 Merge commit 'f023d57d355ff3b917f1aad9b03db5c293ec4244'
* commit 'f023d57d355ff3b917f1aad9b03db5c293ec4244':
  lavc: G.723.1 encoder

Split existing FFmpeg G.723.1 encoder into a new file.

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-07 15:50:45 +01:00
Hendrik Leppkes
6c9cc21bcc Merge commit '165cc6fb9defcd79fd71c08167f3e8df26b058ff'
* commit '165cc6fb9defcd79fd71c08167f3e8df26b058ff':
  g723_1: Move sharable functions to a separate file

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-07 15:26:41 +01:00
Hendrik Leppkes
9cf74191ed Merge commit 'aac996cc01042194bf621d845bbe684549b5882e'
* commit 'aac996cc01042194bf621d845bbe684549b5882e':
  g723_1: Rename files to better reflect their purpose

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-07 15:04:13 +01:00
Clément Bœsch
dc97ff8380 fate/api: add w32+os2 support for fate-api-threadmessage 2015-12-07 14:57:33 +01:00
Hendrik Leppkes
2730a2013d Merge commit 'b74b88f30da2389f333a31815d8326d5576d3331'
* commit 'b74b88f30da2389f333a31815d8326d5576d3331':
  g723_1: Handle values at the ends of the table in lsp2lpc()

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-07 14:58:38 +01:00
Hendrik Leppkes
0ecec7449c Merge commit 'a0fa6d06b848f26b16ba12f0a9a4a85b93ab8022'
* commit 'a0fa6d06b848f26b16ba12f0a9a4a85b93ab8022':
  matroska: Warn when metadata references a non-existent element

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-07 14:51:23 +01:00
Hendrik Leppkes
255f8966b2 Merge commit 'f7986239f4dbec91c743c4c5eb0a2339bd325bf6'
* commit 'f7986239f4dbec91c743c4c5eb0a2339bd325bf6':
  dvenc: Validate the frame size before copying it

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-07 14:45:47 +01:00
Clément Bœsch
b98305f0ab fate/api: fix fate-api-threadmessage dependency 2015-12-07 14:40:10 +01:00
Clément Bœsch
d4b1b33e69 avutil/threadmessage: fix build without HAVE_THREADS 2015-12-07 14:28:34 +01:00
Hendrik Leppkes
4a2058bf4e Merge commit '7139489c452ef8af6a745ec4e62056ee4ea4d6a8'
* commit '7139489c452ef8af6a745ec4e62056ee4ea4d6a8':
  pgssubdec: fix API compability layer

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-07 14:20:03 +01:00
Hendrik Leppkes
4e01566941 Merge commit 'b0e8651a2a84553d08fbb2f7cb9697bd64fb1b55'
* commit 'b0e8651a2a84553d08fbb2f7cb9697bd64fb1b55':
  doc: Amend the MSYS2 Documentation

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-07 14:18:41 +01:00
Hendrik Leppkes
14b5834756 Merge commit '4f979418c723652ad4e43115118c57a44bd46b52'
* commit '4f979418c723652ad4e43115118c57a44bd46b52':
  avfoundation: Simple capture

Not merged on request by Thilo Borgmann, original author of the
AVFoundation capture in FFmpeg.

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-07 14:16:36 +01:00
Paul B Mahol
b6d029c2ef doc/filters: add more compand examples
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-12-07 12:22:42 +01:00
Paul B Mahol
e6690ce02f avfilter/af_biquads: pass filter ctx to av_log calls
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-12-07 11:47:43 +01:00
Clément Bœsch
bd5c860fdb avutil/threadmessage: split the pthread condition in two
Fix a dead lock under certain conditions. Let's assume we have a queue of 1
message max, 2 senders, and 1 receiver.

Scenario (real record obtained with debug added):
    [...]
    SENDER #0: acquired lock
    SENDER #0: queue is full, wait
    SENDER #1: acquired lock
    SENDER #1: queue is full, wait
    RECEIVER: acquired lock
    RECEIVER: reading a msg from the queue
    RECEIVER: signal the cond
    RECEIVER: acquired lock
    RECEIVER: queue is empty, wait
    SENDER #0: writing a msg the queue
    SENDER #0: signal the cond
    SENDER #0: acquired lock
    SENDER #0: queue is full, wait
    SENDER #1: queue is full, wait

Translated:
 - initially the queue contains 1/1 message with 2 senders blocking on
   it, waiting to push another message.
 - Meanwhile the receiver is obtaining the lock, read the message,
   signal & release the lock. For some reason it is able to acquire the
   lock again before the signal wakes up one of the sender. Since it
   just emptied the queue, the reader waits for the queue to fill up
   again.
 - The signal finally reaches one of the sender, which writes a message
   and then signal the condition. Unfortunately, instead of waking up
   the reader, it actually wakes up the other worker (signal = notify
   the condition just for 1 waiter), who can't push another message in
   the queue because it's full.
 - Meanwhile, the receiver is still waiting. Deadlock.

This scenario can be triggered with for example:
    tests/api/api-threadmessage-test 1 2 100 100 1 1000 1000

One working solution is to make av_thread_message_queue_{send,recv}()
call pthread_cond_broadcast() instead of pthread_cond_signal() so both
senders and receivers are unlocked when work is done (be it reading or
writing).

This second solution replaces the condition with two: one to notify the
senders, and one to notify the receivers. This prevents senders from
notifying other senders instead of a reader, and the other way around.
It also avoid broadcasting to everyone like the first solution, and is,
as a result in theory more optimized.
2015-12-07 11:39:28 +01:00
Clément Bœsch
a26e4215b9 fate/api: test threadmessage 2015-12-07 11:39:28 +01:00
Clément Bœsch
f98abe0ee7 avutil/threadmessage: add av_thread_message_flush() 2015-12-07 11:39:28 +01:00
Simon Thelen
6596c6fca7 fate: add limited_input_seek tests
Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-07 10:39:17 +01:00