OSDN Git Service
Andreas Cadhalpun [Wed, 6 Jan 2016 06:32:25 +0000 (07:32 +0100)]
asfdec: reject size > INT64_MAX in asf_read_unknown
Both avio_skip and detect_unknown_subobject use int64_t for the size
parameter.
This fixes a segmentation fault due to infinite recursion.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Alexandra Hájková <alexandra.khirnova@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Andreas Cadhalpun [Wed, 6 Jan 2016 06:34:42 +0000 (07:34 +0100)]
asfdec: only set asf_pkt->data_size after sanity checks
Otherwise invalid values are used unchecked in the next run.
This can cause NULL pointer dereferencing.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Alexandra Hájková <alexandra.khirnova@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Wed, 6 Jan 2016 07:39:27 +0000 (08:39 +0100)]
qsvenc: split encoding frames and reading from the async FIFO
This makes sure all the frames are returned at the end.
Found-By: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
Maxym Dmytrychenko [Fri, 18 Dec 2015 13:24:36 +0000 (14:24 +0100)]
qsvenc: properly handle the warning from MFXVideoCORE_SyncOperation
Same as what is done in
3b6473b43eb69fc3faaf69f7fd0b83b51db7607f.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Luca Barbato [Sat, 2 Jan 2016 13:43:13 +0000 (14:43 +0100)]
avconv: Drop an impossible check
EAGAIN is already managed in poll_filters().
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Sat, 2 Jan 2016 13:43:12 +0000 (14:43 +0100)]
avconv: Simplify poll_filters() return value check
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diego Biurrun [Fri, 11 Dec 2015 12:32:47 +0000 (13:32 +0100)]
h264_refs: Remove broken trace debug code
Diego Biurrun [Fri, 11 Dec 2015 12:17:15 +0000 (13:17 +0100)]
lavc: Add missing #includes for ff_dlog()
Maxym Dmytrychenko [Fri, 18 Dec 2015 13:24:36 +0000 (14:24 +0100)]
qsvdec: properly handle the warning from MFXVideoCORE_SyncOperation
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Maxym Dmytrychenko [Fri, 18 Dec 2015 08:55:13 +0000 (09:55 +0100)]
qsvenc_hevc: improve the default settings
Use 8 B-frames and modify the GOP size to be a multiple of the B-frame
count.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Thu, 17 Dec 2015 18:38:24 +0000 (19:38 +0100)]
h264: improve behaviour with invalid reference lists
Before
741b494fa8cd28a7d096349bac183893c236e3f9, when the reference list
modification description was invalid, the code would substitute the
corresponding reference from the initial ("default") reference list.
After that commit, it will just return an error.
Since there are apparently invalid samples in the wild that used to play
fine with the old code, it is a good idea to re-add some sort of error
resilience here. So, when the reference list modification results in a
missing frame, substitute a previous reference frame for it. The
relevant sample again decodes fine with the same output as previously.
Alexandra Hájková [Wed, 30 Dec 2015 14:29:03 +0000 (15:29 +0100)]
dca: use defines for subband related constants
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Janne Grunau [Tue, 29 Dec 2015 11:08:38 +0000 (12:08 +0100)]
x86: use emms after ff_int32_to_float_fmul_scalar_sse
Intel's Instruction Set Reference (as of September 2015) clearly states
that cvtpi2ps switches to MMX state. Actual CPUs do not switch if the
source is a memory location. The Instruction Set Reference from 1999
(Order Number 243191) describes this behaviour but all later versions
I've seen have make no distinction whether MMX registers or memory is
used as source.
The documentation for the matching SSE2 instruction to convert to double
(cvtpi2pd) was fixed (see the valgrind bug
https://bugs.kde.org/show_bug.cgi?id=210264).
It will take time to get a clarification and fixes in place. In the
meantime it makes sense to change ff_int32_to_float_fmul_scalar_sse to
be correct according to the documentation. The vast majority of users
will have SSE2 so a change to the SSE version has little effect.
Fixes fate-checkasm on x86 valgrind targets.
Valgrind 'bug' reported as https://bugs.kde.org/show_bug.cgi?id=357059
Janne Grunau [Tue, 22 Dec 2015 21:51:55 +0000 (22:51 +0100)]
checkasm: x86: post commit review fixes
Check the full FPU tag word instead of only the lower half and simplify
the comparison.
Use upper-case function base name as macro name to instantiate both
checked_call variants.
Janne Grunau [Tue, 22 Dec 2015 21:45:42 +0000 (22:45 +0100)]
x86: zero extend the 32-bit length in int32_to_float_fmul_scalar implicitly
This reverts commit
5dfe4edad63971d669ae456b0bc40ef9364cca80.
Diego Biurrun [Tue, 15 Dec 2015 18:59:14 +0000 (19:59 +0100)]
Remove stray line breaks from avpriv_{report_missing_feature|request_samples}
Diego Biurrun [Thu, 17 Dec 2015 12:04:55 +0000 (13:04 +0100)]
rtpdec_jpeg: Coalesce redundant error checks
Alexandra Hájková [Fri, 18 Dec 2015 13:54:02 +0000 (14:54 +0100)]
dca: remove unused decode_hf function and quant_d tables
They were superseded with their integer equivalents. Rename integer
decode_hf to decode_hf.
Alexandra Hájková [Thu, 17 Dec 2015 14:52:47 +0000 (15:52 +0100)]
dca: change the core to work with integer coefficients.
The DCA core decoder converts integer coefficients read from the
bitstream to floats just after reading them (along with dequantization).
All the other steps of the audio reconstruction are done with floats
which makes the output for the DTS lossless extension (XLL)
actually lossy.
This patch changes the DCA core to work with integer coefficients
until QMF. At this point the integer coefficients are converted to floats.
The coefficients for the LFE channel (lfe_data) are not touched.
This is the first step for the really lossless XLL decoding.
Alexandra Hájková [Thu, 3 Dec 2015 12:45:10 +0000 (13:45 +0100)]
dca: Add math helpers.
They will be used by the integer core decoder.
Janne Grunau [Tue, 8 Dec 2015 15:24:57 +0000 (16:24 +0100)]
checkasm: add fmtconvert tests
Janne Grunau [Mon, 7 Dec 2015 22:38:46 +0000 (23:38 +0100)]
checkasm: add synth_filter test
Janne Grunau [Mon, 7 Dec 2015 00:23:47 +0000 (01:23 +0100)]
checkasm: add tests for dcadsp
Janne Grunau [Mon, 7 Dec 2015 15:14:46 +0000 (16:14 +0100)]
checkasm: add float comparison util functions
Janne Grunau [Fri, 11 Dec 2015 13:06:38 +0000 (14:06 +0100)]
x86: checkasm: check for or handle missing cleanup after MMX instructions
Not every asm routine is expected clear the MMX state after returning.
It is however a requisite for testing floating point code in checkasm.
Annotate functions requiring cleanup with declare_func_emms() and issue
emms after the call. The remaining functions are checked for having a
cleared MMX state after return.
Janne Grunau [Fri, 18 Dec 2015 10:23:22 +0000 (11:23 +0100)]
arm64: fix inverted register order in transpose_4x4H
Fix related register order issue in ff_h264_idct_add_neon.
Found-by: zjh8890 <243186085@qq.com>
Andreas Cadhalpun [Sun, 13 Dec 2015 22:37:25 +0000 (23:37 +0100)]
exr: fix out of bounds read in get_code
This macro unconditionally used out[-1], which causes an out of bounds
read, if out is the very beginning of the buffer.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Andreas Cadhalpun [Tue, 15 Dec 2015 21:00:31 +0000 (22:00 +0100)]
opus: Fix typo causing overflow in silk_stabilize_lsf
Due to this typo max_center can be too large, causing nlsf to be set to
too large values, which in turn can cause nlsf[i - 1] + min_delta[i] to
overflow to a negative value, which is not allowed for nlsf and can
cause an out of bounds read in silk_lsf2lpc.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Janne Grunau [Thu, 3 Dec 2015 15:17:32 +0000 (16:17 +0100)]
arm: add ff_int32_to_float_fmul_array8_neon
Quite a bit faster than int32_to_float_fmul_array8_c calling
ff_int32_to_float_fmul_scalar_neon through FmtConvertContext.
Number of cycles per int32_to_float_fmul_array8 call while decoding
padded.dts on exynos5422:
before after change
cortex-a7: 1270 951 -25%
cortex-a15: 434 285 -34%
checkasm --bench cycle counts: cortex-a15 cortex-a7
int32_to_float_fmul_array8_c: 1730.4 4384.5
int32_to_float_fmul_array8_neon_c: 571.5 1694.3
int32_to_float_fmul_array8_neon: 374.0 1448.8
Interesting are the differences between
int32_to_float_fmul_array8_neon_c and int32_to_float_fmul_array8_neon.
The former is current behaviour of calling
ff_int32_to_float_fmul_scalar_neon repeatedly from the c function,
The raw numbers differ since checkasm uses different lengths than the
dca decoder.
Janne Grunau [Thu, 3 Dec 2015 10:04:29 +0000 (11:04 +0100)]
arm64: int32_to_float_fmul neon asm
3% faster dts decoding on a cortex-a57.
cortex-a57 cortex-a53
int32_to_float_fmul_array8_c: 1270.9 4475.6
int32_to_float_fmul_array8_neon: 328.6 569.2
int32_to_float_fmul_scalar_c: 928.5 4119.6
int32_to_float_fmul_scalar_neon: 309.1 524.1
Janne Grunau [Tue, 1 Dec 2015 12:37:41 +0000 (13:37 +0100)]
arm64: port synth_filter_float_neon from arm
~25% faster dts decoding overall. The checkasm CPU cycles numbers are
not that useful since synth_filter_float() calls FFTContext.imdct_half().
cortex-a57 cortex-a53
synth_filter_float_c: 1866.2 3490.9
synth_filter_float_neon: 915.0 1531.5
With fftc.imdct_half forced to imdct_half_neon:
cortex-a57 cortex-a53
synth_filter_float_c: 1718.4 3025.3
synth_filter_float_neon: 926.2 1530.1
Janne Grunau [Sat, 28 Nov 2015 14:23:52 +0000 (15:23 +0100)]
arm64: convert dcadsp neon asm from arm
~2% faster dts decoding overall.
cortex-a57 cortex-a53
dca_decode_hf_c: 474.8 1659.9
dca_decode_hf_neon: 225.2 301.1
dca_lfe_fir0_c: 913.2 1537.7
dca_lfe_fir0_neon: 286.8 451.9
dca_lfe_fir1_c: 848.7 1711.5
dca_lfe_fir1_neon: 387.1 506.4
Janne Grunau [Wed, 9 Dec 2015 21:28:36 +0000 (22:28 +0100)]
arm: add a cpu flag for the VFPv2 vector mode
The vector mode was deprecated in ARMv7-A/VFPv3 and various cpu
implementations do not support it in hardware. Vector mode code will
depending the OS either be emulated in software or result in an illegal
instruction on cpus which does not support it. This was not really
problem in practice since NEON implementations of the same functions are
preferred. It will however become a problem for checkasm which tests
every cpu flag separately.
Since this is a cpu feature newer cpu do not support anymore the
behaviour of this flag differs from the other flags. It can be only
activated by runtime cpu feature selection.
Janne Grunau [Tue, 8 Dec 2015 15:20:19 +0000 (16:20 +0100)]
x86_64: int32_to_float_fmul_scalar sign extend integer length
Janne Grunau [Wed, 2 Dec 2015 23:12:39 +0000 (00:12 +0100)]
arm64: add cycle counter support
The ISB (instruction synchronization barrier) might be too heavy for
START/STOPTIMER use but should be more accurate in checkasm where the
timing overhead is subtracted.
Janne Grunau [Thu, 10 Dec 2015 20:49:30 +0000 (21:49 +0100)]
libavutil: move FFALIGN macro from common.h to macros.h
Include macros.h explicitly in common.h so that external code using
FFALIGN does not break. It was already implicitly included through
version.h. Include macros.h in lls.h and internal.h for FFALIGN.
lls.h was including common.h only for FFALIGN and internal.h was
missing the include for FFALIGN. `make checkheaders` did not catch it
because it's an internal header.
Stefan Pöschel [Sat, 12 Dec 2015 19:26:38 +0000 (20:26 +0100)]
mpegtsenc: add flag to embed an AC-3 ES the DVB way
So far an AC-3 elementary stream is refered to in the PMT according to
System A (ATSC). However System B (DVB) has a different way to signal an AC-3
ES within the PMT. This different way can be enabled by a new flag. The flag is
more generally named 'system_b' as there are further differences between ATSC
and DVB (e.g. the signalling of E-AC-3) which should then also be covered by it
in the future.
Bug-Id: 73
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Kip Warner [Thu, 10 Dec 2015 23:52:50 +0000 (15:52 -0800)]
avresample: Mark avresample_buffer() as pointer to const
That buffer is read only and marking it accordingly let
the user passing a constant buffer to it without having
a const-correctness warning.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Anton Khirnov [Sun, 13 Dec 2015 06:13:37 +0000 (07:13 +0100)]
r3d: fix an invalid read introduced in
6bf4c1d
Martin Storsjö [Wed, 11 Nov 2015 20:38:39 +0000 (22:38 +0200)]
rtmpproto: Include the full path as app when "slist=" is found
This matches what librtmp does. This fixes automatic url parsing of
crunchyroll urls.
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Sun, 18 Oct 2015 19:21:55 +0000 (21:21 +0200)]
vocdec: do not create the stream in read_header()
The stream parameters are not known until we read a packet, so postpone
creating it until then.
Anton Khirnov [Sun, 18 Oct 2015 18:58:24 +0000 (20:58 +0200)]
vocdec: put the code not shared with other demuxers under appropriate ifdef
Anton Khirnov [Sun, 11 Oct 2015 09:08:24 +0000 (11:08 +0200)]
flvdec: do not create any streams in read_header()
The current muxer behaviour is to create streams in read_header() based
on the audio/video presence flags, but fill in the stream parameters
later when we actually get some packets for them. This is rather shady,
since other demuxers set the stream parameters immediately when the
stream is created and do not touch the stream codec context after that.
Change the flv demuxer to behave in the same way as other similar
demuxers -- create the streams only when we get a packet for them.
Anton Khirnov [Fri, 2 Jan 2015 18:16:21 +0000 (19:16 +0100)]
lavc: make avpriv_mpa_decode_header private on next bump
It's not used by anything outside of lavc anymore.
Anton Khirnov [Fri, 2 Jan 2015 08:49:20 +0000 (09:49 +0100)]
mp3dec: replace avpriv_mpa_decode_header with avpriv_mpegaudio_decode_header
The latter does not require a full AVCodecContext and still provides all
the functionality needed here.
Anton Khirnov [Fri, 9 Oct 2015 13:16:46 +0000 (15:16 +0200)]
mpegaudiodecheader: check the header in avpriv_mpegaudio_decode_header
Almost all the places from which this function is called already check
the header manually and in the two that don't (the mp3 muxer) the check
should not cause any problems.
Anton Khirnov [Thu, 1 Jan 2015 13:58:05 +0000 (14:58 +0100)]
lavc: get the profile name through the codec descriptor in avcodec_string()
Anton Khirnov [Wed, 31 Dec 2014 06:57:59 +0000 (07:57 +0100)]
lavc: add profiles to AVCodecDescriptor
The profiles are a property of the codec, so it makes sense to export
them through AVCodecDescriptors, not just the codec implementations.
Anton Khirnov [Tue, 30 Dec 2014 11:44:02 +0000 (12:44 +0100)]
lavc: print the name of the codec, not its implementation, in avcodec_string
Anton Khirnov [Wed, 21 Oct 2015 09:22:13 +0000 (11:22 +0200)]
r3d: do not create the audio stream until we know the sample rate
Anton Khirnov [Tue, 30 Dec 2014 06:51:04 +0000 (07:51 +0100)]
ff_parse_specific_params: do not use AVCodecContext.frame_size
It will not be set unless the muxing codec context is also the encoding
context, which is discouraged. When the frame size is not known from
av_get_audio_frame_duration(), the fallback should still be good enough.
Anton Khirnov [Sat, 15 Nov 2014 15:48:59 +0000 (16:48 +0100)]
rmenc: do not use AVCodecContext.frame_size
It will not be set if the stream codec context is not the encoding
context. Use av_get_audio_frame_duration() instead, it should work for
all audio codecs supported by the muxer.
Anton Khirnov [Thu, 10 Dec 2015 21:16:13 +0000 (22:16 +0100)]
mpegvideo_enc: actually add the side data with vbv_delay to the packet
Fixes
2507b5dd674834be7261772996f47ae3b95cca69
Dave Yeo [Wed, 9 Dec 2015 15:53:51 +0000 (07:53 -0800)]
hevcdsp: use a macro for .rodata section
fixes assembling on OS/2
Signed-off-by: Dave Yeo <dave.r.yeo@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Tue, 8 Dec 2015 17:12:33 +0000 (18:12 +0100)]
openh264: Directly include the deprecation guards header
Make easier to avoid compile failure when reworking the internal
headers.
Luca Barbato [Sat, 5 Dec 2015 12:45:01 +0000 (13:45 +0100)]
log: Use a do {} while (0) for tlog
Avoid the warning `-Wempty-body`.
Aaron Colwell [Wed, 2 Dec 2015 23:13:18 +0000 (18:13 -0500)]
matroskadec: Fix sample_aspect_ratio for stereo matroska content
matroskaenc applies divisors to the display width/height when generating
stereo content. This patch adds the corresponding multipliers to matroskadec
so that the original sample aspect ratio can be recovered.
Signed-off-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Vittorio Giovara [Thu, 3 Dec 2015 00:10:02 +0000 (19:10 -0500)]
sgienc: Make sure to initialize skipped header portions
Fix fate tests with asan. Introduced during bytestream2 porting
(in revision
62cc8f4d79dad119e8efeaae080a58a8dcb1e89d).
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Vittorio Giovara [Mon, 30 Nov 2015 17:19:36 +0000 (12:19 -0500)]
lavc: Drop exporting 2-pass encoding stats
These variables are coming from mpegvideoenc where are supposedly used
as bit counters on various frame properties. However their use is
unclear as they lack documentation, are available only from a very small
subset of encoders, and they are hardly used in the wild. Also frame_bits
in aacenc is employed in a similar way.
Remove this functionality from AVCodecContex, these variable are mostly
frame properties, and too few encoders support setting them with anything
useful.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Vittorio Giovara [Mon, 30 Nov 2015 17:17:31 +0000 (12:17 -0500)]
lavc: Deprecate coder_type and its symbols
Most option values are simply unused or ignored and in practice the
majory of codecs only need to check whether to enable rle or not.
Add appropriate codec private options which better expose the allowed
features.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Anton Khirnov [Mon, 30 Nov 2015 09:44:39 +0000 (10:44 +0100)]
h264: do not call frame_start() for missing frames
We do not need to do a full setup like for a real frame, just allocate a
buffer and set cur_pic(_ptr).
Anton Khirnov [Sun, 6 Dec 2015 10:02:17 +0000 (11:02 +0100)]
aacdec: fix aac_static_table_init() prototype
Anton Khirnov [Sun, 6 Dec 2015 09:59:51 +0000 (10:59 +0100)]
avpacket: use ERANGE instead of EOVERFLOW
EOVERFLOW seems to be unavailable on certain platforms.
Ganesh Ajjanagadde [Fri, 4 Dec 2015 06:11:10 +0000 (01:11 -0500)]
rtsp: free opts dictionary on failure of getnameinfo
Signed-off-by: Martin Storsjö <martin@martin.st>
Ganesh Ajjanagadde [Fri, 4 Dec 2015 06:03:26 +0000 (01:03 -0500)]
movenc-test: add a missing va_end call
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Sat, 15 Nov 2014 09:41:02 +0000 (10:41 +0100)]
mxfenc: always assume long gop
Checking the codec context parameters to find out this information is
far too unreliable to be useful, so it is safer to assume B-frames are
always present.
Anton Khirnov [Sat, 5 Jul 2014 09:09:15 +0000 (09:09 +0000)]
lavc: export Dirac parsing API used by the ogg demuxer as public
Also, stop using AVCodecContext for storing the stream parameters.
Anton Khirnov [Sun, 4 Oct 2015 10:27:10 +0000 (12:27 +0200)]
mpegenc: use the CPB props side data
Do not access the encoder options, since it makes no sense when the
AVStream codec context is not the encoding context.
Anton Khirnov [Sun, 4 Oct 2015 10:27:10 +0000 (12:27 +0200)]
movenc: use the CPB props side data
Do not access the encoder options, since it makes no sense when the
AVStream codec context is not the encoding context.
Anton Khirnov [Sat, 3 Oct 2015 13:19:10 +0000 (15:19 +0200)]
qsvenc: export CPB props side data
Anton Khirnov [Sat, 3 Oct 2015 13:19:10 +0000 (15:19 +0200)]
nvenc: export CPB props side data
Anton Khirnov [Sun, 4 Oct 2015 10:19:26 +0000 (12:19 +0200)]
mpegvideo_enc: export vbv_delay in side data
Deprecate AVCodecContext.vbv_delay
Anton Khirnov [Sat, 3 Oct 2015 13:19:10 +0000 (15:19 +0200)]
mpegvideo_enc: export CPB props side data
Anton Khirnov [Sat, 3 Oct 2015 13:19:10 +0000 (15:19 +0200)]
libx264: export CPB props side data
Anton Khirnov [Sat, 3 Oct 2015 13:19:10 +0000 (15:19 +0200)]
libvpxenc: export CPB props side data
Anton Khirnov [Sat, 3 Oct 2015 13:19:10 +0000 (15:19 +0200)]
libopenh264enc: export CPB props side data
Anton Khirnov [Wed, 22 Jul 2015 12:04:20 +0000 (14:04 +0200)]
lavc: add a packet side data type for VBV-like parameters
Anton Khirnov [Sun, 4 Oct 2015 11:17:41 +0000 (13:17 +0200)]
avconv: pass the global codec side data to the muxer
Anton Khirnov [Wed, 22 Jul 2015 12:39:30 +0000 (14:39 +0200)]
lavc: add stream-global packet side data
This is similar to what is done for AVStream.
Anton Khirnov [Sun, 4 Oct 2015 10:08:20 +0000 (12:08 +0200)]
avpacket: add a function for wrapping existing data as side data
Anton Khirnov [Tue, 20 Oct 2015 17:04:57 +0000 (19:04 +0200)]
h264: derive the delay from the level when it's not present
Fall back to maximum DPB size if the level is unknown.
This should be more spec-compliant and does not depend on the caller
setting has_b_frames before opening the decoder.
The old behaviour, when the delay is supplied by the caller setting
has_b_frames, can still be obtained by setting strict_std_compliance
below normal.
Anton Khirnov [Mon, 30 Nov 2015 21:52:36 +0000 (22:52 +0100)]
h264: set frame_num in start_frame(), not decode_slice_header()
That is a more appropriate place for it, since it is not allowed to
change between slices.
Anton Khirnov [Mon, 30 Nov 2015 16:51:48 +0000 (17:51 +0100)]
h264: eliminate default_ref_list
According to the spec, the reference list for a slice should be
constructed by first generating an initial (what we now call "default")
reference list and then optionally applying modifications to it.
Our code has an optimization where the initial reference list is
constructed for the first inter slice and then rebuilt for other slices
if needed. This, however, adds complexity to the code, requires an extra
2.5kB array in the codec context and there is no reason to think that it
has any positive effect on performance. Therefore, simplify the code by
generating the reference list from scratch for each slice.
Anton Khirnov [Fri, 24 Jul 2015 16:42:08 +0000 (18:42 +0200)]
hevcdsp: add x86 SIMD for MC
Anton Khirnov [Fri, 31 Jul 2015 10:37:14 +0000 (12:37 +0200)]
checkasm: add HEVC MC tests
Anton Khirnov [Fri, 14 Aug 2015 17:40:21 +0000 (19:40 +0200)]
hevc: change the stride of the MC buffer to be in bytes instead of elements
Currently, the frame stride is passed in bytes, while the MC buffer size
is in int16_t elements, This can be confusing, so pass both strides in
bytes.
Anton Khirnov [Fri, 24 Jul 2015 16:56:54 +0000 (18:56 +0200)]
hevcdsp: split the pred functions by width
This should allow for more efficient SIMD.
Anton Khirnov [Fri, 24 Jul 2015 06:24:21 +0000 (08:24 +0200)]
hevcdsp: split the epel functions by width
This should allow for more efficient SIMD.
Anton Khirnov [Fri, 24 Jul 2015 06:24:21 +0000 (08:24 +0200)]
hevcdsp: split the qpel functions by width instead of by the subpixel fraction
This should allow for more efficient SIMD.
Keep the C versions as they are now, to allow the compiler to inline the
interpolation coefficients.
Luca Barbato [Sat, 5 Dec 2015 12:45:01 +0000 (13:45 +0100)]
log: Use a do {} while (0) for dlog
Avoid the warning `-Wempty-body`.
Luca Barbato [Sat, 5 Dec 2015 12:31:38 +0000 (13:31 +0100)]
imgconvert: Re-enable the deprecation warnings
The end-marked was typoed in
f7edcac040f73635fc1127489c9bb29ca8b43532
Luca Barbato [Thu, 26 Nov 2015 15:10:54 +0000 (16:10 +0100)]
avpicture: Suppress warning from deprecated code
Luca Barbato [Sat, 28 Nov 2015 11:28:21 +0000 (12:28 +0100)]
aac: Provide more information on the failure message
Bug-Id: 761
Luca Barbato [Wed, 2 Dec 2015 23:31:30 +0000 (00:31 +0100)]
g723: Add missing header
Unbreak make check.
Martin Storsjö [Tue, 1 Dec 2015 08:14:00 +0000 (10:14 +0200)]
configure: Add -framework CoreVideo when building the avfoundation indev
This fixes builds with --disable-vda, which previously failed with
undefined references to CVImageBuffer* and CVPixelBuffer* functions.
Signed-off-by: Martin Storsjö <martin@martin.st>
Kylie McClain [Mon, 23 Nov 2015 19:06:50 +0000 (14:06 -0500)]
configure: Replace `pr` since it is not provided by busybox
While pr is a valid POSIX.1 command, its usage in configure
is a little borderline and is possible to replace it with
printf.
Bug-Id: 913
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Sat, 28 Nov 2015 20:06:11 +0000 (21:06 +0100)]
avi: Spin out the logic to position to the next non-interleaved stream
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Thu, 26 Nov 2015 16:15:09 +0000 (17:15 +0100)]
build: Move -Wcast-qual to the extra_warnings
It amounts to about 1/2 of the warnings generated and does not help
spotting anything useful.
Michael Niedermayer [Sat, 28 Nov 2015 20:06:45 +0000 (21:06 +0100)]
avi: Validate the stream-id for DV as well
Avoid false positives while syncing.
Bug-Id: ffmpeg/4086
Bug-Id: 879
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Sat, 28 Nov 2015 13:43:17 +0000 (14:43 +0100)]
avi: Use the correct data type
avio_tell returns an int64_t.