29162 Commits

Author SHA1 Message Date
Christophe Gisquet
35738e5898 proresenc_kostya: properly account for alpha
The packet buffer allocation considered as dct-coded, while it is
actually run-coded and thus requires a larger buffer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 117bc8e6ffc744fedcf77edf2fdb33c964b83370)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 15:44:54 +02:00
Christophe Gisquet
60bfa9154d proresenc_kostya: report buffer overflow
If the allocated size, despite best efforts, is too small, exit
with the appropriate error.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 52b81ff4635c077b2bc8b8d3637d933b6629d803)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 02:40:15 +02:00
Christophe Gisquet
9794727ccd proresenc_kostya: remove unneeded parameters
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bf10f09bccdcfdb41b9f5bbae01d55961bfd0693)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 02:40:14 +02:00
Michael Niedermayer
11420649d0 avcodec/snow: fix null pointer dereference in cleanup after allocation failure
Fixes: snowf.avi
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9a162146ca6cc12ef7ad4a15164349482885962c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 15:45:42 +02:00
Michael Niedermayer
dbf5d7e5cd avcodec/huffyuvdec: fix overread checks
Fixes: ffvhuff_f.avi
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ba47d519e537299179d20b9a599c5824589a3f7a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 15:32:00 +02:00
Michael Niedermayer
6badd558ce avcodec/get_bits: add BITS_LEFT() for finding the bits left with an opened reader
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 11512d70facf42fb490168d33a5986448cf36074)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 15:31:59 +02:00
Michael Niedermayer
a1fe3b4150 avcodec/vc1dec: do not crash when flushing without an allocated frame
Fixes Ticket3837
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6801eb0a0981f113f5f09ed4799d9ae805af62a3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 02:26:29 +02:00
Michael Niedermayer
fc57959fd5 avcodec/iff: Factorize av_pix_fmt_desc_get() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9bcdb98839f3d883867d87c6425e67ed7bcc7149)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 22:40:50 +02:00
Michael Niedermayer
83956309cc avcodec/iff: check pixfmt for rgb8 / rgbn
Fixes out of array access

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3539d6c63a16e1b2874bb037a86f317449c58770)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 22:40:50 +02:00
Felix Abecassis
6928193493 h264: fix interpretation of interleved stereo modes
Column and row frame packing arrangements were inverted.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
(cherry picked from commit a7e541c9926d531a100ba0d36f4e56956dd84651)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 22:40:50 +02:00
Anton Khirnov
a72b7286e6 cdgraphics: do not return 0 from the decode function
0 means no data consumed, so it can trigger an infinite loop in the
caller.

CC:libav-stable@libav.org
(cherry picked from commit c7d9b473e28238d4a4ef1b7e8b42c1cca256da36)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 22:40:50 +02:00
Michael Niedermayer
fdfe94f4b1 avcodec/wavpackenc: Fix log2sample() result value
Found-by: CSA
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e706fe764049b3f1ccf10ba9f686426a4c007906)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 22:40:50 +02:00
Michael Niedermayer
638c3aca64 avcodec/dvdsub_parser: print message if packet is smaller than the packet size field
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bcc898dd2643c883522ffa565be4b226ce798c78)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 01:27:04 +02:00
Michael Niedermayer
76d59f1b34 avcodec/dvdsub_parser: Check buf_size before reading 32bit packet size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 81c1657a593b1c0f8e46fca00ead1d30ee1cd418)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 01:27:03 +02:00
Michael Niedermayer
aa0a8ef50e avcodec/dvdsub_parser: never return 0 when the input isnt 0
Fixes a infinite loop
Fixes Ticket3804

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit cfdb30d2f1241de9354a8efdbf8252d0f1a6f933)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 01:27:02 +02:00
Michael Niedermayer
d6173ae341 avcodec/mpeg12dec: fix support for interlaced mpeg2 with missing last slice
Fixes Ticket3809

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f95298c913899207344d668a6d5624cb2d2e480c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 21:20:43 +02:00
Michael Niedermayer
594b1fa961 libavcodec/h264_parser: Increase parse_history, fix huge resolutions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0782fb6bcb32fe3ab956a99af4cc472ff81da0c2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 16:50:32 +02:00
Benoit Fouet
7a1262fca3 h264_mp4toannexb_bsf: account for consecutive IDR pictures.
If there are consecutive IDR pictures, then SPS/PPS should be prepended
to all of them, not only the first one.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bf428bb3145c4f0eef32f8ef00de0ee222b3e414)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 16:50:31 +02:00
Chris \"Koying\" Browet
6d2219e9f9 avcodec/h264_mp4toannexb_bsf: fix issue when sps/pps are already in the bistream
(cherry picked from commit ad91bf854b559f1afc42fc06f8a7dfbb75def5c8)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 16:50:26 +02:00
Michael Niedermayer
c61ac696e5 avcodec/avdct: Add avcodec_dct_get_class()
This should have been in the initial commit of AVDCT

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2f717be22a933fc8f53b2cb2540ffb3358896467)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-30 22:39:08 +02:00
Vittorio Giovara
ab1ea597bd g2meet: allow size changes within original sizes
(cherry picked from commit 14b4e64eabc84c5a5e57c8ccc56bbeb95380823b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-30 22:32:01 +02:00
Christophe Gisquet
65259b4d68 x86: hevc_mc: replace one lea by add
Should have been in 036f11bdb565.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 17:32:01 +02:00
Michael Niedermayer
fcc6568a10 avcodec: add avdct
This provides a public sustainable API/ABI for DCT functions.
Only externally used dct functions are included.
The structure is extensible without ABI issues compared to the
existing dct contexts.

See Mailing list and IRC log of 2014-07-26/27

Reviewed-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 932ff7095696a90fda83a8c6343b57f475b40951)

Conflicts:

	doc/APIchanges
2014-07-27 17:28:32 +02:00
Michael Niedermayer
cf92cc8751 avcodec/hevc: clear HEVClcList[i] on allocation
Fixes fate failure with --enable-memory-poisoning && make THREAD_TYPE=slice THREADS=7  fate-hevc-conformance-ENTP_C_Qualcomm_1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 01:34:57 +02:00
James Almer
ad24256e7e diracdec: remove unused dsputil context
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 00:11:18 +02:00
Michael Niedermayer
880dbe43ca avcodec/hevc: treat current_sps like sps_list
This simplifies the management of current_sps
Fixes Ticket3458

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 21:49:56 +02:00
Michael Niedermayer
0fc2045d5f avcodec/hevc_ps: prevent stale pointer in malloc failure case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 21:49:56 +02:00
Michael Niedermayer
5bda0467d2 avcodec/mpegvideo_enc: make edge for interlaced mpeg2 encoding smaller
Fixes segfault
the size can probably be reduced further for the mpeg2 case

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 19:56:24 +02:00
Michael Niedermayer
339d8fb353 avcodec/mpegvideo_enc: check intra dc precission
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 19:56:23 +02:00
Michael Niedermayer
97f86cd976 avcodec/mpegvideo_enc: workaround applications specifying intra dc level based on 8 and othes based on 0bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 19:56:22 +02:00
Michael Niedermayer
8a91cf857b avcodec/options_table: add liberal limits to intra dc precission
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 19:56:21 +02:00
Michael Niedermayer
19e5114eaa avcodec/mpegvideo_enc: return proper error instead of failing assertion when max rate is not set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 19:56:19 +02:00
Mickaël Raulet
453f8eaee2 hevc/rext: add support for Range extension tools
SPS features/flags:
- transform_skip_rotation_enabled_flag
- transform_skip_context_enabled_flag
- implicit_rdpcm_enabled_flag
- explicit_rdpcm_enabled_flag
- intra_smoothing_disabled_flag
- persistent_rice_adaptation_enabled_flag

PPS features/flags:
- log2_max_transform_skip_block_size
- cross_component_prediction_enabled_flag
- chroma_qp_offset_list_enabled_flag
- diff_cu_chroma_qp_offset_depth
- chroma_qp_offset_list_len_minus1
- cb_qp_offset_list
- cr_qp_offset_list
- log2_sao_offset_scale_luma
- log2_sao_offset_scale_chroma
(cherry picked from commit 005294c5b939a23099871c6130c8a7cc331f73ee)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 14:08:20 +02:00
Mickaël Raulet
5a41999d81 hevc/rext: basic infrastructure for supporting range extension
- support for 4:2:2 and 4:4:4 up to 12 bits
- add a new profile for range extension
(cherry picked from commit d3c067fa65bbc871758d28aa07f54123430ca346)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 13:47:35 +02:00
Mickaël Raulet
250430bf28 hevc: separate residu and prediction (needed for Range Extension)
(cherry picked from commit 6b3856ef57d66f2e59ee61fd2eb5f83b6d0d7d4a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 13:37:27 +02:00
Mickaël Raulet
255086a7e0 hevc: use local variable for split_cu_flag
(cherry picked from commit ee71e9e9c12fc47856c452efb278f9f593a923ee)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 13:31:40 +02:00
Mickaël Raulet
f5beda3bfd hevc: move restore_tqb where it should be.
(cherry picked from commit 8fafc96a9805d11bfe32537c8f78a294a5844065)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 13:25:55 +02:00
Mickaël Raulet
1241eb8870 hevc: simplify SAO computation, delay from one row its computation
(cherry picked from commit f2c5f647cec786df26f442a85e6d685a131a50c9)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 13:11:33 +02:00
Mickaël Raulet
c4058b7288 hevc/cabac: add new context for new syntax elements related to Rext(cherry picked from commit 6d71e2394f52679cfc8b86fb5880f89e6bd311d4)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 00:00:45 +02:00
Mickaël Raulet
07b91b8d62 hevc: cleaning up, remove unused constants(cherry picked from commit 7eed32d076c57aa03011d65a64903e8bdb633978)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-14 23:46:36 +02:00
Michael Niedermayer
cc3e7a4c3d Merge commit 'acf91215c74a91eb3b86af01dcb1d3c78d0e2310'
* commit 'acf91215c74a91eb3b86af01dcb1d3c78d0e2310':
  x86: dsputil: Avoid pointless CONFIG_ENCODERS indirection

Conflicts:
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/dsputilenc_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 21:51:20 +02:00
Michael Niedermayer
98227ba5fa Merge commit 'a8552ee3eb335d2fd2d6c99363367a6090298f78'
* commit 'a8552ee3eb335d2fd2d6c99363367a6090298f78':
  ppc: dsputil: Coalesce all init files

Conflicts:
	libavcodec/ppc/dsputil_altivec.h
	libavcodec/ppc/dsputil_ppc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 21:08:28 +02:00
Diego Biurrun
acf91215c7 x86: dsputil: Avoid pointless CONFIG_ENCODERS indirection
The remaining dsputil bits are encoding-specific anyway.
2014-07-13 07:01:05 -07:00
Ben Avison
42c1cc35b7 armv6: Accelerate ff_imdct_half for general case (mdct_bits != 6)
The previous implementation targeted DTS Coherent Acoustics, which only
requires mdct_bits == 6. This relatively small size lent itself to
unrolling the loops a small number of times, and encoding offsets
calculated at assembly time within the load/store instructions of each
iteration.

In the more general case (codecs such as AAC and AC3) much larger arrays
are used - mdct_bits == [8, 9, 11]. The old method does not scale for
these cases, so more integer registers are used with non-unrolled versions
of the loops (and with some stack spillage). The postrotation filter loop
is still unrolled by a factor of 2 to permit the double-buffering of some
VFP registers to facilitate overlap of neighbouring iterations.

I benchmarked the result by measuring the number of gperftools samples
that hit anywhere in the AAC decoder (starting from aac_decode_frame())
or specifically in ff_imdct_half_c / ff_imdct_half_vfp, for the same
example AAC stream:

                  Before          After
                  Mean   StdDev   Mean   StdDev  Confidence  Change
aac_decode_frame  2368.1 35.8     2117.2 35.3    100.0%      +11.8%
ff_imdct_half_*   457.5  22.4     251.2  16.2    100.0%      +82.1%

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 15:17:04 +02:00
James Almer
276bef5340 x86/hevc_deblock: add ff_hevc_[hv]_loop_filter_luma_{8, 10}_sse2
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 13:48:31 +02:00
Ronald S. Bultje
ebd1c505d2 h264: fix direct temporal mvs for bottom-field-first poc order.
Fixes http://forum.doom9.org/showthread.php?t=170867.
Fixes: corrupt-1677.mkv

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 13:26:19 +02:00
Diego Biurrun
a8552ee3eb ppc: dsputil: Coalesce all init files 2014-07-13 04:10:13 -07:00
Andreas Cadhalpun
39a6e02fd4 fix spelling errors
Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 22:33:27 +02:00
Michael Niedermayer
1db641cbd2 avcodec/hevc: more clearing to avoid stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 21:31:37 +02:00
Michael Niedermayer
ccd6911c18 avcodec/hevc_ps: do not loose all reference to pointers still in use
Fixes leaving a pointer to unreferenced memory
Fixes Ticket 3115

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 21:03:09 +02:00