Anton Khirnov
f2143c57b6
vp9: reindent after last commit
9 years ago
Ronald S. Bultje
1730a67ab9
vp9: add frame threading
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years ago
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>
9 years ago
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>
9 years ago
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
9 years ago
Anton Khirnov
e9bfff1cc6
lavc: free buffer_frame/pkt on avcodec_open2() failure
...
Fixes memory leaks in some FATE tests.
9 years ago
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>
9 years ago
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>
9 years ago
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>
9 years ago
Clément Bœsch
3cda179f18
vp9mc/x86: rename ff_* to ff_vp9_*
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years ago
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>
9 years ago
Clément Bœsch
6ab642d69d
vp9mc/x86: simplify a few inits.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years ago
Ronald S. Bultje
3a09494939
vp9mc/x86: add 16px functions (64bit only).
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years ago
Anton Khirnov
89466de4ae
vp9/x86: rename vp9dsp to vp9mc
...
It only contains the MC SIMD, other SIMD will go into different files.
9 years ago
Anton Khirnov
89aebc5bcc
lavc: align the linesize to 32 when AVX is enabled
9 years ago
Christophe Gisquet
3c504bc359
x86: deduplicate some constants
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years ago
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>
9 years ago
Diego Biurrun
3ccec334b8
sbrdsp: Move a misplaced #endif directive to the right spot
9 years ago
Diego Biurrun
e723dce6f8
dvbsubdec: Use NULL instead of 0 as pointer value
9 years ago
Martin Storsjö
9806b9ab5c
Revert "Don't use expressions with side effects in macro parameters"
...
This reverts commit 25bacd0a0c
.
Since 230b1c070
, the bytewise AV_W*() macros only expand their
argument once, so revert to the more readable version of these.
Signed-off-by: Martin Storsjö <martin@martin.st>
9 years ago
Martin Storsjö
25bacd0a0c
Don't use expressions with side effects in macro parameters
...
AV_WB32 can be implemented as a macro that expands its parameters
multiple times (in case AV_HAVE_FAST_UNALIGNED isn't set and the
compiler doesn't support GCC attributes); make sure not to read
multiple times from the source in this case.
Signed-off-by: Martin Storsjö <martin@martin.st>
9 years ago
Martin Storsjö
7ebdffc353
dxv: Check to make sure we don't overrun buffers on corrupt inputs
...
Signed-off-by: Martin Storsjö <martin@martin.st>
9 years ago
Anton Khirnov
e328178da9
qsvdec: only access hwaccel_context is the pixel format is QSV
...
We do not strictly specify that hwaccel_context must be cleared if no
hwaccel is used.
Reported-By: wm4 <nfxjfg@googlemail.com>
9 years ago
Anton Khirnov
5ebef79abe
Fix instances of broken indentation found by gcc 6
9 years ago
Luca Barbato
8495d84f01
ac3dec: Add some inline hints
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years ago
Luca Barbato
3db51bf671
ac3dec: Simplify skipping
...
skip_bits_long() can skip up to 32-bit ranges.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years ago
Luca Barbato
f0ccc65bc9
ac3dec: Split coupling-specific code from decode_audio_block()
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years ago
Luca Barbato
a5ebe5d121
ac3dec: Split spx-specific code from decode_audio_block()
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years ago
Anton Khirnov
a115eb9e75
mimic: do not release the newly obsolete reference at the end of decoding
...
The reference frames are used in update_thread_context(), so modifying
them after finish_setup() is a race. The frame in question will be
released during the next decode call.
CC: libav-stable@libav.org
9 years ago
Diego Biurrun
48b80f8393
hpeldsp: Explain why put_no_rnd_pixels_tab is larger than necessary
9 years ago
Luca Barbato
b183abfb5b
vpx: Support color range
...
The range field has been introduced in version 1.6.0
9 years ago
Anton Khirnov
8e07c22e50
qsvenc: print warnings from encode/init
9 years ago
Anton Khirnov
0956fd4606
qsvenc: do not re-execute encoding on all positive status codes
...
It should only be done for DEVICE_BUSY/IN_EXECUTION
9 years ago
Anton Khirnov
95414eb2dc
qsv: print more complete error messages
...
Include the libmfx error code and its description
9 years ago
Anton Khirnov
d9ec3c6014
qsvenc: take only the allocated dimensions from the frames context
...
Other parameters, like the display size, should still be taken from the
codec context.
9 years ago
Anton Khirnov
37a9015ee8
qsvenc: add support for p010
9 years ago
Anton Khirnov
21962261c7
qsv: handle the semi-packed formats in map_fourcc as well
...
This will allow using this function for encoding as well, where the
input format is already the semi-packed version.
9 years ago
Anton Khirnov
f65285aba0
lavc: set sw_pix_fmt for hwaccel encoding
9 years ago
Anton Khirnov
d59641abfd
lavc: initialize AVCodecContext.sw_pix_fmt properly
...
Currently it's memset to 0, which is YUV420P. It should be initialized
to none.
9 years ago
Vittorio Giovara
a1f6a2dfda
ratecontrol: Reorder functions to avoid forward declarations
9 years ago
Vittorio Giovara
d639dcdae0
ratecontrol: Move Xvid-related functions to the place they are actually used
...
This will simplify the de-MpegEncContextualization.
9 years ago
Vittorio Giovara
44972e227d
ratecontrol: Move mpegenc-only function where it is used
9 years ago
Vittorio Giovara
b4bb959383
ratecontrol: Drop commented out cruft
9 years ago
Diego Biurrun
d06dfaa5cb
x86: huffyuv: Use EXTERNAL_SSSE3_FAST convenience macro where appropriate
9 years ago
Diego Biurrun
4efab89332
x86: Use *_FAST/*_SLOW CPU feature detection macros where appropriate
9 years ago
Diego Biurrun
0a39c9ac0b
x86: hpeldsp: Don't check for bitexact flag when initializing VP3-specific code
...
That code is only ever initialized with that flag set.
9 years ago
Diego Biurrun
95c1df929b
x86: hpeldsp: Drop unused function parameters
9 years ago
Diego Biurrun
c3e83ad3b7
x86: hpeldsp: Use EXTERNAL_SSE2_FAST where appropriate
9 years ago
Diego Biurrun
1dfc3cf89d
x86: hpeldsp: Split off VP3-specific bits into a separate file
9 years ago
Anton Khirnov
e344e65109
h264dec: do not call finish_setup() if we have not started a frame
...
Found-By: Jan Ruge <jan.s.ruge@gmail.com>
Bug-Id: 952
9 years ago