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

32009 Commits

Author SHA1 Message Date
Michael Niedermayer
f2978aa7ed Merge commit '43171886e08b6a2f20a1e2f3ecc95a7984b591cd'
* commit '43171886e08b6a2f20a1e2f3ecc95a7984b591cd':
  huffyuvenc: Mark codec as init-thread-safe and init-cleanup

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 21:48:27 +02:00
Michael Niedermayer
a649650a0e Merge commit 'd90133b77bf69667d10e54de9aae7da223c6876a'
* commit 'd90133b77bf69667d10e54de9aae7da223c6876a':
  asvenc: Mark codec as init-thread-safe and init-cleanup

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 21:37:53 +02:00
Michael Niedermayer
0d3821a6df Merge commit 'a4edaeb50fc7510f28a5d79349a7926a182c9930'
* commit 'a4edaeb50fc7510f28a5d79349a7926a182c9930':
  hq_hqa: Fix table data for profile 17

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 21:27:15 +02:00
Michael Niedermayer
036162a378 Merge commit '5bba3ab0cf7a0238ee1ea31ca2da08ce860fd8f9'
* commit '5bba3ab0cf7a0238ee1ea31ca2da08ce860fd8f9':
  internal: Make dlog/tlog a no-op when disabled

Conflicts:
	libavcodec/internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 20:49:45 +02:00
Shivraj Patil
97f074f134 avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC copy and hv mc functions
Incorporated review comment.
Removed "__" from volatile.

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 17:12:04 +02:00
Ronald S. Bultje
640d878bc1 vp9: fix intraonly frame decoding. 2015-04-24 16:54:31 +02:00
Ronald S. Bultje
ed45edb2f6 vp9: use aligned size to write segmentation map into cache.
The unaligned size is not handled in setctx_2d(), causing edges of images
to have improper segmentation prediction, which causes visual artifacts
at image edges a few frames later.
2015-04-24 16:54:31 +02:00
Ronald S. Bultje
3de13d5212 vp9: remove another optimization branch in iadst16 which causes overflows.
See sample vp90-2-14-resize-fp-tiles-16-8.webm from the vp9 test vector
set to reproduce the issue.
2015-04-24 16:54:31 +02:00
Andreas Cadhalpun
cfdaa4de6c dss_sp: use lowercase codec name without whitespace
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-04-24 14:55:11 +01:00
Vittorio Giovara
18db1286b0 libxvid: Make codec use the init-cleanup flag and mark it as init-thread-safe
This takes care of memory leaks on init error.
2015-04-24 14:55:11 +01:00
Vittorio Giovara
eae7338e15 libx264: Make codec use the init-cleanup flag and mark it as init-thread-safe
This takes care of memory leaks on init error.
2015-04-24 14:55:11 +01:00
Vittorio Giovara
74a1cad7e3 lclenc: Mark codec as init-thread-safe and init-cleanup 2015-04-24 14:55:11 +01:00
Vittorio Giovara
bb428e00ac hqx: Mark codec as init-thread-safe and init-cleanup 2015-04-24 14:55:11 +01:00
Vittorio Giovara
43171886e0 huffyuvenc: Mark codec as init-thread-safe and init-cleanup 2015-04-24 14:55:11 +01:00
Vittorio Giovara
d90133b77b asvenc: Mark codec as init-thread-safe and init-cleanup 2015-04-24 14:55:10 +01:00
Vittorio Giovara
a4edaeb50f hq_hqa: Fix table data for profile 17
The table had a wrong table height and was missing the first line of bytes.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-24 14:55:10 +01:00
Vittorio Giovara
5bba3ab0cf internal: Make dlog/tlog a no-op when disabled
Improves Coverity analysis, avoiding "double semicolon" CIDs.
2015-04-24 14:55:10 +01:00
James Zern
db3f86871e libvpxdec: cosmetics: reindent
Signed-off-by: James Zern <jzern@google.com>
2015-04-24 00:00:20 -07:00
James Zern
e07ef1ada3 libvpxenc: cosmetics: reindent
Signed-off-by: James Zern <jzern@google.com>
2015-04-24 00:00:12 -07:00
James Zern
238ec505e2 libvpxenc: only set noise reduction w/vp8
this quiets a warning:
Failed to set VP8E_SET_NOISE_SENSITIVITY codec control: Unspecified
internal error

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Zern <jzern@google.com>
2015-04-23 23:59:41 -07:00
Andreas Cadhalpun
4b657a1b1e alac: reject rice_limit 0 if compression is used
If rice_limit is 0, k can be 0 in decode_scalar, which calls show_bits(gb, k).

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 01:15:41 +02:00
Michael Niedermayer
8d31b22869 Merge commit '0a51c7d42a519c63178a4f3e35b8967f21da3a6a'
* commit '0a51c7d42a519c63178a4f3e35b8967f21da3a6a':
  prores: Set the bits_per_coded_sample for alpha pix_fmt

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 22:04:37 +02:00
Michael Niedermayer
400810abee Merge commit '28eddef689f2b4843a84f7d05fd9614246f92cc4'
* commit '28eddef689f2b4843a84f7d05fd9614246f92cc4':
  hq_hqa: Validate get_vlc2 return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 21:57:16 +02:00
Michael Niedermayer
b112e25dde Merge commit 'a78f5548d94f23ce23cece41edf0fe9d18926de6'
* commit 'a78f5548d94f23ce23cece41edf0fe9d18926de6':
  avcodec: Free the default avoptions on init failure

See: 1907ff0a67
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 21:41:23 +02:00
Michael Niedermayer
c39b07ff28 Merge commit 'aef0be08756e00f363c524453c948a6e2a348614'
* commit 'aef0be08756e00f363c524453c948a6e2a348614':
  avcodec: Unref the dummy buffer on the fail path

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 21:20:07 +02:00
Ronald S. Bultje
d9555adf06 vp9: set timestamps for show_existing_frame return images.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 20:34:51 +02:00
Andreas Cadhalpun
58d605ee9b alsdec: only adapt order for positive max_order
For max_order = 0 the clipping range is invalid. (amin = 2, amax = 1)

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 16:51:46 +02:00
Ronald S. Bultje
c82e870c12 vp9: maintain lf_delta values if feature is turned off.
This is required if it's subsequently re-enabled with no value updates
(which means, use values that were previously set).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 15:55:15 +02:00
Ronald S. Bultje
e8b4f6d6be vp9: add support for resolution changes in inter frames.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 05:09:51 +02:00
Ronald S. Bultje
d02d04a18f vp9: remove one optimization branch in iadst16 which causes overflows.
See sample vp90-2-14-resize-fp-tiles-16-8-4-2-1.webm from the vp9 test
vector set which reproduces the issue. This probably costs a few cycles,
but I don't think there's an easy way to workaround that.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 21:37:10 +02:00
Luca Barbato
0a51c7d42a prores: Set the bits_per_coded_sample for alpha pix_fmt
Improve the compatibility with other software.
2015-04-22 20:50:10 +02:00
Ludmila Glinskih
5adee9c0af api-flac-test: Coding style
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 17:45:51 +02:00
Andreas Cadhalpun
b3408ae4c6 mpeg4videodec: only allow a positive length
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 16:57:52 +02:00
Andreas Cadhalpun
35e855d5b6 dss_sp: use lowercase codec name without whitespace
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 16:39:26 +02:00
Luca Barbato
28eddef689 hq_hqa: Validate get_vlc2 return value
The `hq_ac_vlc.table` is incomplete, so unaccounted symbol return -1
as value.
2015-04-22 12:27:43 +02:00
Luca Barbato
a78f5548d9 avcodec: Free the default avoptions on init failure 2015-04-22 12:27:13 +02:00
Luca Barbato
aef0be0875 avcodec: Unref the dummy buffer on the fail path 2015-04-22 12:27:13 +02:00
Andreas Cadhalpun
afc7748d1f alsdec: check sample pointer range in revert_channel_correlation
Also change the type of begin, end and smp to ptrdiff_t to make the
comparison well-defined.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:02:25 +02:00
James Almer
ba625dd8a1 avcodec: use av_mod_uintp2() where useful
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-21 22:41:20 -03:00
Andreas Cadhalpun
ca9849eecd aacpsy: correct calculation of minath in psy_3gpp_init
The minimum of the ath(x, ATH_ADD) function depends on ATH_ADD.
This patch uses the first order approximation to determine it.

For ATH_ADD = 4 this results in the value at 3407.06812 (-5.24241638)
not the one at 3410 (-5.24237967).

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Approved-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 01:18:14 +02:00
Paul B Mahol
77e794908b avcodec/hq_hqa: remove superfluous log message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-04-21 13:19:32 +00:00
Deb Mukherjee
26a0bcb15b Support for VP9 high-color/high-bit-depth encoding
Patch to support VP9 encoding with new profiles 1-3.
Profile 1 (8-bit 422/444) should work with default libvpx
configuration.
However you will need to configure libvpx with
--enable-vp9-highbitdepth before building and linking
with ffmpeg for profile 2 (10-/12-bit 420) and profile 3
(10-/12-bit 422/444) encoding.

You may use the appropriate profile option on the
command line:
-profile:v 1 for 422/444 8-bit encoding
-profile:v 2 for 420 10-/12- bit encoding
-profile:v 3 for 422/444 10-/12-bit encoding
If you do not use the -profile:v option, it will be deduced
from the source format.

Signed-off-by: James Zern <jzern@google.com>
2015-04-20 15:24:13 -07:00
Michael Niedermayer
1a41415b2a Merge commit 'bd5ad8b23d0f7d469ca30d03deca879993eb0431'
* commit 'bd5ad8b23d0f7d469ca30d03deca879993eb0431':
  hq_hqa: Fix reading hqa quantization matrix index

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 23:20:36 +02:00
Michael Niedermayer
2f8f5027ad Merge commit '1746dc382ddbf3f8a3f039815644f7eb9076110e'
* commit '1746dc382ddbf3f8a3f039815644f7eb9076110e':
  hqxdsp.h: #include "stddef.h"

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 23:13:16 +02:00
Michael Niedermayer
037c9c25e6 Merge commit '86e1a35802df42f51337d3fed8d5d99d0898c8bf'
* commit '86e1a35802df42f51337d3fed8d5d99d0898c8bf':
  h264_ps: Return meaningful error codes and address a memory leak

Conflicts:
	libavcodec/h264_ps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 22:49:50 +02:00
Michael Niedermayer
a5379d6e68 Merge commit 'b18346817d57c96cc47811cf78b26653e96bd304'
* commit 'b18346817d57c96cc47811cf78b26653e96bd304':
  flac: fix realloc loop with invalid flac files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 22:08:28 +02:00
Vittorio Giovara
bd5ad8b23d hq_hqa: Fix reading hqa quantization matrix index
Value is stored as a byte.
2015-04-20 19:20:22 +01:00
Vittorio Giovara
1746dc382d hqxdsp.h: #include "stddef.h"
It is required by ptrdiff_t, fixes make checkheaders.
2015-04-20 19:19:23 +01:00
Vittorio Giovara
86e1a35802 h264_ps: Return meaningful error codes and address a memory leak
Bug-Id: CID 1026763
2015-04-20 14:59:40 +01:00
Diego Biurrun
338ed3ed33 ffv1: Pass correct pointers to av_free()
Bug-Id: CID 1295124
2015-04-20 14:59:40 +01:00
Michael Niedermayer
1ca8052640 avcodec/parser: Remove duplicate header inlcude
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 14:58:09 +02:00
Michael Niedermayer
2a00ef5d81 avcodec/api-flac-test: clear callers context with close_*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 14:36:41 +02:00
Ludmila Glinskih
be70c79af2 libavcodec: Add FLAC API test
Signed-off-by: Ludmila Glinskih <lglinskih@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 14:36:41 +02:00
Michael Niedermayer
09b0f227ce avcodec/flacenc: also count wasted bits in subframe_count_exact()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 14:36:36 +02:00
Thomas Guillem
b18346817d flac: fix realloc loop with invalid flac files
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-20 12:41:33 +02:00
Michael Niedermayer
0796a2ab4f Merge commit 'eb31256f12bf0c85aded1612551ce9230356879e'
* commit 'eb31256f12bf0c85aded1612551ce9230356879e':
  g2meet: Support G2M5 codec variant

Conflicts:
	libavcodec/version.h

See: 4ba5420e4d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 11:52:19 +02:00
Michael Niedermayer
fc83ff80b4 Merge commit '3d71b1f8f09fccea7158e868fb9bd81b81205449'
* commit '3d71b1f8f09fccea7158e868fb9bd81b81205449':
  mpegvideo_enc: Simplify picture allocation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 11:29:43 +02:00
Michael Niedermayer
5a284d076f Merge commit '22526c1f557a72b3285d295bd8b30c40eb65d437'
* commit '22526c1f557a72b3285d295bd8b30c40eb65d437':
  Canopus HQ/HQA decoder

Conflicts:
	Changelog
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 05:28:13 +02:00
Michael Niedermayer
fcca7671e2 Merge commit 'e6fb844f7b736e72da364032d251283bce9e63ad'
* commit 'e6fb844f7b736e72da364032d251283bce9e63ad':
  Implement shared parsing of INFO tag in Canopus family

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 05:19:46 +02:00
Michael Niedermayer
1fa7d0902c Merge commit '5b5338f6d1272526d2634501555cbaff4cdfb87b'
* commit '5b5338f6d1272526d2634501555cbaff4cdfb87b':
  hqx: Implement slice-threaded decoding

Conflicts:
	libavcodec/hqx.c
	libavcodec/hqx.h

See: eff72a6c73
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 05:11:48 +02:00
Michael Niedermayer
55b866f618 Merge commit '453642f8afe9f979fcc813a246b1ec656ec36a93'
* commit '453642f8afe9f979fcc813a246b1ec656ec36a93':
  hqx: Store shareable data in main decoder context

Conflicts:
	libavcodec/hqx.c
	libavcodec/hqx.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 04:57:06 +02:00
Michael Niedermayer
d8b4e9adbb Merge commit 'ea031b75fb50c59196ccb654c9d143fb75365da9'
* commit 'ea031b75fb50c59196ccb654c9d143fb75365da9':
  hqx: Move DSP related code to a separate file

Conflicts:
	libavcodec/hqx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 04:33:06 +02:00
Michael Niedermayer
73e6af9d7b Merge commit '17aa81d94781c6f62dc7d1dbd1f8891c020c9905'
* commit '17aa81d94781c6f62dc7d1dbd1f8891c020c9905':
  hqx: Merge invalid format check within switch block

Conflicts:
	libavcodec/hqx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 04:29:58 +02:00
Michael Niedermayer
dbd94b771f avcodec/internal: Fix ff_dlog() define like av_dlog()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 04:27:08 +02:00
Michael Niedermayer
0a582aeee4 avcodec: fix build with DEBUG/TRACE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 04:11:23 +02:00
Michael Niedermayer
8f7b022c8c Merge commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25'
* commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25':
  lavc: Replace av_dlog and tprintf with internal macros

Conflicts:
	libavcodec/aacdec.c
	libavcodec/audio_frame_queue.c
	libavcodec/bitstream.c
	libavcodec/dcadec.c
	libavcodec/dnxhddec.c
	libavcodec/dvbsubdec.c
	libavcodec/dvdec.c
	libavcodec/dvdsubdec.c
	libavcodec/get_bits.h
	libavcodec/gifdec.c
	libavcodec/h264.h
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_refs.c
	libavcodec/imc.c
	libavcodec/interplayvideo.c
	libavcodec/jpeglsdec.c
	libavcodec/libopencore-amr.c
	libavcodec/mjpegdec.c
	libavcodec/mpeg12dec.c
	libavcodec/mpegvideo_enc.c
	libavcodec/mpegvideo_parser.c
	libavcodec/pngdec.c
	libavcodec/ratecontrol.c
	libavcodec/rv10.c
	libavcodec/svq1dec.c
	libavcodec/vqavideo.c
	libavcodec/wmadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 04:10:10 +02:00
Eric Zimmerman
eb31256f12 g2meet: Support G2M5 codec variant
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-19 23:45:35 +01:00
Andreas Cadhalpun
09bd7ddf20 aacdec: consistently use avctx for logging in decode_eld_specific_config
ac may be NULL and then accessing ac->avctx results in a segmentation fault.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-04-19 23:45:35 +01:00
Vittorio Giovara
3d71b1f8f0 mpegvideo_enc: Simplify picture allocation 2015-04-19 23:17:56 +01:00
Vittorio Giovara
0251c9be5a motion_est: Fix warning from zero_cmp() assignment
warning: incompatible
      pointer types assigning to 'me_cmp_func' (aka 'int (*)(struct
      MpegEncContext *, uint8_t *, uint8_t *, ptrdiff_t, int)') from 'int
      (MpegEncContext *, uint8_t *, uint8_t *, int, int)'
      [-Wincompatible-pointer-types]
2015-04-19 23:17:56 +01:00
Vittorio Giovara
4d593896aa vc1_pred: Always initialize px and py in ff_vc1_pred_mv_intfr()
Fix a rather lengthy initialization warning from clang.
2015-04-19 23:17:56 +01:00
Vittorio Giovara
22526c1f55 Canopus HQ/HQA decoder
Based on work by Kostya Shishkov <kostya.shishkov@gmail.com>.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-19 22:37:23 +01:00
Vittorio Giovara
e6fb844f7b Implement shared parsing of INFO tag in Canopus family
Add some bounds checking to CLLC; reduce HQX variable scoping,
add an error message.
2015-04-19 22:37:02 +01:00
Vittorio Giovara
5b5338f6d1 hqx: Implement slice-threaded decoding
Inspired by a patch from Ferdinand Oeinck <ferdo@demon.nl>.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-19 22:36:48 +01:00
Vittorio Giovara
453642f8af hqx: Store shareable data in main decoder context
In preparation for multithreaded decoding.
2015-04-19 22:36:41 +01:00
Michael Niedermayer
9a0f60a0f8 avcodec/mpeg4videodec: Use check_marker()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-19 15:34:43 +02:00
Vittorio Giovara
ea031b75fb hqx: Move DSP related code to a separate file 2015-04-19 12:41:59 +01:00
Vittorio Giovara
17aa81d947 hqx: Merge invalid format check within switch block 2015-04-19 12:41:59 +01:00
Vittorio Giovara
6a85dfc830 lavc: Replace av_dlog and tprintf with internal macros 2015-04-19 12:41:59 +01:00
Andreas Cadhalpun
faf9fe2c22 alsdec: validate time diff index
If begin is smaller than t, the subtraction 'begin -= t' wraps around,
because begin is unsigned. The same applies for end < t.

This causes segmentation faults.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-19 00:49:42 +02:00
James Almer
5cd2169344 wavpackenc: use put_sbits()
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-18 18:07:54 -03:00
Paul B Mahol
daf73d5d17 avcodec/g729dec: support decoding packets with multiple frames
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-04-17 19:01:58 +00:00
Andreas Cadhalpun
4c2b88678b alsdec: limit avctx->bits_per_raw_sample to 32
avctx->bits_per_raw_sample is used in get_sbits_long, which only
supports up to 32 bits.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-18 21:00:25 +02:00
Michael Niedermayer
7e104647a3 avcodec/alsdec: Use av_mallocz_array() for chan_data to ensure the arrays never contain random data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-18 20:50:23 +02:00
Andreas Cadhalpun
ef16501aeb alsdec: ensure channel reordering is reversible
If the same idx is used for more than one i, at least one entry in
sconf->chan_pos remains uninitialized.

This can cause segmentation faults.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-18 19:26:17 +02:00
James Almer
d8c52f5d04 proresenc_anatoliy: use put_sbits()
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-18 14:15:57 -03:00
James Almer
778bac2788 adpcm: use av_clip_intp2()
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-18 14:15:07 -03:00
James Almer
979b77eec5 dca_xll: use av_clip_intp2()
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-18 14:14:24 -03:00
James Almer
b5564e041b dcaenc: use put_sbits()
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-18 14:14:11 -03:00
James Almer
6863249b34 aaccoder: use put_sbits()
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-18 14:13:59 -03:00
Michael Niedermayer
e739cbb2bb avcodec/cabac: remove START/STOP_TIMER debug/benchmark code
Found-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-18 17:42:30 +02:00
Shivraj Patil
4efc0e6451 avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC horizontal and vertical mc functions
Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-17 17:39:32 +02:00
Michael Niedermayer
8768f8f4b9 avcodec/mpegaudiodec_template: use double to build csa tables
Fixes rounding difference between 32bit x86 and 64bit
Fixes fate failure with gapless mp3

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-17 13:50:37 +02:00
Michael Niedermayer
38f6726068 avcodec/atrac3plusdsp: fix on stack alignment
Fixes fate failure on ARM
2015-04-17 12:22:04 +02:00
Andreas Cadhalpun
bc4fee7f2a ac3: validate end in ff_ac3_bit_alloc_calc_mask
This fixes an invalid read if end is 0:
     band_end   = ff_ac3_bin_to_band_tab[end-1] + 1;

Depending on what is before the array, this can cause stack smashing,
when band_end becomes too large.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 21:37:16 +02:00
Andreas Cadhalpun
e224aa4191 aacpsy: avoid psy_band->threshold becoming NaN
If band->thr is 0.0f, the division is undefined, making norm_fac not a
number or infinity, which causes psy_band->threshold to become NaN.

This is passed on to other variables until it finally reaches
sce->sf_idx and is converted to an integer (-2147483648).

This causes a segmentation fault when it is used as array index.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 20:28:55 +02:00
Andreas Cadhalpun
0be54ad280 aasc: return correct buffer size from aasc_decode_frame
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 19:19:09 +02:00
Andreas Cadhalpun
5b75689b98 aacdec: consistently use avctx for logging in decode_eld_specific_config
ac may be NULL and then accessing ac->avctx results in a segmentation fault.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 18:44:18 +02:00
Andreas Cadhalpun
ae6fd7300b msrledec: use signed pixel_ptr in msrle_decode_pal4
This fixes segmentation faults, when pic->linesize[0] is negative.
In that case 'line * pic->linesize[0] + pixel_ptr' is treated as
unsigned and wraps around.

This reverts commit 7d78a964.
The problem was introduced in commit f7e1367f, which should obsolete
that commit.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 15:52:22 +02:00
Michael Niedermayer
c658269cd1 avcodec/h264_ps: Validate num_units_in_tick/time_scale before setting them in the context
This probably makes no big difference but it is more correct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 03:41:41 +02:00
Vittorio Giovara
7498f2221e h264: Do not fail on unsupported timing info
The spec madandate both time_scale and num_units_in_tick greater than 0,
however since they are not essential for decoding, just ignore the whole
block and try to finish parsing the VUI.

Related to Ticket4445.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-16 03:41:41 +02:00
Rostislav Pehlivanov
c5d4f87e81 aaccoder: Implement Perceptual Noise Substitution for AAC
This commit implements the perceptual noise substitution AAC extension. This is a proof of concept
implementation, and as such, is not enabled by default. This is the fourth revision of this patch,
made after some problems were noted out. Any changes made since the previous revisions have been indicated.

In order to extend the encoder to use an additional codebook, the array holding each codebook has been
modified with two additional entries - 13 for the NOISE_BT codebook and 12 which has a placeholder function.
The cost system was modified to skip the 12th entry using an array to map the input and outputs it has. It
also does not accept using the 13th codebook for any band which is not marked as containing noise, thereby
restricting its ability to arbitrarily choose it for bands. The use of arrays allows the system to be easily
extended to allow for intensity stereo encoding, which uses additional codebooks.

The 12th entry in the codebook function array points to a function which stops the execution of the program
by calling an assert with an always 'false' argument. It was pointed out in an email discussion with
Claudio Freire that having a 'NULL' entry can result in unexpected behaviour and could be used as
a security hole. There is no danger of this function being called during encoding due to the codebook maps introduced.

Another change from version 1 of the patch is the addition of an argument to the encoder, '-aac_pns' to
enable and disable the PNS. This currently defaults to disable the PNS, as it is experimental.
The switch will be removed in the future, when the algorithm to select noise bands has been improved.
The current algorithm simply compares the energy to the threshold (multiplied by a constant) to determine
noise, however the FFPsyBand structure contains other useful figures to determine which bands carry noise more accurately.

Some of the sample files provided triggered an assertion when the parameter to tune the threshold was set to
a value of '2.2'. Claudio Freire reported the problem's source could be in the range of the scalefactor
indices for noise and advised to measure the minimal index and clip anything above the maximum allowed
value. This has been implemented and all the files which used to trigger the asserion now encode without error.

The third revision of the problem also removes unneded variabes and comparisons. All of them were
redundant and were of little use for when the PNS implementation would be extended.

The fourth revision moved the clipping of the noise scalefactors outside the second loop of the two-loop
algorithm in order to prevent their redundant calculations. Also, freq_mult has been changed to a float
variable due to the fact that rounding errors can prove to be a problem at low frequencies.
Considerations were taken whether the entire expression could be evaluated inside the expression
, but in the end it was decided that it would be for the best if just the type of the variable were
to change. Claudio Freire reported the two problems. There is no change of functionality
(except for low sampling frequencies) so the spectral demonstrations at the end of this commit's message were not updated.

Finally, the way energy values are converted to scalefactor indices has changed since the first commit,
as per the suggestion of Claudio Freire. This may still have some drawbacks, but unlike the first commit
it works without having redundant offsets and outputs what the decoder expects to have, in terms of the
ranges of the scalefactor indices.

Some spectral comparisons: https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/Original.png (original),
https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/PNS_NO.png (encoded without PNS),
https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/PNS1.2.png (encoded with PNS, const = 1.2),
https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/Difference1.png (spectral difference).
The constant is the value which multiplies the threshold when it gets compared to the energy, larger
values means more noise will be substituded by PNS values. Example when const = 2.2:
https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/PNS_2.2.png

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-15 19:59:44 +02:00
Michael Niedermayer
574978d2bd avcodec/intelh263dec: Use check_marker()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-15 18:53:55 +02:00
Michael Niedermayer
0842df2619 Merge commit 'ec89f35e3e5eb9ec5221266e801efeee7ecab4df'
* commit 'ec89f35e3e5eb9ec5221266e801efeee7ecab4df':
  x265: Map color parameters

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-15 11:57:38 +02:00
Luca Barbato
ec89f35e3e x265: Map color parameters 2015-04-15 09:48:48 +02:00
Luca Barbato
0cbb147317 x264: Map color parameters 2015-04-15 09:48:47 +02:00
Michael Niedermayer
fbdaebb298 avcodec/ituh263dec: Use check_marker()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-15 03:22:27 +02:00
wm4
95f524aff5 lavc: use correct type for printf() argument
This was passing uint32_t for %d.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 21:45:07 +02:00
wm4
2b5f34f788 avformat, avcodec: log discard padding
Useful for debugging.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 21:37:46 +02:00
Rostislav Pehlivanov
a61c75e9f7 aacdec: Use macros for constants
This commit replaces the previous hardcoded constants with both new and previously
defined macros from aac.h. This change makes it easy for anyone reading the code
to know how encoding and decoding scalefactors works. It's also possibly
a step in unifying some of the code across both the encoder and decoder.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 18:04:02 +02:00
Michael Niedermayer
37d93fdbf0 avcodec/mpeg12dec: Use check_marker()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 15:30:39 +02:00
Michael Niedermayer
343f34c0b8 avcodec/get_bits: print details of the location of the missing bit in check_marker()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 15:30:39 +02:00
Paul B Mahol
c2fc466351 avcodec/alsdec: use av_malloc(z)_array()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-04-14 13:06:15 +00:00
Michael Niedermayer
4ba662b032 avcodec/mpeg4videodec: Improve wording of the missing header warning messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 14:41:11 +02:00
Michael Niedermayer
bca1577ed3 avcodec/mpeg4videodec: change log level to waning for incomplete header messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 14:12:38 +02:00
Michael Niedermayer
6e86ee97c8 Merge commit '49e531ff4706279c7eed774f2c8b896942924ce2'
* commit '49e531ff4706279c7eed774f2c8b896942924ce2':
  mmal: Reference MMAL VC lib explicitly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 13:40:58 +02:00
Michael Niedermayer
7c521d4528 Merge commit '2de7650451d90520135d8cf6f96caa0658824208'
* commit '2de7650451d90520135d8cf6f96caa0658824208':
  mmal: Move system headers before local headers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 13:28:29 +02:00
wm4
13e4f2c7f7 mpeg4videodec: Remove useless messages
They seem to sometimes trigger with old AVI files. They are just
confusing, do not help anyone, and use sloppy language.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-14 12:32:43 +02:00
wm4
49e531ff47 mmal: Reference MMAL VC lib explicitly
This is optional, but ensures that linking with -Wl,--as-needed does not
drop the library containing the MMAL VC driver. The driver normally
"registers" itself in the library constructor, but since no symbols are
explicitly referenced, the linker could remove it with --as-needed
enabled.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-14 12:32:13 +02:00
wm4
2de7650451 mmal: Move system headers before local headers
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-14 12:32:10 +02:00
Rostislav Pehlivanov
013498ba15 aacenc: Adjust the initial offset for PNS values
This commit adjusts the intial offset for PNS values, introduced
with commit f7f71b5795 earlier. This
commit shifts the value in such a way that no further offsets are
required in the aaccoder.c file. Earlier version of the PNS patch had 2 offsets in both the aaccoder and aacenc.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 03:42:57 +02:00
Michael Niedermayer
89b3c5215a avcodec/atrac3plusdec: Free mdct contexts at the end
Fixes memleak

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 02:31:37 +02:00
Michael Niedermayer
4d74c8d550 avcodec/ffv1: dont leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 20:08:42 +02:00
Michael Niedermayer
d19fc69f15 avcodec/ffv1: remove unneeded variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 20:07:45 +02:00
Michael Niedermayer
a3963cc8ec avcodec/ffv1: use av_freep()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 20:05:56 +02:00
Michael Niedermayer
fb6dd77000 Merge commit '73dacabfc9b9ef1fd2c08105fdab6238ee29c2fc'
* commit '73dacabfc9b9ef1fd2c08105fdab6238ee29c2fc':
  ffv1: Check memory allocations

Conflicts:
	libavcodec/ffv1.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 19:59:41 +02:00
Vittorio Giovara
73dacabfc9 ffv1: Check memory allocations
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-13 17:51:31 +02:00
wm4
f4f3065c69 h264: remove bogus YCgCo warning message
YCgCo decoding works just fine. It depends on the API user what is done
with the output. Some API users might support it, some not. Some users
might support it under certain circumstances only.

It is not the job of the decoder to print this message. If the API user
supports it, this message is extremely unhelpful.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 13:46:38 +02:00
Rostislav Pehlivanov
f7f71b5795 aacenc: Add support for Perceptual Noise Substitution energy values
This commit implements support for writing the noise energy values used in PNS.
The difference between regular scalefactors and noise energy values is that the latter
require a small preamble (NOISE_PRE + energy_value_diff) to be written as the first
noise-containing band. Any following noise energy values use the previous one to
base their "diff" on. Ordinary scalefactors remain unchanged other than that they ignore the noise values.

This commit should not change anything by itself, the following commits will bring it in use.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 04:14:27 +02:00
James Almer
bbdb50d7a8 libx265: print supported presets and tunes on error
Based on code from libavcodec/libx264.c

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-04-11 11:13:28 -04:00
Timothy Gu
744594685e cabac-test: Return 1 if there are any errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 21:49:37 +02:00
James Almer
61090db29a avcodec/libx265: print supported presets and tunes on error
Based on code from libavcodec/libx264.c

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-10 16:47:29 -03:00
Michael Niedermayer
bc48c88918 avcodec/h264: Do not fail with randomly truncated VUIs
Fixes Ticket4445

Tested-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 18:35:07 +02:00
Michael Niedermayer
599dc8fee1 avcodec/hqx: Use av_clip_uintp2()
Suggested-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 12:38:03 +02:00
James Almer
3553b815f6 avcodec/libdcadec: honor AVCodecContext bitexact flag
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-09 22:37:39 -03:00
Ferdinand Oeinck
eff72a6c73 libavcodec/hqx: multi threading support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 03:11:40 +02:00
Michael Niedermayer
72a580268f Merge commit '5980c924e309ae1dde8bd52d9938f94ff02602eb'
* commit '5980c924e309ae1dde8bd52d9938f94ff02602eb':
  dnxhd: Log the selected profile id

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 20:26:18 +02:00
Michael Niedermayer
9fd3d9acf7 Merge commit 'f8fd0c29ce5dc7d4be13e7e89d0f1e8a035ae71b'
* commit 'f8fd0c29ce5dc7d4be13e7e89d0f1e8a035ae71b':
  v210: Fix typo in header guards

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 20:09:10 +02:00
Timo Rothenpieler
7b0689c55f avcodec/nvenc: Add options for level and tier
Previous version reviewed-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 18:20:26 +02:00
Michael Niedermayer
7be2d2a70c avcodec/h264: Use only one ERContext
This fixes slice threads with error concealment

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 17:42:04 +02:00
Ferdinand Oeinck
0266988ccd hqx: Fix clipping error in idct put function
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-09 13:52:04 +02:00
Vittorio Giovara
5980c924e3 dnxhd: Log the selected profile id 2015-04-09 13:51:58 +02:00
Michael Niedermayer
98d0c4236c avcodec/h264: Be more tolerant to changing pps id between slices
Fixes Ticket4446

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 13:50:07 +02:00
Vittorio Giovara
f8fd0c29ce v210: Fix typo in header guards 2015-04-09 13:40:44 +02:00
Michael Niedermayer
e88b3852ae avcodec/aacdec: Fix storing state before PCE decode
Fixes Ticket4460

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 00:42:25 +02:00
Michael Niedermayer
32e06c485b avcodec/h264_ps: Move truncation check from VUI to SPS
This more completely checks for truncation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 22:19:56 +02:00
Michael Niedermayer
edaca0812a Merge commit 'bb815dfc38b8ef7a89d6b9684ce0cdc296385d6d'
* commit 'bb815dfc38b8ef7a89d6b9684ce0cdc296385d6d':
  g2meet: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 20:48:44 +02:00
Diego Biurrun
bb815dfc38 g2meet: K&R formatting cosmetics 2015-04-08 14:23:36 +02:00
Michael Niedermayer
845ab37b05 avcodec/h264_slice: Fix uninitialized variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 13:05:38 +02:00
Michael Niedermayer
386601286f avcodec/h264_slice: Dont reset mb_aff_frame per slice
Fixes null pointer dereference
Fixes Ticket4440

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 12:29:47 +02:00