33336 Commits

Author SHA1 Message Date
Tom Butterworth
43dd004747 hap: Move some per-stream setup into decoder init rather than per-frame
This change will reject frames with a texture type which does not match
the stream description.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:53:03 +01:00
Vittorio Giovara
b94ec30428 lavc: Update version and APIchanges
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:26:57 +01:00
Vittorio Giovara
059a934806 lavc: Consistently prefix input buffer defines
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:59 +01:00
Vittorio Giovara
def97856de lavc: AV-prefix all codec capabilities
Express bitfields more simply.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:58 +01:00
Vittorio Giovara
7c6eb0a1b7 lavc: AV-prefix all codec flags
Convert doxygen to multiline and express bitfields more simply.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:58 +01:00
Vittorio Giovara
4b6b1082a7 lavc: Deprecate avctx.me_method
This option is extremely codec specific and only a few codecs employ it.
Move it to codec private options instead: mpegenc family supports only 3
values, xavs and x264 use 5, and xvid has a different metric entirely.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:56 +01:00
Vittorio Giovara
03eb557414 wmv2enc: Check memory allocation 2015-07-27 14:44:07 +01:00
Vittorio Giovara
a67b67944a ac3enc_template: Use the correct context field
For audio encoders, delay has no effect, use the appropriate one,
initial_padding (see 2df0c32).
2015-07-27 14:44:07 +01:00
Anton Khirnov
f3bd3810d2 qsvdec_*: add missing CODEC_CAP_DR1 2015-07-27 07:44:34 +02:00
Michael Niedermayer
0b6f092ed3 Merge commit '4b6b1082a73907c7c3de2646c6398bc61320f2c6'
* commit '4b6b1082a73907c7c3de2646c6398bc61320f2c6':
  lavc: Deprecate avctx.me_method

Conflicts:
	doc/encoders.texi
	libavcodec/avcodec.h
	libavcodec/libx264.c
	libavcodec/motion_est.c
	libavcodec/options_table.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 21:03:20 +02:00
Michael Niedermayer
59b009411f Merge commit '03eb55741427c6608f63972c105e565ca0ba4f15'
* commit '03eb55741427c6608f63972c105e565ca0ba4f15':
  wmv2enc: Check memory allocation

Conflicts:
	libavcodec/wmv2enc.c

See: 6e8fe448154e1aa0928cb0d2e1aecb7255c751cc
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 20:43:25 +02:00
Michael Niedermayer
af5f707e46 avcodec/v410enc: do not use internal->byte_buffer
it is not optimal when the buffer size is well known at allocation time

This avoids a memcpy()

about 1% faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-27 20:03:02 +02:00
Michael Niedermayer
9fe873bec8 avcodec/utils: do not use internal->byte_buffer when little downsizing is expected
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 20:03:02 +02:00
Michael Niedermayer
0dbfb5386f avcodec/internal: Deprecate ff_alloc_packet() in favor of ff_alloc_packet2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-27 19:58:36 +02:00
Michael Niedermayer
e36db49b7b avcodec: Add a min size parameter to ff_alloc_packet2()
This parameter can be used to inform the allocation code about how much
downsizing might occur, and can be used to optimize how to allocate the
packet

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 19:57:52 +02:00
Claudio Freire
59216e0525 AAC Encoder: clipping avoidance
Avoid clipping due to quantization noise to produce audible
artifacts, by detecting near-clipping signals and both attenuating
them a little and encoding escape-encoded bands (usually the
loudest) rounding towards zero instead of nearest, which tends to
decrease overall energy and thus clipping.

Currently fate tests measure numerical error so this change makes
tests using asynth (which are near clipping) report higher error
not less, because of window attenuation. Yet, they sound better,
not worse (albeit subtle, other samples aren't subtle at all).
Only measuring psychoacoustically weighted error would make for
a representative test, so that will be left for a future patch.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 19:13:48 +02:00
Shivraj Patil
71aede3ced avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for VP9 bilinear functions
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-27 17:13:24 +02:00
Michael Niedermayer
d12be9ed70 Merge commit 'f3bd3810d274a7f51b5925fc3d2fc33e8043a5d4'
* commit 'f3bd3810d274a7f51b5925fc3d2fc33e8043a5d4':
  qsvdec_*: add missing CODEC_CAP_DR1

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 11:50:17 +02:00
Michael Niedermayer
d41dceb14e avcodec/dvbsubdec: Add option to select when to computer clut (always/never/"if needed")
Reviewed-by: Anshul <anshul.ffmpeg@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 00:02:48 +02:00
Michael Niedermayer
508c815d4d Merge commit '9b4b96c0dee90d260891ec765b28f6ca15594340'
* commit '9b4b96c0dee90d260891ec765b28f6ca15594340':
  force WINAPI_FAMILY to WINAPI_FAMILY_DESKTOP_APP to be able to use dxva.h

Conflicts:
	libavcodec/dxva2_internal.h

See: c5327df838396e7c43a56bdd141c0f01ba3edc94
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 22:41:18 +02:00
Steve Lhomme
c5327df838 force WINAPI_FAMILY to WINAPI_FAMILY_DESKTOP_APP to use DVXA
The struct definitions in dxva.h, which are necessary in order to
actually use d3d11va, are hidden when WINAPI_FAMILY targets Windows Phone
or WindowsRT.

Building with WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP is disallowed
when targeting ARM. ("Compiling Desktop applications for the ARM
platform is not supported.") So we set _CRT_BUILD_DESKTOP_APP to 0
to tell the runtime not to detect some issues with this mismatching.

The same tweaks to detect if the API is available is done in dxva2_internal.h
when compiling each DXVA2/D3D11VA decoders.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 22:02:20 +02:00
Steve Lhomme
9b4b96c0de force WINAPI_FAMILY to WINAPI_FAMILY_DESKTOP_APP to be able to use dxva.h
The struct definitions in dxva.h, which are necessary in order to
actually use d3d11va, are hidden when WINAPI_FAMILY targets Windows Phone
or WindowsRT.

Building with WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP is disallowed
when targeting ARM. ("Compiling Desktop applications for the ARM
platform is not supported.") So we set _CRT_BUILD_DESKTOP_APP to 0
to tell the runtime not to detect some issues with this mismatching.

The same tweaks to detect if the API is available is done in dxva2_internal.h
when compiling each DXVA2/D3D11VA decoders.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-07-26 20:18:03 +03:00
Niklesh
f21fcf60ec movtextdec.c: Add support for fontsize
Add support for fontsize in style records. The patch uses reset to
directly change back to default style instead of using closing tags,
since we are not handling the default styles right now.

Signed-off-by: Niklesh <niklesh.lalwani@iitb.ac.in>
2015-07-26 09:35:20 -07:00
WereCatf
7106dfd945 avcodec/nvenc: 2-pass mode works even with non-low latency presets now
Github: Closes #140

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2015-07-26 17:40:56 +02:00
Michael Niedermayer
e0031ca29a avcodec/avrndec: Fix cropping
This also switches to using a separate AVCodecContext for the inner mjpeg decoder
which is cleaner and avoids fields from being overwritten with wrong values

Fixes Ticket162

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 17:18:35 +02:00
Michael Niedermayer
4b90dcb849 avcodec/dvbsubdec: Compute default CLUT based on bitmap analysis
Fixes displaying subtitles before any CLUT has been received
Fixes Ticket153

This will of course not display these initial subtitles in the correct
color (as that is not known at that point) but they should look clean
and not corrupted

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 14:39:55 +02:00
James Almer
844bef578e avcodec/x86: add missing colon to labels
Silences warnings with Nasm

Signed-off-by: James Almer <jamrial@gmail.com>
2015-07-26 02:50:14 -03:00
James Almer
ec7f04c13a avcodec/texturedsp: fix undefined shift
Silences warnings when using -Wshift-overflow (GCC 6+)

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-07-26 00:40:17 -03:00
Ivan Uskov
684b703843 libavcodec/qsvdec_h264.c: using "private_spspps_buf" argument for av_bitstream_filter_filter() to avoid failure after decoder re-initialization.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 02:04:41 +02:00
Ivan Uskov
1defff85cb libavcodec/h264_mp4toannexb_bsf.c: Optional argument "private_spspps_buf" to avoid extradata modification.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 01:44:41 +02:00
Michael Niedermayer
508b79e6c1 Merge commit '41d47ea85fb4ad9cfb5c2dc808a46bc1d57f3986'
* commit '41d47ea85fb4ad9cfb5c2dc808a46bc1d57f3986':
  lavc: add Intel libmfx-based HEVC decoder.

Conflicts:
	Changelog
	configure
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/qsvdec.c
	libavcodec/qsvdec_h2645.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 01:20:46 +02:00
Michael Niedermayer
bb619f41be Merge commit 'bf52f773913cf74bdf0d2c8c2cb4473fa1b7801e'
* commit 'bf52f773913cf74bdf0d2c8c2cb4473fa1b7801e':
  lavc: add Intel libmfx-based MPEG2 decoder.

Conflicts:
	configure
	libavcodec/qsvdec_mpeg2.c

Some cosmetics merged, rest is related to the removed parser code and
thus not merged

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 00:59:57 +02:00
Timo Rothenpieler
9f4bff834c avcodec/nvenc: Delay frame output to increase encoding speed 2015-07-26 00:52:15 +02:00
Michael Niedermayer
15bcbc9d3b Merge commit 'f89f78c1c563d98f10ee1d7e1ed67c9f9e03b741'
* commit 'f89f78c1c563d98f10ee1d7e1ed67c9f9e03b741':
  lavc: add a HEVC mp4->annex B bitstream filter

Conflicts:
	Changelog

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 00:34:27 +02:00
Michael Niedermayer
af08d8bfbb Merge commit 'fa85fcf2b7d1ab822a59245077b8bb855406d3e9'
* commit 'fa85fcf2b7d1ab822a59245077b8bb855406d3e9':
  qsvenc_hevc: fix enum declaration

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-25 23:47:54 +02:00
Timo Rothenpieler
15cd2f8ea9 avcodec/nvenc: Remove unused parameter 2015-07-25 23:43:16 +02:00
Michael Niedermayer
c3413a712a Merge commit '22522d9c2c69624fe4d81d61ee65a56610f22f1d'
* commit '22522d9c2c69624fe4d81d61ee65a56610f22f1d':
  qsvdec: fix a memleak of async_fifo

Conflicts:
	libavcodec/qsvdec.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-25 23:28:39 +02:00
Michael Niedermayer
ef2a85ac53 Merge commit 'aa9d15d89bb4ee8a31607d3db1b8c5334eb88d2d'
* commit 'aa9d15d89bb4ee8a31607d3db1b8c5334eb88d2d':
  qsvdec: avoid an infinite loop with no consumed data and no output

Conflicts:
	libavcodec/qsvdec.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-25 23:10:14 +02:00
Michael Niedermayer
c105e0f077 avcodec/aacps_fixed_tablegen: change f_center to 64bit to avoid overflow
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-25 22:07:41 +02:00
Ivan Uskov
fb57bc6c34 avcodec: Add QSV VC-1 video decoder.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-25 19:32:22 +02:00
Anton Khirnov
41d47ea85f lavc: add Intel libmfx-based HEVC decoder. 2015-07-25 17:37:01 +02:00
Anton Khirnov
bf52f77391 lavc: add Intel libmfx-based MPEG2 decoder. 2015-07-25 17:36:59 +02:00
Ivan Uskov
6d0123f40e avcodec: Add QSV MPEG-2 video decoder.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-25 17:31:18 +02:00
Anton Khirnov
f89f78c1c5 lavc: add a HEVC mp4->annex B bitstream filter 2015-07-25 17:26:53 +02:00
Anton Khirnov
96dca089b1 qsvdec: move qsv_process_data() from qsvdec_h264 to the common code
It will be shared with the upcoming mpeg2 and hevc decoders.
2015-07-25 17:24:25 +02:00
Anton Khirnov
fa85fcf2b7 qsvenc_hevc: fix enum declaration
Declare a named enum, not a variable with anonymous enum type.
2015-07-25 17:24:03 +02:00
Anton Khirnov
22522d9c2c qsvdec: fix a memleak of async_fifo
init() is called whenever format changes, so current code would leak the
fifo in this case.
2015-07-25 17:23:46 +02:00
Anton Khirnov
aa9d15d89b qsvdec: avoid an infinite loop with no consumed data and no output
This is triggerable with the HEVC decoder. It is unclear yet whether the
bug is in the calling code or the MSDK, but it seems better to check for
this in any case.
2015-07-25 17:23:29 +02:00
Michael Niedermayer
38490e0724 avcodec/dvdec: only attempt to conceal errors based on STA inconsistencies when error_concealment is set
This allows the user to disable it in the hypothetical case that STA values are wrong

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-25 15:27:44 +02:00
Michael Niedermayer
bbad3811cc avcodec/aacps: Fix ;;
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-25 14:07:55 +02:00