ffmpeg.git
5 years agolavu: add LOCAL_ALIGNED_32
James Almer [Thu, 24 Apr 2014 02:53:36 +0000 (23:53 -0300)]
lavu: add LOCAL_ALIGNED_32

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavutil/opencl: fix a segmentfault in libavutil/opencl.c
Y.C. Liu [Tue, 22 Apr 2014 14:24:22 +0000 (22:24 +0800)]
avutil/opencl: fix a segmentfault in libavutil/opencl.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoconfigure: allow overriding ranlib
Michael Niedermayer [Tue, 22 Apr 2014 19:54:08 +0000 (21:54 +0200)]
configure: allow overriding ranlib

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agovc-1: Optimise parser (with special attention to ARM)
Ben Avison [Wed, 23 Apr 2014 00:41:04 +0000 (01:41 +0100)]
vc-1: Optimise parser (with special attention to ARM)

The previous implementation of the parser made four passes over each input
buffer (reduced to two if the container format already guaranteed the input
buffer corresponded to frames, such as with MKV). But these buffers are
often 200K in size, certainly enough to flush the data out of L1 cache, and
for many CPUs, all the way out to main memory. The passes were:

1) locate frame boundaries (not needed for MKV etc)
2) copy the data into a contiguous block (not needed for MKV etc)
3) locate the start codes within each frame
4) unescape the data between start codes

After this, the unescaped data was parsed to extract certain header fields,
but because the unescape operation was so large, this was usually also
effectively operating on uncached memory. Most of the unescaped data was
simply thrown away and never processed further. Only step 2 - because it
used memcpy - was using prefetch, making things even worse.

This patch reorganises these steps so that, aside from the copying, the
operations are performed in parallel, maximising cache utilisation. No more
than the worst-case number of bytes needed for header parsing is unescaped.
Most of the data is, in practice, only read in order to search for a start
code, for which optimised implementations already existed in the H264 codec
(notably the ARM version uses prefetch, so we end up doing both remaining
passes at maximum speed). For MKV files, we know when we've found the last
start code of interest in a given frame, so we are able to avoid doing even
that one remaining pass for most of the buffer.

In some use-cases (such as the Raspberry Pi) video decode is handled by the
GPU, but the entire elementary stream is still fed through the parser to
pick out certain elements of the header which are necessary to manage the
decode process. As you might expect, in these cases, the performance of the
parser is significant.

To measure parser performance, I used the same VC-1 elementary stream in
either an MPEG-2 transport stream or a MKV file, and fed it through ffmpeg
with -c:v copy -c:a copy -f null. These are the gperftools counts for
those streams, both filtered to only include vc1_parse() and its callees,
and unfiltered (to include the whole binary). Lower numbers are better:

                Before          After
File  Filtered  Mean   StdDev   Mean   StdDev  Confidence  Change
M2TS  No        861.7  8.2      650.5  8.1     100.0%      +32.5%
MKV   No        868.9  7.4      731.7  9.0     100.0%      +18.8%
M2TS  Yes       250.0  11.2     27.2   3.4     100.0%      +817.9%
MKV   Yes       149.0  12.8     1.7    0.8     100.0%      +8526.3%

Yes, that last case shows vc1_parse() running 86 times faster! The M2TS
case does show a larger absolute improvement though, since it was worse
to begin with.

This patch has been tested with the FATE suite (albeit on x86 for speed).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agovc-1: Add platform-specific start code search routine to VC1DSPContext.
Ben Avison [Wed, 16 Apr 2014 00:51:32 +0000 (01:51 +0100)]
vc-1: Add platform-specific start code search routine to VC1DSPContext.

Initialise VC1DSPContext for parser as well as for decoder.
Note, the VC-1 code doesn't actually use the function pointer yet.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoh264: Move search code search functions into separate source files.
Ben Avison [Wed, 16 Apr 2014 00:51:31 +0000 (01:51 +0100)]
h264: Move search code search functions into separate source files.

This permits re-use with parsers for codecs which use similar start codes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge remote-tracking branch 'cehoyos/master'
Michael Niedermayer [Thu, 24 Apr 2014 23:56:15 +0000 (01:56 +0200)]
Merge remote-tracking branch 'cehoyos/master'

* cehoyos/master:
  Enable muxing ac-3 in caf.
  Use correct msvc type specifiers for ptrdiff_t and size_t.
  Fix vf_eq.c and vf_eq2.c compilation with !HAVE_6REGS.
  Fix libpostproc compilation with !HAVE_6REGS.
  Never write 0 as maximum bitrate for asf files.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '8de77b665d2a2f1cd560d2183fd4664298b30715'
Michael Niedermayer [Thu, 24 Apr 2014 23:33:41 +0000 (01:33 +0200)]
Merge commit '8de77b665d2a2f1cd560d2183fd4664298b30715'

* commit '8de77b665d2a2f1cd560d2183fd4664298b30715':
  fate: Add fic-in-avi test

Conflicts:
tests/ref/fate/fic-avi

See: d66de5006bbcfc8dd875b9385ec3552d1f9fcd6b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'a24a252709dd38f12aa4929ce4981f87091a5113'
Michael Niedermayer [Thu, 24 Apr 2014 23:18:55 +0000 (01:18 +0200)]
Merge commit 'a24a252709dd38f12aa4929ce4981f87091a5113'

* commit 'a24a252709dd38f12aa4929ce4981f87091a5113':
  aarch64: NEON optimized FIR audio resampling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'cae8df78759c2e69257f7fe58842f34c0d98a7ec'
Michael Niedermayer [Thu, 24 Apr 2014 23:03:28 +0000 (01:03 +0200)]
Merge commit 'cae8df78759c2e69257f7fe58842f34c0d98a7ec'

* commit 'cae8df78759c2e69257f7fe58842f34c0d98a7ec':
  lavr: define ResampleContext in resample.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'a88e1d1c598e641eecd5d43730211d91c82787c6'
Michael Niedermayer [Thu, 24 Apr 2014 22:55:00 +0000 (00:55 +0200)]
Merge commit 'a88e1d1c598e641eecd5d43730211d91c82787c6'

* commit 'a88e1d1c598e641eecd5d43730211d91c82787c6':
  lavu: add CHK_OFFS as AV_CHECK_OFFSET to check struct member offsets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agox86/mpegaudiodsp: define apply_window_mp3 as SSE
James Almer [Thu, 24 Apr 2014 20:32:04 +0000 (17:32 -0300)]
x86/mpegaudiodsp: define apply_window_mp3 as SSE

None of the handwritten asm in this function seems to be SSE2

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agofate: Add fic-in-avi test
Derek Buitenhuis [Wed, 23 Apr 2014 16:15:13 +0000 (12:15 -0400)]
fate: Add fic-in-avi test

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agofate: Add fic-in-avi test
Derek Buitenhuis [Wed, 23 Apr 2014 16:15:13 +0000 (12:15 -0400)]
fate: Add fic-in-avi test

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agoMerge commit '152b797cd687e96a582a1cb908dddf3d330d7637'
Michael Niedermayer [Thu, 24 Apr 2014 19:49:02 +0000 (21:49 +0200)]
Merge commit '152b797cd687e96a582a1cb908dddf3d330d7637'

* commit '152b797cd687e96a582a1cb908dddf3d330d7637':
  flv: Do not mangle dts values for negative cts

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '5d983fdbca5570a1545a892583a372cfb3fffe92'
Michael Niedermayer [Thu, 24 Apr 2014 19:34:30 +0000 (21:34 +0200)]
Merge commit '5d983fdbca5570a1545a892583a372cfb3fffe92'

* commit '5d983fdbca5570a1545a892583a372cfb3fffe92':
  flv: Warn only once

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '374fdc8c071dcd96422378b0a1a0d453336d8a01'
Michael Niedermayer [Thu, 24 Apr 2014 19:27:09 +0000 (21:27 +0200)]
Merge commit '374fdc8c071dcd96422378b0a1a0d453336d8a01'

* commit '374fdc8c071dcd96422378b0a1a0d453336d8a01':
  flv: Improve log messages

Conflicts:
libavformat/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoaarch64: NEON optimized FIR audio resampling
Janne Grunau [Mon, 21 Apr 2014 14:13:28 +0000 (16:13 +0200)]
aarch64: NEON optimized FIR audio resampling

Optimized for the default filter length 16.

30% faster opus silk decoding.

5 years agolavr: define ResampleContext in resample.h
Janne Grunau [Mon, 21 Apr 2014 14:12:21 +0000 (16:12 +0200)]
lavr: define ResampleContext in resample.h

Required for arch optimized resampling.

5 years agolavu: add CHK_OFFS as AV_CHECK_OFFSET to check struct member offsets
Janne Grunau [Wed, 23 Apr 2014 10:19:59 +0000 (12:19 +0200)]
lavu: add CHK_OFFS as AV_CHECK_OFFSET to check struct member offsets

5 years agoEnable muxing ac-3 in caf.
Carl Eugen Hoyos [Thu, 24 Apr 2014 16:02:20 +0000 (18:02 +0200)]
Enable muxing ac-3 in caf.

The files play fine with QuickTime.

5 years agoUse correct msvc type specifiers for ptrdiff_t and size_t.
Carl Eugen Hoyos [Thu, 24 Apr 2014 16:01:30 +0000 (18:01 +0200)]
Use correct msvc type specifiers for ptrdiff_t and size_t.

The Windows runtime aborts if it finds %t or %z.
Fixes ticket #3472.

Reviewed-by: Ronald Bultje
5 years agoFix vf_eq.c and vf_eq2.c compilation with !HAVE_6REGS.
Carl Eugen Hoyos [Thu, 24 Apr 2014 15:50:27 +0000 (17:50 +0200)]
Fix vf_eq.c and vf_eq2.c compilation with !HAVE_6REGS.

5 years agoFix libpostproc compilation with !HAVE_6REGS.
Carl Eugen Hoyos [Thu, 24 Apr 2014 15:50:02 +0000 (17:50 +0200)]
Fix libpostproc compilation with !HAVE_6REGS.

5 years agoNever write 0 as maximum bitrate for asf files.
Carl Eugen Hoyos [Thu, 24 Apr 2014 15:47:49 +0000 (17:47 +0200)]
Never write 0 as maximum bitrate for asf files.

WMP refuses to play such streams.

5 years agoavdevice/qtkit: fix include
Michael Niedermayer [Thu, 24 Apr 2014 03:12:07 +0000 (05:12 +0200)]
avdevice/qtkit: fix include

Fixes: Ticket 3588

Found-by: jeremyhu
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoconfigure: Fix ld flags when rpath is enabled.
YuDenzel [Wed, 23 Apr 2014 05:06:37 +0000 (13:06 +0800)]
configure: Fix ld flags when rpath is enabled.

Provide correct rpath flags to ld when --enable-rpath is provided.

5 years agoswresample: fix AV_CH_LAYOUT_STEREO_DOWNMIX input
Michael Niedermayer [Wed, 23 Apr 2014 23:25:46 +0000 (01:25 +0200)]
swresample: fix AV_CH_LAYOUT_STEREO_DOWNMIX input

Fixes Ticket 3542

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '7cade8ea2bb19e78dae42b29720535a70fb2ae84'
Michael Niedermayer [Wed, 23 Apr 2014 21:03:17 +0000 (23:03 +0200)]
Merge commit '7cade8ea2bb19e78dae42b29720535a70fb2ae84'

* commit '7cade8ea2bb19e78dae42b29720535a70fb2ae84':
  on2avc: change a comment at #endif to match actual define

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/fic: avoid 2 additions per idct row
Michael Niedermayer [Wed, 23 Apr 2014 19:06:50 +0000 (21:06 +0200)]
avcodec/fic: avoid 2 additions per idct row

before:
5225 decicycles in IDCT, 32756 runs, 12 skips

after:
5057 decicycles in IDCT, 32765 runs, 3 skips

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agofate/libswresample: use linear interpolation on both aresample filters
Michael Niedermayer [Wed, 23 Apr 2014 20:00:55 +0000 (22:00 +0200)]
fate/libswresample: use linear interpolation on both aresample filters

This also tests LINEAR_CORE_FLT_SSE

Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/h263dec: Fix h263 probe
Michael Niedermayer [Wed, 23 Apr 2014 19:47:48 +0000 (21:47 +0200)]
avformat/h263dec: Fix h263 probe

The code was missing 1 bit in the src format

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoflv: Do not mangle dts values for negative cts
Luca Barbato [Wed, 23 Apr 2014 19:20:17 +0000 (21:20 +0200)]
flv: Do not mangle dts values for negative cts

Some applications really mean to send negative pts.

5 years agoflv: Warn only once
Luca Barbato [Wed, 23 Apr 2014 19:19:27 +0000 (21:19 +0200)]
flv: Warn only once

No point in sending the message multiple time.

5 years agoavfilter/avcodec: Use av_mallocz_array()
Michael Niedermayer [Wed, 23 Apr 2014 19:13:53 +0000 (21:13 +0200)]
avfilter/avcodec: Use av_mallocz_array()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavdevice/jack_audio: use av_malloc_array()
Michael Niedermayer [Wed, 23 Apr 2014 19:13:31 +0000 (21:13 +0200)]
avdevice/jack_audio: use av_malloc_array()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoflv: Improve log messages
Luca Barbato [Wed, 23 Apr 2014 19:04:20 +0000 (21:04 +0200)]
flv: Improve log messages

Messages should start with a capital letter and possibly end with a "."
if they are statements.

5 years agoon2avc: change a comment at #endif to match actual define
Kostya Shishkov [Wed, 23 Apr 2014 18:02:37 +0000 (20:02 +0200)]
on2avc: change a comment at #endif to match actual define

5 years agoMerge commit 'e2834567d73bd1e46478ba67ac133cb8ef5f50fd'
Michael Niedermayer [Wed, 23 Apr 2014 18:47:13 +0000 (20:47 +0200)]
Merge commit 'e2834567d73bd1e46478ba67ac133cb8ef5f50fd'

* commit 'e2834567d73bd1e46478ba67ac133cb8ef5f50fd':
  On2 AVC decoder

Conflicts:
Changelog
configure
libavcodec/avcodec.h
libavcodec/codec_desc.c
libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'd7eb8f903338048c0b222d92357d67f5d3b54295'
Michael Niedermayer [Wed, 23 Apr 2014 18:38:14 +0000 (20:38 +0200)]
Merge commit 'd7eb8f903338048c0b222d92357d67f5d3b54295'

* commit 'd7eb8f903338048c0b222d92357d67f5d3b54295':
  fic: Make warning message more accurate
  fic: Remove redundant clips
  fic: Simplify alpha blending

See: 14da7f9eb7d74524ef29ba6b7fb478720a00137f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoOn2 AVC decoder
Kostya Shishkov [Sun, 9 Jun 2013 18:03:33 +0000 (20:03 +0200)]
On2 AVC decoder

5 years agofic: Support rendering cursors
Derek Buitenhuis [Sat, 19 Apr 2014 22:46:52 +0000 (18:46 -0400)]
fic: Support rendering cursors

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agofic: Make warning message more accurate
Derek Buitenhuis [Wed, 23 Apr 2014 16:53:00 +0000 (17:53 +0100)]
fic: Make warning message more accurate

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agofic: Remove redundant clips
Derek Buitenhuis [Wed, 23 Apr 2014 16:18:36 +0000 (12:18 -0400)]
fic: Remove redundant clips

The equations can't overflow or underflow anyway.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agoavcodec/jpeg2000dwt: use av_malloc_array()
Michael Niedermayer [Wed, 23 Apr 2014 13:52:45 +0000 (15:52 +0200)]
avcodec/jpeg2000dwt: use av_malloc_array()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/motionpixels: use av_mallocz_array()
Michael Niedermayer [Wed, 23 Apr 2014 13:51:56 +0000 (15:51 +0200)]
avcodec/motionpixels: use av_mallocz_array()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/snow_dwt: use av_malloc(z)_array()
Michael Niedermayer [Wed, 23 Apr 2014 13:51:21 +0000 (15:51 +0200)]
avcodec/snow_dwt: use av_malloc(z)_array()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/rtmppkt: Fix random crash
kyh96403 [Wed, 16 Apr 2014 01:01:34 +0000 (10:01 +0900)]
avformat/rtmppkt: Fix random crash

Fixes Ticket3564

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoffprobe: fix scaling of vali in value_string() in case -prefix is selected
Stefano Sabatini [Tue, 22 Apr 2014 11:01:14 +0000 (13:01 +0200)]
ffprobe: fix scaling of vali in value_string() in case -prefix is selected

Fix trac ticket #3523.

5 years agoexamples: rename avcodec.c to decoding_encoding.c
Stefano Sabatini [Tue, 1 Apr 2014 09:12:51 +0000 (11:12 +0200)]
examples: rename avcodec.c to decoding_encoding.c

Restore the old name, which was more meaningful and consistent with the
names of the other examples.

5 years agoavformat/mux: Check for and remove invalid packet durations
Michael Niedermayer [Wed, 23 Apr 2014 04:04:50 +0000 (06:04 +0200)]
avformat/mux: Check for and remove invalid packet durations

Fixes assertion failure
Fixes Ticket3575

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/flvdec: also include file position in debug output
Michael Niedermayer [Wed, 23 Apr 2014 00:21:27 +0000 (02:21 +0200)]
avformat/flvdec: also include file position in debug output

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavutil/avutil.h: remove duplicate rational.h include
Michael Niedermayer [Tue, 22 Apr 2014 22:49:34 +0000 (00:49 +0200)]
avutil/avutil.h: remove duplicate rational.h include

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'b0bdc2a7123abd0287de435726ab68e9e475a8d8'
Michael Niedermayer [Tue, 22 Apr 2014 22:46:28 +0000 (00:46 +0200)]
Merge commit 'b0bdc2a7123abd0287de435726ab68e9e475a8d8'

* commit 'b0bdc2a7123abd0287de435726ab68e9e475a8d8':
  avutil: move av_get_time_base_q() after include rational.h

See: c7251fec39c5b54470bb295acfc81d89683843c7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '502512ea0f179165782777265f441d4061ff6012'
Michael Niedermayer [Tue, 22 Apr 2014 22:37:16 +0000 (00:37 +0200)]
Merge commit '502512ea0f179165782777265f441d4061ff6012'

* commit '502512ea0f179165782777265f441d4061ff6012':
  avutil: Add av_get_time_base_q()

Conflicts:
doc/APIchanges
libavutil/utils.c
libavutil/version.h

See: dac7e8a94e49e41f1dd0af34dc17d124d5b156ba
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '9155c595f1a9c5a089a59e2c0aefdfabd0a6c59b'
Michael Niedermayer [Tue, 22 Apr 2014 22:13:18 +0000 (00:13 +0200)]
Merge commit '9155c595f1a9c5a089a59e2c0aefdfabd0a6c59b'

* commit '9155c595f1a9c5a089a59e2c0aefdfabd0a6c59b':
  fic: Support rendering cursors

Not merged as the commit is missing changes that where replied to with "done" on ffmpeg-devel

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '40b331e1f41cf118bd1b0807cac801437255636f'
Michael Niedermayer [Tue, 22 Apr 2014 21:57:35 +0000 (23:57 +0200)]
Merge commit '40b331e1f41cf118bd1b0807cac801437255636f'

* commit '40b331e1f41cf118bd1b0807cac801437255636f':
  fic: Use proper quantization matrix index

See: 6d149d28183a59a28143431f8e629484a52948b2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agofic: Simplify alpha blending
Derek Buitenhuis [Tue, 22 Apr 2014 20:42:11 +0000 (16:42 -0400)]
fic: Simplify alpha blending

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agoMerge commit '3956a5e0ea46ed7e27ca888fe11c47986ad99261'
Michael Niedermayer [Tue, 22 Apr 2014 21:51:13 +0000 (23:51 +0200)]
Merge commit '3956a5e0ea46ed7e27ca888fe11c47986ad99261'

* commit '3956a5e0ea46ed7e27ca888fe11c47986ad99261':
  aarch64: NEON vorbis_inverse_coupling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '8f9fe6ae3461ce270bce6b7083fda5ec314cdad4'
Michael Niedermayer [Tue, 22 Apr 2014 21:45:44 +0000 (23:45 +0200)]
Merge commit '8f9fe6ae3461ce270bce6b7083fda5ec314cdad4'

* commit '8f9fe6ae3461ce270bce6b7083fda5ec314cdad4':
  aarch64: NEON fixed/floating point MPADSP apply_window

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavutil: move av_get_time_base_q() after include rational.h
Michael Niedermayer [Tue, 22 Apr 2014 20:44:14 +0000 (22:44 +0200)]
avutil: move av_get_time_base_q() after include rational.h

Fix compilation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agoMerge commit 'f4d5a2cc35fcdf06ec031fabe8b0710e995fe924'
Michael Niedermayer [Tue, 22 Apr 2014 21:32:55 +0000 (23:32 +0200)]
Merge commit 'f4d5a2cc35fcdf06ec031fabe8b0710e995fe924'

* commit 'f4d5a2cc35fcdf06ec031fabe8b0710e995fe924':
  aarch64: NEON float to s16 audio conversion

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'ee2bc5974fe64fd214f52574400ae01c85f4b855'
Michael Niedermayer [Tue, 22 Apr 2014 21:26:51 +0000 (23:26 +0200)]
Merge commit 'ee2bc5974fe64fd214f52574400ae01c85f4b855'

* commit 'ee2bc5974fe64fd214f52574400ae01c85f4b855':
  aarch64: NEON float (i)MDCT

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '650c4300d94aa9398ff1dd4f454bf39eaa285f62'
Michael Niedermayer [Tue, 22 Apr 2014 21:05:56 +0000 (23:05 +0200)]
Merge commit '650c4300d94aa9398ff1dd4f454bf39eaa285f62'

* commit '650c4300d94aa9398ff1dd4f454bf39eaa285f62':
  aarch64: NEON float FFT

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavutil: move av_get_time_base_q() after include rational.h
Michael Niedermayer [Tue, 22 Apr 2014 20:44:14 +0000 (22:44 +0200)]
avutil: move av_get_time_base_q() after include rational.h

Fix compilation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavutil: Add av_get_time_base_q()
Derek Buitenhuis [Tue, 22 Apr 2014 05:26:07 +0000 (07:26 +0200)]
avutil: Add av_get_time_base_q()

This fixes usage of AV_TIME_BASE_Q in C++ applications, which
cannot use compound literals directly in their code.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agoavutil: Add av_get_time_base_q()
Derek Buitenhuis [Tue, 22 Apr 2014 05:26:07 +0000 (07:26 +0200)]
avutil: Add av_get_time_base_q()

This fixes usage of AV_TIME_BASE_Q in C++ applications, which
cannot use compound literals directly in their code.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agofic: Use proper quantization matrix index
Derek Buitenhuis [Sat, 19 Apr 2014 19:40:35 +0000 (15:40 -0400)]
fic: Use proper quantization matrix index

The matrices are not zigzagged.

Fixes artefacting.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agofic: Support rendering cursors
Derek Buitenhuis [Sat, 19 Apr 2014 22:46:52 +0000 (18:46 -0400)]
fic: Support rendering cursors

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agofic: Use proper quantization matrix index
Derek Buitenhuis [Sat, 19 Apr 2014 19:40:35 +0000 (15:40 -0400)]
fic: Use proper quantization matrix index

The matrices are not zigzagged.

Fixes artefacting.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agoaarch64: NEON vorbis_inverse_coupling
Janne Grunau [Sun, 20 Apr 2014 15:57:36 +0000 (17:57 +0200)]
aarch64: NEON vorbis_inverse_coupling

From the ARMv7 NEON version. 16 times faster as the C version, overall
more than 12% faster vorbis decoding on Apple's A7.

5 years agoaarch64: NEON fixed/floating point MPADSP apply_window
Janne Grunau [Sat, 19 Apr 2014 16:17:23 +0000 (18:17 +0200)]
aarch64: NEON fixed/floating point MPADSP apply_window

30%/25% (fixed/float) faster mp3 decoding on Apple's A7. The floating
point decoder is approximately 7% faster.

5 years agoAdd "const" to avoid compiler warning.
Reimar Döffinger [Tue, 22 Apr 2014 18:41:34 +0000 (20:41 +0200)]
Add "const" to avoid compiler warning.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
5 years agoAdd missing ';'.
Reimar Döffinger [Tue, 22 Apr 2014 18:40:31 +0000 (20:40 +0200)]
Add missing ';'.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
5 years agoVarious small spelling fixes.
Reimar Döffinger [Mon, 14 Apr 2014 20:35:25 +0000 (22:35 +0200)]
Various small spelling fixes.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
5 years agoavcodec/dvbsubdec: use av_mallocz_array()
Michael Niedermayer [Tue, 22 Apr 2014 18:00:28 +0000 (20:00 +0200)]
avcodec/dvbsubdec: use av_mallocz_array()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/cook: use av_malloc_array()
Michael Niedermayer [Tue, 22 Apr 2014 18:00:14 +0000 (20:00 +0200)]
avcodec/cook: use av_malloc_array()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/dsddec: use av_malloc_array()
Michael Niedermayer [Tue, 22 Apr 2014 17:57:21 +0000 (19:57 +0200)]
avcodec/dsddec: use av_malloc_array()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoaarch64: NEON float to s16 audio conversion
Janne Grunau [Wed, 16 Apr 2014 21:47:32 +0000 (23:47 +0200)]
aarch64: NEON float to s16 audio conversion

5 years agoaarch64: NEON float (i)MDCT
Janne Grunau [Tue, 15 Apr 2014 16:35:57 +0000 (18:35 +0200)]
aarch64: NEON float (i)MDCT

Approximately as fast as the ARM NEON version on Apple's A7.

5 years agoaarch64: NEON float FFT
Janne Grunau [Wed, 26 Mar 2014 14:20:42 +0000 (15:20 +0100)]
aarch64: NEON float FFT

Approximately as fast as the ARM NEON version on Apple's A7.

5 years agoavformat/mpegtsenc: make the pes packet length omission optional
Michael Niedermayer [Tue, 22 Apr 2014 14:09:46 +0000 (16:09 +0200)]
avformat/mpegtsenc: make the pes packet length omission optional

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/mpegtsenc: Changed Video PES packet length to 0.
Graham Booker [Sat, 12 Apr 2014 04:26:46 +0000 (23:26 -0500)]
avformat/mpegtsenc: Changed Video PES packet length to 0.

The rational for this is another issue that plex has exposed.  When it is
conducting a transcode of video to HLS for streaming, my father noticed
artifacts when played on his GoogleTV (NSZ-GT1).  He sent me a test file
and I reproduced it on my device of the same model.  It is important to
note that the artifacts were not present when streaming to VLC or QuickTime
Player.  I copied the command-line that plex used, and conducted all of the
following tests using FFmpeg git.

Transcode to HLS: artifacts on playback
Transcode to TS: playback is fine
Cat HLS segments into a single TS: playback is fine
Segment single TS file to segments: artifacts on playback
Segment single TS file to segments using Apple's HLS segmenter: playback is
fine

At this point I carefully examined the differences between Apple's HLS
segmenter output and FFmpeg's.  Among the considerable differences, I
noticed that the video PES packets always had a 0 length.  So I continued:

Transcode to HLS using FFmpeg with 0 length PES packets: playback is fine.
Segment single TS to segments with 0 length PES packets: playback is fine.

All failures mentioned are only on the GTV since it is the only player on
which I could reproduce artifacts.  I only tested the GTV, VLC, and
QuickTime Player though, so my test case is limited.  I do not know if
other players exhibit this issue.

Since it was useful last time, I have uploaded the test file as
hls_pes_packet_length.m4v along with its associated txt file which contains
the transcode command-line that was used.

Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agovc1dsp: fix build without inline asm
Hendrik Leppkes [Tue, 22 Apr 2014 09:19:03 +0000 (11:19 +0200)]
vc1dsp: fix build without inline asm

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'f9157463dbcd2db8fe9504197c0c04d0d7d04f31'
Michael Niedermayer [Tue, 22 Apr 2014 11:56:05 +0000 (13:56 +0200)]
Merge commit 'f9157463dbcd2db8fe9504197c0c04d0d7d04f31'

* commit 'f9157463dbcd2db8fe9504197c0c04d0d7d04f31':
  lavf: do not use the parser duration for video

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '1ae8198bca749a0cff205196cc83d35b9962849b'
Michael Niedermayer [Tue, 22 Apr 2014 11:45:34 +0000 (13:45 +0200)]
Merge commit '1ae8198bca749a0cff205196cc83d35b9962849b'

* commit '1ae8198bca749a0cff205196cc83d35b9962849b':
  avconv: always reset packet pts after decoding an audio frame

Conflicts:
ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'b19a5e51981be5b69cf550a3bc17fe5300d0dbc9'
Michael Niedermayer [Tue, 22 Apr 2014 11:34:35 +0000 (13:34 +0200)]
Merge commit 'b19a5e51981be5b69cf550a3bc17fe5300d0dbc9'

* commit 'b19a5e51981be5b69cf550a3bc17fe5300d0dbc9':
  lavc: improve AVCodecContext.delay doxy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'a4ed995cabf220029f1d0e185a6fb45eed7b4091'
Michael Niedermayer [Tue, 22 Apr 2014 11:30:20 +0000 (13:30 +0200)]
Merge commit 'a4ed995cabf220029f1d0e185a6fb45eed7b4091'

* commit 'a4ed995cabf220029f1d0e185a6fb45eed7b4091':
  txd: do not set the codec timebase.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agolavf: do not use the parser duration for video
Anton Khirnov [Sun, 13 Apr 2014 05:05:27 +0000 (07:05 +0200)]
lavf: do not use the parser duration for video

The parser has no way of knowing video duration, and therefore no video
parsers set it.

5 years agoavconv: always reset packet pts after decoding an audio frame
Anton Khirnov [Sat, 12 Apr 2014 19:55:46 +0000 (21:55 +0200)]
avconv: always reset packet pts after decoding an audio frame

Currently, if a decoder sets AVFrame.pts, we'd send the same timestamp
to it twice, which is wrong.

5 years agolavc: improve AVCodecContext.delay doxy
Anton Khirnov [Fri, 11 Apr 2014 15:47:51 +0000 (17:47 +0200)]
lavc: improve AVCodecContext.delay doxy

5 years agotxd: do not set the codec timebase.
Anton Khirnov [Sun, 13 Apr 2014 08:43:45 +0000 (10:43 +0200)]
txd: do not set the codec timebase.

It is not supposed to be changed from outside of lavc.
Set the stream timebase and average framerate instead.

5 years agoavformat/avidec: Speed up keyframe detection code
Michael Niedermayer [Tue, 22 Apr 2014 02:00:32 +0000 (04:00 +0200)]
avformat/avidec: Speed up keyframe detection code

Fixes Ticket3531

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMAINTAINERS: Add myself as FIC maintainer
Derek Buitenhuis [Mon, 21 Apr 2014 21:35:21 +0000 (17:35 -0400)]
MAINTAINERS: Add myself as FIC maintainer

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agoavcodec/wma: use av_malloc_array()
Michael Niedermayer [Tue, 22 Apr 2014 00:41:05 +0000 (02:41 +0200)]
avcodec/wma: use av_malloc_array()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavfilter/pthread: Use av_mallocz_array()
Michael Niedermayer [Tue, 22 Apr 2014 00:40:20 +0000 (02:40 +0200)]
avfilter/pthread: Use av_mallocz_array()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/libxavs: Use av_mallocz_array()
Michael Niedermayer [Tue, 22 Apr 2014 00:39:23 +0000 (02:39 +0200)]
avcodec/libxavs: Use av_mallocz_array()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/cngenc: Use av_malloc_array()
Michael Niedermayer [Tue, 22 Apr 2014 00:38:03 +0000 (02:38 +0200)]
avcodec/cngenc: Use av_malloc_array()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/snow: use FF_ALLOC(Z)_ARRAY_OR_GOTO
Michael Niedermayer [Tue, 22 Apr 2014 00:12:02 +0000 (02:12 +0200)]
avcodec/snow: use FF_ALLOC(Z)_ARRAY_OR_GOTO

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavutil/internal: add FF_ALLOC_ARRAY_OR_GOTO & FF_ALLOCZ_ARRAY_OR_GOTO
Michael Niedermayer [Fri, 18 Apr 2014 13:25:00 +0000 (15:25 +0200)]
avutil/internal: add FF_ALLOC_ARRAY_OR_GOTO & FF_ALLOCZ_ARRAY_OR_GOTO

These are similar to the existing FF_ALLOCZ_OR_GOTO & FF_ALLOC_OR_GOTO

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>