Commit Graph

33293 Commits

Author SHA1 Message Date
Anton Khirnov
ecee1148af qsvenc_hevc: use the correct HW plugin UID 2015-07-22 12:11:46 +02:00
周晓勇
3e35f8efa1 avcodec: loongson optimize pixblockdsp with mmi
Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-22 12:11:31 +02:00
Niklesh
d373b508b5 movtextenc.c: Add support for text highlighting
This patch takes care of the secondary color changes in ASS through highlight and hilightcolor boxes.

Signed-off-by: Niklesh <niklesh.lalwani@iitb.ac.in>
2015-07-21 20:13:40 -07:00
Niklesh
93e80a343b movtextenc.c: Reorganize the code for easier maintenance
This patch reorganizes the code to make it easier to add support for different text modifier boxes and other styles in the future.

Signed-off-by: Niklesh <niklesh.lalwani@iitb.ac.in>
2015-07-21 20:13:40 -07:00
Michael Niedermayer
8fe00dd18a Merge commit '6b2b26e7af3ede0abfb46eb5725c26d1083f50bc'
* commit '6b2b26e7af3ede0abfb46eb5725c26d1083f50bc':
  dds: Decode using optimal slices sizes

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 20:35:59 +02:00
Michael Niedermayer
2de5737ee2 Merge commit '977105407cae55876041dddbf4ce0934cdd4cd6c'
* commit '977105407cae55876041dddbf4ce0934cdd4cd6c':
  hap: Decode using optimal slices sizes

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 20:21:54 +02:00
James Almer
d32547a24a avcodec/utils: silence some deprecation warnings
And prevent eventual compilation failures once the relevant functions
and fields are removed.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-07-21 13:03:29 -03:00
James Almer
3e46c7dbbe avcodec/options-test: don't alloc avctx->coded_frame
It's done automatically by avcodec_open2() now.
Fixes memleaks in fate-libavcodec-options.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-07-21 13:03:25 -03:00
周晓勇
c303ad85a9 avcodec: loongson optimize blockdsp with mmi
Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 17:50:19 +02:00
Tom Butterworth
5d0616ce0e avcodec/hapdec: log reason for failure when texture type doesn't match stream
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 14:54:25 +02:00
周晓勇
b50910e9a9 avcodec: loongson optimize xvid idct with mmi
Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 14:48:23 +02:00
周晓勇
21e2f030bf avcodec: loongson move simple idct functions to a separate file
Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 14:48:18 +02:00
Rostislav Pehlivanov
331c1e7494 aacenc: move the generation of ff_aac_pow34sf_tab[]
This commit moves the generation of ff_aac_pow34sf_tab[] out of the
encoder and into the table generator. The original commit log for
this table in 2011 actually mentions that it should be moved outside
but this never happened.

This is the first commit which cleans up the encoder a little.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 13:53:04 +02:00
Luca Barbato
6b2b26e7af dds: Decode using optimal slices sizes
Enjoy some cache locality and use less threads.
About the same speedup provided to HAP.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-21 12:14:25 +02:00
Luca Barbato
977105407c hap: Decode using optimal slices sizes
Enjoy some cache locality and use less threads.
About 5x speedup (from 60ms to 12ms to decode a 4k frame).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-21 12:14:25 +02:00
Tom Butterworth
6b96c70f2d avcodec/hapdec: don't log texture format every frame, do it once per decode session
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 03:25:01 +02:00
Tom Butterworth
440c26e9c4 libavcodec/hap: remove unused struct member
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 03:15:04 +02:00
Tom Butterworth
d8488090e5 libavcodec/hap: Name enums
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 03:14:53 +02:00
James Almer
651448a8a7 avcodec/aacsbr: fix compilation with hardcoded tables
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-07-20 21:01:19 -03:00
Michael Niedermayer
5d5f8b29b4 Merge commit 'f56d8d8dd72b1ab52aa814c5a0fccabf8040ef68'
* commit 'f56d8d8dd72b1ab52aa814c5a0fccabf8040ef68':
  h264: aarch64: intra prediction optimisations

Conflicts:
	libavcodec/h264pred.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 01:39:30 +02:00
Michael Niedermayer
495eee0123 Merge commit '40cf1bbacc6220a0aa6bed5c331871d43f9ce370'
* commit '40cf1bbacc6220a0aa6bed5c331871d43f9ce370':
  Deprecate avctx.coded_frame

Conflicts:
	ffmpeg.c
	libavcodec/a64multienc.c
	libavcodec/asvenc.c
	libavcodec/cljrenc.c
	libavcodec/dpxenc.c
	libavcodec/gif.c
	libavcodec/mpegvideo_enc.c
	libavcodec/nvenc.c
	libavcodec/proresenc_kostya.c
	libavcodec/pthread_frame.c
	libavcodec/rawenc.c
	libavcodec/sunrastenc.c
	libavcodec/tiffenc.c
	libavcodec/version.h
	libavcodec/xbmenc.c
	libavcodec/xwdenc.c
	libavdevice/v4l2.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 01:17:15 +02:00
Michael Niedermayer
809780ca42 avcodec/utils: Do not merge side data for encoders
With side data now being added to every MPEG*/H26* video encoder
in the form of a quality scalar, software which simply stores
the pkt->data to get an ES stream would break.
This also as a side-effect makes the code faster

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 00:54:59 +02:00
Michael Niedermayer
e5bae39f46 Merge commit '5d3addb937946eca5391e40b5e6308e74ac6f77b'
* commit '5d3addb937946eca5391e40b5e6308e74ac6f77b':
  Add a quality factor packet side data

Conflicts:
	doc/APIchanges
	ffmpeg.c
	libavcodec/avcodec.h
	libavcodec/mpegvideo_enc.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 00:54:42 +02:00
Michael Niedermayer
b1fad7ac20 Merge commit 'd6604b29ef544793479d7fb4e05ef6622bb3e534'
* commit 'd6604b29ef544793479d7fb4e05ef6622bb3e534':
  Gather all coded_frame allocations and free functions to a single place

Conflicts:
	libavcodec/a64multienc.c
	libavcodec/asvenc.c
	libavcodec/cljrenc.c
	libavcodec/dpxenc.c
	libavcodec/dvenc.c
	libavcodec/gif.c
	libavcodec/huffyuvenc.c
	libavcodec/jpeglsenc.c
	libavcodec/libopenjpegenc.c
	libavcodec/libtheoraenc.c
	libavcodec/libvpxenc.c
	libavcodec/mpegvideo_enc.c
	libavcodec/nvenc.c
	libavcodec/pngenc.c
	libavcodec/proresenc_kostya.c
	libavcodec/sunrastenc.c
	libavcodec/tiffenc.c
	libavcodec/utils.c
	libavcodec/utvideoenc.c
	libavcodec/v210enc.c
	libavcodec/v410enc.c
	libavcodec/xbmenc.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 23:43:05 +02:00
Janne Grunau
9ed6f9a17c arm: use a local label instead of the function symbol in ff_prefetch_arm
Avoids a relocation which might end out of range for thumb2.

Reported-By: Ludovic Fauvet <etix@videolan.org>
Bug-Id: https://bugs.webkit.org/show_bug.cgi?id=137022
CC: libav-stable@libav.org
2015-07-20 23:10:29 +02:00
Janne Grunau
f56d8d8dd7 h264: aarch64: intra prediction optimisations 2015-07-20 23:10:29 +02:00
Michael Niedermayer
439c9760b0 Merge commit '91f9b6579ac684c4b51c4cd0dbaed0a4f8295edf'
* commit '91f9b6579ac684c4b51c4cd0dbaed0a4f8295edf':
  flashsvenc: Keep coded_frame.key_frame a write-only variable

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 22:36:22 +02:00
Michael Niedermayer
b97e3e11a9 Merge commit '10a9149de242c7bbc4e130d3d7c593b89e20f80e'
* commit '10a9149de242c7bbc4e130d3d7c593b89e20f80e':
  ffv1enc: Keep coded_frame.key_frame a write-only variable

Conflicts:
	libavcodec/ffv1.h
	libavcodec/ffv1enc.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 22:25:53 +02:00
Michael Niedermayer
256430cf38 Merge commit 'efc618aff9d68d2ddc323a5c5f892ac71951f162'
* commit 'efc618aff9d68d2ddc323a5c5f892ac71951f162':
  qtrleenc: Keep coded_frame.key_frame a write-only variable

Conflicts:
	libavcodec/qtrleenc.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 22:14:29 +02:00
Michael Niedermayer
bde7f5b135 Merge commit 'f3b4a92241a33d444f7f6018ebc12e2e3a2d335f'
* commit 'f3b4a92241a33d444f7f6018ebc12e2e3a2d335f':
  libtheoraenc: Keep coded_frame.key_frame a write-only variable

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 22:13:42 +02:00
Michael Niedermayer
96504b3f72 Merge commit 'd6006dd9f0d4d01023359230212f1f9fa4800e5b'
* commit 'd6006dd9f0d4d01023359230212f1f9fa4800e5b':
  libvpxenc: Do not entangle coded_frame

Conflicts:
	libavcodec/libvpxenc.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 22:05:27 +02:00
Michael Niedermayer
70c648db89 Merge commit '7fc8d8a1b3da1666176b3d92e989ee74f3ef014e'
* commit '7fc8d8a1b3da1666176b3d92e989ee74f3ef014e':
  libxvid: Do not entangle coded_frame

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 22:01:44 +02:00
Michael Niedermayer
033144c0d1 Merge commit '56672aeaee19216d2fd8eeb9964b1f71f0af2919'
* commit '56672aeaee19216d2fd8eeb9964b1f71f0af2919':
  svq1enc: Do not entangle coded_frame

Conflicts:
	libavcodec/svq1enc.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 21:53:09 +02:00
Michael Niedermayer
f2a581e2ee Merge commit '05fb4c9aaf84b59f8ab1ce8d4c0f49dd12113024'
* commit '05fb4c9aaf84b59f8ab1ce8d4c0f49dd12113024':
  proresenc: Do not entangle coded_frame

Conflicts:
	libavcodec/proresenc_kostya.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 21:44:53 +02:00
Michael Niedermayer
a99f0ad194 Merge commit '91767360d86ac786571593ab11c7291010ab3829'
* commit '91767360d86ac786571593ab11c7291010ab3829':
  a64multienc: Do not entangle coded_frame

Conflicts:
	libavcodec/a64multienc.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 21:40:34 +02:00
Michael Niedermayer
6497aab022 Merge commit '95e2317ed85502dd8d96bcd9b12084dbfb8f9e8e'
* commit '95e2317ed85502dd8d96bcd9b12084dbfb8f9e8e':
  roqvideoenc: Drop unneeded initialization

Conflicts:
	libavcodec/roqvideoenc.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 21:31:42 +02:00
Michael Niedermayer
16b68bd2ee Merge commit '1f171de8cae9d0c527c5f0bae2a597dbd65fd3a4'
* commit '1f171de8cae9d0c527c5f0bae2a597dbd65fd3a4':
  mpegvideo_enc: Drop unnneded initialization

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 21:20:51 +02:00
Ivan Uskov
264ba3d847 libavcodec/qsvdec.c: missed MFXVideoDECODE_Close() call
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 19:57:57 +02:00
Djordje Pesut
f85bc147fb avcodec: Implementation of AAC_fixed_decoder (SBR-module)
Add fixed poind code.

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 17:20:16 +02:00
Jovan Zelincevic
b0414da90d avcodec: Table creation for AAC_fixed_decoder (SBR-module)
Create tables for fixed point code.

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 17:20:16 +02:00
Djordje Pesut
5499467d5d avcodec: Template creation for AAC decoder (SBR-module)
Move the existing code to a new template file.

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 17:20:16 +02:00
Niklesh
a927aacbe6 movtextdec.c: Correct the highlight tags
Signed-off-by: Niklesh <niklesh.lalwani@iitb.ac.in>
2015-07-20 08:16:19 -07:00
Vittorio Giovara
40cf1bbacc Deprecate avctx.coded_frame
The rationale is that coded_frame was only used to communicate key_frame,
pict_type and quality to the caller, as well as a few other random fields,
in a non predictable, let alone consistent way.

There was agreement that there was no use case for coded_frame, as it is
a full-sized AVFrame container used for just 2-3 int-sized properties,
which shouldn't even belong into the AVCodecContext in the first place.

The appropriate AVPacket flag can be used instead of key_frame, while
quality is exported with the new AVPacketSideData quality factor.
There is no replacement for the other fields as they were unreliable,
mishandled or just not used at all.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-20 15:06:50 +01:00
Vittorio Giovara
5d3addb937 Add a quality factor packet side data
This is necessary to preserve the quality information currently exported
with coded_frame. Add the new side data to every encoder that needs it,
and use it in avconv.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-20 15:06:47 +01:00
Donny Yang
0030613d69 avcodec/apngdec: Fix typos in decoder causing incorrect results
Signed-off-by: Donny Yang <work@kota.moe>
2015-07-20 13:46:50 +00:00
Vittorio Giovara
d6604b29ef Gather all coded_frame allocations and free functions to a single place
Allocating coded_frame is what most encoders do anyway, so it makes
sense to always allocate and free it in a single place. Moreover a lot
of encoders freed the frame with av_freep() instead of the correct API
av_frame_free().

This bring uniformity to encoder behaviour and prevents applications
from erroneusly accessing this field when not allocated. Additionally
this helps isolating encoders that export information with coded_frame,
and heavily simplifies its deprecation.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-20 14:16:15 +01:00
Vittorio Giovara
91f9b6579a flashsvenc: Keep coded_frame.key_frame a write-only variable 2015-07-20 14:13:42 +01:00
Vittorio Giovara
10a9149de2 ffv1enc: Keep coded_frame.key_frame a write-only variable 2015-07-20 14:13:42 +01:00
Vittorio Giovara
efc618aff9 qtrleenc: Keep coded_frame.key_frame a write-only variable 2015-07-20 14:13:42 +01:00
Vittorio Giovara
f3b4a92241 libtheoraenc: Keep coded_frame.key_frame a write-only variable 2015-07-20 14:13:42 +01:00
Vittorio Giovara
d6006dd9f0 libvpxenc: Do not entangle coded_frame
Keep coded_frame.key_frame a write-only variable.
2015-07-20 14:13:42 +01:00
Vittorio Giovara
7fc8d8a1b3 libxvid: Do not entangle coded_frame 2015-07-20 14:13:42 +01:00
Vittorio Giovara
56672aeaee svq1enc: Do not entangle coded_frame 2015-07-20 14:13:42 +01:00
Vittorio Giovara
05fb4c9aaf proresenc: Do not entangle coded_frame 2015-07-20 14:13:42 +01:00
Vittorio Giovara
75c1ed2e4c ffv1enc: Use input frame to set SAR and interlacing 2015-07-20 14:13:42 +01:00
Vittorio Giovara
91767360d8 a64multienc: Do not entangle coded_frame
This change (and the following ones of the same kind) is mainly to
simplify wrapping this section with an #if FF_API block later on.

No functional changes are applied, the fields of the context coded_frame
fields are directly initialized, instead of keeping a reference to the
coded_frame itself.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-20 14:12:48 +01:00
Vittorio Giovara
95e2317ed8 roqvideoenc: Drop unneeded initialization
Its fields are never initialized to begin with.
2015-07-20 13:57:25 +01:00
Vittorio Giovara
1f171de8ca mpegvideo_enc: Drop unnneded initialization
coded_frame is already initialized where needed.
2015-07-20 13:57:18 +01:00
周晓勇
fdac5ff682 avcodec: loongson relocate constants of idctdsp and h264pred
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 14:29:22 +02:00
周晓勇
4bd6193397 avcodec: loongson constants redefined with macros
Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 14:29:22 +02:00
Michael Niedermayer
749f85496c avcodec/ffv1enc: fix assertion failure with unset bits per raw sample
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 02:11:48 +02:00
Carl Eugen Hoyos
c239fcb948 lavc/jpeg2000: Signal lossless / bit-exact video stream. 2015-07-20 00:28:13 +02:00
Carl Eugen Hoyos
d8d2f934bd lavc: Improve documentation for rc_max_rate and bit_rate.
Both may be set by user (libavformat) on decoding.
2015-07-20 00:27:51 +02:00
Michael Niedermayer
5c583b1419 avcodec/dds: Flip more R<->B cases
Fixes Ticket4665

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 00:03:11 +02:00
Michael Niedermayer
36a87c2dc7 avcodec/dds: fix paletted files
Fixes Ticket4664

The changed fate tests lack red/blue shades and thus look correct
either way

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-19 23:26:59 +02:00
Michael Niedermayer
ea8785ceda avcodec/utils: Check that channel count is valid in avcodec_open2();
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-19 18:17:45 +02:00
Michael Niedermayer
9c943e077b Merge commit '69b92f1b99f3f210be19ee6ec06f6c0de1733031'
* commit '69b92f1b99f3f210be19ee6ec06f6c0de1733031':
  qsvenc: properly handle asynchronous encoding

Conflicts:
	libavcodec/qsvenc.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-19 16:34:12 +02:00
Michael Niedermayer
f929081f2e Merge commit 'f5c4d38c78347b09478e21a661befff4b2d44643'
* commit 'f5c4d38c78347b09478e21a661befff4b2d44643':
  qsvdec: properly handle asynchronous decoding

Conflicts:
	libavcodec/qsvdec.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-19 16:13:35 +02:00
Anton Khirnov
69b92f1b99 qsvenc: properly handle asynchronous encoding
Wait for async_depth frames before syncing.
2015-07-19 10:06:53 +02:00
Anton Khirnov
f5c4d38c78 qsvdec: properly handle asynchronous decoding
Wait for async_depth frames before syncing.
2015-07-19 09:47:45 +02:00
Michael Niedermayer
54882156dd avcodec/hevc_parser: Treat extradata parsing differently, as it should not contain an AU
Fixes ticket4718

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-19 03:24:25 +02:00
Michael Niedermayer
599d746e07 avcodec/vp8: Check buffer size in vp8_decode_frame_header()
avoids null pointer dereference
Fixes: signal_sigsegv_d5de40_964_vp80-00-comprehensive-010.ivf with memlimit of 1048576

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 19:37:04 +02:00
Michael Niedermayer
a84f0e8d8f avcodec/vp8: Fix null pointer dereference in ff_vp8_decode_free()
Fixes: signal_sigsegv_d5de23_967_vp80_00_comprehensive_010.ivf with memlimit 524288

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 19:03:23 +02:00
Michael Niedermayer
1c5b712c0a avcodec/diracdec: Check for hpel_base allocation failure
Fixes null pointer dereference
Fixes: signal_sigsegv_b02a96_280_RL_420p_ffdirac.drc with memlimit of 67108864

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 18:05:41 +02:00
Michael Niedermayer
3197c0aa87 avcodec/rv34: Clear pointers in ff_rv34_decode_init_thread_copy()
Avoids leaving stale pointers
Fixes: signal_sigabrt_7ffff70eccc9_819_sabtriple.rm with memlimit 536870912

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 11:28:17 +02:00
Michael Niedermayer
f8e4d37983 avcodec/hevc_ps: Also print depth in failure path of map_pixel_format()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 05:12:00 +02:00
Michael Niedermayer
c0894e6288 Merge commit '256ef19844892c6cf8e0386e3287bae970ec6320'
* commit '256ef19844892c6cf8e0386e3287bae970ec6320':
  h264: arm: use intra pred8x8 functions only for chroma_format_idc <= 1

Conflicts:
	libavcodec/arm/h264pred_init_arm.c

See: 565cabf5c8
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 02:13:22 +02:00
Janne Grunau
256ef19844 h264: arm: use intra pred8x8 functions only for chroma_format_idc <= 1 2015-07-18 00:28:49 +02:00
Michael Niedermayer
52b6d96268 Merge commit 'a344e5d094ebcf9a23acf3a27c56cbbbc829db42'
* commit 'a344e5d094ebcf9a23acf3a27c56cbbbc829db42':
  x86: bswapdsp: Don't treat 32-bit integers as 64-bit

Conflicts:
	libavcodec/x86/bswapdsp.asm

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 23:20:14 +02:00
Michael Niedermayer
c7c33ab721 Merge commit 'f5ee23004d1177ca6dd99b92cb4ff4b94b2eae09'
* commit 'f5ee23004d1177ca6dd99b92cb4ff4b94b2eae09':
  configure: Factor out g722dsp module

Conflicts:
	configure
	libavcodec/arm/Makefile

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 23:04:47 +02:00
Michael Niedermayer
65b0f7ce08 Merge commit 'a623aa0069dff586241ad2ffedcd45ed840e2553'
* commit 'a623aa0069dff586241ad2ffedcd45ed840e2553':
  configure: Factor out wmv2dsp module

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 22:56:00 +02:00
Michael Niedermayer
115a9b5091 Merge commit 'd42191c78befc1983f23b1899b2dda513b72f1ed'
* commit 'd42191c78befc1983f23b1899b2dda513b72f1ed':
  configure: Factor out vp8dsp module

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 22:45:34 +02:00
Michael Niedermayer
3500eccb8e Merge commit 'd4aea1aa4060fb5ba7f5f426823b697d2a5af08b'
* commit 'd4aea1aa4060fb5ba7f5f426823b697d2a5af08b':
  configure: Factor out vp56dsp module

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 22:31:45 +02:00
Michael Niedermayer
fd29dd432c Merge commit '5cb4bdb2a03c3643f8f1e7d21d7094e61e0a4418'
* commit '5cb4bdb2a03c3643f8f1e7d21d7094e61e0a4418':
  configure: Factor out rv34dsp module

Conflicts:
	libavcodec/Makefile
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 22:21:36 +02:00
Michael Niedermayer
189f2ed902 avcodec/libx264: fix MPEG2 support
Found-by: rcombs
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 22:14:00 +02:00
Michael Niedermayer
77cd5193a5 Merge commit '575ec60e542114b2ef5b2f88b28eeb72389dda45'
* commit '575ec60e542114b2ef5b2f88b28eeb72389dda45':
  configure: Factor out mss34dsp module

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 21:59:45 +02:00
Michael Niedermayer
ccd3edf81f Merge commit '2edc77dc7be5f4a006c6295f4c827e5471f85262'
* commit '2edc77dc7be5f4a006c6295f4c827e5471f85262':
  configure: Factor out ividsp module

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 21:51:19 +02:00
Michael Niedermayer
948a15195c Merge commit 'b075869bc1e1aadea0a8dc819ebfb758adb9e3d0'
* commit 'b075869bc1e1aadea0a8dc819ebfb758adb9e3d0':
  configure: Factor out flacdsp module

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/arm/Makefile

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 21:42:14 +02:00
Michael Niedermayer
e56f14659f Merge commit 'e1319aa1c1be9b64117c19170344fb78841dd67c'
* commit 'e1319aa1c1be9b64117c19170344fb78841dd67c':
  libx264: Add support for the MPEG2 encoder

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/libx264.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 21:21:03 +02:00
Henrik Gramner
a344e5d094 x86: bswapdsp: Don't treat 32-bit integers as 64-bit
The upper halves are not guaranteed to be zero in x86-64.

Also use `test` instead of `and` when the result isn't used for anything other
than as a branch condition, this allows some register moves to be eliminated.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-17 20:02:28 +02:00
Vittorio Giovara
f5ee23004d configure: Factor out g722dsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara
a623aa0069 configure: Factor out wmv2dsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara
d42191c78b configure: Factor out vp8dsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara
d4aea1aa40 configure: Factor out vp56dsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara
5cb4bdb2a0 configure: Factor out rv34dsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara
575ec60e54 configure: Factor out mss34dsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara
2edc77dc7b configure: Factor out ividsp module 2015-07-17 18:46:24 +01:00
Vittorio Giovara
b075869bc1 configure: Factor out flacdsp module 2015-07-17 18:46:23 +01:00
Michael Niedermayer
1cdfae0b3e Merge commit '0cf5588d69922aa3e063bac6304c09c543a9ef52'
* commit '0cf5588d69922aa3e063bac6304c09c543a9ef52':
  hq_hqa: Fix decoding when INFO section is absent

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 14:59:18 +02:00
Michael Niedermayer
441d5a7084 Merge commit 'b0017579b6e8de3d0d13dcfe0a4dd848dc6baa37'
* commit 'b0017579b6e8de3d0d13dcfe0a4dd848dc6baa37':
  h264: Add support for Closed Caption export

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_sei.c

See: 8234f0e3b4
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 14:13:19 +02:00
Luca Barbato
e1319aa1c1 libx264: Add support for the MPEG2 encoder 2015-07-17 10:47:48 +02:00
Vittorio Giovara
0cf5588d69 hq_hqa: Fix decoding when INFO section is absent 2015-07-17 01:49:42 +01:00
Kieran Kunhya
b0017579b6 h264: Add support for Closed Caption export
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-17 01:44:22 +01:00
Carl Eugen Hoyos
7f0d540188 lavc: Allow 64 channels internally. 2015-07-17 00:16:45 +02:00
Ivan Uskov
6e127990fa Refactoring to move common QSV-related code part into libavcodec/qsvdec.c
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-16 21:30:45 +02:00
Tom Butterworth
17ee24af7e avcodec/snappy: refactor so ff_snappy_uncompress uses an existing buffer
Some uses of Snappy require uncompressing to positions within an existing buffer. Also adds a function to get the uncompressed length of Snappy data.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-16 20:41:07 +02:00
Tom Butterworth
6074956fa1 avcodec/hap: move some per-stream setup into decoder init rather than per-frame
This change will reject frames with a texture type which doesn't match the stream description.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-16 16:04:06 +02:00
Shivraj Patil
012ba786e6 avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for VP9 MC functions
This patch adds MSA (MIPS-SIMD-Arch) optimizations for VP9 MC functions in new file vp9_mc_msa.c

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-16 15:03:02 +02:00
周晓勇
0bfa176c64 avcodec: loongson optimized idctdsp with mmi
Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-16 14:27:53 +02:00
周晓勇
dcd14db806 avcodec: loongson add constant definition
Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-16 14:27:49 +02:00
Michael Niedermayer
f1a38264f2 avcodec/pthread_frame: clear priv_data, avoid stale pointer in error case
Fixes: b4b47bc2b3fb7ca710bfffe5aa969e37_signal_sigabrt_7ffff70eccc9_744_nc_sample2.avi with memlimit of 4194304

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-16 12:18:30 +02:00
Carl Eugen Hoyos
8dad213143 lavc: Add properties field to AVCodecContext.
The new field can hold information about losslessness and closed captions for now.
2015-07-16 12:18:30 +02:00
Luca Barbato
c88c5eef53 hevc: Split the struct setup from the pps parsing 2015-07-15 19:39:44 +02:00
Michael Niedermayer
4e160ecdbc Merge commit 'c88c5eef53ff1619724ba47b722da64ec0593dab'
* commit 'c88c5eef53ff1619724ba47b722da64ec0593dab':
  hevc: Split the struct setup from the pps parsing

Conflicts:
	libavcodec/hevc_ps.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-15 21:21:40 +02:00
Michael Niedermayer
269a71b68a avcodec/mpeg4videodec: Clarify the mpeg4_unpack_bframes reference.
This should avoid misunderstandings like in Ticket4618

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-15 21:05:24 +02:00
Michael Niedermayer
4a6b8289e6 avcodec/mips/mpegvideo_mmi: Use av_assert2()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-15 17:25:42 +02:00
ZhouXiaoyong
95418634b1 avcodec: loongson optimized mpegvideo dct unquantize with mmi
Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-15 15:51:07 +02:00
周晓勇
a0ad6c85ac avcodec: loongson optimized h264pred with mmi
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-15 15:51:02 +02:00
Michael Niedermayer
dffae122d0 avcodec/mjpegdec: Fix DC overflow in decode_block()
Fixes Ticket4683

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-15 05:05:25 +02:00
Michael Niedermayer
bfd17046c1 avcodec/mpeg12dec: Fix decoding of faulty interlaced mpeg2
Fixes Ticket4721

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-15 00:09:15 +02:00
Timo Rothenpieler
550e872bcd avcodec/nvenc: Fix build with older gcc versions
Aparently anonymous structs weren't always supported, not even sure if
they are standard conformant.
2015-07-14 23:00:44 +02:00
Arttu Ylä-Outinen
b90b6af710 avcodec: add libkvazaar HECV encoder
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-14 18:00:36 +02:00
Ivan Uskov
ce91bab70f libavcodec/qsv.c: Issue fixed: QSV engine does not release display handler under linux platform.
Reviewed-by: Gwenole Beauchesne <gb.devel@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-14 02:02:55 +02:00
Michael Niedermayer
3edc6d1cd9 Merge commit '32c8d89c036b0e75ece74aea638df587099def0b'
* commit '32c8d89c036b0e75ece74aea638df587099def0b':
  hevc: Print the non-supported chroma_format_idc

Conflicts:
	libavcodec/hevc_ps.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-14 01:33:58 +02:00
Michael Niedermayer
e17a459af0 Merge commit '8e373fe048812a25b238ea60a7052b8c07639a42'
* commit '8e373fe048812a25b238ea60a7052b8c07639a42':
  hevc: Factor out the pixel format mapping from the sps parser

Conflicts:
	libavcodec/hevc_ps.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-14 01:23:39 +02:00
Michael Niedermayer
4bde1a4a37 avcodec/mpegvideo: Fix null pointer dereference of picture array
Fixes: 0d0a2bace067d09c08f0fa5340496c23_signal_sigsegv_7ffff713351a_342_WobblyWindowsIntro.avi with memlimit of 67108864

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-14 00:31:57 +02:00
Michael Niedermayer
85b7456efe avcodec/hevc_parser: Fix memleaks in parser mix
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 22:26:53 +02:00
Michael Niedermayer
5d346feafa avcodec/pthread_frame: check avctx on deallocation
Fixes null pointer dereferences
Fixes: af1a5a33e67e479f439239097bd0d4fd_signal_sigsegv_7ffff713351a_152_Dolby_Rain_Logo.pmp with memlimit of 8388608

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 22:09:50 +02:00
Luca Barbato
32c8d89c03 hevc: Print the non-supported chroma_format_idc
And drop the spurious newline.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-13 21:59:53 +02:00
Luca Barbato
8e373fe048 hevc: Factor out the pixel format mapping from the sps parser
The function will grow larger as more formats are supported.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-13 21:59:53 +02:00
James Almer
84e847c7c8 avcodec/hevc_parser: use the old parser only when hevc decoder is available
If it's not, then the new dependence-free parser will be used instead

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-07-13 14:57:54 -03:00
Michael Niedermayer
cc0380222a avcodec/mpegvideo: Check for NULL in ff_mpv_common_end()
Fixes: af94b3a3d26586c08f557cafe8246251_signal_sigsegv_7ffff713351a_343_XFMode.ASF with 1048576 alloc limit

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 19:26:37 +02:00
Michael Niedermayer
697160366f avcodec/vp3: check current_frame before accessing it
Fixes null pointer dereference
Fixes: b15eb06e0111e94bc59123c86db7aff9_signal_sigsegv_a0500f_45_320vp3.nsv with allocation limit  536870912

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 19:11:56 +02:00
Michael Niedermayer
5be07d0206 Merge commit 'a062a55d37720abc8c704aa0e8682efd3cdc9c9b'
* commit 'a062a55d37720abc8c704aa0e8682efd3cdc9c9b':
  hevc_parser: fix standalone build with the hevc decoder disabled

Conflicts:
	libavcodec/Makefile
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 17:04:13 +02:00
Michael Niedermayer
afa97144cf Merge commit '077b55943330150db0eafd36bbee614697cabd98'
* commit '077b55943330150db0eafd36bbee614697cabd98':
  hevc: handle a NULL sps in set_sps() properly

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 16:41:09 +02:00
Michael Niedermayer
d13fc98247 Merge commit '18156b53f9b642b71c182c5c9818175a61572d2b'
* commit '18156b53f9b642b71c182c5c9818175a61572d2b':
  hevc: do not pass an entire HEVCContext into export_stream_params()

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 16:31:10 +02:00
Michael Niedermayer
39bbdebb1e avcodec/sanm: Reset sizes in destroy_buffers()
Fixes crash in 1288a2fe8e9ae6b00ca40e089d08ca65_signal_sigsegv_7ffff71426a7_354_accident.san with allocation limit 65536

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 16:06:37 +02:00
Michael Niedermayer
f7068bf277 avcodec/alac: Clear pointers in allocate_buffers()
Fixes: 06a4edb39ad8a9883175f9bd428334a2_signal_sigsegv_7ffff713351a_706_mov__alac__ALAC_6ch.mov

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 15:47:49 +02:00
James Almer
1b9a8e5f1d dxva2_hevc: unbreak compilation after recent sps/pps changes
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-07-13 09:00:37 +02:00
Anton Khirnov
a062a55d37 hevc_parser: fix standalone build with the hevc decoder disabled
The parser depends on hevc_ps, which in turn needs some data tables.

Found-by: James Almer <jamrial@gmail.com>
2015-07-13 08:58:21 +02:00
Anton Khirnov
b9f76d19d8 hevc_ps: make sure failing to decode an SPS always returns an error
Some of the goto err clauses do not set the error code. It seems better
to fall back on INVALIDDATA instead of adding it everywhere explicitly.
2015-07-13 07:49:03 +02:00
James Almer
1aab5d8ab1 avcodec/dxva2_hevc: unbreak compilation after recent sps/pps changes
Signed-off-by: James Almer <jamrial@gmail.com>
2015-07-13 00:06:02 -03:00
Philip Langdale
b11c3fce38 avcodec/vdpau_hevc: unbreak compilation after sps/pps changes
There was some reorganisation in the HEVC headers so the sps and pps
now live in a different place.
2015-07-12 19:56:54 -07:00
Michael Niedermayer
10d7d0880c avcodec/utils: Check that the sample rate is not negative when opening an encoder
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 03:51:33 +02:00
Michael Niedermayer
d6ff68ad85 Factor duplicated ff_fast_malloc() out into mem_internal.h
internal.h is difficult to use due to circular dependancies
mem.h is a public header ff_* is not public
Alternative solutions probably are possible too

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 02:41:43 +02:00
Michael Niedermayer
4496ccc724 avcodec/hevc_parser: Reenable the old parser under ADVANCED_PARSER define
Feel free to use either, they both work but the old one provides
more information but needs the hevc decoder

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 02:14:58 +02:00
Michael Niedermayer
9e810a98a2 Merge commit '650060dfb665552442ec11b456660e3e9a9d9016'
* commit '650060dfb665552442ec11b456660e3e9a9d9016':
  hevc_parser: parse and export some stream parameters

Conflicts:
	configure
	libavcodec/hevc_parser.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 01:28:57 +02:00
Michael Niedermayer
99558270ed avcodec/hevc: Simplify skipped_bytes_pos code further
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 01:09:21 +02:00
Michael Niedermayer
ad92410d90 avcodec/hevc: Move skipped_bytes_pos_nal to HEVCNAL, simplify code
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 00:43:25 +02:00
Michael Niedermayer
bcc6c7bb65 avcodec/hevc: Move skipped_bytes_pos_size_nal into HAVCNAL
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 00:38:15 +02:00
Michael Niedermayer
5620ed3557 avcodec/hevc: Remove skipped_bytes_nal, simplify code
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 00:03:45 +02:00
Michael Niedermayer
93aa84c1ea Merge commit '7f78155dc6b65be55efb5309b6dd2bb33925a8c4'
* commit '7f78155dc6b65be55efb5309b6dd2bb33925a8c4':
  hevc: improve a comment

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-12 23:45:56 +02:00
Michael Niedermayer
4690a63632 Merge commit 'd82e1adc2019135a2fc45372e0ed0b5ef107cdd0'
* commit 'd82e1adc2019135a2fc45372e0ed0b5ef107cdd0':
  hevc: move splitting the packet into NALUs into a separate function

Conflicts:
	libavcodec/hevc.c
	libavcodec/hevc.h
	libavcodec/hevc_parse.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-12 23:44:24 +02:00
Michael Niedermayer
4c42c66935 Merge commit 'ae05b4865514fd71b5e9431e93aa0d03d7ba7751'
* commit 'ae05b4865514fd71b5e9431e93aa0d03d7ba7751':
  hevc: eliminate the second call to hls_nal_unit()

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-12 22:55:47 +02:00
Michael Niedermayer
760304e4c3 Merge commit 'd7bebe4805193783f0b6f292f9127a75709fb7d9'
* commit 'd7bebe4805193783f0b6f292f9127a75709fb7d9':
  hevc: skip invalid/ignored NALUs when splitting the packet

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-12 22:46:06 +02:00
Michael Niedermayer
d5fcca83b9 Merge commit 'b11acd57326db6c2cc1475dd0bea2a06fbc85aa2'
* commit 'b11acd57326db6c2cc1475dd0bea2a06fbc85aa2':
  hevc: remove HEVCContext usage from hevc_ps

Conflicts:
	libavcodec/hevc.c
	libavcodec/hevc_cabac.c
	libavcodec/hevc_filter.c
	libavcodec/hevc_mvs.c
	libavcodec/hevc_ps.c
	libavcodec/hevc_refs.c
	libavcodec/hevcpred_template.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-12 22:28:54 +02:00
Michael Niedermayer
ddd86e4747 Merge commit 'ab05ed4c322ed0488ac9b5d2ef5d4ffa55a946a7'
* commit 'ab05ed4c322ed0488ac9b5d2ef5d4ffa55a946a7':
  mpegvideo_parser: export pixel format and dimensions

Conflicts:
	libavcodec/mpegvideo_parser.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-12 21:34:59 +02:00
Michael Niedermayer
98c7f9741e Merge commit '86eee85daddb682fa072c2e2657c90a514b855e3'
* commit '86eee85daddb682fa072c2e2657c90a514b855e3':
  bytestream2: set the reader to the end when reading more than available

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-12 21:13:07 +02:00
Niklesh
774ceee17e movtextdec.c: Add support for highlight and hilightcolor box
Signed-off-by: Niklesh <niklesh.lalwani@iitb.ac.in>
2015-07-12 10:24:17 -07:00
Anton Khirnov
077b559433 hevc: handle a NULL sps in set_sps() properly
This can happen in update_thread_context(), when the previous frame was
corrupted.
2015-07-12 18:57:10 +02:00
Anton Khirnov
18156b53f9 hevc: do not pass an entire HEVCContext into export_stream_params()
It only needs the parameter sets.
2015-07-12 18:52:02 +02:00
James Almer
a3b721d10d avcodec/dcadec: silence request_channels deprecation warnings
This also prevents an eventual compilation failure once request_channels
is removed.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-07-12 13:32:22 -03:00
Anton Khirnov
650060dfb6 hevc_parser: parse and export some stream parameters
Particularly those that will be needed by the QSV decoder.
More can be added later as necessary.
2015-07-12 18:15:40 +02:00
Anton Khirnov
7f78155dc6 hevc: improve a comment
That loop does the actual full decoding, so 'parse' can be misleading.
2015-07-12 18:15:40 +02:00
Anton Khirnov
d82e1adc20 hevc: move splitting the packet into NALUs into a separate function
This function is independent of the decoding context, so we'll be able
to use it in the parser.
2015-07-12 18:15:39 +02:00
Anton Khirnov
ae05b48655 hevc: eliminate the second call to hls_nal_unit()
Also, make hls_nal_unit() work only on the provided NAL unit, without
requiring a whole decoding context.

This will allow splitting this code for reuse by the parser.
2015-07-12 18:15:39 +02:00
Anton Khirnov
d7bebe4805 hevc: skip invalid/ignored NALUs when splitting the packet
There is no need to wait until actually decoding the NALU. This will
allow to get rid of the second hls_nal_unit() call later.
2015-07-12 18:15:39 +02:00
Anton Khirnov
b11acd5732 hevc: remove HEVCContext usage from hevc_ps
Factor out the parameter sets into a separate struct and use it instead.

This will allow us to reuse this code in the parser.
2015-07-12 18:15:39 +02:00
Anton Khirnov
ab05ed4c32 mpegvideo_parser: export pixel format and dimensions 2015-07-12 18:15:39 +02:00
Anton Khirnov
86eee85dad bytestream2: set the reader to the end when reading more than available
This prevents possible infinite loops with the calling code along the
lines of while (bytestream2_get_bytes_left()) { ... }, where the reader
does not advance.

CC: libav-stable@libav.org
2015-07-12 18:15:39 +02:00
Andreas Cadhalpun
9f4c7397a2 hevc: check slice address length
It is used as get_bits argument and reading 0 bits doesn't make sense.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-07-12 18:15:39 +02:00
Michael Niedermayer
e72988d3f8 Merge commit '355864ef7a9548ee6491a25de1e0650bd983a667'
* commit '355864ef7a9548ee6491a25de1e0650bd983a667':
  g726: Do not crash on user mistake

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-12 15:08:30 +02:00
Michael Niedermayer
f8db81074a avcodec/utils: Assert that the pointer is set when size is in ff_fast_malloc()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-11 23:36:45 +02:00
Michael Niedermayer
59a07df067 avcodec/utils: Avoid undefined void casts in ff_fast_malloc()
based on code from libavutil/mem.c

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-11 23:24:16 +02:00
Michael Niedermayer
bc976e5793 avcodec/utils: Fix potential overflow in overallocation code
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-11 22:46:44 +02:00
Luca Barbato
355864ef7a g726: Do not crash on user mistake
Properly report the sample rate as invalid

CC: libav-stable@libav.org
2015-07-11 18:45:44 +02:00
Michael Niedermayer
c06e556274 avcodec/mpeg4videodec: Check P cbpy
Fixes undefined behavior
Fixes: signal_sigsegv_c3097a_991_xtrem_e2_m64q15_a32sxx.3gp

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-11 00:22:29 +02:00
Andreas Cadhalpun
75fd5ce4c1 imc: use correct position for flcoeffs2 calculation
flcoeffs2[pos] should be the log2 of flcoeffs1[pos].
flcoeffs1[0] can be 0 here, thus flcoeffs2[pos] gets set to -inf,
causing problems further down.

This seems to have been copied from imc_decode_level_coefficients in
commit 4eb4bb3 without updating the position.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-11 00:00:36 +02:00
Michael Niedermayer
d759f7f1d0 avcodec/j2kenc: remove unused variable
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-10 23:24:20 +02:00
Andreas Cadhalpun
1410eeb6ea imc: Use correct position for flcoeffs2 calculation
flcoeffs2[pos] should be the log2 of flcoeffs1[pos].
flcoeffs1[0] can be 0 here, thus flcoeffs2[pos] gets set to -inf,
causing problems further down.

This seems to have been copied from imc_decode_level_coefficients in
commit 4eb4bb3 without updating the position.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-10 23:13:30 +02:00
Andreas Cadhalpun
05cc8c8e4b hevc: check slice address length
It is used as get_bits argument and reading 0 bits isn't supported.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-10 21:28:56 +02:00
Michael Niedermayer
47d077337a avcodec/utils: Document 32 min for h264 width
Suggested-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-10 18:31:42 +02:00
Michael Niedermayer
b1e242bc56 avcodec/g2meet: Check R/G/B values in epic_decode_pixel_pred()
Fixes: asan_double-free_d34593_861_smp3.wmv

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-10 18:11:28 +02:00
Andreas Cadhalpun
3526a120f9 snow: remove an obsolete av_assert2
It asserts that the frame linesize is larger than 37, but it can be
smaller and decoding such frames works.

Before commit cc884a35 src_stride > 7*MB_SIZE was necessary, because the
blocks were interleaved in the tmp buffer and the last block was added
with an offset of 6*MB_SIZE.
It was changed for src_stride <= 7*MB_SIZE to write the blocks
sequentially, hence the larger tmp_step.
After that the assert was only necessary to make sure that the buffer
remained large enough.
Since commit bd2b6b33 s->scratchbuf is used as tmp buffer.
As part of commit 86e107a7 the minimal scratchbuf size was increased to
256*7*MB_SIZE, which is enough for any src_stride <= 7*MB_SIZE.

Also add a comment explaining the tmp_step calculation.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-10 16:21:50 +02:00
Michael Niedermayer
7ef6656b1e avcodec/utils: use a minimum 32pixel width in avcodec_align_dimensions2() for H.264
Fixes Assertion failure
Found-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-10 15:18:41 +02:00
Michael Niedermayer
e71ca21f30 avcodec/motion_est_template: Fix undefined behavior in small_diamond_search()
Fixes: asan_heap-oob_394322e_138_cov_4265020547_CVPCMNL1_SVA_C.264

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-10 13:42:41 +02:00
Michael Niedermayer
7b404c94f3 avcodec/libopenh264enc: Do not truncate frame rate
Suggested-by: Gregory J Wolfe <gregory.wolfe@kodakalaris.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-10 04:19:07 +02:00
Michael Niedermayer
033dc39c56 Merge commit '67c884eb07c7e9f2cb72bb8d447d945e5ac8cac7'
* commit '67c884eb07c7e9f2cb72bb8d447d945e5ac8cac7':
  libvpx: Add the library header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-10 02:32:08 +02:00
Ivan Uskov
5985316fba libavcodec/qsvenc.c: improving handling for return codes of MFXVideoENCODE_EncodeFrameAsync
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-10 01:26:16 +02:00
Michael Niedermayer
b160fc290c avcodec/mpegvideo: Clear pointers in ff_mpv_common_init()
This ensures that no stale pointers leak through on any path

Fixes: signal_sigsegv_c3097a_991_xtrem_e2_m64q15_a32sxx.3gp

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 22:47:16 +02:00
Vittorio Giovara
67c884eb07 libvpx: Add the library header
Unbreak make checkheaders
2015-07-09 21:36:19 +02:00
Luca Barbato
461b45efd0 lavc: Add nvenc.h to the skipheader
Unbreak make checkheaders
2015-07-09 21:34:57 +02:00
Ivan Uskov
dbf8352a2e libavcodec/qsvenc.c: Fix for too agressive height alignment during frame encoding which may be reason of superflous frame copying.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 17:46:18 +02:00
Michael Niedermayer
7ee935ba5c avcodec/qsvenc_hevc: Attempt to fix error: too few arguments to function ff_hevc_extract_rbsp
Found-by: Ivan Uskov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 16:51:51 +02:00
Jovan Zelincevic
f21b4472ef libavcodec: Implementation of AAC_fixed_decoder (LC-module) [4/4]
Build system modified

There are several warnings occurring during build after this patch is
applied. The cause of most of these warnings is in that some definitions
needed here are logical part of sbr module and are added in later patches.
When this patches are applied these warnings stop occurring.

The only warning that is added here and is not fixed with later patches
is warning that warns that type mismatch for table ff_aac_eld_window_480.

The reason for this warning is in that ER AAC ELD 480 is not integrated in
to the fixed point implementation at this moment and there is no fixed point
version of this table.

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 14:41:41 +02:00
Djordje Pesut
b04f46cb4b libavcodec: Implementation of AAC_fixed_decoder (LC-module) [3/4]
Add fixed point implementation

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 14:41:31 +02:00
Jovan Zelincevic
08be74ac81 libavcodec: Implementation of AAC_fixed_decoder (LC-module) [2/4]
Add fixed point implementation of functions for generating tables

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 14:41:19 +02:00
Jovan Zelincevic
f497a9e84e libavcodec: Implementation of AAC_fixed_decoder (LC-module) [1/4]
Move existing code to the new template files

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 14:35:44 +02:00
Michael Niedermayer
15893adbdb avcodec/hevc_ps: Remove gotos from ff_hevc_parse_sps()
They are currently unnecessary

Found-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 13:02:07 +02:00
Michael Niedermayer
7871eb4361 Merge commit '66acb76bb0492b263215ca9b4d927a7be39ace02'
* commit '66acb76bb0492b263215ca9b4d927a7be39ace02':
  lavc: add Intel libmfx-based HEVC encoder

Conflicts:
	Changelog
	configure
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/qsv.c
	libavcodec/qsvenc.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 11:53:14 +02:00
Michael Niedermayer
96ee6b9962 Merge commit '3a85397e8bb477eb34678d9edc52893f57003226'
* commit '3a85397e8bb477eb34678d9edc52893f57003226':
  lavc: add Intel libmfx-based MPEG2 encoder

Conflicts:
	Changelog
	configure
	libavcodec/allcodecs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 11:17:12 +02:00
Michael Niedermayer
07ae8fa20e Merge commit '69ab9f53f901eac6a649e22d28cf093357870627'
* commit '69ab9f53f901eac6a649e22d28cf093357870627':
  hevc: split bitstream unescaping to a separate file

Conflicts:
	libavcodec/Makefile
	libavcodec/hevc.c

See: afa93d198a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 05:06:48 +02:00
Michael Niedermayer
1dacf26964 avcodec/hevc_ps: Do not return success on failures in ff_hevc_parse_sps()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 04:50:05 +02:00
Michael Niedermayer
1d4194e696 Merge commit 'fd124d8357b1becfde3ac8d5e3320127cf97a5b7'
* commit 'fd124d8357b1becfde3ac8d5e3320127cf97a5b7':
  hevc_ps: split the code for parsing the SPS and exporting it into the context

Conflicts:
	libavcodec/hevc.c
	libavcodec/hevc_ps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 04:50:00 +02:00
James Almer
c118101662 avcodev/libdcadec: implement request_channel_layout
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-07-08 23:04:17 -03:00
Ivan Uskov
b409748bc4 libavcodec/qsvenc.c: fix incorrect loop condition.
For example, the encoder may return MFX_WRN_INCOMPATIBLE_VIDEO_PARAM warning
i.e. ret==5 old loop implementation will repeat several times until output buffer
overflow. New implementation explicitly uses loop only for device busy case.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 02:25:39 +02:00
Michael Niedermayer
4a2bcdb28b Merge commit '1761ab838c75223a6b97d8c0720d09275374c53d'
* commit '1761ab838c75223a6b97d8c0720d09275374c53d':
  lavc: Deprecate avctx.rc_strategy

Conflicts:
	libavcodec/mpegvideo.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 01:17:49 +02:00
Michael Niedermayer
edfcbf7c83 Merge commit '02b7c630875c0bc63cee5ec597aa33baf9bf4e20'
* commit '02b7c630875c0bc63cee5ec597aa33baf9bf4e20':
  h261: Signal freeze picture release for intra frames

Conflicts:
	tests/ref/vsynth/vsynth1-h261
	tests/ref/vsynth/vsynth2-h261

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 00:49:20 +02:00
Michael Niedermayer
a137e50ee5 Merge commit 'dc1de0b958836545339611e9c050a1d4fdded263'
* commit 'dc1de0b958836545339611e9c050a1d4fdded263':
  h261: Set 'still image mode off' in picture header

Conflicts:
	tests/ref/vsynth/vsynth1-h261
	tests/ref/vsynth/vsynth2-h261

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 00:33:52 +02:00
Anton Khirnov
66acb76bb0 lavc: add Intel libmfx-based HEVC encoder 2015-07-08 23:40:11 +02:00
Anton Khirnov
3a85397e8b lavc: add Intel libmfx-based MPEG2 encoder 2015-07-08 23:39:28 +02:00
Anton Khirnov
69ab9f53f9 hevc: split bitstream unescaping to a separate file
It will be useful in the QSV HEVC encoder.
2015-07-08 23:38:32 +02:00
Anton Khirnov
fd124d8357 hevc_ps: split the code for parsing the SPS and exporting it into the context
This will be useful in the later commits, where we want to parse an SPS
without having a whole decoding context.
2015-07-08 23:36:22 +02:00
Michael Niedermayer
3c63d06d81 avcodec/h264_slice: Fix container cropping
Fixes out of array read
Fixes: asan_heap-oob_394322e_138_cov_4265020547_CVPCMNL1_SVA_C.264

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-08 17:50:05 +02:00
Vittorio Giovara
1761ab838c lavc: Deprecate avctx.rc_strategy
Only used by libxvid in ratecontrol module, so move it to a codec
private option.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-08 16:36:39 +01:00
Michael Niedermayer
80e42387dc avcodec/g2meet: Clear pointers after deallocation
Fixes double free

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-08 15:38:37 +02:00
Michael Niedermayer
e83ffb48ac avcodec/utils: Check values in apply_param_change()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-08 12:06:17 +02:00
Michael Niedermayer
b8c438e762 videodsp: assert that linesize is larger than width
Suggested-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-08 01:32:04 +02:00
Andreas Cadhalpun
42e7a5b3c7 wmalosslessdec: reset frame->nb_samples on packet loss
Otherwise a frame with non-zero nb_samples but without any data can be
returned.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-07 23:35:00 +02:00
Andreas Cadhalpun
f9020d514e wmalosslessdec: avoid reading 0 bits with get_bits
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-07 23:34:28 +02:00
Rostislav Pehlivanov
80db686a69 aacenc: fix option descriptions
Since the new PNS implementation has been merged and is no longer considered
proof of concept (as it's much more complex and better than the previous), change
the comments to reflect that. We need people testing it (since all AAC profiles
require it to be on by default) and having it tagged as proof of concept might drive some away.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-07 22:56:30 +02:00
James Almer
7d5ab16506 avcodec/libdcadec: export matrix encoding side data
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-07-07 16:18:46 -03:00
Stian Selnes
02b7c63087 h261: Signal freeze picture release for intra frames
Freeze picture release should be set to 1 when we're responding to a
fast update request. For simplicity we set it for all intra frames,
including those that starts a GOP.

Fixes issue where Tandberg MXP1700 does not recover from packet loss
state since it's waiting for the freeze picture relase indication.

Bug-Id: 873
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-07 15:11:15 +02:00
Stian Selnes
dc1de0b958 h261: Set 'still image mode off' in picture header
Ref H.261 recommendation section 4.2.1.3, setting the still image flag
to 1 disables still image mode. Some decoders require this in order to
decode the bitstream as normal video.

Fixes H.261 calls to Cisco E20.

Also, reserved (aka spare) bits should be set to 1 unless specified
otherwise.

Bug-Id: 872
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-07 15:04:55 +02:00
Shivraj Patil
d12f76ffbb avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for idctdsp functions
This patch adds MSA (MIPS-SIMD-Arch) optimizations for idctdsp functions in new file idctdsp_msa.c and simple_idct_msa.c

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-07 14:35:15 +02:00
Ivan Uskov
9c95734e1c libavcodec/qsv.c: Linux-only code part has been moved to separate function in order to avoid the "ISO C90 forbids mixed declarations and code" compiler warning.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-07 14:03:59 +02:00
周晓勇
387cbe018c use mmi instead of loongson3 as simd-optimization flag
Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-07 03:46:57 +02:00
周晓勇
72aaca7488 avcodec: loongson remove useless macros in mipsfpu optimization
Loongson has disabled all mipsfpu optimization as fate-test faild.

Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-06 21:16:53 +02:00
Michael Niedermayer
a3a61d4663 avcodec/lpc: Fix lpc_apply_welch_window_c() for odd len
Also removes assert
this fixes an assertion failure on non-x86

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-06 19:11:42 +02:00
Shivraj Patil
709bb45c66 avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for me_cmp functions
This patch adds MSA (MIPS-SIMD-Arch) optimizations for me_cmp functions in new file me_cmp_msa.c

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-06 18:25:14 +02:00
Shivraj Patil
2f3f98af2b avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for mpegvideoencdsp functions
This patch adds MSA (MIPS-SIMD-Arch) optimizations for mpegvideoencdsp functions in new file mpegvideoencdsp_msa.c

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-06 18:25:01 +02:00
Ivan Uskov
115c14c3b6 libavcodec/qsvenc.c: A warning message when library will work at partial hardware acceleration.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-06 17:39:08 +02:00
Kieran Kunhya
8234f0e3b4 avcodec: Add support for Closed Caption export in h264
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-06 15:25:22 +02:00
Ivan Uskov
38402754b9 libavcodec/qsvenc.c: More correct selection of alignment of a frame height depending whether an encoded sequence progressive or not.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-06 15:13:08 +02:00
Marton Balint
859731d642 lavc/utils: get rid of add_metadata_from_side_data forward declaration
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-06 01:02:35 +02:00
Marton Balint
9476c4c67e lavc/utils: call add_metadata_from_side_data in ff_init_buffer_info
This should ensure that each frame get its metadata from its proper packet
regardless of frame delays caused by reordering or threading.

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-06 00:39:29 +02:00
Marton Balint
10b6a83fb3 lavc/utils: change add_metadata_from_side_data to accept avpacket
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-06 00:08:48 +02:00
Marton Balint
3a19fe0048 lavc/utils: remove redundant call to ff_init_buffer_info
It does the same as calling ff_decode_frame_props.

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-06 00:07:55 +02:00
Carl Eugen Hoyos
97fa0f37fe lavc/j2kenc: Enable yuv42x and yuv41x encoding.
Fixes ticket #535.
Fixes ticket #4524.
2015-07-06 00:06:54 +02:00
Michael Niedermayer
c0db6320a6 avcodec/avuienc: Use ff_alloc_packet()
This should be faster in theory for AVUI, no speed difference
meassurable though

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-05 23:05:25 +02:00
Michael Niedermayer
0e7bbdbeaf avcodec/avuienc: Initialize output data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-05 23:05:25 +02:00
Michael Niedermayer
47496eb97c avcodec/rawenc: Use ff_alloc_packet() instead of ff_alloc_packet2()
the later is not optimal when the buffer size is well known at allocation time

This avoids a memcpy()
Overall 2.5% speedup with a random 1920x1080 video

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-05 20:00:15 +02:00
Rostislav Pehlivanov
e8576dc8df aacenc: implement Intensity Stereo encoding support
This commit implements intensity stereo coding support
to the native aac encoder. This is a way to increase the efficiency
of the encoder by zeroing the right channel's spectral coefficients
(in a channel pair) and rederiving them in the decoder using information
from the scalefactor indices of special band types. This commit
confomrs to the official ISO 13818-7 specifications, although due to
their ambiguity certain deviations have been taken to ensure maximum
sound quality. This commit has been extensively tested and has shown
to not result in audiable audio artifacts unless in extreme cases.
This commit also adds an option, aac_is, which has the value of
0 by default. Intensity Stereo is part of the scalable aac profile
and is thus non-default.

The way IS coding works is that it rederives the right channel's
spectral coefficients from the left channel via the scalefactor
index values left in the right channel. Since an entire band's
spectral coefficients do not need to be coded, the encoder's
efficiency jumps up and it unzeroes some high frequency values
which it previously did not have enough bits to encode. That way
less information is lost than the information lost by rederiving
the spectral coefficients with some error. This is why the
filesize of files encoded with IS do not decrease significantly.
Users wishing that IS coding should reduce filesize are expected
to reduce their encoding bitrates appropriately.

This is V2 of the commit. The old version did not mark ms_mask as
0 since M/S and IS coding are incompactible, which resulted in
distortions with M/S coding enabled. This version also improves
phase detection by measuring it for every spectral coefficient in
the band and using a simple majority rule to determine whether the
coefficients are in or out of phase. Also, the energy values per
spectral coefficient were changed as to reflect the
official specifications.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-05 16:59:26 +02:00
Rostislav Pehlivanov
0b233900fa aacenc: add support for coding of IS spectral coefficients
This commit adds support for the coding of intensity stereo spectral
coefficients. It also fixes the Mid/Side coding of band_types higher
than RESERVED_BT (M/S must not be applied to their spectral coefficients,
but marking M/S as present in encode_ms_info() is okay). Much
of the changes here were taken from the decoder and inverted.
This commit does not change the functionality of the decoder as the
previous patch in this series zeroes ms_mask and is_mask.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-05 16:58:37 +02:00
Rostislav Pehlivanov
38fd4c2e66 aaccoder: add a new perceptual noise substitution implementation
This commit finalizes the PNS implementation previously added to the encoder
by moving it to a seperate function search_for_pns() and thus making it
coder-generic. This new implementation makes use of the spread field of
the psy bands and the lambda quality feedback paremeter. The spread of the
spectrum in a band prevents PNS from being used excessively and thus preserve
more phase information in high frequencies.  The lambda parameter allows
the number of PNS-marked bands to vary based on the lambda parameter and the
amount of bits available, making better choices on which bands are to be marked
as noise. Comparisons with the previous PNS implementation can be found
here: https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/

This is V2 of the patch, the changes from the previous version being that this
version uses the new band->spread metric from aacpsy and normalizes the
energy using the group size. These changes were suggested by Claudio Freire
on the mailing list. Another change is the use of lambda to alter the
frequency threshold. This change makes the actual threshold frequencies
vary between +-2Khz of what's specified, depending on frame encoding performance.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-05 16:39:06 +02:00
Rostislav Pehlivanov
117b15f4a8 aaccoder: remove previous PNS implementation from twoloop
This commit undoes commit c5d4f87e81
and removes PNS band marking from the twoloop coder, which has
been reimplemented in a better way in this series of patches.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-05 16:38:32 +02:00
Rostislav Pehlivanov
e06578e392 aacenc: use the new function for setting special band scalefactor indices
This commit enables the function added with commit 7c10b87 and uses that
new function for setting any special scalefactor indices. This commit does
not change the behaviour of the encoder since no bands are being marked as
either NOISE_BT(due to the previous PNS implementation removed in the
previous commit) or INTENSITY_BT2/INTENSITY_BT.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-05 16:36:38 +02:00
Philip Langdale
671bdd4b09 avcodec/nvenc: Add support for H.264 High 444 Predictive encoding
Newer versions of the nvenc hardware support The High 444 Predictive profile
of H.264, and can also do lossless encoding under this profile if desired.

This change introduces support for the profile, and exposes the appropriate
presets for requesting lossless encoding.

I tested lossless by generating a baseline sample with testsrc converted
to raw yuv444p, then encoded the sample with nvenc, then did a framemd5
comparision of both the raw video and the nvenc encode. The framemd5
reports were identical.

Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2015-07-05 13:51:56 +02:00
Vittorio Giovara
f046c3b5ac lavc: Move deprecation warning disabling to files including the table
Unbreak build from 7a5902c556.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-03 21:02:50 +02:00
Michael Niedermayer
3b03186d56 Merge commit 'f046c3b5ac36848cce824b008e0347c621523041'
* commit 'f046c3b5ac36848cce824b008e0347c621523041':
  lavc: Move deprecation warning disabling to files including the table
  lavc: Disable deprectation warnings coming from options table

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-03 21:40:47 +02:00
Paul B Mahol
94cfb6db7d avcodec/shorten: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-07-03 16:57:11 +00:00
Michael Niedermayer
9f653e6d36 avcodec/j2kenc: Support user specified tile dimensions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-03 18:23:08 +02:00
Michael Niedermayer
d554715f67 avcodec/jpeg2000dec: Fix decoding of subsampled multi tile images
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-03 18:08:01 +02:00
Rostislav Pehlivanov
9f4f578704 aacenc: reset marked IS and M/S bands upon frame encoding
This commit resets any bands marked as M/S or IS upon encoding a frame.
This is needed because the arrays may contain some residual information
upon allocation on startup and because there isn't any mechanism to
reset the arrays once the frame has been encoded.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-03 16:17:16 +02:00
Vittorio Giovara
7a5902c556 lavc: Disable deprectation warnings coming from options table 2015-07-03 14:30:17 +01:00
Rostislav Pehlivanov
57848ef3c6 aaccoder: fix M/S coding
There were some mistakes in the code for M/S stereo, this commit fixes them.
The start variable was not being reset for every window and every access to
the coefficients was incorrect as well. This fixes that by properly
addressing the coefficients using both windows and setting the start on every window to zero.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-03 13:27:25 +02:00
Rostislav Pehlivanov
8e607c747e aacpsy: use a different metric for the spread of a band
This commit modifies 02dbed6 to use band->active_lines to better gauge how much information is contained within a single band and thus allow the perceptual noise subsitution to more accurately determine which bands to code as noise. The spread[w+g] used before this patch behaved more like a low-pass filter for PNS band_types, which could mistakingly mark some low frequency bands as noise.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-03 13:17:57 +02:00
Michael Niedermayer
daff49ccf3 Merge commit '80f955c90867561dcce769216bc497e13281eb38'
* commit '80f955c90867561dcce769216bc497e13281eb38':
  vda: Check the correct pointer for buffer allocation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-03 04:36:31 +02:00
Andreas Cadhalpun
0762152f7a webp: fix infinite loop in webp_decode_frame
The loop always needs at least 8 bytes for chunk_type and chunk_size.
If fewer are left, bytestream2_get_le32 just returns 0 without
reading any bytes, leading to an infinite loop.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-03 04:06:19 +02:00
Michael Niedermayer
a8ab64d2f7 Merge commit '910247f1720c6aae422723c05dac6d0b19f20bec'
* commit '910247f1720c6aae422723c05dac6d0b19f20bec':
  lavc: Deprecate avctx.{inter,intra}_quant_bias

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-03 03:40:22 +02:00
Luca Barbato
80f955c908 vda: Check the correct pointer for buffer allocation
CC: libav-stable@libav.org
Found-By: kropping
2015-07-03 01:58:32 +02:00
Andreas Cadhalpun
76d4c62734 webp: Make sure enough bytes are available
Every chunk needs at least 8 bytes for chunk_type and chunk_size.
Prevent a possible infinite loop.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-03 01:50:09 +02:00
Vittorio Giovara
910247f172 lavc: Deprecate avctx.{inter,intra}_quant_bias
They are used by dnxhd and mpegvideo_enc exclusively, move them to codec
private options instead.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-02 22:37:59 +01:00
Andreas Cadhalpun
d0eff8857c wavpack: limit extra_bits to 32 and use get_bits_long
More than 32 bits can't be stored in an integer and get_bits should not
be used with more than 25 bits.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-02 23:31:16 +02:00
Ivan Uskov
6e5864ab29 avcodec/qsvenc_h264: Change the set of performance presets to match with the MFX library constants.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-02 19:16:41 +02:00
Michael Niedermayer
c9220d5b06 avcodec/mjpegdec: Reorder operations to avoid undefined behavior
Fixes: asan_heap-oob_1dd60fd_267_cov_2954683513_5baad44ca4702949724234e35c5bb341.jpg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-02 18:53:32 +02:00
Michael Niedermayer
9dc0bac971 avcodec/motion_est_template: Fix undefined shifts in CHECK_MV()
Fixes:asan_heap-oob_4d5bb0_2295_cov_3374722539_hotel_california_ra5.1_640x480_30s.rmvb

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-02 18:43:03 +02:00
Ivan Uskov
db89f45535 avcodec/qsv: Extending QSV/MFX session initialization for the linux platform where a display handle is required.
Now ff_qsv_init_internal_session() is able
to find appropriate display handle under linux using VAAPI.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-02 15:05:56 +02:00
Michael Niedermayer
06a0d5ef5c avcodec/h264dsp_template: Fix undefined shifts
Fixes: asan_heap-oob_17212bc_2243_cov_594210248_h264_TTA.mkv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 20:39:25 +02:00
Michael Niedermayer
ce81e47c91 avcodec/mss2: Fix integer overflow
This also simplifies the code
Fixes: signal_sigabrt_7ffff6ac8cc9_2943_cov_3588637614_mss2_speech.wmv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 20:30:48 +02:00
Michael Niedermayer
6205143bb3 Merge commit '9eec23b8a7fd0f91827bbc3ed0792c39a8cc9a8a'
* commit '9eec23b8a7fd0f91827bbc3ed0792c39a8cc9a8a':
  g2meet: use av_ceil_log2 instead of a custom function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 19:09:55 +02:00
Michael Niedermayer
92c858ae66 Merge commit '4ccccd6c40a6d0ce85e96a6e37f558236e2a6a75'
* commit '4ccccd6c40a6d0ce85e96a6e37f558236e2a6a75':
  g2meet: use an unsigned type for the djb hash

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 19:09:10 +02:00
Michael Niedermayer
9cf95654ac Merge commit '007e27d363ba7d994019dc897dc9c39071bb204a'
* commit '007e27d363ba7d994019dc897dc9c39071bb204a':
  avcodec: add missing CODEC_CAP_DR1 to codecs using get_buffer()

Conflicts:
	libavcodec/atrac3plusdec.c
	libavcodec/sp5xdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 18:58:01 +02:00
John Adlum
089a818bd3 avcodec/pthread_frame: Correcting typo of "occurred"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 18:47:44 +02:00
Shivraj Patil
2eb28e889d avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for mpegvideo functions
This patch adds MSA (MIPS-SIMD-Arch) optimizations for mpegvideo functions in new file mpegvideo_msa.c

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 17:32:47 +02:00
Michael Niedermayer
4e0819310e elsdec: Replace EOVERFLOW with INVALIDDATA
EOVERFLOW is not available on all platforms.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 16:26:42 +01:00
Michael Niedermayer
53fd70579b avcodec/h264_mvpred: Fix undefined shifts in MAP_F2F
Fixes: asan_heap-oob_17301a3_2100_cov_3226131691_ff_add_pixels_clamped_mmx.m2ts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 15:53:15 +02:00
Michael Niedermayer
ac78014f0b avcodec/motion_est: Fix some undefined shifts
Fixes: asan_heap-oob_1dd60fd_1049_cov_4200102444_P4250048.MOV

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 15:42:07 +02:00
Janne Grunau
9eec23b8a7 g2meet: use av_ceil_log2 instead of a custom function 2015-07-01 13:58:34 +02:00
Michael Niedermayer
4eee685a21 avcodec/motion_est: Fix undefined shifts in cmp_inline()
Fixes: signal_sigsegv_35eac16_2762_cov_2704249783_missing_frames.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 13:42:06 +02:00
Michael Niedermayer
0ea099ad3e avcodec/mpegvideo_enc: fix undefined shifts in ff_dct_quantize_c()
Fixes: signal_sigsegv_35eac16_2762_cov_2704249783_missing_frames.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 13:40:36 +02:00
Janne Grunau
4ccccd6c40 g2meet: use an unsigned type for the djb hash 2015-07-01 13:34:50 +02:00
Michael Niedermayer
56fd4705c0 avcodec/motion_est_template: Fix undefined shifts in CHECK_MV_DIR()
Fixes: signal_sigsegv_2e64ee0_2762_cov_4170502227_missing_frames.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 12:21:56 +02:00
Janne Grunau
007e27d363 avcodec: add missing CODEC_CAP_DR1 to codecs using get_buffer() 2015-07-01 12:10:25 +02:00
Michael Niedermayer
dec728888f avcodec/elsdec: Remove EOVERFLOW
EOVERFLOW is not available on all platforms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 04:24:58 +02:00
Michael Niedermayer
16dd0426e5 Merge commit '3f872c9bfa8ee1032058cfa48068b5a73ef27b5e'
* commit '3f872c9bfa8ee1032058cfa48068b5a73ef27b5e':
  lavc: Add missing API guard to dtg_active_format option

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 03:36:32 +02:00
Michael Niedermayer
68939f7682 Merge commit '08c2d8f0aa679c2f060721d1d0d4f33d2ae32368'
* commit '08c2d8f0aa679c2f060721d1d0d4f33d2ae32368':
  Go2Meeting decoder

Conflicts:
	Changelog
	libavcodec/g2meet.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 03:18:30 +02:00
Michael Niedermayer
2e13a45b1a avcodec/aacsbr: Assert that bs_num_env is positive
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 02:34:01 +02:00
Michael Niedermayer
79a98294da avcodec/aacsbr: check that the element type matches before applying SBR
Fixes out of array access
Fixes: signal_sigsegv_3670fc0_2818_cov_2307326154_moon.mux

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 02:33:45 +02:00
Vittorio Giovara
3f872c9bfa lavc: Add missing API guard to dtg_active_format option 2015-07-01 00:13:58 +01:00
Kostya Shishkov
08c2d8f0aa Go2Meeting decoder
ELS and ePIC decoder courtesy of Maxim Poliakovski,
cleanup and integration by Diego Biurrun.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-01 01:08:15 +02:00
Andreas Cadhalpun
32a5b63126 pthread_frame: forward error codes when flushing
This is the first part of the fix for ticket #4370.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-01 00:32:21 +02:00
Nicolas DEROUINEAU
04a68f4348 avcodec/h264: Greenmetadata SEI parsing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-30 23:20:36 +02:00
Michael Niedermayer
7e9c7b623f Merge commit '271ce76d317c5432e151216cf23f12b77ed6cb7e'
* commit '271ce76d317c5432e151216cf23f12b77ed6cb7e':
  h264: Parse registered data SEI message and AFD value

Conflicts:
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_sei.c
	libavcodec/version.h

See: d6e9566949
See: 22291c372f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-30 22:54:33 +02:00
Michael Niedermayer
8e6c5c4322 Merge commit '0bfab80a0d9fce0180e8aa2a947267f89b725091'
* commit '0bfab80a0d9fce0180e8aa2a947267f89b725091':
  h264_sei: Group error check outside the switch block

Conflicts:
	libavcodec/h264_sei.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-30 22:29:34 +02:00
Michael Niedermayer
2a227fe879 Merge commit '0a49a62f998747cfa564d98d36a459fe70d3299b'
* commit '0a49a62f998747cfa564d98d36a459fe70d3299b':
  h263: Always check both dimensions

Conflicts:
	libavcodec/ituh263dec.c

See: 62006b539d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-30 22:14:25 +02:00
Michael Niedermayer
5585da7c5e Merge commit '6f4cd33efb5a9ec75db1677d5f7846c60337129f'
* commit '6f4cd33efb5a9ec75db1677d5f7846c60337129f':
  cosmetic: Reformat ff_h263_decode_mba

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-30 22:01:32 +02:00
Michael Niedermayer
4ff0c61ba8 Merge commit '303ec065a90498c29d384b4add2ac626bc38d5eb'
* commit '303ec065a90498c29d384b4add2ac626bc38d5eb':
  aic: Fix slice size computation for widths multiples of 32 macroblocks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-30 21:19:22 +02:00
Michael Niedermayer
2e9dcb82e5 Merge commit '3e3056f2a020dd77efdf379dbd4c06a65b4a499a'
* commit '3e3056f2a020dd77efdf379dbd4c06a65b4a499a':
  h264: Allow stream and container cropping at the same time

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-30 21:11:49 +02:00
Vittorio Giovara
271ce76d31 h264: Parse registered data SEI message and AFD value
Partially based on code by Marton Balint and Kieran Kunhya.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-06-30 15:34:38 +02:00
Vittorio Giovara
0bfab80a0d h264_sei: Group error check outside the switch block 2015-06-30 15:34:38 +02:00
Luca Barbato
0a49a62f99 h263: Always check both dimensions
CC: libav-stable@libav.org
Found-By: ago@gentoo.org
2015-06-30 15:34:38 +02:00
Luca Barbato
6f4cd33efb cosmetic: Reformat ff_h263_decode_mba 2015-06-30 15:34:38 +02:00
Vittorio Giovara
303ec065a9 aic: Fix slice size computation for widths multiples of 32 macroblocks
CC: libav-stable@libav.org
2015-06-30 15:34:37 +02:00
Vittorio Giovara
3e3056f2a0 h264: Allow stream and container cropping at the same time
The container cropping is applied only when difference is within 16
pixels, and the smallest value between the two is chosen.

Bug-Id: 383
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-06-30 15:34:37 +02:00
Michael Niedermayer
330863c9f1 avcodec/h264_slice: Use w/h from the AVFrame instead of mb_w/h
Fixes out of array access
Fixes: asan_heap-oob_4d5bb0_682_cov_3124593265_Fraunhofer__a_driving_force_in_innovation__small.mp4

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-30 19:38:44 +02:00
Carl Eugen Hoyos
0f5b996531 lavc/j2kenc: Make jp2 output compatible with Kakadu.
Fixes ticket #4689.
2015-06-30 15:00:38 +02:00
Carl Eugen Hoyos
8080688d0e lavc/hapenc: Silence a warning for multithreaded encoding. 2015-06-30 14:34:56 +02:00
Michael Niedermayer
5c047f3ad4 avcodec/j2kenc: store libavcodec ident in a comment unless bitexact mode is used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-30 13:45:03 +02:00
James Zern
e91f860ea7 vp9/update_prob: prevent out of bounds table read
the max value of the lookup in expanded form is:
(((1 << 7) - 1) << 1) - 65 + 1 + 64 = 254

add one entry of padding to inv_map_table[] to prevent out of bounds
access with non-conforming / fuzzed bitstreams

Signed-off-by: James Zern <jzern@google.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-30 13:24:19 +02:00
Michael Niedermayer
4aa0de644a avcodec/h264_refs: discard mismatching references
Fixes inconsistency and out of array access
Fixes: asan_heap-oob_17301a3_2100_cov_3226131691_ff_add_pixels_clamped_mmx.m2ts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-30 03:24:26 +02:00
Michael Niedermayer
84afc6b70d avcodec/mjpegdec: Fix small picture upscale
Fixes out of array access

Fixes: asan_heap-oob_1dd60fd_267_cov_2954683513_5baad44ca4702949724234e35c5bb341.jpg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-30 01:33:25 +02:00
Michael Niedermayer
b54ac8403b avcodec/pngdec: Check values before updating context in decode_fctl_chunk()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-29 22:32:02 +02:00
Michael Niedermayer
f1ffa01dd3 avcodec/pngdec: Copy IHDR & plte state from last thread
Previously these chunks where parsed again for each frame with threads
but not without leading to a different path and the potential for
inconsistencies

This also removes a related special case from decode_ihdr_chunk()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-29 22:16:58 +02:00
Michael Niedermayer
a1736926e9 avcodec/pngdec: Require a IHDR chunk before fctl
This is required by the APNG spec

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-29 21:57:12 +02:00
Michael Niedermayer
47f4e2d896 avcodec/pngdec: Only allow one IHDR chunk
Multiple IHDR chunks are forbidden in PNG
Fixes inconsistency and out of array accesses

Fixes: asan_heap-oob_4d5c5a_1738_cov_2638287726_c-m2-8f2b481b7fd9bd745e620b7c01a18df2.png

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-29 21:30:57 +02:00
Rostislav Pehlivanov
7c10b87b57 aacenc: add support for coding of intensity stereo scalefactor indices
This commit adds support for the coding of intensity stereo scalefactor indices.
It does not do any marking of such bands and as such does no functional changes
to the encoder. It removes any old twoloop specific code for PNS and moves it
into a seperate function which handles setting of scalefactor indices for
PNS and IS bands.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-29 16:44:40 +02:00
Shivraj Patil
d9deae04a7 avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for pixblock functions
This patch adds MSA (MIPS-SIMD-Arch) optimizations for pixblock functions in new file pixblockdsp_msa.c
Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-29 12:03:43 +02:00
Rostislav Pehlivanov
55397b0e76 aaccoder: add intensity stereo support to encode_window_bands_info quantizer
This commit adds support for both PNS and IS (intensity stereo) codebooks to the
encode_window_bands_info() quantizer, used by the faast, faac and anmr non-default,
native coders. This does not mean that both extensions now work with those coders,
some are simply unsuited and will trigger an assertion in the encoder while
others simply ignore the changed scalefactor indices and band types.
This commit simply adds support for encoding said band types with the alternative
coders. Future commits to the coders will be required to make them suitable.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-28 21:15:58 +02:00
Rostislav Pehlivanov
305859c0d4 aaccoder: add intensity stereo coding support for the trellis quantizer
This commit extends the trellis quantizer (used by the default twoloop coder)
 to accept and correctly encode codebooks needed for intensity stereo and perceptual noise substitution.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-28 21:15:40 +02:00
Michael Niedermayer
ecbd111768 avcodec/jpeg2000dec: Remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-28 19:36:52 +02:00
Andreas Cadhalpun
2a4700a4f0 wmavoice: limit wmavoice_decode_packet return value to packet size
Claiming to have decoded more bytes than the packet size is wrong.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-06-28 17:00:21 +02:00
Rodger Combs
7d0a19757e lavc/adpcm: THP: set approx_nb_samples correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-28 16:42:25 +02:00
Michael Niedermayer
96e73fa649 avcodec/jpeg2000dec: Merge i_stepsize/2 decoder special case into dequant
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-28 15:26:31 +02:00
Andreas Cadhalpun
9a345802ed huffyuvdec: validate image size
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-06-28 14:51:07 +02:00
Rostislav Pehlivanov
02dbed6e71 aacpsy: Add energy spread for each band
This commit adds the energy spread to the struct for each band and removes 2 unused fields.
distortion and perceptual_weight were not referenced in any file nor were they set to any value,
so it was safe to remove them. The energy spread is currently only used in the aac psy model.
It's defined as being proportional to the tonality of each band.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-28 14:24:30 +02:00
Andreas Cadhalpun
f9883a669c wavpack: use get_bits_long to read up to 32 bits
get_bits should not be used for more than 25 bits.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-06-28 11:29:46 +02:00
Michael Niedermayer
317be53ca6 avcodec/jpeg2000: Support 32 decomposition levels
Fixes Ticket4680

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-28 03:16:06 +02:00
Michael Niedermayer
cd1a9908b5 avcodec/jpeg2000: support >32bit in ff_jpeg2000_ceildivpow2()
Fixes part of Ticket4680

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-28 02:31:26 +02:00
Michael Niedermayer
f01028bf58 avcodec/jpeg2000: Avoid one shift in ff_jpeg2000_ceildivpow2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-28 02:27:43 +02:00
Rostislav Pehlivanov
d71935f883 aac: add additional fields needed by the encoder for intensity stereo
This commit adds additional fields which are used by the native encoder to add intensity stereo support. It also adds some clarifying statements to the comments for the codebooks.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-28 00:15:21 +02:00
Michael Niedermayer
6323647c35 avcodec/h264_slice: Reformat IN_RANGE() uses to be readable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-27 23:56:41 +02:00
Michael Niedermayer
29b0923324 avcodec/h264_slice: Silence pointer type warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-27 23:56:06 +02:00
Michael Niedermayer
9ea256814d avcodec/h264_slice: assert that the first slice implies unfinished setup
If this assert fails there is very likely a bug in the code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-27 23:42:33 +02:00
Michael Niedermayer
bd5c6a519e Merge commit '5ec0bdf2c524224f30ba4786f47324970aed4aaa'
* commit '5ec0bdf2c524224f30ba4786f47324970aed4aaa':
  h264: do not update the context fields copied between threads after finish_setup()

Conflicts:
	libavcodec/h264.h
	libavcodec/h264_slice.c

See: f111831ed6 and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-27 22:15:01 +02:00
Michael Niedermayer
77412f0ecd Merge commit '6d4d3fee63c46d921c4870feab79269af94e84e1'
* commit '6d4d3fee63c46d921c4870feab79269af94e84e1':
  h264: make sure the current picture is not made a long ref multiple times

See: 34ea5f418e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-27 20:56:30 +02:00
Michael Niedermayer
f620315fa5 Merge commit 'e49e0f58e273237f83b4486f3536931ed1943d18'
* commit 'e49e0f58e273237f83b4486f3536931ed1943d18':
  h264: make sure the slices do not overlap during slice threading

Conflicts:
	libavcodec/h264.h
	libavcodec/h264_slice.c

See: 43b434210e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-27 18:46:11 +02:00
Niklesh
cf9051deac movtextenc.c: Support for Bold, Italic and Underlined Styles
Signed-off-by: Niklesh <niklesh.lalwani@iitb.ac.in>
2015-06-27 09:28:34 -07:00
Anton Khirnov
5ec0bdf2c5 h264: do not update the context fields copied between threads after finish_setup()
Should fix a large number of possible races with frame threading.
2015-06-27 16:48:48 +02:00
Anton Khirnov
6d4d3fee63 h264: make sure the current picture is not made a long ref multiple times
Fixes possible invalid reads, once one of those refs is freed, but the
others remain.
CC: libav-stable@libav.org
2015-06-27 16:46:01 +02:00
Anton Khirnov
e49e0f58e2 h264: make sure the slices do not overlap during slice threading
Based on a patch by Michael Niedermayer <michaelni@gmx.at>.
CC: libav-stable@libav.org
Found-by: Kieran Kunhya <kierank@obe.tv>
2015-06-27 16:43:22 +02:00
Michael Niedermayer
5cccbc3b74 avcodec/jpeg2000dec: Check for mismatching per expected termination
not just at the end

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-27 15:22:15 +02:00
Michael Niedermayer
8672c0a643 avcodec/jpeg2000dec: Limit poc end fields to whats available in jpeg2000_decode_packets()
Fixes: Ticket4677

Solution based on information from
https://code.google.com/p/openjpeg/issues/detail?id=80

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-27 11:48:42 +02:00
Michael Niedermayer
aab4dbe534 avcodec/utils: Replace ENOTSUP by AVERROR_PATCHWELCOME
ENOTSUP is not available on all platforms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-27 11:19:57 +02:00
Philip Langdale
b69bea3ab8 avcodec: Add flag for experimental HWAccels and use it for VDPAU/HEVC
This HWAccel isn't really usable right now due to an nvidia driver bug,
so we don't want it selected by default.

HWAccels have a capabilities field and there's a comment about flags,
but no flags exist today, so let's add one for experimental hwaccels.
2015-06-26 19:07:51 -07:00
George Boyle
7728d231a6 fate/api-tests: Move api-flac-test to API tests directory.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-27 03:43:23 +02:00
Andreas Cadhalpun
04dfbc9441 s302m: fix arithmetic exception
If nb_samples is zero, the bit_rate calculation results in a division by
zero.

Since ff_get_buffer fails if frame->nb_samples is zero, this can be
fixed by moving the bit_rate calculation after that function call.

That also makes it possible to reuse the already calculated
frame->nb_samples value.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-06-26 23:35:26 +02:00
Kieran Kunhya
22291c372f avcodec: Add support for per-frame AFD output in h264
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-26 23:11:17 +02:00
Luca Barbato
92fdc80cab nvenc: Fix NV12 input 2015-06-26 22:18:24 +02:00
Michael Niedermayer
b75c0a72ed avcodec/jpeg2000dec: Fix tp_index for POC
Fixes Ticket2586

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-26 22:00:29 +02:00