ffmpeg.git
6 years agovp9/x86: idct_32x32_add_ssse3 sub-16x16-idct.
Ronald S. Bultje [Sat, 4 Jan 2014 15:29:45 +0000 (10:29 -0500)]
vp9/x86: idct_32x32_add_ssse3 sub-16x16-idct.

Runtime of all IDCTs together goes from 3327 to 2473 cycles (intra, i.e.
~35% faster) or from 2312 to 1448 cycles (inter, i.e. ~60% faster). Total
decode time of ped1080p.webm goes from 8.086sec to 7.974sec (1.4% faster).

6 years agovp9/x86: idct_32x32_add_ssse3.
Ronald S. Bultje [Sat, 4 Jan 2014 15:08:47 +0000 (10:08 -0500)]
vp9/x86: idct_32x32_add_ssse3.

Sub-IDCTs will follow later. ped1080.webm goes from 9.295s to 8.191s
(13.5% faster). The IDCT itself goes from 4372 (intra) or 4337 (inter)
to 403 (intra) or 329 (inter) cycles for the DC-only form, 23755 (intra)
or 23723 (inter) to 3497 (intra) or 3607 (inter) cycles for the no-DC
form, which averages from 23393 (intra) or 16612 (inter) to 3449 (intra)
or 2392 (inter) for all 32x32s together, i.e. about ~7x faster (all
tests done on ped1080p.webm).

6 years agoavformat/webvttdec: Dont skip over a never checked byte after -->
Michael Niedermayer [Tue, 7 Jan 2014 03:08:18 +0000 (04:08 +0100)]
avformat/webvttdec: Dont skip over a never checked byte after -->

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f49667d83db_3396_WebVTT_capability_tester.vtt
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/mpeg4videodec: use av_fast_padded_malloc() for bitstream buffer
Michael Niedermayer [Tue, 7 Jan 2014 00:27:23 +0000 (01:27 +0100)]
avcodec/mpeg4videodec: use av_fast_padded_malloc() for bitstream buffer

Fixes use of uninitialized memory with vlc (sample from ticket3277)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Mon, 6 Jan 2014 23:38:19 +0000 (00:38 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  libopusenc: Change default frame duration to 20 ms

See: 74906d3727ec3bd9b7b28dfa7a98ff6e8cf8b6d7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavformat/rmdec: check that sub_packet_size fit in the packet for DEINT_ID_GENR
Michael Niedermayer [Mon, 6 Jan 2014 21:58:24 +0000 (22:58 +0100)]
avformat/rmdec: check that sub_packet_size fit in the packet for DEINT_ID_GENR

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7fa8c49400d0_3923_audiosig.rm
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavformat/nutdec: check avio_read() return code
Michael Niedermayer [Mon, 6 Jan 2014 21:58:24 +0000 (22:58 +0100)]
avformat/nutdec: check avio_read() return code

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f2785ab8669_6838_mewmew_vorbis_ssa.nut
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '9409c9bdbfd829353473ee6cc3e91c726481c069'
Michael Niedermayer [Mon, 6 Jan 2014 21:24:47 +0000 (22:24 +0100)]
Merge commit '9409c9bdbfd829353473ee6cc3e91c726481c069'

* commit '9409c9bdbfd829353473ee6cc3e91c726481c069':
  configure: Disable networking if winsock2.h is available but winsock functions aren't

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '01d245ef4392152dbdc78a6ba4dfa0a6e8b08e6f'
Michael Niedermayer [Mon, 6 Jan 2014 21:09:14 +0000 (22:09 +0100)]
Merge commit '01d245ef4392152dbdc78a6ba4dfa0a6e8b08e6f'

* commit '01d245ef4392152dbdc78a6ba4dfa0a6e8b08e6f':
  random_seed: Rewrite the generic clock() based seed code

Conflicts:
libavutil/random_seed.c

See: 66531c75d3bfd8a013acd8bd3c04a131dae2a1a0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/huffyuv: add YUVA420P, YUVA422P, YUVA444P, GBRAP, GRAY8A
Michael Niedermayer [Mon, 6 Jan 2014 18:47:34 +0000 (19:47 +0100)]
avcodec/huffyuv: add YUVA420P, YUVA422P, YUVA444P, GBRAP, GRAY8A

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/huffyuv: add GRAY8 support
Michael Niedermayer [Mon, 6 Jan 2014 18:47:34 +0000 (19:47 +0100)]
avcodec/huffyuv: add GRAY8 support

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/huffyuv: add GBRP support
Michael Niedermayer [Mon, 6 Jan 2014 18:47:34 +0000 (19:47 +0100)]
avcodec/huffyuv: add GBRP support

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agolibopusenc: Change default frame duration to 20 ms
Paul B Mahol [Fri, 15 Nov 2013 01:09:06 +0000 (01:09 +0000)]
libopusenc: Change default frame duration to 20 ms

20 ms is the default in the libopus encoder, and gives better
quality than 10 ms.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoconfigure: Disable networking if winsock2.h is available but winsock functions aren't
Martin Storsjö [Tue, 31 Dec 2013 08:11:24 +0000 (10:11 +0200)]
configure: Disable networking if winsock2.h is available but winsock functions aren't

Previously, if neither of the checks for the closesocket function
succeeded, we still kept winsock2.h and networking in general
enabled.

When targeting the WinRT API subset, the winsock2.h header is
available (making the check for it succeed, giving the impression
that winsock is available), but tests that actually try to use
such a function will fail. In this case, disable the winsock2.h
feature and networking in general, as if the winsock2.h header
test would have failed in the first place.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agorandom_seed: Rewrite the generic clock() based seed code
Michael Niedermayer [Mon, 11 Jun 2012 09:47:59 +0000 (11:47 +0200)]
random_seed: Rewrite the generic clock() based seed code

The new code is faster and reuses the previous state in case of
multiple calls.

The previous code could easily end up in near-infinite loops,
if the difference between two clock() calls never was larger than
1.

This makes fate-parseutils finish in finite time when run in wine,
if CryptGenRandom isn't available (which e.g. isn't available if
targeting Windows RT/metro).

Patch originally by Michael Niedermayer but with some modifications
by Martin Storsjö.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Mon, 6 Jan 2014 16:41:54 +0000 (17:41 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  configure: Update freetype check to follow upstream

Conflicts:
configure

Not merged, as its broken (Reported by ubitux)

See: cea5812fa723c08b89d929eeba73462e05de2973
Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'd68dc3c9446e38b4d686cc0f55433c9e8d7c128b'
Michael Niedermayer [Mon, 6 Jan 2014 16:25:52 +0000 (17:25 +0100)]
Merge commit 'd68dc3c9446e38b4d686cc0f55433c9e8d7c128b'

* commit 'd68dc3c9446e38b4d686cc0f55433c9e8d7c128b':
  drawtext: Drop pointless header

See: cea5812fa723c08b89d929eeba73462e05de2973
Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '6892d145a0c80249bd61ee7dd31ec851c5076bcd'
Michael Niedermayer [Mon, 6 Jan 2014 16:12:15 +0000 (17:12 +0100)]
Merge commit '6892d145a0c80249bd61ee7dd31ec851c5076bcd'

* commit '6892d145a0c80249bd61ee7dd31ec851c5076bcd':
  segafilm: fix leaks if reading the header fails

Conflicts:
libavformat/segafilm.c

See: ca5456db7fa62a81d8effa20fb7547c16dd1d796
Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '9cbf2d78f0a9c19129e7a70b2281a450d386c6d9'
Michael Niedermayer [Mon, 6 Jan 2014 16:00:01 +0000 (17:00 +0100)]
Merge commit '9cbf2d78f0a9c19129e7a70b2281a450d386c6d9'

* commit '9cbf2d78f0a9c19129e7a70b2281a450d386c6d9':
  pthread_frame: unref decoded frames on failure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'a03a642d5ceb5f2f7c6ebbf56ff365dfbcdb65eb'
Michael Niedermayer [Mon, 6 Jan 2014 15:45:52 +0000 (16:45 +0100)]
Merge commit 'a03a642d5ceb5f2f7c6ebbf56ff365dfbcdb65eb'

* commit 'a03a642d5ceb5f2f7c6ebbf56ff365dfbcdb65eb':
  h264: do not use 422 functions for monochrome

See: 07abf13da4a7c3d23ce6bc6542d72e6252161736
Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '9eef9eb3014b2ed9c3ff4aac510a9f04edb555cf'
Michael Niedermayer [Mon, 6 Jan 2014 15:39:38 +0000 (16:39 +0100)]
Merge commit '9eef9eb3014b2ed9c3ff4aac510a9f04edb555cf'

* commit '9eef9eb3014b2ed9c3ff4aac510a9f04edb555cf':
  h264: check that execute_decode_slices() is not called too many times

Conflicts:
libavcodec/h264.c

The check is replaced by an assert() as the mb index should not ever go out
of bounds.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'bfd26b7ce6efea594f2b99441d900419df3af638'
Michael Niedermayer [Mon, 6 Jan 2014 15:28:55 +0000 (16:28 +0100)]
Merge commit 'bfd26b7ce6efea594f2b99441d900419df3af638'

* commit 'bfd26b7ce6efea594f2b99441d900419df3af638':
  h264: reject mismatching luma/chroma bit depths during sps parsing

Conflicts:
libavcodec/h264_ps.c

See: bdeb61ccc67911cfc5e20c7cfb1312d0501ca90a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/h264: reset list_count too in case of error in ff_set_ref_count()
Michael Niedermayer [Mon, 6 Jan 2014 15:15:40 +0000 (16:15 +0100)]
avcodec/h264: reset list_count too in case of error in ff_set_ref_count()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '9a026c72982faf20e1c8dfbe48f0b312cdea69c8'
Michael Niedermayer [Mon, 6 Jan 2014 15:15:03 +0000 (16:15 +0100)]
Merge commit '9a026c72982faf20e1c8dfbe48f0b312cdea69c8'

* commit '9a026c72982faf20e1c8dfbe48f0b312cdea69c8':
  h264: rebuild the default ref list if the reference count changes

Conflicts:
libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '4736d003fac30af4afd8390182f12f480ad78801'
Michael Niedermayer [Mon, 6 Jan 2014 14:51:17 +0000 (15:51 +0100)]
Merge commit '4736d003fac30af4afd8390182f12f480ad78801'

* commit '4736d003fac30af4afd8390182f12f480ad78801':
  cavsdec: check ff_get_buffer() return value

Conflicts:
libavcodec/cavsdec.c

See: eee8c94f50bfcd93c1f761b4e6b55bec3815616d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '50079a6aa93291e6dc9d9fb8d33da83f79e9311d'
Michael Niedermayer [Mon, 6 Jan 2014 14:43:24 +0000 (15:43 +0100)]
Merge commit '50079a6aa93291e6dc9d9fb8d33da83f79e9311d'

* commit '50079a6aa93291e6dc9d9fb8d33da83f79e9311d':
  lavc: do not leak the internal frame if opening the codec fails

Conflicts:
libavcodec/utils.c

See: 8b285f03f70e884312c6c4e00a1377cfd85a3a7a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '3867f3718ba82ff11d3e24c6d84beb520d0b174f'
Michael Niedermayer [Mon, 6 Jan 2014 14:34:45 +0000 (15:34 +0100)]
Merge commit '3867f3718ba82ff11d3e24c6d84beb520d0b174f'

* commit '3867f3718ba82ff11d3e24c6d84beb520d0b174f':
  lavf: remove a pointless check

Conflicts:
libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '75647dea6f7db79b409bad66a119f5c73da730f3'
Michael Niedermayer [Mon, 6 Jan 2014 14:24:42 +0000 (15:24 +0100)]
Merge commit '75647dea6f7db79b409bad66a119f5c73da730f3'

* commit '75647dea6f7db79b409bad66a119f5c73da730f3':
  oggparseogm: check timing variables

See: 9ed388f5985992a0a6a43fdc0b1732962b6b5619
Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '8058284ce09030b47512746d726fb2ad3ae8a20f'
Michael Niedermayer [Mon, 6 Jan 2014 14:17:34 +0000 (15:17 +0100)]
Merge commit '8058284ce09030b47512746d726fb2ad3ae8a20f'

* commit '8058284ce09030b47512746d726fb2ad3ae8a20f':
  lavc: add 422/444 YUV with alpha to align_dimensions()

Conflicts:
libavcodec/utils.c

Only cosmetical changes happen as these formats already where in the list before

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '2f97094608cfd2665660f7a26a3291559b186752'
Michael Niedermayer [Mon, 6 Jan 2014 13:57:41 +0000 (14:57 +0100)]
Merge commit '2f97094608cfd2665660f7a26a3291559b186752'

* commit '2f97094608cfd2665660f7a26a3291559b186752':
  lagarith: do not call simd functions on unaligned lines

Conflicts:
libavcodec/lagarith.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'f4a8a0080537484154bb74e08ec76cbcbd25484b'
Michael Niedermayer [Mon, 6 Jan 2014 13:40:26 +0000 (14:40 +0100)]
Merge commit 'f4a8a0080537484154bb74e08ec76cbcbd25484b'

* commit 'f4a8a0080537484154bb74e08ec76cbcbd25484b':
  sgidec: fix buffer size check in expand_rle_row()

Conflicts:
libavcodec/sgidec.c

See: 39c56ef9216c508a2c19cef93600e6590b4595cd
Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'adb199d1bc7f86aa6b85986f40190ec17f99d34f'
Michael Niedermayer [Mon, 6 Jan 2014 12:57:29 +0000 (13:57 +0100)]
Merge commit 'adb199d1bc7f86aa6b85986f40190ec17f99d34f'

* commit 'adb199d1bc7f86aa6b85986f40190ec17f99d34f':
  kgv1dec: replace forcing EMU_EDGE by a copy

Conflicts:
libavcodec/kgv1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'fe80fa53bc4977ef6e8e749a9df8ca5590a09307'
Michael Niedermayer [Mon, 6 Jan 2014 12:48:46 +0000 (13:48 +0100)]
Merge commit 'fe80fa53bc4977ef6e8e749a9df8ca5590a09307'

* commit 'fe80fa53bc4977ef6e8e749a9df8ca5590a09307':
  4xm: replace forcing EMU_EDGE by a copy

Conflicts:
libavcodec/4xm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'fffca3d278c2a2422c2f61f21c5a9d5f690d328e'
Michael Niedermayer [Mon, 6 Jan 2014 12:30:40 +0000 (13:30 +0100)]
Merge commit 'fffca3d278c2a2422c2f61f21c5a9d5f690d328e'

* commit 'fffca3d278c2a2422c2f61f21c5a9d5f690d328e':
  4xm: return a proper error code.

Conflicts:
libavcodec/4xm.c

See: a5e382ad7ffd8be810f3a614c4c447a1cd1936f2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '060667195e6e6bc0fa63ce13c47e23aabe70d122'
Michael Niedermayer [Mon, 6 Jan 2014 12:24:37 +0000 (13:24 +0100)]
Merge commit '060667195e6e6bc0fa63ce13c47e23aabe70d122'

* commit '060667195e6e6bc0fa63ce13c47e23aabe70d122':
  hevc: rename some HEVC conformance streams

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '98c0cd0b99254cd12f312bf6a4c24cd3ec5886b5'
Michael Niedermayer [Mon, 6 Jan 2014 12:01:02 +0000 (13:01 +0100)]
Merge commit '98c0cd0b99254cd12f312bf6a4c24cd3ec5886b5'

* commit '98c0cd0b99254cd12f312bf6a4c24cd3ec5886b5':
  hevc: add new conformance streams

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoconfigure: Update freetype check to follow upstream
Luca Barbato [Sat, 21 Dec 2013 16:59:59 +0000 (17:59 +0100)]
configure: Update freetype check to follow upstream

The freetype tutorial suggests to use #include FT_FREETYPE_H.

Bug-Id: 616

6 years agodrawtext: Drop pointless header
Luca Barbato [Sun, 5 Jan 2014 11:30:45 +0000 (12:30 +0100)]
drawtext: Drop pointless header

It should be forward compatible with newer freetype.

6 years agosegafilm: fix leaks if reading the header fails
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
segafilm: fix leaks if reading the header fails

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org

6 years agopthread_frame: unref decoded frames on failure
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
pthread_frame: unref decoded frames on failure

This is similar to what the non-threaded code already does.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org

6 years agoh264: do not use 422 functions for monochrome
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
h264: do not use 422 functions for monochrome

Fixes invalid memory access.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org

6 years agoh264: check that execute_decode_slices() is not called too many times
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
h264: check that execute_decode_slices() is not called too many times

Fixes invalid reads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org

6 years agoh264: reject mismatching luma/chroma bit depths during sps parsing
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
h264: reject mismatching luma/chroma bit depths during sps parsing

There is no point in delaying the check and it avoids bugs with a
half-initialized context.

Fixes invalid reads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org

6 years agoh264: rebuild the default ref list if the reference count changes
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
h264: rebuild the default ref list if the reference count changes

Fixes possible access to freed memory.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org

6 years agocavsdec: check ff_get_buffer() return value
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
cavsdec: check ff_get_buffer() return value

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org

6 years agolavc: do not leak the internal frame if opening the codec fails
Anton Khirnov [Mon, 16 Dec 2013 21:54:43 +0000 (22:54 +0100)]
lavc: do not leak the internal frame if opening the codec fails

6 years agolavf: remove a pointless check
Anton Khirnov [Mon, 16 Dec 2013 21:37:40 +0000 (22:37 +0100)]
lavf: remove a pointless check

AVStream.codec is always non-NULL

6 years agooggparseogm: check timing variables
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
oggparseogm: check timing variables

Fixes a potential divide by zero.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org

6 years agolavc: add 422/444 YUV with alpha to align_dimensions()
Anton Khirnov [Fri, 3 Jan 2014 13:50:49 +0000 (14:50 +0100)]
lavc: add 422/444 YUV with alpha to align_dimensions()

Aligns frame dimensions to 16, which fixes potential invalid writes.

6 years agolagarith: do not call simd functions on unaligned lines
Kostya Shishkov [Mon, 30 Dec 2013 08:31:57 +0000 (09:31 +0100)]
lagarith: do not call simd functions on unaligned lines

They end up overwriting past the line end.

Partially based on a patch by Michael Niedermayer <michaelni@gmx.at>

Bug-Id: vlc/9700
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agosgidec: fix buffer size check in expand_rle_row()
Anton Khirnov [Thu, 2 Jan 2014 08:34:20 +0000 (09:34 +0100)]
sgidec: fix buffer size check in expand_rle_row()

Right now it will spuriously fail if the linesize is exactly equal to
the data width.

CC:libav-stable@libav.org

6 years agokgv1dec: replace forcing EMU_EDGE by a copy
Anton Khirnov [Tue, 17 Dec 2013 07:56:13 +0000 (08:56 +0100)]
kgv1dec: replace forcing EMU_EDGE by a copy

The decoder currently sets CODEC_FLAG_EMU_EDGE and relies on
get_buffer2() to always provide buffers with linesize == 2 * width.
This is wrong, since we place no such restriction on get_buffer2()
implementations.

Fix this by decoding into internal buffers and copying them to output
frames. Since this is a very obscure decoder, the performance hit should
not be an issue.

6 years ago4xm: replace forcing EMU_EDGE by a copy
Anton Khirnov [Tue, 17 Dec 2013 07:56:13 +0000 (08:56 +0100)]
4xm: replace forcing EMU_EDGE by a copy

The decoder currently sets CODEC_FLAG_EMU_EDGE and relies on
get_buffer2() to always provide buffers with linesize == 2 * width.
This is wrong, since we place no such restriction on get_buffer2()
implementations.

Fix this by decoding into internal buffers and copying them to output
frames. Since this is a very obscure decoder, the performance hit should
not be an issue.

6 years ago4xm: return a proper error code.
Anton Khirnov [Tue, 17 Dec 2013 07:33:55 +0000 (08:33 +0100)]
4xm: return a proper error code.

6 years agohevc: rename some HEVC conformance streams
Guillaume Martres [Tue, 31 Dec 2013 13:29:04 +0000 (14:29 +0100)]
hevc: rename some HEVC conformance streams

Some HEVC conformance streams zip on
http://wftp3.itu.int/av-arch/jctvc-site/bitstream_exchange/draft_conformance/
were updated without changing the actual stream. Rename them in FATE
accordingly to make it easier to track future stream updates.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agohevc: add new conformance streams
Guillaume Martres [Tue, 31 Dec 2013 13:29:03 +0000 (14:29 +0100)]
hevc: add new conformance streams

Also remove superseded conformance streams. The conformance streams all
come from http://wftp3.itu.int/av-arch/jctvc-site/bitstream_exchange/draft_conformance/

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agoavcodec/hevc: Fix modulo operations
Michael Niedermayer [Mon, 6 Jan 2014 01:51:20 +0000 (02:51 +0100)]
avcodec/hevc: Fix modulo operations

Fixes qp fields becoming out of range
Fixes: asan_static-oob_e393a3_6998_WPP_A_ericsson_MAIN10_2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/hevc_ps: check that VPS referenced from SPS exists
Michael Niedermayer [Mon, 6 Jan 2014 01:51:20 +0000 (02:51 +0100)]
avcodec/hevc_ps: check that VPS referenced from SPS exists

This matches how its done for SPS/PPS.
An alternative to this is to check it when its used.

Fixes null pointer dereference
Fixes: signal_sigsegv_e30a43_1437_CIP_A_Panasonic_3.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/huffyuvdec: optimize decode_plane_bitstream(), use joint tables for new yuv...
Michael Niedermayer [Wed, 1 Jan 2014 00:47:10 +0000 (01:47 +0100)]
avcodec/huffyuvdec: optimize decode_plane_bitstream(), use joint tables for new yuv formats

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agofate: test version 3 of ffvhuff
Michael Niedermayer [Mon, 6 Jan 2014 00:37:22 +0000 (01:37 +0100)]
fate: test version 3 of ffvhuff

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/huffyuv: Support more 8bit YUV formats
Michael Niedermayer [Wed, 1 Jan 2014 00:42:59 +0000 (01:42 +0100)]
avcodec/huffyuv: Support more 8bit YUV formats

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Sun, 5 Jan 2014 22:23:53 +0000 (23:23 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  cmdutils: update copyright year to 2014.

Conflicts:
cmdutils.c

See: 0b1cfc4f28d81a8a49fdd5589b2eed06477abd61
Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '7840c40445c9f52aeccba96de3d27613398bfbf2'
Michael Niedermayer [Sun, 5 Jan 2014 22:14:20 +0000 (23:14 +0100)]
Merge commit '7840c40445c9f52aeccba96de3d27613398bfbf2'

* commit '7840c40445c9f52aeccba96de3d27613398bfbf2':
  (e)ac3dec: set AV_FRAME_DATA_MATRIXENCODING side data.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '13345fc1f86fc3615789e196d5a339c1c27c9068'
Michael Niedermayer [Sun, 5 Jan 2014 22:06:45 +0000 (23:06 +0100)]
Merge commit '13345fc1f86fc3615789e196d5a339c1c27c9068'

* commit '13345fc1f86fc3615789e196d5a339c1c27c9068':
  (e)ac3: parse and store the Dolby Surround, Surround EX and Headphone mode flags.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'e92123093dfdca0ef6608998240e2f9345d63bff'
Michael Niedermayer [Sun, 5 Jan 2014 21:58:49 +0000 (22:58 +0100)]
Merge commit 'e92123093dfdca0ef6608998240e2f9345d63bff'

* commit 'e92123093dfdca0ef6608998240e2f9345d63bff':
  mlpdec: set AV_FRAME_DATA_MATRIXENCODING side data.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '4b7f1a7ced0e98f2cc698d896f7ebab8d30eaa09'
Michael Niedermayer [Sun, 5 Jan 2014 21:53:13 +0000 (22:53 +0100)]
Merge commit '4b7f1a7ced0e98f2cc698d896f7ebab8d30eaa09'

* commit '4b7f1a7ced0e98f2cc698d896f7ebab8d30eaa09':
  mlp: Parse TrueHD decoder channel modifiers and set the AVMatrixEncoding for each substream.

Conflicts:
libavcodec/mlp_parser.h
libavcodec/mlpdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '30d70e79a6b4ac7f4eb66446a9da275161ef6ea7'
Michael Niedermayer [Sun, 5 Jan 2014 21:34:15 +0000 (22:34 +0100)]
Merge commit '30d70e79a6b4ac7f4eb66446a9da275161ef6ea7'

* commit '30d70e79a6b4ac7f4eb66446a9da275161ef6ea7':
  dcadec: set AV_FRAME_DATA_MATRIXENCODING side data.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '6bfdb2de881372048be7fbda643417e1fd3ce93c'
Michael Niedermayer [Sun, 5 Jan 2014 21:27:34 +0000 (22:27 +0100)]
Merge commit '6bfdb2de881372048be7fbda643417e1fd3ce93c'

* commit '6bfdb2de881372048be7fbda643417e1fd3ce93c':
  dcadec: set the output channel mode more accurately.

Conflicts:
libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '5b4797a21db900b7d509660b7a4d49829089b004'
Michael Niedermayer [Sun, 5 Jan 2014 21:12:41 +0000 (22:12 +0100)]
Merge commit '5b4797a21db900b7d509660b7a4d49829089b004'

* commit '5b4797a21db900b7d509660b7a4d49829089b004':
  avframe: add AV_FRAME_DATA_MATRIXENCODING side data type.

Conflicts:
libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '5c437fb'
Michael Niedermayer [Sun, 5 Jan 2014 20:55:58 +0000 (21:55 +0100)]
Merge commit '5c437fb'

* commit '5c437fb':
  lavu: Add values for various Dolby flags to the AVMatrixEncoding enum.

Conflicts:
doc/APIchanges
libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agovp9_parse: don't use AVCodecParserContext as av_log context.
Ronald S. Bultje [Sun, 5 Jan 2014 18:32:03 +0000 (13:32 -0500)]
vp9_parse: don't use AVCodecParserContext as av_log context.

Fixes trac ticket 3273.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agocmdutils: update copyright year to 2014.
Johan Andersson [Sat, 4 Jan 2014 19:47:32 +0000 (20:47 +0100)]
cmdutils: update copyright year to 2014.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoavfilter/vf_format: check that the format list is not empty
Michael Niedermayer [Sun, 5 Jan 2014 19:14:03 +0000 (20:14 +0100)]
avfilter/vf_format: check that the format list is not empty

Fixes Ticket3210

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agopulse: get latency only when needed
Federico Simoncelli [Sun, 5 Jan 2014 12:04:46 +0000 (13:04 +0100)]
pulse: get latency only when needed

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agopulse: set time_base as multiple of sample_rate
Federico Simoncelli [Sun, 5 Jan 2014 12:03:14 +0000 (13:03 +0100)]
pulse: set time_base as multiple of sample_rate

The stream time_base has been changed to be a multiple of the
device sample_rate. Now the frame_duration computation is simpler
and a message will warn about problematic frame_size values.

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavformat/nutdec: remove unused variable
Michael Niedermayer [Sun, 5 Jan 2014 16:27:23 +0000 (17:27 +0100)]
avformat/nutdec: remove unused variable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years ago(e)ac3dec: set AV_FRAME_DATA_MATRIXENCODING side data.
Tim Walker [Wed, 11 Dec 2013 02:03:35 +0000 (02:03 +0000)]
(e)ac3dec: set AV_FRAME_DATA_MATRIXENCODING side data.

6 years ago(e)ac3: parse and store the Dolby Surround, Surround EX and Headphone mode flags.
Tim Walker [Wed, 11 Dec 2013 02:03:34 +0000 (02:03 +0000)]
(e)ac3: parse and store the Dolby Surround, Surround EX and Headphone mode flags.

6 years agomlpdec: set AV_FRAME_DATA_MATRIXENCODING side data.
Tim Walker [Wed, 11 Dec 2013 02:03:33 +0000 (02:03 +0000)]
mlpdec: set AV_FRAME_DATA_MATRIXENCODING side data.

6 years agomlp: Parse TrueHD decoder channel modifiers and set the AVMatrixEncoding for each...
Tim Walker [Wed, 11 Dec 2013 02:03:32 +0000 (02:03 +0000)]
mlp: Parse TrueHD decoder channel modifiers and set the AVMatrixEncoding for each substream.

6 years agodcadec: set AV_FRAME_DATA_MATRIXENCODING side data.
Tim Walker [Wed, 11 Dec 2013 02:03:31 +0000 (02:03 +0000)]
dcadec: set AV_FRAME_DATA_MATRIXENCODING side data.

6 years agodcadec: set the output channel mode more accurately.
Tim Walker [Wed, 11 Dec 2013 02:03:30 +0000 (02:03 +0000)]
dcadec: set the output channel mode more accurately.

When downmixing 2.1 to 2-channel, if the 2.0 portion is Lt/Rt, sum-difference or dual mono, the actual output will be the same (with the LFE either mixed-in or discarded).

Also, when downmixing an arbitrary layout to 2-channel, if the bitstream contains custom downmix coefficients targeting Lt/Rt, then the output will be Lt/Rt rather than regular Stereo.

6 years agoavframe: add AV_FRAME_DATA_MATRIXENCODING side data type.
Tim Walker [Wed, 11 Dec 2013 02:03:29 +0000 (02:03 +0000)]
avframe: add AV_FRAME_DATA_MATRIXENCODING side data type.

Includes a libavcodec utility function to update a frame's side data.

6 years agolavu: Add values for various Dolby flags to the AVMatrixEncoding enum.
Tim Walker [Wed, 11 Dec 2013 02:03:28 +0000 (02:03 +0000)]
lavu: Add values for various Dolby flags to the AVMatrixEncoding enum.

6 years agov4l2: setting device parameters early
Federico Simoncelli [Thu, 2 Jan 2014 15:25:48 +0000 (16:25 +0100)]
v4l2: setting device parameters early

Setting the v4l2 device parameters may influence video properties
such as width, height and pixel format.
This patch moves v4l2_set_parameters to be executed before fetching
the video properties, avoiding errors such as (pal vs ntsc):

 The v4l2 frame is 829440 bytes, but 691200 bytes are expected

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Sun, 5 Jan 2014 12:29:34 +0000 (13:29 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  configure: Support preprocessor macros as header names

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoconfigure: Support preprocessor macros as header names
Diego Biurrun [Mon, 23 Dec 2013 00:03:48 +0000 (01:03 +0100)]
configure: Support preprocessor macros as header names

New versions of FreeType have moved the location of their API
header(s) and hide the location behind a macro.

Since the location changes between versions and no other way
to know the location exists, this workaround becomes necessary.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agoavformat/matroskaenc: warn when muxing video codec not supported by format
Peter Ross [Sun, 5 Jan 2014 01:04:29 +0000 (12:04 +1100)]
avformat/matroskaenc: warn when muxing video codec not supported by format

This occurs for video codecs that have codec_tag set, but are are not listed
in ff_codec_bmp_tags (e.g. AV_CODEC_ID_BINKAUDIO, AV_CODEC_ID_IFF_ILBM).

Fixes ticket #3269.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Sun, 5 Jan 2014 01:37:42 +0000 (02:37 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  sdp: Check that fmt->oformat is non-null before accessing it

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '9d18a7d3ec09d6d933d648570643fde924aa391a'
Michael Niedermayer [Sun, 5 Jan 2014 01:25:03 +0000 (02:25 +0100)]
Merge commit '9d18a7d3ec09d6d933d648570643fde924aa391a'

* commit '9d18a7d3ec09d6d933d648570643fde924aa391a':
  fate: Update AAC ELD 5.1 ref for recent bugfixes.

also reenable fate-aac-er_ad6000np_44_ep0, as this commit updates the pcm
reference, so that the test works again

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '7f29644108c5fbd80f160930b31b78b8704c1a49'
Michael Niedermayer [Sun, 5 Jan 2014 01:18:51 +0000 (02:18 +0100)]
Merge commit '7f29644108c5fbd80f160930b31b78b8704c1a49'

* commit '7f29644108c5fbd80f160930b31b78b8704c1a49':
  aac: Fix low delay windowing.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '42d1b41983971da63302ac3d12091cad1f3d6324'
Michael Niedermayer [Sun, 5 Jan 2014 01:09:49 +0000 (02:09 +0100)]
Merge commit '42d1b41983971da63302ac3d12091cad1f3d6324'

* commit '42d1b41983971da63302ac3d12091cad1f3d6324':
  fate: Add a test vector for AAC ELD with TNS.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'b2212dec0f011893ec68eecaa990170fa24050d7'
Michael Niedermayer [Sun, 5 Jan 2014 00:48:29 +0000 (01:48 +0100)]
Merge commit 'b2212dec0f011893ec68eecaa990170fa24050d7'

* commit 'b2212dec0f011893ec68eecaa990170fa24050d7':
  aac: Fix TNS decoding for the 512 sample window family.

also temporarily disable fate-aac-er_ad6000np_44_ep0 as this commit
causes a mismatch with the reference pcm file
The test will be reenabled after all fixes and with a new pcm reference

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit 'e2096e2eaa9e75663d6bf0c37d342752aa5a146d'
Michael Niedermayer [Sun, 5 Jan 2014 00:13:06 +0000 (01:13 +0100)]
Merge commit 'e2096e2eaa9e75663d6bf0c37d342752aa5a146d'

* commit 'e2096e2eaa9e75663d6bf0c37d342752aa5a146d':
  fate: Add a downsampled SBR testvector

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavformat/mp3dec: fix start time in light of initial skip samples
Michael Niedermayer [Sat, 4 Jan 2014 23:50:26 +0000 (00:50 +0100)]
avformat/mp3dec: fix start time in light of initial skip samples

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agolavf/file: fix help message first character casing for trunc option
Stefano Sabatini [Sat, 4 Jan 2014 23:50:22 +0000 (00:50 +0100)]
lavf/file: fix help message first character casing for trunc option

6 years agodoc/protocols/file: fix semantical reverse
Stefano Sabatini [Sat, 4 Jan 2014 23:41:20 +0000 (00:41 +0100)]
doc/protocols/file: fix semantical reverse

Change "read" to "write" in introductory description.

Spotted-by: Alexander Strasser <eclipse7@gmx.net>
6 years agodoc/protocols/file: document general file protocol URL syntax
Stefano Sabatini [Sat, 4 Jan 2014 13:48:23 +0000 (14:48 +0100)]
doc/protocols/file: document general file protocol URL syntax

Also drop confusing ff* tools reference about exceptions to the
file:FILENAME syntax, which is not ff* tool specific.

With various edits by Alexander Strasser <eclipse7@gmx.net>.

6 years agosdp: Check that fmt->oformat is non-null before accessing it
Martin Storsjö [Fri, 3 Jan 2014 13:47:02 +0000 (15:47 +0200)]
sdp: Check that fmt->oformat is non-null before accessing it

This avoids crashes when avserver tries to create an SDP, since
d77f4af.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agofate: Update AAC ELD 5.1 ref for recent bugfixes.
Alex Converse [Tue, 24 Dec 2013 06:21:08 +0000 (22:21 -0800)]
fate: Update AAC ELD 5.1 ref for recent bugfixes.