1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

30761 Commits

Author SHA1 Message Date
James Almer
08810a8895 x86/flacdsp: remove unneeded ifdeffery
x86inc can translate r*m into a register or stack on its own

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-05 16:29:28 -03:00
wm4
c9151de7c4 avcodec/dvdsubdec: fix out of bounds accesses
The code blindly trusted buffer offsets read from the file in the RLE
decoder. Explicitly check the offset. Also error out on other RLE
decoding errors.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 05:03:49 +01:00
Michael Niedermayer
0f931b29f7 Factorize avpriv_mirror() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Michael Niedermayer
5c95de150f avcodec/libxvid: check for av_malloc*() failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 23:51:18 +01:00
Michael Niedermayer
bd12aa2bc5 avcodec/ljpegenc: Check for av_malloc_array() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 21:25:26 +01:00
Michael Niedermayer
75cc57f73f avcodec/mpeg12dec: Check actual aspect ratio instead of aspect_ratio_info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 03:22:51 +01:00
Michael Niedermayer
1010b36d86 avcodec/mpeg12dec: Recalculate SAR unconditionally
Fixes Ticket4161

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 03:22:51 +01:00
Michael Niedermayer
aeb36fd207 avcodec/mpeg12dec: Move user data debug code out of unrelated if (buf_size > 29)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 03:22:51 +01:00
Michael Niedermayer
5ba62e89df avcodec/loco: check the init_get_bits8() return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-31 15:42:17 +01:00
Michael Niedermayer
131a185826 avcodec/loco: use enum for mode variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-31 15:42:17 +01:00
Michael Niedermayer
d97b94f1af avcodec/loco: Support LOCO reference encoder with odd width
Fixes Ticket1221

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-31 04:49:48 +01:00
James Almer
37b35feb64 x86/swr: add SSE2/AVX pack_8ch functions
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-12-30 23:05:27 -03:00
Carl Eugen Hoyos
7905bd5555 Fix decoding for little endian Aja Kona 10-bit RGB.
The little endian fourcc is r10k, big endian uses R10k.
Reported and analyzed by Jason Freets, jasonslife hotmail
2014-12-29 22:49:08 +01:00
Michael Niedermayer
db0a52d611 avcodec/ituh263enc: Check den==0 in ff_h263_aspect_to_info()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-29 15:51:36 +01:00
Michael Niedermayer
748ad112e2 avcodec/ffwavesynth: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-29 14:06:26 +01:00
Carl Eugen Hoyos
6a6a0620e2 Fix R10k blue channel output.
Makes R10k -> gbrp10 ffv1 -> R10k roundtrip bit-identical.
2014-12-28 21:07:56 +01:00
Michael Niedermayer
c263102298 avcodec/vdpau: fix assertion failure and < vs > error
Fixes Ticket4211

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 01:47:05 +01:00
Michael Niedermayer
17dde95ec5 Merge remote-tracking branch 'rbultje/vp9-32bit-lpf'
* rbultje/vp9-32bit-lpf:
  vp9/x86: add myself to copyright holders for loopfilter assembly.
  vp9/x86: make filter_16_h work on 32-bit.
  vp9/x86: make filter_48/84/88_h work on 32-bit.
  vp9/x86: make filter_44_h work on 32-bit.
  vp9/x86: make filter_16_v work on 32-bit.
  vp9/x86: make filter_48/84_v work on 32-bit.
  vp9/x86: make filter_88_v work on 32-bit.
  vp9/x86: make filter_44_v work on 32-bit.
  vp8/x86: save one register in SIGN_ADD/SUB.
  vp9/x86: store unpacked intermediates for filter6/14 on stack.
  vp8/x86: move variable assigned inside macro branch.
  vp9/x86: simplify ABSSUM_CMP by inverting the comparison meaning.
  vp8/x86: remove unused register from ABSSUB_CMP macro.
  vp9/x86: slightly simplify 44/48/84/88 h stores.
  vp9/x86: make cglobal statement more conservative in register allocation.
  vp9/x86: save one register in loopfilter surface coverage.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 23:17:29 +01:00
Reimar Döffinger
035180901d r210enc.c: Simplify and never store more than 10 bits.
The r10k and avrp decoders would previously store 12 bit precision
for the blue channel, which is inconsistent and probably not a
desirable behaviour.
Now the 2 unused extra bits are set to 0.
This is possibly not ideal either as RGBA1010102 format has the same
layout but stores alpha in these bits, thus explicitly setting them
to 1 might be preferable.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-12-27 22:57:53 +01:00
Ronald S. Bultje
3aefca68ca vp9/x86: add myself to copyright holders for loopfilter assembly. 2014-12-27 16:55:16 -05:00
Ronald S. Bultje
afd8c464b7 vp9/x86: make filter_16_h work on 32-bit. 2014-12-27 16:55:16 -05:00
Ronald S. Bultje
b26bc3520f vp9/x86: make filter_48/84/88_h work on 32-bit. 2014-12-27 16:55:15 -05:00
Ronald S. Bultje
8a1cff1c35 vp9/x86: make filter_44_h work on 32-bit. 2014-12-27 16:55:15 -05:00
Ronald S. Bultje
047088b8c6 vp9/x86: make filter_16_v work on 32-bit. 2014-12-27 16:55:14 -05:00
Ronald S. Bultje
0cc9c23ea1 vp9/x86: make filter_48/84_v work on 32-bit. 2014-12-27 16:55:14 -05:00
Ronald S. Bultje
6433a9133f vp9/x86: make filter_88_v work on 32-bit. 2014-12-27 16:55:14 -05:00
Ronald S. Bultje
75f8e52089 vp9/x86: make filter_44_v work on 32-bit. 2014-12-27 16:55:13 -05:00
Ronald S. Bultje
7f80c3344c vp8/x86: save one register in SIGN_ADD/SUB. 2014-12-27 16:55:13 -05:00
Ronald S. Bultje
8ea2194ebb vp9/x86: store unpacked intermediates for filter6/14 on stack.
filter16 goes from 508 to 482 (h) or 346 to 314 (v) cycles; filter88
goes from 240 to 238 (h) or 174 to 165 (v) cycles, measured on TOS.
2014-12-27 16:55:13 -05:00
Ronald S. Bultje
e42409479f vp8/x86: move variable assigned inside macro branch.
The value is not used outside the branch.
2014-12-27 16:55:12 -05:00
Ronald S. Bultje
418c202c63 vp9/x86: simplify ABSSUM_CMP by inverting the comparison meaning. 2014-12-27 16:55:12 -05:00
Ronald S. Bultje
d1c55654e1 vp8/x86: remove unused register from ABSSUB_CMP macro. 2014-12-27 16:55:12 -05:00
Ronald S. Bultje
e59bd08986 vp9/x86: slightly simplify 44/48/84/88 h stores. 2014-12-27 16:55:11 -05:00
Ronald S. Bultje
8132629bd5 vp9/x86: make cglobal statement more conservative in register allocation. 2014-12-27 16:55:11 -05:00
Ronald S. Bultje
c013ca58c5 vp9/x86: save one register in loopfilter surface coverage. 2014-12-27 16:55:11 -05:00
Michael Niedermayer
6f764d2911 Merge commit '737d35e33408263c04d7730f5487eed0d04938ba'
* commit '737d35e33408263c04d7730f5487eed0d04938ba':
  vdpau: add support for the H.264 High 4:4:4 Predictive profile

Conflicts:
	libavcodec/vdpau_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 14:46:15 +01:00
Michael Niedermayer
751731540f Merge commit 'ebd5320afd42d4315851f3e0ca7f5d4a6300eb68'
* commit 'ebd5320afd42d4315851f3e0ca7f5d4a6300eb68':
  vdpau: add support for 4:2:2 and 4:4:4 chroma sampling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 13:17:20 +01:00
Michael Niedermayer
d7aaeea540 Merge commit 'c220a60f92dde9c7c118fc4deddff5c1f617cda9'
* commit 'c220a60f92dde9c7c118fc4deddff5c1f617cda9':
  vdpau: add helper for surface chroma type and size

Conflicts:
	libavcodec/vdpau.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 13:06:25 +01:00
Michael Niedermayer
ddb9a24a7f Merge commit '6c99c92a42add7f6a462114d5a4a53c93c551058'
* commit '6c99c92a42add7f6a462114d5a4a53c93c551058':
  libavcodec: add AV_HWACCEL_ALLOW_HIGH_DEPTH flag

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 12:52:59 +01:00
Michael Niedermayer
d16079abf4 Merge commit '57b6704ecd0f56d6a3092e448687cfd837bb0ac1'
* commit '57b6704ecd0f56d6a3092e448687cfd837bb0ac1':
  avcodec: add AVCodecContext.sw_pix_fmt

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 12:41:10 +01:00
Michael Niedermayer
57089084ba Merge commit '4cfbeef31d4e6096c0596359d212f5d99a7ba4b5'
* commit '4cfbeef31d4e6096c0596359d212f5d99a7ba4b5':
  h264: factor hwaccel pixel formats list

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 12:15:34 +01:00
Rémi Denis-Courmont
737d35e334 vdpau: add support for the H.264 High 4:4:4 Predictive profile
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
ebd5320afd vdpau: add support for 4:2:2 and 4:4:4 chroma sampling
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
c220a60f92 vdpau: add helper for surface chroma type and size
Since the VDPAU pixel format does not distinguish between different
VDPAU video surface chroma types, we need another way to pass this
data to the application.

Originally VDPAU in libavcodec only supported decoding to 8-bits YUV
with 4:2:0 chroma sampling. Correspondingly, applications assumed that
libavcodec expected VDP_CHROMA_TYPE_420 video surfaces for output.
However some of the new HEVC profiles proposed for addition to VDPAU
would require different depth and/or sampling:
http://lists.freedesktop.org/archives/vdpau/2014-July/000167.html
...as would lossless AVC profiles:
http://lists.freedesktop.org/archives/vdpau/2014-November/000241.html

To preserve backward binary compatibility with existing applications,
a new av_vdpau_bind_context() flag is introduced in a further change.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
6c99c92a42 libavcodec: add AV_HWACCEL_ALLOW_HIGH_DEPTH flag
This can be used by the application to signal its ability to cope with
video surface of types other than 8-bits YUV 4:2:0.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
57b6704ecd avcodec: add AVCodecContext.sw_pix_fmt
This carries the pixel format that would be used if it were not for
hardware acceleration. This is equal to AVCodecContext.pix_fmt if
hardware acceleration is not in use.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
4cfbeef31d h264: factor hwaccel pixel formats list
This is to avoid proliferation of similar tables in following changes.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:48 +01:00
Timo Rothenpieler
1efdb0a43f avcodec/nvenc: Remove special cases for cygwin
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 15:54:26 +01:00
Michael Niedermayer
b51cc701bc avcodec/vc1_mc: use the same reference as luma does in ff_vc1_mc_4mv_chroma()
Fixes Ticket3230

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 01:25:29 +01:00
Reimar Döffinger
bed78064f4 tableprint_vlc.h: Should not be checked by checkheaders.
Same as for tableprint.h.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-12-24 12:56:36 +01:00