Commit graph

37566 commits

Author SHA1 Message Date
Rostislav Pehlivanov
6612d04933 aacenc: fix various typos and an error message
Too much copy and pasting.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-08-13 17:34:58 +01:00
Rostislav Pehlivanov
fb0abb34cb aacenc: unmark the fast coder as experimental
This version has had much testing so there's little point in keeping it
maked as experimental.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-08-13 17:00:03 +01:00
Rostislav Pehlivanov
c92cc2d559 aacenc: add a faster version of twoloop as the "fast" coder
Does nothing fancy but still sounds very decent at 128kbps.
Still room to improve by bringing in the low pass and PNS management
from the main big twoloop which should improve its quality but not
sacrifice that much speed.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-08-13 17:00:03 +01:00
Jan Sebechlebsky
7ae52f8a6b avcodec/bsf: Add ff_bsf_get_packet_ref() function
Use of this function can save unnecessary malloc operation
in bitstream filter.

Signed-off-by: Jan Sebechlebsky <sebechlebskyjan@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-13 12:46:18 +02:00
Jan Sebechlebsky
bfdca87ab5 avcodec/bsf: Forbid packet without payload in av_bsf_send_packet
Signed-off-by: Jan Sebechlebsky <sebechlebskyjan@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-13 10:59:50 +02:00
Jan Sebechlebsky
7d5501be1e avcodec/bsf: Set EOF flag only in pkt == NULL
Set BSF EOF flag only if pkt == NULL in av_bsf_send_packet().

Signed-off-by: Jan Sebechlebsky <sebechlebskyjan@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-13 10:59:50 +02:00
Mark Thompson
5a667322f5 vaapi_vc1: Remove redundant version check
The lowest supported VAAPI version is 0.34 (checked at configure
time), so this test is no longer needed.
2016-08-13 09:46:48 +01:00
Mark Thompson
01d6f84f49 vaapi_vc1: Constify pointers 2016-08-13 09:46:48 +01:00
Mark Thompson
ee9061293e vaapi_mpeg2: Constify pointers 2016-08-13 09:46:48 +01:00
Mark Thompson
03adfe9130 vaapi_h264: Constify pointers 2016-08-13 09:46:48 +01:00
Carl Eugen Hoyos
ceab04fb5d lavc/raw: Support QT b64a ARGB64 rawvideo.
Decoder based on a patch by v0lt, v0lt rambler ru
Fixes ticket #5657.
2016-08-13 01:44:52 +02:00
Carl Eugen Hoyos
bc70312654 lavc/screenpresso: Fix 32bit pix_fmt, there is no transparency.
Fixes a remaining issue of ticket #5025.
2016-08-13 01:35:10 +02:00
Mark Reid
6051bb338c libavcodec/dnxhdenc: add edge emulate for dnxhr
Fixes handling for resolutions that are not multiples of 16.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-12 23:25:36 +02:00
Aman Gupta
b5f30fe8fe avcodec/utils: only warn when passed invalid lowres value
This makes it easier to use the lowres option when dealing with input
files in different codecs. If the codec doesn't support lowres=1 for
instance, it will throw a warning and use lowres=0 instead of erroring
out completely.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-12 16:34:20 +02:00
Anton Khirnov
f2143c57b6 vp9: reindent after last commit 2016-08-11 11:02:47 +02:00
Ronald S. Bultje
1730a67ab9 vp9: add frame threading
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-11 10:54:44 +02:00
Ronald S. Bultje
5b995452a6 vp9: allocate 'b', 'block/uvblock' and 'eob/uveob' dynamically.
This will be needed for frame threading.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-11 10:54:20 +02:00
Ronald S. Bultje
bc6e0b64a9 vp9: split last/cur_frame from the reference buffers.
We need more information from last/cur_frame than from reference
buffers, so we can use a simplified structure for reference buffers,
and then store mvs and segmentation map information in last/cur.

This prepares the decoder for frame threading support.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-11 10:53:13 +02:00
Anton Khirnov
04763c6f87 h264_direct: use the reference mask from the actual reference
Not from the underlying frame. Fixes races with frame threading in
field-coded files, where decoding would wait for the wrong field (e.g.
random failures in mixed-nal-coding).

Bug-Id: 954
2016-08-11 10:52:54 +02:00
Anton Khirnov
e9bfff1cc6 lavc: free buffer_frame/pkt on avcodec_open2() failure
Fixes memory leaks in some FATE tests.
2016-08-11 10:52:13 +02:00
Michael Niedermayer
6aa39080cc avcodec/rawdec: Fix palette handling with changing palettes
Fixes out of array access

Fixes: poc.swf
Found-by: 连一汉 <lianyihan@360.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-08 18:37:07 +02:00
Michael Niedermayer
ce2217b25e avcodec/ffv1: add AV_PIX_FMT_GBRP16 support
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-08 00:32:09 +02:00
Michael Niedermayer
74314f1f5f avcodec/ffv1: template functions to allow data types different from int16_t
This is required for >= 16bit RGB support
I tried it without templates but its too much duplicated code

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-08 00:27:43 +02:00
Yuli Khodorkovskiy
f0adb99d06 avcodec/qsvdec: Fix null dereferences in the qsv decoder
This patch fixes the h264_qsv decoder issues mentioned
in https://ffmpeg.zeranoe.com/forum/viewtopic.php?t=2962.

The patch may be tested by specifying h264_qsv as the decoder to ffplay
for an h264 encoded file.

	ffplay -vcodec h264_qsv foo.mts

Signed-off-by: Yuli Khodorkovskiy <ykhodo@gmail.com>
Push requested-by: Ivan Uskov
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-07 19:16:24 +02:00
Michael Niedermayer
bbec14de31 avcodec/raw: Fix decoding of ilacetest.mov
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-07 17:33:25 +02:00
James Almer
d950279cbf avcodec/ttadsp: cosmetics
Clean some header includes and use the same naming scheme as
in ttaencdsp

Signed-off-by: James Almer <jamrial@gmail.com>
2016-08-06 18:27:01 -03:00
Michael Niedermayer
c1bfeda5a3 avcodec/ffv1enc: Fix assertion failure with non zero bits per sample
Fixes Ticket5736
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-06 02:22:15 +02:00
Carl Eugen Hoyos
82e53b3cef lavc/vaapi_encode_h26x: Fix a crash if "." is not the decimal separator.
Fixes Debian bugs #831529, #831909, #832964.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2016-08-05 21:24:54 +01:00
James Almer
be63ef3c4e avcodec/vdpau: clean up vdpau_internal.h
Also don't include it on files that don't need it.

This reduces differences with libav

Tested-by: Timothy Gu <timothygu99@gmail.com>
Reveiwed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-08-04 16:40:51 -03:00
Timothy Gu
f297d1e9e5 h264dec: Fix indentation 2016-08-04 11:16:44 -07:00
Timothy Gu
7f7cedd713 Merge commit '58640fe89e'
* commit '58640fe89e':
  h264: handle frame recovery in h264_field_start()

Conflicts:
	libavcodec/h264dec.c

Merged-by: Timothy Gu <timothygu99@gmail.com>
2016-08-03 20:07:21 -07:00
Timothy Gu
de62531286 Merge commit 'e26c64148b'
* commit 'e26c64148b':
  h264: discard slices of redundant pictures right after parsing the slice header

Conflicts:
	libavcodec/h264_slice.c
	libavcodec/h264dec.c

TODO: fix indentation

Merged-by: Timothy Gu <timothygu99@gmail.com>
2016-08-03 19:50:06 -07:00
Timothy Gu
e0c8250a59 Merge commit '6efc463858'
* commit '6efc463858':
  h264: always set redundant_pic_count during slice header parsing

Merged-by: Timothy Gu <timothygu99@gmail.com>
2016-08-03 19:09:19 -07:00
Timothy Gu
826c780c12 Revert "Revert "Merge commit 'd1d7678040cd60148f97b372cb4291bcc45b2e22'""
This reverts commit e4af9be0f4 and redoes
796027f221.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-03 17:45:52 -07:00
Timothy Gu
e4af9be0f4 Revert "Merge commit 'd1d7678040'"
This reverts commit 796027f221, reversing
changes made to bca30ed2b6.

Preemptive revert before further testing has been done.
2016-08-03 17:06:55 -07:00
Timothy Gu
796027f221 Merge commit 'd1d7678040'
* commit 'd1d7678040':
  h264: fix the check for mixed IDR/non-IDR slices

Conflicts:
	libavcodec/h264_slice.c
	libavcodec/h264dec.c

Merged-by: Timothy Gu <timothygu99@gmail.com>
2016-08-03 15:59:51 -07:00
Timothy Gu
bca30ed2b6 Merge commit 'b13fc1e344'
* commit 'b13fc1e344':
  h264: do not pass H264Context to h264_slice_header_parse()

Conflicts:
	libavcodec/h264dec.h

Did not merge the h264_slice_header_parse() part. We use a few other
members of H264Context for error checking in that function.

Merged-by: Timothy Gu <timothygu99@gmail.com>
2016-08-03 15:41:59 -07:00
Ronald S. Bultje
0df4801105 vp9: make mv bounds 32bit.
The frame dimensions are 16bit, so the mv bounds can easily overflow
int16 for large videos.

Bug-Id: Handbrake/46
CC: libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-03 11:07:15 +02:00
Ronald S. Bultje
9790b44a89 vp9mc/x86: sse2 MC assembly.
Also a slight change to the ssse3 code, which prevents a theoretical
overflow in the sharp filter.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-03 11:04:51 +02:00
James Almer
67922b4ee4 vp9mc/x86: add AVX and AVX2 MC
Roughly 25% faster MC than ssse3 for blocksizes 32 and 64.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-03 11:00:08 +02:00
Clément Bœsch
3cda179f18 vp9mc/x86: rename ff_* to ff_vp9_*
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-03 10:57:55 +02:00
James Almer
8be8444d01 vp9mc/x86: rename ff_avg[48]_sse to ff_avg[48]_mmxext
pavgb is an sse integer instruction, so the mmxext flag is enough

Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-03 10:57:55 +02:00
Clément Bœsch
6ab642d69d vp9mc/x86: simplify a few inits.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-03 10:57:55 +02:00
Ronald S. Bultje
3a09494939 vp9mc/x86: add 16px functions (64bit only).
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-03 10:57:55 +02:00
Anton Khirnov
89466de4ae vp9/x86: rename vp9dsp to vp9mc
It only contains the MC SIMD, other SIMD will go into different files.
2016-08-03 10:57:50 +02:00
Anton Khirnov
89aebc5bcc lavc: align the linesize to 32 when AVX is enabled 2016-08-03 10:56:53 +02:00
Christophe Gisquet
3c504bc359 x86: deduplicate some constants
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-03 10:56:52 +02:00
Anton Khirnov
d3e4d406b0 h264dec: reset nb_slice_ctx_queued for hwaccel decoding
Fixes hwaccel decoding of files with multiple slices.

Found-By: Mark Thompson <sw@jkqxz.net>
2016-08-03 10:56:52 +02:00
Diego Biurrun
3ccec334b8 sbrdsp: Move a misplaced #endif directive to the right spot 2016-08-03 08:26:40 +02:00
Diego Biurrun
e723dce6f8 dvbsubdec: Use NULL instead of 0 as pointer value 2016-08-03 08:26:40 +02:00