Compare commits

...

4910 Commits

Author SHA1 Message Date
James Almer
a697577a64 avcodec/wavpackenc: print channel count in av_log call
Fixes a warning with -Wformat-extra-args
(cherry picked from commit 17e7fdf61a)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 17:53:59 +01:00
Michael Niedermayer
99f3f5a8d5 Update for 2.7.5
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:29:16 +01:00
James Almer
d4a7e89793 configure: bump copyright year to 2016
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 78129978f0)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:26:06 +01:00
Michael Niedermayer
e681e92d2c avformat/hls: Even stricter URL checks
This fixes a null pointer dereference at least

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit cfda1bea4c)

Conflicts:

	libavformat/hls.c
2016-01-15 16:00:32 +01:00
Michael Niedermayer
123d356829 avformat/hls: More strict url checks
No case is known where these are needed

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 6ba42b6482)

Conflicts:

	libavformat/hls.c

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:32 +01:00
Michael Niedermayer
119659b759 swscale/utils: Detect and skip unneeded sws_setColorspaceDetails() calls
This avoids running various table inits unnecessarily

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit cc538e9dbd)

Conflicts:

	libswscale/utils.c
2016-01-15 16:00:32 +01:00
Michael Niedermayer
f0cc6f74fc swscale/yuv2rgb: Increase YUV2RGB table headroom
This makes SWS more robust
Fixes: 07650a772d98aa63b0fed6370dc89037/asan_heap-oob_27ddeaf_2657_2c81ff264dee5d9712cb3251fb9c3bbb.264
Fixes: out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 8f3a9a8c27)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Michael Niedermayer
f5060bce31 swscale/yuv2rgb: Factor YUVRGB_TABLE_LUMA_HEADROOM out
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 5e5f82a287)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Maxim Andreev
cde38373d1 avformat/hls: forbid all protocols except http(s) & file
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 7145e80b4f)

Conflicts:

	libavformat/hls.c
2016-01-15 16:00:31 +01:00
Michael Niedermayer
a2b234b917 avformat/aviobuf: Fix end check in put_str16()
Fixes out of array read
Fixes: 03c406ec9530e594a074ce2979f8a1f0/asan_heap-oob_7dec26_4664_37c52495b2870a2eaac65f53958e76c1.flac

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 115fb6d03e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Michael Niedermayer
f1cdd93517 avformat/asfenc: Check pts
Fixes integer overflow
Fixes: 0063df8be3aaa30dd6d76f59c8f818c8/signal_sigsegv_7b7b59_3634_bf418b6822bbfa68734411d96b667be3.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 7c0b84d899)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Michael Niedermayer
0e3c36518d avcodec/mpeg4video: Check time_incr
Fixes assertion failure
Fixes out of memory access

Fixes: test_casex.ivf

Found-by: Tyson Smith <twsmith@mozilla.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 7c97946d61)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Michael Niedermayer
858f43043f avcodec/wavpackenc: Check the number of channels
They are stored in a byte, thus more than 255 is not possible

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 59c915a403)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Michael Niedermayer
d0fd9bec1f avcodec/wavpackenc: Headers are per channel
Fixes: 1b8b83a53bfa751f01b1daa65a4758db/signal_sigabrt_7ffff6ae7cb7_7488_403f71d1a2565b598d01b6cb110fac8f.aiff
Fixes: assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 26757b0279)

Conflicts:

	libavcodec/wavpackenc.c

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Michael Niedermayer
d755045e78 avcodec/aacdec_template: Check id_map
Fixes index out of bounds error
Fixes: aac_index_out_of_bounds.wmv

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 590863876d)

Conflicts:

	libavcodec/aacdec_template.c
2016-01-15 16:00:31 +01:00
Michael Niedermayer
3820c6a979 avcodec/dvdec: Fix "left shift of negative value -254"
Fixes: dvdec_left_shift.avi

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 93ac72a98d)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Michael Niedermayer
7cfea0d41c avcodec/mjpegdec: Fix negative shift
Fixes: mjpeg_left_shift.avi

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit d86d7b2486)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Michael Niedermayer
8c08247990 avcodec/mss2: Check for repeat overflow
Fixes: mss2_left_shift.wmv

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit e273dade78)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Michael Niedermayer
2316c35865 avformat: Add integer fps from 31 to 60 to get_std_framerate()
Fixes Ticket 5106

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 2039b3e751)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Michael Niedermayer
3dd0d43d8c avcodec/mpegvideo_enc: Clip bits_per_raw_sample within valid range
Fixes out of array read
Fixes: test_case-mdc.264 (b47be15a120979f5a1a945c938cbef33)

Found-by: Tyson Smith <twsmith@mozilla.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 13f266b50c)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Thomas Mundt
2f6d3459d9 avfilter/vf_scale: set proper out frame color range
Prevents that following scalers in the filter chain will do unintentional color range conversions.
Fixes Ticket #5096

Signed-off-by: Thomas Mundt <loudmax@yahoo.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 73ce8162f3)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Michael Niedermayer
2c58d73413 avcodec/motion_est: Fix mv_penalty table size
Fixes out of array read

Found-by: Tyson Smith <twsmith@mozilla.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 5b4da8a38a)

Conflicts:

	libavcodec/motion_est.h
2016-01-15 16:00:31 +01:00
Michael Niedermayer
5b14f436c6 avcodec/h264_slice: Fix integer overflow in implicit weight computation
Fixes mozilla bug 1230423

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 7cc01c2572)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Michael Niedermayer
d7a13ff23b swscale/utils: Use normal bilinear scaler if fast cannot be used due to tiny dimensions
Fixes Ticket4960

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 1edf129cbc)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Michael Niedermayer
b65c06ee5e avcodec/put_bits: Always check buffer end before writing
This causes a overall slowdown of 0.1 % (tested with mpeg4 single thread encoding of matrixbench at QP=3)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit cccb0ffccc)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Andreas Cadhalpun
a7a7c6e44c mjpegdec: extend check for incompatible values of s->rgb and s->ls
This can happen if s->ls changes from 0 to 1, but picture allocation is
skipped due to s->interlaced.

In that case ff_jpegls_decode_picture could be called even though the
s->picture_ptr frame has the wrong pixel format and thus a wrong
linesize, which results in a too small zero buffer being allocated.

This fixes an out-of-bounds read in ls_decode_line.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 7ea2db6eaf)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
Michael Niedermayer
d41b91ba33 swscale/utils: Fix intermediate format for cascaded alpha downscaling
Fixes Ticket4926

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b83d8be6bf)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-15 16:00:31 +01:00
James Almer
34c5f6685a x86/float_dsp: zero extend offset from ff_scalarproduct_float_sse
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit dc79824deb)
2016-01-08 14:02:47 -03:00
Paul B Mahol
784506c2b5 avfilter/vf_zoompan: do not free frame we pushed to lavfi
Signed-off-by: Paul B Mahol <onemda@gmail.com>
(cherry picked from commit 8bcd1997ea)

Fixes ticket #5113.
2016-01-02 21:25:51 +01:00
Michael Niedermayer
26241af6f8 Update for 2.7.4
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-21 14:53:03 +01:00
Andreas Cadhalpun
7ad0581686 nuv: sanitize negative fps rate
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit f6830cf5ba)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-20 14:18:11 +01:00
Andreas Cadhalpun
3219de21f4 rawdec: only exempt BIT0 with need_copy from buffer sanity check
Otherwise the too small buffer is directly used in the frame, causing
segmentation faults, when trying to use the frame.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 699e68371e)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-20 14:18:08 +01:00
Andreas Cadhalpun
93eda8dcba mlvdec: check that index_entries exist
This fixes NULL pointer dereferencing.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 9fcfe4a3cd)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-20 14:18:04 +01:00
Andreas Cadhalpun
1dc135e03d nutdec: reject negative value_len in read_sm_data
If it is negative, it can cause the byte position to move backwards in
avio_skip, which in turn makes sm_size negative and thus size larger
than the size of the packet buffer, causing invalid writes in avio_read.

Also fix potential overflow of avio_tell(bc) + value_len.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit ce10f572c1)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-20 14:17:59 +01:00
Andreas Cadhalpun
f040f3e5d5 xwddec: prevent overflow of lsize * avctx->height
This is used to check if the input buffer is large enough, so if this
overflows it can cause a false negative leading to a segmentation fault
in bytestream2_get_bufferu.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 9d38f06d05)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-20 14:17:55 +01:00
Andreas Cadhalpun
7f320ed15d nutdec: only copy the header if it exists
Fixes ubsan runtime error: null pointer passed as argument 2, which is
declared to never be null

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 9f82506c79)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-20 14:17:51 +01:00
Andreas Cadhalpun
5b88d24f24 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>
(cherry picked from commit 90b99a8107)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-20 14:17:47 +01:00
Andreas Cadhalpun
3e187a9a2d on2avc: limit number of bits to 30 in get_egolomb
More don't fit into the integer output.

Also use get_bits_long, since get_bits only supports reading up to 25
bits, while get_bits_long supports the full integer range.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 4d5c3b02e9)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-20 14:17:42 +01:00
Michael Niedermayer
4bfaa040fc avcodec/mpeg4videodec: also for empty partitioned slices
Fixes assertion failure
Fixes: id_acf3e47f864e1ee4c7b86c0653e0ff31e5bde56e.m4v

Found-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 70f13abb4f)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-20 03:24:22 +01:00
Michael Niedermayer
5124bf8ea6 avcodec/h264_refs: Fix long_idx check
Fixes out of array read
Fixes mozilla bug 1233606

Found-by: Tyson Smith
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b92b4775a0)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-20 03:24:22 +01:00
Michael Niedermayer
50ce06cc7c avcodec/h264_mc_template: prefetch list1 only if it is used in the MB
Fixes ubsan warning
Fixes Mozilla bug 1230276

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c8ea57664f)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-20 03:24:22 +01:00
Michael Niedermayer
a628b70831 avcodec/h264_slice: Simplify ref2frm indexing
This also suppresses a ubsan warning
Fixes Mozilla bug 1230247

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit ef8f6464a5)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-20 03:24:22 +01:00
Michael Niedermayer
e274976c92 Revert "avcodec/aarch64/neon.S: Update neon.s for transpose_4x4H"
The change was not correct and broke H264

This reverts commit cd83f899c9.
(cherry picked from commit 95b59bfb9d)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-20 03:24:22 +01:00
Michael Niedermayer
1586fda2fc avfilter/vf_mpdecimate: Add missing emms_c()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 997de2e810)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-20 03:24:22 +01:00
Andreas Cadhalpun
34b9c7612d sonic: make sure num_taps * channels is not larger than frame_size
If that is the case, the loop setting predictor_state in
sonic_decode_frame causes out of bounds reads of int_samples, which has
only frame_size number of elements.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 9637c2531f)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-17 21:20:43 +01:00
Andreas Cadhalpun
ea4b99f82c opus_silk: 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.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit f61d44b74a)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-17 21:20:38 +01:00
Andreas Cadhalpun
8b30abd020 ffm: reject invalid codec_id and codec_type
A negative codec_id cannot be handled by the found_decoder API of
AVStream->info: if the codec_id is not recognized, found_decoder is set
to -codec_id, which has to be '<0' according to the API documentation.

This can cause NULL pointer dereferencing in try_decode_frame.

Also make sure the codec_type matches the expected one for codec_id.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit ecf63b7cc2)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-17 21:20:34 +01:00
Andreas Cadhalpun
435b0ab969 golomb: always check for invalid UE golomb codes in get_ue_golomb
Also correct the check to reject log < 7, because UPDATE_CACHE only
guarantees 25 meaningful bits.

This fixes undefined behavior:
runtime error: shift exponent is negative

Testing with START/STOP timers in get_ue_golomb, one for the first
branch (A) and one for the second (B), shows that there is practically no
slowdown, e.g. for the cavs decoder:

With the check in the B branch:
    629 decicycles in get_ue_golomb B, 4194260 runs,     44 skips
    433 decicycles in get_ue_golomb A,268434102 runs,   1354 skips

Without the check:
    624 decicycles in get_ue_golomb B, 4194273 runs,     31 skips
    433 decicycles in get_ue_golomb A,268434203 runs,   1253 skips

Since the B branch is executed far less often than the A branch, this
change is negligible, even more so for the h264 decoder, where the ratio
B/A is a lot smaller.

Fixes: mozilla bug 1230239
Fixes: fbeb8b2c7c996e9b91c6b1af319d7ebc/asan_heap-oob_195450f_2743_e8856ece4579ea486670be2b236099a0.bit

Found-by: Tyson Smith
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 22e960ad47)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-17 21:20:29 +01:00
Andreas Cadhalpun
c78d268e9f aaccoder: prevent crash of anmr coder
If minq is negative, the range of sf_idx can be larger than
SCALE_MAX_DIFF allows, causing assertion failures later in
encode_scale_factors.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 7a4652dd5d)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-17 21:19:23 +01:00
Andreas Cadhalpun
e56d322032 ffmdec: reject zero-sized chunks
If size is zero, avio_get_str fails, leaving the buffer uninitialized.
This causes invalid reads in av_set_options_string.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit a611375db5)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-17 21:19:19 +01:00
Michael Niedermayer
3ffc224435 swscale/x86/rgb2rgb_template: Fallback to mmx in interleaveBytes() if the alignment is insufficient for SSE*
This also as a sideeffect fixes the non aligned case

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a066ff89bc)
2015-12-15 11:17:44 +01:00
Michael Niedermayer
e7e4c65571 swscale/x86/rgb2rgb_template: Do not crash on misaligend stride
Fixes Ticket5013

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 80bfce35cc)
2015-12-15 11:17:38 +01:00
Michael Niedermayer
4aa876f288 avformat/mxfenc: Do not crash if there is no packet in the first stream
Fixes: Ticket4914

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b51e7554e7)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:01 +01:00
zjh8890
a9ce4583df avcodec/aarch64/neon.S: Update neon.s for transpose_4x4H
The transpose_4x4H is wrong which cost me much time to find this bug. The orders of r2 and r3 are wrong,
this bug waste me much time while I make aarch64 arm instruction which used the function.
(cherry picked from commit c18176bd55)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:01 +01:00
Rainer Hochecker
93fa19addf avformat/utils: estimate_timings_from_pts - increase retry counter, fixes invalid duration for ts files with hevc codec
Fixes a mpegts file with hevc that fails estimating duration. Increasing number of
retries fixes the issue.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 2d8c2f1a28)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:01 +01:00
Michael Niedermayer
5c7ffbbda3 avformat/matroskaenc: Check codecdelay before use
Fixes CID1238790

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit e6971db12b)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:01 +01:00
Michael Niedermayer
8be41ad2bb avutil/mathematics: Fix division by 0
Fixes: CID1341571

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit bc8b1e694c)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:01 +01:00
Andreas Cadhalpun
9a8d2f51cf mjpegdec: consider chroma subsampling in size check
If the chroma components are subsampled, smaller buffers are allocated
for them. In that case the maximal block_offset for the chroma
components is not as large as for the luma component.

This fixes out of bounds writes causing segmentation faults or memory
corruption.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 5adb5d9d89)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:01 +01:00
Michael Niedermayer
d013f51303 avcodec/hevc: Check max ctb addresses for WPP
Fixes out of array read
Fixes: 2f95ddd996db8a6281d2e18c184595a7/asan_heap-oob_192fe91_3330_58e4441181e30a66c19f743dcb392347.bit

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit dad354f38d)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:01 +01:00
Michael Niedermayer
548a07cdc4 avcodec/vp3: ensure header is parsed successfully before tables
Fixes assertion failure
Fixes: 266ee543812e934f7b4a72923a2701d4/signal_sigabrt_7ffff6ae7cc9_7322_85218d61759d461bdf7387180e8000c9.ogg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 26379d4fdd)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:01 +01:00
Michael Niedermayer
0f331f94c0 avcodec/jpeg2000dec: Check bpno in decode_cblk()
Fixes: undefined shift
Fixes: c409ef86f892335a0a164b5871174d5a/asan_heap-oob_1dff564_2159_162b7234616deab02b544410455eb07b.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a85b02dcf7)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:01 +01:00
Michael Niedermayer
0a06e2824a avcodec/pgssubdec: Fix left shift of 255 by 24 places cannot be represented in type int
Fixes: b293a6479bb4b5286cff24d356bfd955/asan_generic_225c3c9_7819_cc526b657450c6cdef1371b526499626.mkv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 4f2419888b)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:01 +01:00
Michael Niedermayer
dc0bc71471 swscale/utils: Fix for runtime error: left shift of negative value -1
Fixes: c106b36fa36db8ff8f3ed0c82be7bea2/asan_heap-oob_32699f0_6321_467b9a1d7e03d7cfd310b7e65dc53bcc.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 325b59368d)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:01 +01:00
Michael Niedermayer
5af5396970 avcodec/hevc: Fix integer overflow of entry_point_offset
Fixes out of array read
Fixes: d41d8cd98f00b204e9800998ecf8427e/signal_sigsegv_321165b_7641_077dfcd8cbc80b1c0b470c8554cd6ffb.bit

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 2140858524)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:01 +01:00
Michael Niedermayer
d17298b666 avcodec/dirac_parser: Check that there is a previous PU before accessing it
Fixes out of array read
Fixes: 99d142c47e6ba3510a74b872a1a2ae72/asan_heap-oob_11b36f4_3811_0f5c69e7609a88a580135678de1df844.dxa

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a08681f1e6)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:01 +01:00
Michael Niedermayer
ece3912daf avcodec/dirac_parser: Add basic validity checks for next_pu_offset and prev_pu_offset
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c7d6ec947c)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:01 +01:00
Michael Niedermayer
d092b7f04c avcodec/dirac_parser: Fix potential overflows in pointer checks
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 79798f7c57)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:01 +01:00
Michael Niedermayer
1601420be4 avcodec/wmaprodec: Check bits per sample to be within the range not causing integer overflows
Fixes: 549d5aab1480d10f2a775ed90b0342f1/signal_sigabrt_7ffff6ae7cc9_5643_96bbb0cfe3e28be1dadfce1075016345.wma

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 66e05f6ff5)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
bdf79f29db avcodec/wmaprodec: Fix overflow of cutoff
Fixes: 129ca3e28d73af7b1e24a9d4118e7a2d/signal_sigabrt_7ffff6ae7cc9_836_762b310fc3ef6087bd7771e5d8e90b9b.asf

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 0c56f8303e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
4e80d4bf25 avformat/smacker: fix integer overflow with pts_inc
Fixes: ce19e41f0ef1e52a23edc488faecdb58/asan_heap-oob_2504e97_4202_ffa0df1baed14022b9bfd4f8ac23d0cb.smk

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 7ed47e9729)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
e3ffc7ab4a avcodec/vp3: Fix "runtime error: left shift of negative value"
Fixes: 5c6129154b356b80bcab86f9e3ee5d29/signal_sigabrt_7ffff6ae7cc9_7322_d26ac6d7cb6567db1b8be0159b387d0b.ogg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 18268f761b)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Timo Teräs
76cb34f7f5 mpegencts: Fix overflow in cbr mode period calculations
ts->mux_rate is int (signed 32-bit) type. The period calculations
will start to overflow when mux_rate > 5mbps. This fixes overflows
by converting first to 64-bit type.

Fixes #5044.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 64f7db554e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
da87a699ea avutil/timecode: Fix fps check
The fps variable is explicitly set to -1 in case of some errors, the check must
thus be signed or the code setting it needs to use 0 as error code
the type of the field could be changed as well but its in an installed header

Fixes: integer overflow
Fixes: 9982cc157b1ea90429435640a989122f/asan_generic_3ad004a_3799_22cf198d9cd09928e2d9ad250474fa58.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b46dcd5209)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
86a52988bd avutil/mathematics: return INT64_MIN (=AV_NOPTS_VALUE) from av_rescale_rnd() for overflows
Fixes integer overflow
Fixes: mozilla bug 1229167

Found-by: Tyson Smith
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit f03c2ceec1)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
d259a0534e avcodec/apedec: Check length in long_filter_high_3800()
Fixes out of array read
Fixes: 0a7ff0c1d93da9cef28a315ec91b692a/asan_heap-oob_4a52e5_3604_9c56dbb20e308f4faeef7b35f688521a.ape

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit cd7524fdd1)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
710dccf036 avcodec/vp3: always set pix_fmt in theora_decode_header()
Fixes assertion failure
Fixes: d0bb0662da342ec65f8f2a081222e6b9/signal_sigabrt_7ffff6ae7cc9_5471_82964f0a9ac2f4d3d59390c15473f6f7.ogg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a814f1d364)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
fc69fa8474 avcodec/mpeg4videodec: Check available data before reading custom matrix
Fixes: out of array read
Fixes: 76c515fc3779d1b838667c61ea13ce92/asan_heap-oob_1fc0d07_8913_794a4629a264ebdb25b58d3a94ed1785.bit

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 891dc8f875)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
88ccca204a avutil/mathematics: Do not treat INT64_MIN as positive in av_rescale_rnd
The code expects actual positive numbers and gives completely wrong
results if INT64_MIN is treated as positive
Instead clip it into the valid range that is add 1 and treat it as
negative

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 25e37f5ea9)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
07a3024631 avutil/integer: Fix av_mod_i() with negative dividend
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 3a9cb18855)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
cf1f615b67 avformat/dump: Fix integer overflow in av_dump_format()
Fixes part of mozilla bug 1229167

Found-by: Tyson Smith
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 8e7f452022)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
900039e7dc avcodec/h264_refs: Check that long references match before use
Fixes out of array read
Fixes: 59bb925e90201fa0f87f0a31945d43b5/asan_heap-oob_4a52e5_3388_66027f11e3d072f1e02401ecc6193361.jvt

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit aa427537b5)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
fad0748b92 avcodec/utils: Clear dimensions in ff_get_buffer() on failure
Fixes out of array access
Fixes: 482d8f2fd17c9f532b586458a33f267c/asan_heap-oob_4a52b6_7417_1d08d477736d66cdadd833d146bb8bae.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit abee0a1c60)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
6c25411c06 avcodec/utils: Use 64bit for aspect ratio calculation in avcodec_string()
Fixes integer overflow
Fixes: 3a45b2ae02f2cf12b7bd99543cdcdae5/asan_heap-oob_1dff502_8022_899f75e1e81046ebd7b6c2394a1419f4.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 4f03bebc79)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
c1d29678f1 avcodec/vp3: Clear context on reinitialization failure
Fixes null pointer dereference
Fixes: 1536b9b096a8f95b742bae9d3d761cc6/signal_sigsegv_294aaed_2039_8d1797aeb823ea43858d0fa45c9eb899.ogv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 6105b7219a)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
4fe6f9f627 avcodec/hevc: allocate entries unconditionally
Fixes out of array access
Fixes: 08664a2a7921ef48172f26495c7455be/asan_heap-oob_23036c6_3301_523388ef84285a0270caf67a43247b59.bit

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit d85aa76115)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
694416e327 avcodec/hevc_cabac: Fix multiple integer overflows
Fixes: 04ec80eefa77aecd7a49a442cc02baea/asan_heap-oob_19544fa_3303_1905796cd9d8e15f86d664332caabc00.bit

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit d5028f61e4)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
c1db1a5ff4 avcodec/jpeg2000dwt: Check ndeclevels before calling dwt_encode*()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit feb3f39614)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
8ef86669ca avcodec/jpeg2000dwt: Check ndeclevels before calling dwt_decode*()
Fixes out of array access
Fixes: 01859c9a9ac6cd60a008274123275574/asan_heap-oob_1dff571_8250_50d3d1611e294c3519fd1fa82198b69b.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 75422280fb)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
0cd23e0d1e avcodec/hevc: Check entry_point_offsets
Fixes out of array read
Fixes: 007c4a36608ebdf27ee260ad60a81184/asan_heap-oob_32076b4_2243_116b1cb29d91cc4974d6680e3d10bd91.bit

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit ef9f7bbfa4)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
ed3d433676 avcodec/cabac: Check initial cabac decoder state
Fixes integer overflows
Fixes: 1430e9c43fae47a24c179c7c54f94918/signal_sigsegv_421427_2340_591e9810c7b09efe501ad84638c9e9f8.264

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Found-by: xiedingbao (Ticket4727)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 8000d484b8)

Conflicts:

	libavcodec/cabac.h
2015-12-14 16:51:00 +01:00
Michael Niedermayer
1258bdf7f0 avcodec/cabac_functions: Fix "left shift of negative value -31767"
Fixes: 1430e9c43fae47a24c179c7c54f94918/signal_sigsegv_421427_2340_591e9810c7b09efe501ad84638c9e9f8.264

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Found-by: xiedingbao (Ticket4727)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a1f6b05f52)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
54e94522b8 avcodec/h264_slice: Limit max_contexts when slice_context_count is initialized
Fixes out of array access
Fixes: 1430e9c43fae47a24c179c7c54f94918/signal_sigsegv_421427_2049_f2192b6829ab6e0eefcb035329c03c60.264

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 4ea4d2f438)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
8405b63294 avcodec/vp8: Do not use num_coeff_partitions in thread/buffer setup
The variable is not a constant and can lead to race conditions

Fixes: repro.webm (not reproducable with FFmpeg alone)

Found-by: Dale Curtis <dalecurtis@google.com>
Tested-by: Dale Curtis <dalecurtis@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit dabea74d0e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-14 16:51:00 +01:00
Michael Niedermayer
e6264f00ad avcodec/ffv1dec: Clear quant_table_count if its invalid
Fixes deallocation of corrupted pointer
Fixes: 343dfbe142a38b521ed069dc4ea7c03b/signal_sigsegv_421427_4074_ffb11959610278cd40dbc153464aa254.avi
No releases affected

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit e04126072e)

Fixes ticket #5052.
2015-12-02 12:03:10 +01:00
Michael Niedermayer
183f580594 avcodec/ffv1dec: Print an error if the quant table count is invalid
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a8b254e436)
2015-12-02 11:59:00 +01:00
Andrey Utkin
70373bde2d doc/filters/drawtext: fix centering example
Signed-off-by: Andrey Utkin <andrey.od.utkin@gmail.com>
Signed-off-by: Lou Logan <lou@lrcd.com>
(cherry picked from commit 648b26acc5)
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2015-12-01 17:32:45 -08:00
Andreas Cadhalpun
67ed1ee680 hqx: correct type and size check of info_offset
It is used as size argument of ff_canopus_parse_info_tag, which uses it
as size argument to bytestream2_init, which only supports sizes up to
INT_MAX.
Changing it's type to unsigned simplifies the check.

Reviewed-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 1ed7fcd42a)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-11-26 01:37:13 +01:00
Andreas Cadhalpun
1f6c88e287 mxfdec: check edit_rate also for physical_track
Previously only the edit_rate of material_track was checked.
If it's negative, it causes assertion failures in av_rescale_rnd.

Reviewed-by: Tim Nicholson <nichot20-at-yahoo.com@ffmpeg.org>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 047bf82c18)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-11-26 01:37:13 +01:00
Andreas Cadhalpun
725d7fb2c6 mpegvideo: clear overread in clear_context
Otherwise the h263p decoder can try to copy overread bytes, even though
buffer is NULL.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 6a69a175e7)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-11-26 01:37:13 +01:00
Andreas Cadhalpun
258584cfaf dvdsubdec: validate offset2 similar to offset1
If it is negative, it causes segmentation faults in decode_rle.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit f621749d11)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-11-26 01:37:13 +01:00
Andreas Cadhalpun
9e3848328d aacdec: don't return frames without data from aac_decode_er_frame
This is similar to commit ec38a1b for aac_decode_frame_int.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit d7f29bfa69)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-11-26 01:37:13 +01:00
Michael Niedermayer
27f3696502 avcodec/takdec: Use memove, avoid undefined memcpy() use
Fixes: e214333cbd94c91228e624ff39329ce6/asan_generic_4a5159_6412_96cda2530e80607210ab41ccae3d456d.tak

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 7cea3430a5)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-11-26 01:37:13 +01:00
Andreas Cadhalpun
65dc698607 riffdec: prevent negative bit rate
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 189420cb56)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-11-26 01:37:12 +01:00
Michael Niedermayer
185126415e Merge commit 'd80811c94e068085aab797f9ba35790529126f85'
* commit 'd80811c94e068085aab797f9ba35790529126f85':
  riff: Use the correct logging context

Conflicts:
	libavformat/asfdec_o.c
	libavformat/avidec.c
	libavformat/dxa.c
	libavformat/matroskadec.c
	libavformat/mov.c
	libavformat/riff.h
	libavformat/riffdec.c
	libavformat/wavdec.c
	libavformat/wtvdec.c
	libavformat/xwma.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit ba77fb61f7)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-11-26 01:37:09 +01:00
Michael Niedermayer
93f3752b97 Changelog: update for 2.7.3
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-18 20:05:22 +01:00
Martin Storsjö
cf115791da rtmpcrypt: Do the xtea decryption in little endian mode
The XTEA algorithm operates on 32 bit numbers, not on byte sequences.
The XTEA implementation in libavutil is written assuming big endian
numbers, while the rtmpe signature encryption assumes little endian.

This fixes rtmpe communication with rtmpe servers that use signature
type 8 (XTEA), e.g. crunchyroll.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit e7728319b92dbb4fb949155e33de7ff5358ddff3)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-18 19:33:32 +01:00
Michael Niedermayer
bc3d86cddb Update versions for 2.7.3
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-18 12:41:05 +01:00
Michael Niedermayer
aa9dadccac avformat/matroskadec: Check subtitle stream before dereferencing
Unrecognized streams are not allocated
Fixes: flicker-1.color1.vp91447030769.08.webm

Found-by: Chris Cunningham <chcunningham@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a5034b324c)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-18 04:04:57 +01:00
Michael Niedermayer
0ecde45570 avformat/utils: Do not init parser if probing is unfinished
Fixes assertion failure
Fixes: 136f8b8d47af7892306625e597dee655/signal_sigabrt_7ffff6ae7cc9_8941_ab11bea57c84796418f481f873dc31ba.dvr_ms

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 1ef336e912)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-16 00:06:20 +01:00
Michael Niedermayer
ca43c6e1f5 avcodec/jpeg2000dec: Fix potential integer overflow with tile dimensions
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 65d3359fb3)

Conflicts:

	libavcodec/jpeg2000dec.c
2015-11-15 21:39:18 +01:00
Michael Niedermayer
2deaccfe67 avcodec/jpeg2000dec: Check SIZ dimensions to be within the supported range
Fixes potential integer overflows
Fixes: 03e0abe721b1174856d41a1eb5d6a896/signal_sigabrt_7ffff6ae7cc9_3813_e71bf3541abed3ccba031cd5ba0269a4.avi

This fix is choosen to be simple to backport, better solution
for master is planed

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 6ef819c40b)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-15 21:38:23 +01:00
Michael Niedermayer
a9c73b13c1 avcodec/jpeg2000: Check comp coords to be within the supported size
Fixes assertion failure
Fixes: 03e0abe721b1174856d41a1eb5d6a896/signal_sigabrt_7ffff6ae7cc9_3813_e71bf3541abed3ccba031cd5ba0269a4.avi

This fix is choosen to be simple to backport, better solution
for master is planed

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a1a8cbcb35)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-15 21:05:26 +01:00
Michael Niedermayer
d972df307a avcodec/jpeg2000: Use av_image_check_size() in ff_jpeg2000_init_component()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 016fd413f9)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-15 21:05:04 +01:00
Michael Niedermayer
082bdba4e7 avcodec/wmaprodec: Check for overread in decode_packet()
Fixes assertion failure
Fixes: 0256e92df2df7e933b43a2c70e4c8040/signal_sigabrt_7ffff6ae7cc9_1358_999ac18684788221490757582ce9af84.wma

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 7ad698e24e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-15 18:58:10 +01:00
Michael Niedermayer
1039803823 avcodec/smacker: Check that the data size is a multiple of a sample vector
Fixes out of array access
Fixes: ce19e41f0ef1e52a23edc488faecdb58/asan_heap-oob_2504e97_4202_ffa0df1baed14022b9bfd4f8ac23d0cb.smk

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 4a9af07a49)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-15 18:51:59 +01:00
Michael Niedermayer
acba2a36b3 avcodec/takdec: Skip last p2 sample (which is unused)
Fixes out of array read
Fixes: cb3f38b08b4541523974667c7d1eee9e/asan_heap-oob_2659e18_9838_021fd5cd635bf76cede6398cd9ecbcdd.tak

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 08b520636e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-15 02:13:55 +01:00
Michael Niedermayer
588a7769c7 avcodec/dxtory: Fix input size check in dxtory_decode_v1_410()
Fixes potential out of array read

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 76b6f4b7d9)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-15 02:13:43 +01:00
Michael Niedermayer
08940cd545 avcodec/dxtory: Fix input size check in dxtory_decode_v1_420()
Fixes out of array read
Fixes: c50c4aa6cefda71b19a31ea12302980c/asan_heap-oob_12be5fd_7011_33ebd015a74976215934add72b9c8352.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 9caa9414cc)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-15 02:13:21 +01:00
Michael Niedermayer
196be9284a avcodec/error_resilience: avoid accessing previous or next frames tables beyond height
The height of tables can be rounded up for MBAFF but this does not imply that is also true
for the previous frames

Fixes out of array reads
Fixes: c106b36fa36db8ff8f3ed0c82be7bea2/asan_heap-oob_32699f0_6321_467b9a1d7e03d7cfd310b7e65dc53bcc.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a105f52855)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-14 23:04:54 +01:00
Michael Niedermayer
d61c3d1fca avcodec/dpx: Move need_align to act per line
Fixes out of array read
Fixes: 61cf123c081ee2bb774d307c75bdb99e/asan_heap-oob_1224f76_5546_bee833ffae73f752b489b9eeaac52db7.dpx

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c8aaae8e0f)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-14 16:51:30 +01:00
Michael Niedermayer
ec1f59150d avcodec/flashsv: Check size before updating it
Fixes out of array read
Fixes: 3c857d4d90365731524716e6d051e43a/signal_sigsegv_7f4f59bcc29e_1386_20abd2c8e655cb9c75b24368e65fe3b1.flv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 17705f5d4f)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-14 13:50:30 +01:00
Michael Niedermayer
b996cde193 avcodec/ivi: Check image dimensions
Fixes integer overflow
Fixes: 1e32c6c591d940337c20b197ec1c4d3d/asan_heap-oob_4a52e5_8946_0bb0d9e863def56005e49f1d89bdc94d.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit df91aa034b)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-14 03:03:38 +01:00
Michael Niedermayer
63465f0070 avcodec/utils: Better check for channels in av_get_audio_frame_duration()
Fixes integer overflow
Fixes: 0c2625f236ced104d402b4a03c0d65c7/asan_generic_274e1ce_5990_9314e7a67c26aecf011b178ade9f217c.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 4e16ad2868)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-14 03:02:28 +01:00
Michael Niedermayer
3300005351 avcodec/jpeg2000dec: Check for duplicate SIZ marker
Fixes: 0231a17345734228011c6f35a64e4594/asan_heap-oob_1d92a72_3218_1213809a9e3affec77e4c191fdfdc0a9.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 44a7f17d0b)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-14 01:11:00 +01:00
Michael Niedermayer
4eb67f3ddc tests/fate/avformat: Fix fate-lavf
The CMP variable seems to have been inherited from fate-api-seek which set it to null

the mxf reference needed a change due to c7e14a279f

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b83c849e87)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:47 +01:00
Simon Thelen
ae270314c7 doc/ffmpeg: Clarify that the sdp_file option requires an rtp output.
Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b02201efb5)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:47 +01:00
Simon Thelen
b9a3e0af07 ffmpeg: Don't try and write sdp info if none of the outputs had an rtp format.
Fixes a segfault when trying to write nonexistent rtp information.

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 70fb5eadc5)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:47 +01:00
Andreas Cadhalpun
132bd4bc4f apng: use correct size for output buffer
The buffer needs s->bpp bytes, at maximum currently 10.
Assert that s->bpp is not larger.

This fixes a stack buffer overflow.

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 3e8e1a660e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:47 +01:00
Andreas Cadhalpun
cd8bedb9fa jvdec: avoid unsigned overflow in comparison
The return type of strlen is size_t, i.e. unsigned, so if pd->buf_size
is 3, the right side overflows leading to a wrong result of the
comparison and subsequently a heap buffer overflow.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit db374790c7)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:47 +01:00
Michael Niedermayer
d332aa6ec6 avcodec/hevc_ps: Check chroma_format_idc
Fixes out of array access
Fixes: 24d05e8b84676799c735c9e27d97895e/asan_heap-oob_1b70f6a_2955_7c3652a7f370f9f3ef40642bc2c99bb2.bit

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 93f30f825c)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:47 +01:00
Michael Niedermayer
169a02da1e avcodec/jpeg2000dec: Clip all tile coordinates
Fixes out of array access
Fixes: b877a6b788a25c70e8b1d014f8628549/asan_heap-oob_1da2c3f_2324_5a1b329b0b3c4bb6b1d775660ac56717.r3d

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 43492ff3ab)

Conflicts:

	libavcodec/jpeg2000dec.c
2015-11-12 02:55:47 +01:00
Michael Niedermayer
af3a608e7e avcodec/microdvddec: Check for string end in 'P' case
Fixes out of array read
Fixes: a9502b60f4cecc19475382aee255f73c/asan_heap-oob_1e87fba_2548_a8ad47f6dde36644fe9cdc444d4632d0.sub

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c719cd6cf7)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:47 +01:00
Michael Niedermayer
327dd70690 avcodec/dirac_parser: Fix undefined memcpy() use
Fixes: 9d375e415486edd1a0c826f2307d89a4/asan_generic_4a5159_1577_faa333e83dacdd9e4dd322380aeed537.iss

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit daefd8ab2f)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:47 +01:00
Michael Niedermayer
bcedc2b0f0 avformat/xmv: Discard remainder of packet on error
Fixes infinite loop
Fixes: 9c48ae2680c5f23bca3d20ff0f325fd8/asan_generic_4c254d_1374_993f1e5967dd6f844b8d72f978ce2a6c.pss

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 79c4a338e4)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:47 +01:00
Michael Niedermayer
6ad10cbec9 avformat/xmv: factor return check out of if/else
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 9b6fac11da)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:47 +01:00
Michael Niedermayer
b0b1b208f5 avcodec/mpeg12dec: Do not call show_bits() with invalid bits
Fixes assertion failure
Fixes: 63e50545709a6440d3d59f6426d58db9/signal_sigabrt_7ffff6ae7cc9_8189_3272a3010fd98ddf947c662bbde1ac13.ts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 973c3dba27)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:47 +01:00
Michael Niedermayer
6acf5ff1d3 libavutil/channel_layout: Check strtol*() for failure
Fixes assertion failure
Fixes: 4f5814bb15d2dda6fc18ef9791b13816/signal_sigabrt_7ffff6ae7cc9_65_7209d160d168b76f311be6cd64a548eb.wv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c9bfd6a8c3)

Conflicts:

	libavutil/channel_layout.c
2015-11-12 02:55:47 +01:00
Michael Niedermayer
e98f3ba221 avcodec/ffv1dec: Check for 0 quant tables
Fixes assertion failure
Fixes: 07ec1fc3c1cbf2d3edcd7d9b52ca156c/asan_heap-oob_13624c5_491_ecd4720a03e697ba750b235690656c8f.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 5745cf799a)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:47 +01:00
Michael Niedermayer
32808460cc avcodec/mjpegdec: Reinitialize IDCT on BPP changes
Fixes misaligned access
Fixes: dc9262a469f6f315f74c087a7b3a7f35/signal_sigsegv_2e95bcd_9_9c0f9f4a9ba82aa9b3ab2b91ce4d5277.jpg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit cc35f6f476)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:47 +01:00
Michael Niedermayer
edf06a0562 avcodec/mjpegdec: Check index in ljpeg_decode_yuv_scan() before using it
Fixes: 04715144ba237443010554be0d05343f/asan_heap-oob_1eafc76_1737_c685b48041a563461839e4e7ab97abb8.jpg
Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit d24888ef19)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:47 +01:00
Tobias Rapp
5ae4842122 avutil/file_open: avoid file handle inheritance on Windows
Avoids inheritance of file handles on Windows systems similar to the
O_CLOEXEC/FD_CLOEXEC flag on Linux.

Fixes file lock issues in Windows applications when a child process
is started with handle inheritance enabled (standard input/output
redirection) while a FFmpeg transcoding is running in the parent
process.

Links relevant to the subject:

https://msdn.microsoft.com/en-us/library/w7sa2b22.aspx

Describes the _wsopen() function and the O_NOINHERIT flag. File handles
opened by _wsopen() are inheritable by default.

https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425%28v=vs.85%29.aspx

Describes handle inheritance when creating new processes. Handle
inheritance must be enabled (bInheritHandles = TRUE) e.g. when you want
to pass handles for stdin/stdout via lpStartupInfo.

Signed-off-by: Tobias Rapp <t.rapp@noa-audio.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 4746653466)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
ab6f4bc064 avcodec/h264_slice: Disable slice threads if there are multiple access units in a packet
Fixes null pointer dereference
Fixes part of Ticket4977

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 9368d2da3d33cac845f2fdf663df500b53625c5e)

Conflicts:

	libavcodec/h264_slice.c
2015-11-12 02:55:46 +01:00
Kieran Kunhya
c3ce508135 opusdec: Don't run vector_fmul_scalar on zero length arrays
Fixes crashes on fuzzed files
Fixes Ticket4969 part2

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b3e5f15b95)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
c6cb24ffbf avcodec/ffv1: Initialize vlc_state on allocation
This ensures that they are always set to valid values
Fixes Ticket4939

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a878dfa4f5)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
06c87da410 avcodec/ffv1dec: update progress in case of broken pointer chains
Fixes deadlock
Fixes Ticket4932

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 5063a18f56)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
f7ef265387 avcodec/ffv1dec: Clear slice coordinates if they are invalid or slice header decoding fails for other reasons
Fixes Ticket4931

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 4c2d4e8700)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Andrey Utkin
6d3f047a85 avformat/httpauth: Add space after commas in HTTP/RTSP auth header
This fixes access to Grandstream cameras, which return 401 to ffmpeg
otherwise.
VLC sends Authorization: header with spaces between parameters, and it
is known to work with Grandstream devices and broad range of other HTTP
and RTSP servers, so author considers switching to such behaviour safe.
Just for record - RFC 2617 (HTTP Auth) does not specify the need in
spaces, so this is not a bug of FFmpeg.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit fdb3283872)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
f43dac169e avcodec/x86/sbrdsp: Fix using uninitialized upper 32bit of noise
Fixes crash
Fixes: flicker-1.scout3d21443372922.28.m4a

Found-by: Dale Curtis <dalecurtis@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 1b82b934a1)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
f10ba15d73 avcodec/ffv1dec: Fix off by 1 error in quant_table_count check
Fixes: invalid_read.nut
Found-by: Paul B Mahol <onemda@gmail.com>

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 2d221d9e06)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
54661cf0b2 avcodec/ffv1dec: Explicitly check read_quant_table() return value
Forwards the error code, avoids potential integer overflow

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 10bbf6cf62)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
50f62fef19 avcodec/rangecoder: Check e
Fixes hang.nut

Found-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b2955b6c5a)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Ganesh Ajjanagadde
abd20c2057 avutil/log: fix zero length gnu_printf format string warning
This should fix warning reported by fate client:
http://fate.ffmpeg.org/report.cgi?time=20150917113121&slot=x86_32-linux-gnu-gcc-4.5.1-have_6regs.
Untested.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 63cdb6e4a5)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Simon Thelen
d1de492330 lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream.
Not requiring this can end up producing hilariously broken files
together with -c:s copy (e.g. a webvtt file containing binary subtitle data).

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b84232694e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
04ad22d77a avcodec/mjpegdec: Fix decoding RGBA RCT LJPEG
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 055e56e9f7)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Ganesh Ajjanagadde
a30a30b59a avfilter/af_asyncts: use llabs for int64_t
long may not be 64 bit on all platforms; so labs on int64_t is unsafe.
This fixes a warning reported in:
http://fate.ffmpeg.org/log.cgi?time=20150905071512&log=compile&slot=i386-darwin-clang-polly-3.7

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit d74123d03e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
484eb2b0e3 avcodec/g2meet: Also clear tile dimensions on header_fail
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit fb04666995)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
746a65640f avcodec/g2meet: Fix potential overflow in tile dimensions check
Fixes CID1322351

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 71ec8e1ed6)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
50e4d38ce4 avcodec/svq1dec: Check init_get_bits8() for failure
Fixes: CID1322313

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a51d4246d8)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
1e7ff902f2 avcodec/tta: Check init_get_bits8() for failure
Fixes: CID1322319

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit f1593e4ca5)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
dceec28eac avcodec/vp3: Check init_get_bits8() for failure
Fixes CID1322316

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit cbd3cd8eb2)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
95db0aa276 swresample/swresample: Fix integer overflow in seed calculation
Fixes CID1322333

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 32f53958b8)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
1e6f641052 avformat/mov: Fix integer overflow in FFABS
Fixes: unknown_unknown_19e_414_cov_764838672_bellhamlam.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 053e80f6ea)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
03ef13889c avutil/common: Add FFNABS()
This macro avoids the undefined corner case with the *_MIN values

Previous version Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit d6cd614dac)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
ab3f129011 avutil/common: Document FFABS() corner case
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 733511fb53)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
ab91919e57 avformat/dump: Fix integer overflow in aspect ratio calculation
Fixes: unknown_unknown_19e_414_cov_764838672_bellhamlam.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit d1bdaf3fb2)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
13aaefb70e avformat/mxg: Use memmove()
Fixes undefined behavior
Fixes: 1700002963a49da13542e0726b7bb758/unknown_unknown_292_658_cov_2141972066_m1.mxg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c7c207aecd)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
19a29c92db avcodec/truemotion1: Check for even width
Fixes out of array access
Fixes: 87196d8bbc633629fc9dd851fce73e70/asan_heap-oob_26f6853_862_cov_585961513_sonic3dblast_intro-partial.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 63fb5a6aef)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
ffcd26d25b avcodec/mpeg12dec: Set dimensions in mpeg1_decode_sequence() only in absence of errors
Fixes assertion failure
Fixes: 56dcafde14a8397161bb61a16c511179/signal_sigabrt_7ffff6ac8cc9_686_cov_1897408623_microsoft_new_way_to_shove_mpeg2_in_asf.dvr_ms

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b54e03c9dc)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
42fd94b514 avcodec/libopusenc: Fix infinite loop on flushing after 0 input
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 6701c92fa4)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:46 +01:00
Michael Niedermayer
679df05683 avformat/hevc: Check num_long_term_ref_pics_sps to avoid potentially long loops
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit ee155c18a2)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:45 +01:00
Arthur Grant
717c3ebfa4 avformat/hevc: Fix parsing errors
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 781efd0741)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:45 +01:00
Michael Niedermayer
43b094fa03 ffmpeg: Use correct codec_id for av_parser_change() check
No testcase known

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 45f3d4e63e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:45 +01:00
Michael Niedermayer
483f5bccc1 ffmpeg: Check av_parser_change() for failure
No testcase known

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit ac0ba6f233)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:45 +01:00
Michael Niedermayer
ce17111ed1 ffmpeg: Check for RAWVIDEO and do not relay only on AVFMT_RAWPICTURE
The null muxer has AVFMT_RAWPICTURE set but can be fed with non-raw material

related to Ticket4778

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c8890941d6)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:45 +01:00
Michael Niedermayer
a8c8a2f3f4 ffmpeg: check avpicture_fill() return value
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 15ff3f3fdf)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:45 +01:00
Michael Niedermayer
485372e91c avformat/mux: Update sidedata in ff_write_chained()
Fixes Ticket4777

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit db91e0edb6)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:45 +01:00
Michael Niedermayer
b87fc3526f avcodec/flashsvenc: Correct max dimension in error message
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b1f59bb660)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:45 +01:00
Michael Niedermayer
d165ec179e avcodec/svq1enc: Check dimensions
Fixes assertion failure

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 88fe45e0fe)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:45 +01:00
Michael Niedermayer
94541f5f76 avcodec/dcaenc: clear bitstream end
This avoids leaving uninitialized bits in the output

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit e322b7061f)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:45 +01:00
Emanuel Czirai
5e71f4aa6a libavcodec/aacdec_template: Use init_get_bits8() in aac_decode_frame()
related to ticket4749

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 7ab1c57a64)

Conflicts:

	libavcodec/aacdec_template.c
2015-11-12 02:55:45 +01:00
wm4
1900d023ae rawdec: fix mjpeg probing buffer size check
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 4c6beaed92)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:45 +01:00
wm4
2c8a8a114c rawdec: fix mjpeg probing
There can be other headers than "Content-Type:" (in this case, a
"Content-Length:" header was following), so checking for a trailing
newline is wrong.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit bf51fcd304)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-12 02:55:45 +01:00
周晓勇
99ab664ff8 configure: loongson disable expensive optimizations in gcc O3 optimization
With gcc-4.9.2 loongson faild in test fate-dca, this is caused by option
-fexpensive-optimizations in -O3 optimization. We disable it temporarily
before the bug been fixed up.

Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 2c34389551)

Conflicts:

	configure
2015-11-12 02:55:45 +01:00
Ronald S. Bultje
131f2c366e videodsp: don't overread edges in vfix3 emu_edge.
Fixes trac ticket 3226. Also see Andreas' analysis in
https://bugs.debian.org/801745, which was very helpful.
(cherry picked from commit 52f84d82bd)
2015-10-25 01:09:12 +02:00
wm4
9362282fd1 avformat/mp3dec: improve junk skipping heuristic
Commit 2b3e9bbfb5 caused problems for a
certain API user:

https://code.google.com/p/chromium/issues/detail?id=537725
https://code.google.com/p/chromium/issues/detail?id=542032

The problem seems rather arbitrary, because if there's junk, anything
can happen. In this case, the imperfect junk skipping just caused it to
read different junk, from what I can see.

We can improve the accuracy of junk detection by a lot by checking if 2
consecutive frames use the same configuration. While in theory it might
be completely fine for the 1st frame to have a different format than the
2nd frame, it's exceedingly unlikely, and I can't think of a legitimate
use-case.

This is approximately the same mpg123 does for junk skipping. The
set of compared header bits is the same as the libavcodec mp3 parser
uses for similar purposes.
(cherry picked from commit de1b1a7da9)

Conflicts:
	libavformat/mp3dec.c
2015-10-20 12:46:22 +02:00
Anssi Hannula
1f25a3ddb8 avformat/hls: add support for EXT-X-MAP
Without EXT-X-MAP support we miss the first bytes of some streams.

These streams worked by luck before byte-ranged segment support was added in
da7759b357

Fixes ticket #4797.
(cherry picked from commit 9099079488)

Conflicts:
	libavformat/hls.c
2015-10-15 14:41:32 +02:00
Anssi Hannula
e69d8fc619 avformat/hls: fix segment selection regression on track changes of live streams
Commit ad701326b4 ("avformat/hls: open playlists immediately when
AVDISCARD_ALL is dropped") inadvertently caused first_packet to never be
cleared, causing select_cur_seq_no() to not use the specific code for
live streams.

In practice this means that when the user selects a different audio
track during live stream (i.e. non-VOD) playback, there may be some
additional delay as the code might select an incorrect segment at first,
and we have to wait for video to catch audio (if too late segment was
selected) or to download more following audio segments (if too early
segment was selected).

Fix that by restoring the zeroing of first_packet.
(cherry picked from commit fd74d45d51)
2015-10-15 14:41:23 +02:00
Rodger Combs
6197d35a93 lavf/matroskadec: Fully parse and repack MP3 packets
Fixes https://trac.ffmpeg.org/ticket/4776

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b4b2717ffe)
2015-10-09 21:36:40 +02:00
Michael Niedermayer
8f00ff5ae0 avcodec/h264_mp4toannexb_bsf: Reorder operations in nal_size check
Fixes Ticket4778

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 2bb54b82b5)
2015-10-09 21:36:11 +02:00
Michael Niedermayer
eee1faef75 avformat/oggenc: Check segments_count for headers too
Fixes infinite loop and segfault in ogg_buffer_data()
Fixes Ticket4806

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 81a8701eb5)
2015-10-09 21:35:11 +02:00
Michael Niedermayer
1ef419447e avformat/segment: atomically update list if possible
Fixes Ticket4802

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit e2b19a533d)
2015-10-09 21:34:38 +02:00
Michael Niedermayer
6752f8ef04 avformat/avidec: Workaround broken initial frame
Fixes Ticket4851

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 3e2ef00394)
2015-10-09 21:34:11 +02:00
Hendrik Leppkes
98fdd0baf3 hevc: properly handle no_rasl_output_flag when removing pictures from the DPB
Fixes ticket #4185.

Reviewed-By: Mickael Raulet <Mickael.Raulet@insa-rennes.fr>
Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
(cherry picked from commit 0118158efa)
2015-10-09 21:33:56 +02:00
Ronald S. Bultje
f7cb979766 hevc: fix wpp threading deadlock.
Fixes ticket 4258.
(cherry picked from commit 74e4948235)
2015-10-09 21:33:35 +02:00
Michael Niedermayer
0fb4a85603 avcodec/ffv1: seperate slice_count from max_slice_count
Fix segfault with too large slice_count
Fixes Ticket4879

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit aa6c43f3fd)

Conflicts:
	libavcodec/ffv1enc.c
2015-10-09 21:32:52 +02:00
Przemysław Sobala
2ef386d0a6 lavf/img2dec: Fix memory leak
Fixes #4886

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 01dd7e025c)
2015-10-09 21:30:46 +02:00
wm4
114c0f002a avcodec/mp3: fix skipping zeros
Commits 43bc5cf9 and c5371f77 add code for skipping initial zeros in mp3
packets. This code forgot to report to the user that data was skipped at
all.

Since audio codecs allow partial packet decoding, the user application
has to rely on the return value. It will remove the data reported as
consumed by the decoder, and feed it to the decoder again. This resulted
in the mp3 frame after the zero region to be decoded over and over
again, until the zero region was finally skipped by the application.

Fix this by including the amount of skipped bytes to the number of
consumed bytes returned by the decode call.

Fixes trac ticket #4890.
(cherry picked from commit cb1da9fb8d)
2015-10-09 21:29:03 +02:00
Clément Bœsch
6b6932471e avformat/srtdec: make sure we probe a number
Fixes regression since 7218352e02: WebVTT
files were matching the SRT probing.
(cherry picked from commit 40d9d6de90)
2015-10-09 21:28:20 +02:00
Clément Bœsch
5ac6daf995 avformat/srtdec: more lenient first line probing
Fixes Ticket #4898
(cherry picked from commit 7218352e02)
2015-10-09 21:27:28 +02:00
James Almer
763c0d25b1 doc: mention libavcodec can decode Opus natively
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit fd9ac48dc8)
2015-09-20 23:28:53 -03:00
Michael Niedermayer
b1863e3d94 avcodec/ffv1enc: fix assertion failure with unset bits per raw sample
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 749f85496c)

Fixes ticket #4751.
2015-08-04 12:56:52 +02:00
Michael Niedermayer
4afccfdc04 MAINTAINERS: Remove myself as leader
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit f2c58931e6)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-31 18:35:30 +02:00
James Almer
a3d45dbcc1 mips/hevcdsp: fix string concatenation on macros
Needed for old compilers like GCC 4.2

Tested by trac user brad. Fixes ticket #4745

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit a0092cea46)
2015-07-30 21:01:32 -03:00
Andreas Cadhalpun
15466db69e Changelog update
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-19 10:56:11 +02:00
Andreas Cadhalpun
27816fb9ef 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>
(cherry picked from commit 75fd5ce4c1)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-19 10:14:31 +02:00
Andreas Cadhalpun
f06d9dced4 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>
(cherry picked from commit 05cc8c8e4b)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-19 10:01:30 +02:00
Andreas Cadhalpun
26cb351452 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>
(cherry picked from commit 3526a120f9)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-19 10:01:18 +02:00
Andreas Cadhalpun
762a5878a6 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>
(cherry picked from commit 0762152f7a)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-19 10:00:07 +02:00
Andreas Cadhalpun
f0af6e705f 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>
(cherry picked from commit d0eff8857c)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-19 09:43:20 +02:00
Andreas Cadhalpun
70b97a89d2 ffmpeg: only count got_output/errors in decode_error_stat
If threading is used, the first (thread_count - 1) packets are read
before any frame/error is returned. Counting this as successful decoding
is wrong, because it also happens when no single frame could be decoded.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit bd0f14123f)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-19 09:43:05 +02:00
Andreas Cadhalpun
1d1adf5ff4 ffmpeg: exit_on_error if decoding a packet failed
This is the second part of the fix for ticket #4370.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit cd64ead8d9)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>

Conflicts:
	ffmpeg.c
2015-07-19 09:42:22 +02:00
Andreas Cadhalpun
acfad331ad 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>
(cherry picked from commit 32a5b63126)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-19 09:37:42 +02:00
Andreas Cadhalpun
43f8a422b3 huffyuvdec: validate image size
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 9a345802ed)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-19 09:37:19 +02:00
Andreas Cadhalpun
95bd0f3a4b 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>
(cherry picked from commit f9883a669c)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-19 09:37:03 +02:00
Andreas Cadhalpun
eddf146ada nutdec: check maxpos in read_sm_data before returning success
Otherwise sm_size can be larger than size, which results in a negative
packet size.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 6b9fdf7f4f)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-19 09:36:34 +02:00
Andreas Cadhalpun
7293372959 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>
(cherry picked from commit 04dfbc9441)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-19 09:36:13 +02:00
Andreas Cadhalpun
2e1226a695 vc1dec: use get_bits_long and limit the read bits to 32
get_bits should not be used with more than 25 bits.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 1f1e0a2971)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-19 09:35:56 +02:00
Andreas Cadhalpun
f66d2bf949 mpegaudiodec: copy AVFloatDSPContext from first context to all contexts
This fixes a segfault when decoding multi-channel MP3onMP4 files.

This is similar to commit cb72230d for MPADSPContext.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 151dbe4579)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-07-19 09:35:30 +02:00
Michael Niedermayer
4a6ac71742 Update for FFmpeg 2.7.2
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:53:40 +02:00
Michael Niedermayer
08337cca05 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>
(cherry picked from commit 599d746e07)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:46 +02:00
Michael Niedermayer
9c655d2a57 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>
(cherry picked from commit a84f0e8d8f)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:46 +02:00
Michael Niedermayer
f00f799833 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>
(cherry picked from commit 1c5b712c0a)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:46 +02:00
Michael Niedermayer
05684cee42 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>
(cherry picked from commit 3197c0aa87)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:46 +02:00
Michael Niedermayer
e693af81b7 avfilter/af_aresample: Check ff_all_* for allocation failures
Fixes: signal_sigabrt_7ffff70eccc9_498_divx502.avi with memlimit 1572864

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 2ea8a48083)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:46 +02:00
Michael Niedermayer
73ebc4046e 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>
(cherry picked from commit f1a38264f2)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:46 +02:00
Michael Niedermayer
1cbd7b08f6 swscale/utils: Clear pix buffers
Fixes use of uninitialized memory
Fixes: a96874b9466b6edc660a519c7ad47977_signal_sigsegv_7ffff713351a_744_nc_sample.avi with memlimit 2147483648

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a5d44d5c22)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:46 +02:00
Zhang Rui
a330aca126 avutil/fifo: Fix the case where func() returns less bytes than requested in av_fifo_generic_write()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit fcbea93cf8)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:46 +02:00
Michael Niedermayer
2e7bd0f725 ffmpeg: Fix cleanup after failed allocation of output_files
Fixes: 39a25908b84604acdaa490138282d091_signal_sigsegv_7ffff713351a_331_WAWV.avi with memlimit of 262144

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 6e80fe1ecd)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:46 +02:00
Michael Niedermayer
a066b2cedd avformat/mov: Fix deallocation when MOVStreamContext failed to allocate
Fixes: 260813283176b57b3c9974fe284eebc3_signal_sigsegv_7ffff713351a_991_xtrem_e2_m64q15_a32sxx.3gp with memlimit of 262144

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 15629129dd)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:46 +02:00
Michael Niedermayer
a18e8d82de ffmpeg: Fix crash with ost->last_frame allocation failure
Fixes: 1013dbde2c360d939cc2dfc33e4f275c_signal_sigsegv_a0500f_45_320vp3.nsv with memlimit of 536870912

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit fd4c87fa3b)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:46 +02:00
Michael Niedermayer
441ef87ea8 ffmpeg: Fix cleanup with ost = NULL
Fixes: 09e670595acbdafb226974b08dab66e3_signal_sigabrt_7ffff70eccc9_991_xtrem_e2_m64q15_a32sxx.3gp with memlimit of 1048576

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 503ec7139f)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:46 +02:00
Michael Niedermayer
6e53134f98 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>
(cherry picked from commit 5d346feafa)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:46 +02:00
Michael Niedermayer
237751eb25 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>
(cherry picked from commit 39bbdebb1e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:46 +02:00
Michael Niedermayer
264eb0074f 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>
(cherry picked from commit f7068bf277)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:46 +02:00
Anton Khirnov
7db809a373 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
(cherry picked from commit 86eee85dad)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
0df814cf97 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>
(cherry picked from commit 7ef6656b1e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
88fa3243dd 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>
(cherry picked from commit b160fc290c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Chris Watkins
2a6f2cd848 oggparsedirac: check return value of init_get_bits
If init_get_bits fails the GetBitContext is invalid and must not be
used. Check the return value in dirac_header and propogate the error.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4f5c2e651a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Andreas Cadhalpun
c001472226 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>
(cherry picked from commit 42e7a5b3c7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Andreas Cadhalpun
1ec0541ae0 wmalosslessdec: avoid reading 0 bits with get_bits
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit f9020d514e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Chris Watkins
151554e1eb Put a space between string literals and macros.
When compiling libavutil/internal.h as C++11, clang warns that a space
is required between a string literal and an identifier. Put spaces
in concatenations of string literals and EXTERN_PREFIX.

Signed-off-by: Chris Watkins <watk@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 55e29ceec8)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
ac91bfe086 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>
(cherry picked from commit 47496eb97c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
bbcf6f5c62 avcodec/aacsbr: Assert that bs_num_env is positive
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2e13a45b1a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
e740506d31 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>
(cherry picked from commit 79a98294da)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
65aac419e5 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>
(cherry picked from commit 330863c9f1)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
James Zern
662714abbe 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>
(cherry picked from commit e91f860ea7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
51782e8690 avfilter/vf_transpose: Fix rounding error
Fixes out of array access
Fixes: asan_heap-oob_7f875d_3482_cov_1818465256_ssudec.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0083c16605)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
0afb004d3c 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>
(cherry picked from commit 4aa0de644a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
a9c3b588af 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>
(cherry picked from commit 84afc6b70d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
f775a92054 avcodec/pngdec: Check values before updating context in decode_fctl_chunk()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b54ac8403b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
cccb06b095 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>
(cherry picked from commit f1ffa01dd3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
be54d1f104 avcodec/pngdec: Require a IHDR chunk before fctl
This is required by the APNG spec

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a1736926e9)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
e84d17c7c9 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>
(cherry picked from commit 47f4e2d896)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Andreas Cadhalpun
254fabe758 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>
(cherry picked from commit 2a4700a4f0)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
d1f8eaf3d2 swscale/swscale_unscaled: Fix rounding difference with RGBA output between little and big endian
Fixes fate/dds-rgb16 on big endian

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f6ab967eae)

Conflicts:

	tests/ref/fate/dds-rgb16
2015-07-18 20:23:45 +02:00
Michael Niedermayer
483a02e25f ffmpeg: Do not use the data/size of a bitstream filter after failure
Found-by: Rodger Combs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8f0f678f09)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
James Almer
3f06023bd2 swscale/x86/rgb2rgb_template: fix signedness of v in shuffle_bytes_2103_{mmx,mmxext}
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit e22edbfd41)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Sebastien Zwickert
ce3a8c983f vda: unlock the pixel buffer base address.
The pixel buffer base address is never unlocked this causes
a bug with some pixel format types that are produced natively
by the hardware decoder: the first buffer was always used.
Unlock the pixel buffer base address fixes the issue.
(cherry picked from commit c06fdacc3d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
f5c880cecb swscale/rgb2rgb_template: Fix signedness of v in shuffle_bytes_2103_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7604358018)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
2af2c7ecff swscale/rgb2rgb_template: Implement shuffle_bytes_0321_c and fix shuffle_bytes_2103_c on BE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit abb833c568)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
12aa4220dd swscale/rgb2rgb_template: Disable shuffle_bytes_2103_c on big endian
The function is specific to little endian

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4df3cf90bf)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:45 +02:00
Michael Niedermayer
e40688ed80 swr: Remember previously set int_sample_format from user
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d4325b2fea)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:44 +02:00
Rob Sykes
d403242a28 swresample: soxr implementation for swr_get_out_samples()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c70c6be225)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-18 20:23:44 +02:00
Michael Niedermayer
f921a47fae avformat/swfdec: Do not error out on pixel format changes
Instead print an error and continue

Fixes Ticket4702

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6a1204a1a4)
2015-07-08 12:40:10 +02:00
Michael Niedermayer
a7fa1c9b2b ffmpeg_opt: Fix forcing fourccs
Fixes Ticket4682

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8750aef3d6)
2015-07-05 23:08:21 +02:00
Derek Buitenhuis
6ff54eb87b configure: Check for x265_api_get
Any other x265 symbol may not exported, e.g. if the build is a
multilib (10-bit and 8-bit in one) build.

This is the only symbol we directly call, and is available in the
build number we check for.

Fixes the configure check on multilib x265 builds.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
(cherry picked from commit f4be604f1c)
2015-06-27 11:51:48 +01:00
James Almer
7f2ab5e50f swscale/x86/rgb2rgb_template: don't call emms on sse2/avx functions
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 0c15f2f158)
2015-06-26 16:30:23 -03:00
James Almer
aebb9410c5 swscale/x86/rgb2rgb_template: add missing xmm clobbers
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 910eeab480)
2015-06-26 16:22:56 -03:00
James Almer
459090181f library.mak: Workaround SDL redefining main and breaking fate tests on mingw
Fixes Ticket3368

Commit message by commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

(cherry picked from commit a9af9da631)
2015-06-26 16:22:54 -03:00
Gwenole Beauchesne
071d7f4e17 vaapi_h264: fix RefPicList[] field flags.
Use new H264Ref.reference field to track field picture flags. The
H264Picture.reference flag in DPB is now irrelevant here.

This is a regression from git commit d8151a7, and that affected
multiple interlaced video streams.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
(cherry picked from commit 88325c2e0b)
2015-06-23 13:52:30 +02:00
Andreas Cadhalpun
620197d1ff doc: avoid incorrect phrase 'allows to'
Also fix typo found by Lou Logan:
Sacrifying -> Sacrificing

Reviewed-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 28efeb6502)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-06-19 20:31:44 +02:00
Andreas Cadhalpun
73e7fe8e64 configure: make makeinfo_html check more robust
The current check is too strict for newer makeinfo versions.
Existing version strings are:
makeinfo (GNU texinfo) 4.13
makeinfo (GNU texinfo) 5.2
texi2any (GNU texinfo) 5.9.93

Probably version 6 will come in the not too far future.

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 72654526e4)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-06-19 20:31:36 +02:00
Andreas Cadhalpun
973e67e5d2 matroskadec: validate audio channels and bitdepth
In the TTA extradata re-construction the values are written with
avio_wl16 and if they don't fit into uint16_t, this triggers an
av_assert2 in avio_w8.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 92e79a2f7b)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-06-19 20:31:27 +02:00
Andreas Cadhalpun
d89cd16afa matroskadec: check audio sample rate
And default to 8000 if it is invalid.

An invalid sample rate can trigger av_assert2 in av_rescale_rnd.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 5b76c82fd7)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-06-19 20:31:12 +02:00
Michael Niedermayer
7cbceb16ad Update for 2.7.1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-19 19:03:00 +02:00
Michael Niedermayer
157dd52700 avcodec/dpxenc: implement write16/32 as functions
Fixes undefined behavior and segfault

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8edc17b639)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-19 18:40:49 +02:00
Michael Niedermayer
23614d09d5 avutil/avstring: Do not print NULL
Fixes segfault
Fixes Ticket4452

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 52e02a9e59)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-19 18:40:49 +02:00
Andreas Cadhalpun
bea4894d0c postproc: fix unaligned access
QP_store is only 8-bit-aligned, so accessing it as uint32_t causes
SIGBUS crashes on sparc.
The AV_RN32/AV_WN32 macros only do unaligned access in the
HAVE_FAST_UNALIGNED case.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 590743101d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-19 18:40:49 +02:00
Andreas Cadhalpun
250cf2d4da vp9: don't retain NULL as segmentation_map
This fixes segmentation faults, which were introduced in commit
4ba8f327.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit d216b9debd)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-19 18:40:49 +02:00
wm4
93d076b4fd avformat: clarify what package needs to be compiled with SSL support
Try to reduce user confusion.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f6c3f1ed60)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-19 18:40:49 +02:00
Michael Niedermayer
8749b83e0b avcodec/libx264: Avoid reconfig on equivalent aspect ratios
Workaround for ticket #4287.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7b1c03aa74)

Conflicts:
	libavcodec/libx264.c
2015-06-19 13:27:42 +02:00
George Boyle
a9b600cf39 avcodec/flacenc: Fix Invalid Rice order
Fixes ticket #4628.

The problem arose, in the sample file at least, in the last block where the
minimum and maximum Rice partition orders were both 0. In that case, and any
other where pmax == pmin, the original UINT32_MAX placeholder value for
bits[opt_porder] was getting overwritten before the comparison to check if the
current partition order is a new optimal, so the correct partition order and
RiceContext params were not being set.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2469ed32c8)
2015-06-19 10:10:43 +02:00
wm4
c3c8365dbd tls_gnutls: fix hang on disconnection
GNUTLS_SHUT_RDWR means GnuTLS will keep waiting for the server's
termination reply. But since we don't shutdown the TCP connection at
this point yet, GnuTLS will just keep skipping actual data from the
server, which basically is perceived as hang.

Use GNUTLS_SHUT_WR instead, which doesn't have this problem.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2222f419da)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-18 22:09:01 +02:00
Michael Niedermayer
6432f8826d avcodec/hevc_ps: Only discard overread VPS if a previous is available
Fixes Ticket4621

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 57078e4d25)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-18 22:09:01 +02:00
Michael Niedermayer
e04ae11fa0 ffmpeg: Free last_frame instead of just unref
Fixes Ticket4611

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d1050d9950)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-18 22:09:01 +02:00
Michael Niedermayer
08fadda68a avcodec/ffv1enc: fix bps for >8bit yuv when not explicitly set
Fixes Ticket4636

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3a6a8f6ee1)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-18 22:09:01 +02:00
wm4
9473e5a05d avio: fix potential crashes when combining ffio_ensure_seekback + crc
Calling ffio_ensure_seekback() if ffio_init_checksum() has been called
on the same context can lead to out of bounds memory accesses and
crashes. The reason is that ffio_ensure_seekback() does not update
checksum_ptr after reallocating the buffer, resulting in a dangling
pointer.

This effectively fixes potential crashes when opening mp3 files.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit dc87758775)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-18 22:09:01 +02:00
Andreas Cadhalpun
8a24ccfee3 examples/demuxing_decoding: use properties from frame instead of video_dec_ctx
This is more robust.

And only check if there is actually a frame returned.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit dd6c8575db)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-18 22:09:01 +02:00
Andreas Cadhalpun
3ba55ea4ae h264: er: Copy from the previous reference only if compatible
Also use the frame pixel format instead of the one from the codec
context, which is more robust.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit fdc64a1044)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-18 22:09:01 +02:00
Andreas Cadhalpun
265db41540 doc: fix spelling errors
Neccessary -> Necessary
formated   -> formatted
thee       -> the
eventhough -> even though
seperately -> separately

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit ed0b1db640)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-18 22:09:01 +02:00
Andreas Cadhalpun
ed5041143e configure: only disable VSX for !ppc64el
This reverts commit 04f0002, which made it impossible to enable VSX with
a generic cpu.

This changes the behavior back to what it was before commit b0af404.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 45babb0121)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-18 22:09:01 +02:00
Michael Niedermayer
965f96c5ed ffmpeg_opt: Check for localtime() failure
Found-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8e91d9652e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-18 22:09:01 +02:00
James Almer
3b6aeb148b avformat/singlejpeg: fix standalone compilation
(cherry picked from commit 4aebaed0e1)
2015-06-18 16:39:09 -03:00
Michael Niedermayer
259bb2555b configure: Disable VSX on unspecified / generic CPUs
Fixes fate tests on PPC64be

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 04f0002291)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-12 14:16:10 +02:00
Deliang Fu
665b67014f avformat: Fix bug in parse_rps for HEVC.
Make the logic in libavformat/hevc.c parse_rps align with libavcodec/hevc_ps.c ff_hevc_decode_short_term_rps

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6e1f8780c8)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-11 02:42:30 +02:00
Andreas Cadhalpun
1051c152f9 takdec: ensure chan2 is a valid channel index
If chan2 is not smaller than the number of channels, it can cause
segmentation faults due to dereferencing a NULL pointer.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 05c57ba2f4)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-10 12:23:21 +02:00
Michael Niedermayer
5a0862af55 avcodec/h264_slice: Use AVFrame diemensions for grayscale handling
The AVFrame values are closer to the AVFrame bitmap changed instead of
the AVCodecContext values, so this should be more robust

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit aef0e0f009)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-10 12:05:42 +02:00
Michael Niedermayer
6e94e77632 avdevice/lavfi: do not rescale AV_NOPTS_VALUE in lavfi_read_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 913685f552)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-10 00:56:38 +02:00
Michael Niedermayer
f5bb7b9992 MAINTAINERS: add 2.7
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 23:54:46 +02:00
Michael Niedermayer
0e9209183a Update for 2.7
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 23:36:06 +02:00
Michael Niedermayer
90932a9e3c add RELEASE_NOTES, based on previous 2015-06-09 23:36:06 +02:00
Andreas Cadhalpun
58995f647b sonic: set avctx->channels in sonic_decode_init
Otherwise it can be 0 in sonic_decode_frame, causing SIGFPE crashes.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-06-09 23:21:51 +02:00
Michael Niedermayer
3a99f6e79f Changelog: Add 2.7 entry
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 23:14:57 +02:00
Michael Niedermayer
a5f44bc446 doc/APIchanges: fill in missing stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 23:08:53 +02:00
Michael Niedermayer
6ddb109b90 doc/APIchanges: Add 2.7 separator
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 23:05:07 +02:00
Simon Thelen
83307a32eb libavutil/channel_layout: Correctly return layout when channel specification ends with a trailing 'c'.
Return layout when FF_API_GET_CHANNEL_LAYOUT_COMPAT is set even if the
layout itself is not in the deprecated style.

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 22:44:34 +02:00
Vignesh Venkatasubramanian
34ae98a771 lavf/webm_chunk: Remove AVFMT_ALLOW_FLUSH
The flag was set unintentionally and the code will break if a NULL
packet is passed in.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 21:19:57 +02:00
Michael Niedermayer
0916938a8d avcodec/jpeg2000dec: Fix gain regression with gray16
Found-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 20:26:38 +02:00
Michael Niedermayer
6bf8d9e164 fate: Force jpeg2000 decoder for dcinema
so that no external decoder is used which would break the test

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 20:09:12 +02:00
Michael Niedermayer
adbe1d7de4 avcodec/libopenjpegdec: Mark as experimental if <= 1.3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 18:59:30 +02:00
Michael Niedermayer
dbbb31e5bb avcodec/jpeg2000: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 18:48:39 +02:00
Michael Niedermayer
32b1131fc1 avformat/oggenc: Fix return code in case of flushing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 18:42:55 +02:00
Michael Niedermayer
dac7b27802 Merge commit 'b14086ca38efa1a86cb0f0c6aa147b05f698877b'
* commit 'b14086ca38efa1a86cb0f0c6aa147b05f698877b':
  mkv: Correctly report the latest packet had been flushed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 18:30:24 +02:00
Michael Niedermayer
962654f251 Merge commit 'b380337020e271c5431aa8ef8f8e9dfda5e919b2'
* commit 'b380337020e271c5431aa8ef8f8e9dfda5e919b2':
  mpjpegdec: don't try to alloc an AVIOContext when probe is guaranteed to fail

See: 1382add59d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 18:09:26 +02:00
Michael Niedermayer
551813a963 Merge commit '210921722bf828b3b895ebcbc34374e6c4452c6f'
* commit '210921722bf828b3b895ebcbc34374e6c4452c6f':
  imc: add required padding for GetBitContext buffer

Conflicts:
	libavcodec/imc.c

See: 7444cf9a9c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 17:44:13 +02:00
Michael Niedermayer
840465ebf9 Merge commit '09447f2b0fafac6d9565aab82a4c5f16fc99ee5e'
* commit '09447f2b0fafac6d9565aab82a4c5f16fc99ee5e':
  ac3_parser: add required padding for GetBitContext buffer

See: fccd85b9f3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 17:35:14 +02:00
Michael Niedermayer
5f48a73bb0 Merge commit 'fb1473080223a634b8ac2cca48a632d037a0a69d'
* commit 'fb1473080223a634b8ac2cca48a632d037a0a69d':
  aac_parser: add required padding for GetBitContext buffer

See: fccd85b9f3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 17:22:35 +02:00
Rodger Combs
4b082bc241 doc/muxers: document new break_non_keyframes option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 17:08:35 +02:00
Michael Niedermayer
44327cbc9a avcodec/jpeg2000: Disable special case for JPEG2000_QSTY_SI
The code gave apparently completely wrong values

Fixes Ticket2872

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 16:44:32 +02:00
Michael Niedermayer
45db921806 avcodec/jpeg2000dec: Add placeholder for PLT parsing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 15:16:46 +02:00
Michael Niedermayer
b6ee1912f9 avcodec/jpeg2000dec: Handle Psot = 0
Fixes Ticket2869

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 14:43:03 +02:00
Luca Barbato
b14086ca38 mkv: Correctly report the latest packet had been flushed
Bug-Id: 865
CC: libav-stable@libav.org
2015-06-09 14:27:54 +02:00
Rodger Combs
e60b018c74 lavf/segment: add an option to allow breaking on non-keyframes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 13:26:00 +02:00
James Almer
b380337020 mpjpegdec: don't try to alloc an AVIOContext when probe is guaranteed to fail
The first check is done without the AVIOContext, so alloc it only if said check succeeds

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2015-06-09 10:07:11 +02:00
Janne Grunau
210921722b imc: add required padding for GetBitContext buffer
Fixes stack buffer overflow errors detected by address sanitizer in
fate-imc.

CC: libav-stable@libav.org
2015-06-09 10:07:04 +02:00
Janne Grunau
09447f2b0f ac3_parser: add required padding for GetBitContext buffer
Fixes stack buffer overflow errors detected by address sanitizer in
various fate tests.

CC: libav-stable@libav.org
2015-06-09 10:06:59 +02:00
Janne Grunau
fb14730802 aac_parser: add required padding for GetBitContext buffer
Fixes stack buffer overflow errors detected by address sanitizer in
various fate tests.

CC: libav-stable@libav.org
2015-06-09 10:05:54 +02:00
Michael Niedermayer
e100966575 avcodec/x86/h264_weight: handle weight1=128
Fix ticket4596

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 05:11:09 +02:00
Michael Niedermayer
7c9fcdfabd avcodec/jpeg2000dec: Fix some 5/3 bitexactness issues
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 02:17:53 +02:00
Rodger Combs
ecefce41d9 lavf/tls_securetransport: fix SNI support when not verifying
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 01:06:32 +02:00
Michael Niedermayer
074159ed70 avcodec/jpeg2000dec: Fix subsampled decoding
Fixes part of Ticket3619

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 01:02:05 +02:00
Michael Niedermayer
12ba1b2b4d avcodec/jpeg2000dec: Check that coords match before applying ICT
This avoid potential out of array accesses

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 01:02:05 +02:00
Michael Niedermayer
028c59c17b avcodec/jpeg2000dec: Fix high bit depth branch sample shift
Fix part of Ticket3619

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 01:01:01 +02:00
Andreas Cadhalpun
6fdbaa2b7f vp8: change mv_{min,max}.{x,y} type to int
If one of the dimensions is larger than 8176, s->mb_width or
s->mb_height is larger than 511, leading to an int16_t overflow of
s->mv_max.{x,y}. This then causes av_clip to be called with amin > amax.

Changing the type to int avoids the overflow and has no negative
effect, because s->mv_max is only used in clamp_mv for clipping.
Since mv_max.{x,y} is positive and mv_min.{x,y} negative, av_clip can't
increase the absolute value. The input to av_clip is an int16_t, and
thus the output fits into int16_t as well.

For additional safety, s->mv_{min,max}.{x,y} are clipped to int16_t range
before use.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-06-08 23:29:14 +02:00
James Almer
1382add59d mpjpegdec: don't try to alloc an AVIOContext when probe is guaranteed to fail
The first check is done without the AVIOContext, so alloc it only if said check succeeds

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-06-08 18:26:42 -03:00
Michael Niedermayer
d5a645625d Merge commit '4733a12dd17a91d606e0079ff9bb48b9f419cbef'
* commit '4733a12dd17a91d606e0079ff9bb48b9f419cbef':
  rtpdec_asf: Check memory allocation and free memory on error

Conflicts:
	libavformat/rtpdec_asf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 23:05:01 +02:00
Michael Niedermayer
3d6635749a Merge commit '6308cd4868d2bd5fdf8bfa8dd10856c9a91874f5'
* commit '6308cd4868d2bd5fdf8bfa8dd10856c9a91874f5':
  mov: Check memory allocation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 22:56:51 +02:00
Michael Niedermayer
77510a9698 Merge commit 'bc1eace1b3654c490cb2c226b3c80854244dbb9a'
* commit 'bc1eace1b3654c490cb2c226b3c80854244dbb9a':
  jack: Check memory allocation

Conflicts:
	libavdevice/jack.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 22:48:14 +02:00
Michael Niedermayer
d1f7b313ac Merge commit 'f7e932473314e6ca4c851d49cbde8570b6e66383'
* commit 'f7e932473314e6ca4c851d49cbde8570b6e66383':
  audiointerleave: Always initialize new_pkt

Conflicts:
	libavformat/audiointerleave.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 22:37:41 +02:00
Michael Niedermayer
01a6ae1396 Merge commit '8ef98855d25e457094468e2e1a79d9b10d6445b2'
* commit '8ef98855d25e457094468e2e1a79d9b10d6445b2':
  sctp: Always initialize outmsg struct

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 22:35:53 +02:00
Michael Niedermayer
402b18afcc Merge commit 'caf7be30b11288c498fae67be4741bfbf083d977'
* commit 'caf7be30b11288c498fae67be4741bfbf083d977':
  mpjpgdec: free AVIOContext leak on early probe fail

Conflicts:
	libavformat/mpjpegdec.c

See: 34d278f983, this was mistakenly reimplemented, also see ffmpeg IRC log of today
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 22:15:28 +02:00
Michael Niedermayer
83e3516e64 Merge commit '925b80d64029d41962e5998d7d901226c3a9baea'
* commit '925b80d64029d41962e5998d7d901226c3a9baea':
  mpegvideo: Move OutFormat enum to mpegutils.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 22:05:25 +02:00
Michael Niedermayer
3244a17650 Merge commit '9bb11be0e5a75782c3139ad058c2b571499aa37d'
* commit '9bb11be0e5a75782c3139ad058c2b571499aa37d':
  mpegvideo: Split picture allocation for encoding and decoding

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 21:49:26 +02:00
Andreas Cadhalpun
b18eac7ff2 vp9: change type of tile_size from unsigned to int64_t
Otherwise the check 'tile_size < size' treats a negative size as
unsigned, causing the check to pass. This subsequently leads to
segmentation faults.

This was originally fixed as part of Libav commit 72ca83, so the
original author is one of the following developers:
        Anton Khirnov <anton@khirnov.net>
        Diego Biurrun <diego@biurrun.de>
        Luca Barbato <lu_zero@gentoo.org>
        Martin Storsjö <martin@martin.st>

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-06-08 21:43:16 +02:00
Michael Niedermayer
e05fda99f7 Merge commit 'f8716a1408f4f4ec63857b7015fbd62f9eac344a'
* commit 'f8716a1408f4f4ec63857b7015fbd62f9eac344a':
  mpegvideo: Rework frame_size_alloc function

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 21:16:36 +02:00
Michael Niedermayer
db8ae37a78 Merge commit 'da0c8664b4dc906696803685f7e53ade68594ab8'
* commit 'da0c8664b4dc906696803685f7e53ade68594ab8':
  mpegvideo: Move various temporary buffers to a separate context

Conflicts:
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/mpegvideo_motion.c
	libavcodec/rv34.c
	libavcodec/vc1_mc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 21:05:12 +02:00
James Almer
34d278f983 mpjpegdec: fix memory leak in probe function
Signed-off-by: James Almer <jamrial@gmail.com>
2015-06-08 16:03:31 -03:00
Michael Niedermayer
a4557b7a98 Merge commit 'a6f19d6a9f8d1e08653d9d77581e8c823f4955c2'
* commit 'a6f19d6a9f8d1e08653d9d77581e8c823f4955c2':
  configure: Support MSVC 2015

Conflicts:
	configure
	libavutil/internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 20:39:38 +02:00
Michael Niedermayer
56f0fe6b84 swr: Fix ASSERT_LEVEL warning
Found-by: cehoyos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 20:16:06 +02:00
Michael Niedermayer
653bf3c5a1 avcodec/hq_hqa: Fix signness of tag
Fixes Ticket4509

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 19:11:27 +02:00
Donny Yang
130a6c04a4 avcodec/apng: Add partial support for blending with PAL8 pixel format
Currently restricted to blending pixels that only contain either
0 or 255 in their alpha components

Signed-off-by: Donny Yang <work@kota.moe>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 16:27:57 +02:00
Donny Yang
33292c07fe avcodec/apng: Add support for blending with GRAY8A pixel format
Signed-off-by: Donny Yang <work@kota.moe>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 16:18:34 +02:00
Donny Yang
0ab1c46fe0 avcodec/apng: Add blending support for non-alpha pixel formats
Signed-off-by: Donny Yang <work@kota.moe>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 15:44:22 +02:00
Donny Yang
ed09bb3782 avcodec/apng: Dispose previous frame properly
The spec specifies the dispose operation as how the current (i.e., currently
being rendered) frame should be disposed when the next frame is blended onto it

This is contrary to ffmpeg's current behaviour of interpreting the dispose
operation as how the previous (i.e., already rendered) frame should be disposed

This patch fixes ffmpeg's behaviour to match those of the spec, which involved
a rewrite of the blending function

Signed-off-by: Donny Yang <work@kota.moe>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 15:32:49 +02:00
Rodger Combs
6dd5371e34 lavf/tls: let the user specify what name to verify against
This can be useful for debugging, or in scenarios where the user
doesn't want to use the system's DNS settings for whatever reason.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 14:08:52 +02:00
Vittorio Giovara
4733a12dd1 rtpdec_asf: Check memory allocation and free memory on error
CC: libav-stable@libav.org
Bug-Id: CID 1257774
2015-06-08 13:04:29 +01:00
Vittorio Giovara
6308cd4868 mov: Check memory allocation
CC: libav-stable@libav.org
Bug-Id: CID 1292518
2015-06-08 13:03:39 +01:00
Vittorio Giovara
bc1eace1b3 jack: Check memory allocation
CC: libav-stable@libav.org
Bug-Id: CID 1292520
2015-06-08 13:03:27 +01:00
Vittorio Giovara
f7e9324733 audiointerleave: Always initialize new_pkt
CC: libav-stable@libav.org
Bug-Id: CID 609333
2015-06-08 13:03:10 +01:00
Vittorio Giovara
8ef98855d2 sctp: Always initialize outmsg struct
CC: libav-stable@libav.org
Bug-Id: CID 1302711
2015-06-08 13:01:33 +01:00
Janne Grunau
caf7be30b1 mpjpgdec: free AVIOContext leak on early probe fail 2015-06-08 13:55:26 +02:00
Vittorio Giovara
925b80d640 mpegvideo: Move OutFormat enum to mpegutils.h
It is necessary to avoid circular header dependencies.
2015-06-08 12:39:42 +01:00
Vittorio Giovara
9bb11be0e5 mpegvideo: Split picture allocation for encoding and decoding
The main ff_alloc_picture() function is made more generic with all the
parameters necessary as arguments. This will allows to move most of the
related functions to a separate file later.

Right now wrappers are provided to try and minimize the number of
changes in the code.
2015-06-08 12:39:42 +01:00
Vittorio Giovara
f8716a1408 mpegvideo: Rework frame_size_alloc function
Use more generic arguments and remove its static attribute since it will
be moved to a separate file.
2015-06-08 12:39:42 +01:00
Vittorio Giovara
da0c8664b4 mpegvideo: Move various temporary buffers to a separate context 2015-06-08 12:39:42 +01:00
Luca Barbato
a6f19d6a9f configure: Support MSVC 2015
The C runtime C99 compatibility had been improved a lot and it now
rejects some of the compatibility defines provided for the older
versions.

Many thanks to Ray for the time spent testing.

Bug-Id: 864
CC: libav-stable@libav.org
2015-06-08 13:27:49 +02:00
Michael Niedermayer
7630cce4b3 avformat/mxfenc: Allow overriding /manual setting of the signal standard
previous patch reviewed-by: tim nicholson <nichot20@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 13:03:29 +02:00
Max Poliakovski
4b343f7c35 atrac3plus: give the phase_shift flag a better name.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 11:45:22 +02:00
Max Poliakovski
d765e07322 atrac3plus: add support for GHA phase inversion.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 04:26:04 +02:00
Michael Niedermayer
ac2dad9690 avformat/version: Bump version for single jpeg muxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 04:00:45 +02:00
Michael Niedermayer
5cf84e595d doc/ffserver: Add entry for missing jpeg variant
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 03:41:57 +02:00
Caligula useraccount
3b89a67315 ffserver: Use singlejpeg muxer for jpeg
Fixes Ticket4218

Based on patch by: Otávio Ribeiro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 03:36:22 +02:00
Caligula useraccount
51ac1f616f avformat: Add single jpeg muxer
Needed to fix Ticket4218

Based on patch by: Otávio Ribeiro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 03:36:22 +02:00
Michael Niedermayer
990605768c avcodec/aacdec: Do not return a uninitialized value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 02:33:39 +02:00
Michael Niedermayer
153d23ee39 Merge commit 'bc76c46943272515805d7ac48ca39f14826d1fed'
* commit 'bc76c46943272515805d7ac48ca39f14826d1fed':
  aac: Wait to know the channels before allocating frame

Conflicts:
	libavcodec/aacdec.c

See: 676a395ab9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 02:28:44 +02:00
Michael Niedermayer
476692abdb Merge commit 'a188108ebf28ebac9d2b8fc7d5b391aef45698b3'
* commit 'a188108ebf28ebac9d2b8fc7d5b391aef45698b3':
  aac: Support channel configurations 11 and 12

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 01:31:15 +02:00
Michael Niedermayer
8eb2c411c1 Merge commit '677c804aa3a78d61b21e6423165a252846c20f0e'
* commit '677c804aa3a78d61b21e6423165a252846c20f0e':
  aac: correctly map 7.1ch-wide AAC from FDK AAC encoder

Sample: FDK_7.1ch_wide.aac
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 01:29:36 +02:00
Michael Niedermayer
ce838ad950 Merge commit '252d6200c36e7eaa79f8d5205b7d731179e94897'
* commit '252d6200c36e7eaa79f8d5205b7d731179e94897':
  avio: Add avio_put_str16be

Conflicts:
	doc/APIchanges
	libavformat/avio.h
	libavformat/aviobuf.c
	libavformat/version.h

The FFmpeg implementation is kept as requested by ubitux
Doxy improvements merged

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 01:17:26 +02:00
Michael Niedermayer
8985e7c561 Merge commit '9b56ac74b170d12027fbc81f581a451a709f1105'
* commit '9b56ac74b170d12027fbc81f581a451a709f1105':
  mpjpeg: Initial implementation

Conflicts:
	Changelog
	libavformat/allformats.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 00:44:28 +02:00
Michael Niedermayer
7856afef52 avformat/hdsenc: Change duration from single to to double precision
This slightly improves precision

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 00:35:43 +02:00
Michael Niedermayer
0dbea4642f avformat/rmenc: Remove float usage
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-07 21:55:46 +02:00
Michael Niedermayer
4c4c3d5d5a avcodec/libstagefright: Check for pthread_create() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-07 21:20:21 +02:00
Clément Bœsch
40cc3be73c avfilter: fix a few 5 spaces indent 2015-06-07 20:18:15 +02:00
Michael Niedermayer
7c453277a3 avdevice/iec61883: Check pthread init for failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-07 18:57:55 +02:00
Michael Niedermayer
ddda9cee1c ffserver: Check for ffio_set_buf_size() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-07 15:10:24 +02:00
Michael Niedermayer
0023ea4e20 avformat/aviobuf: Check for ffio_set_buf_size() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-07 14:57:36 +02:00
Michael Niedermayer
dc55477a64 avformat/ffmdec: Check ffio_set_buf_size() return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-07 14:55:10 +02:00
Michael Niedermayer
d6039063aa ffserver: Check allocations (likely not all)
Reviewed-by: "Reynaldo H. Verdejo Pinochet" <reynaldo@osg.samsung.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-07 12:42:48 +02:00
Luca Barbato
bc76c46943 aac: Wait to know the channels before allocating frame
The channel configuration can be delivered only by the PCE,
try to parse it first and not try to decode until a channel
configuration is set.

CC: libav-stable@libav.org
2015-06-07 10:14:46 +02:00
Sebastian Dröge
a188108ebf aac: Support channel configurations 11 and 12
These are defined in ISO/IEC 14496-3:2009/PDAM 4 for 6.1 and 7.1.
It also defines another 7.1 layout with configuration 14, that one
is not added here for now.

11: 3/3.1    FC FL+FR BL+BR BC LFE
12: 3/2/2.1  FC FL+FR SiL+SiR BL+BR LFE

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-06-07 10:14:46 +02:00
nu774
677c804aa3 aac: correctly map 7.1ch-wide AAC from FDK AAC encoder
FDK AAC encoder outputs SCE(front)+CPE(front)+CPE(back)+CPE(back) on
MODE_7_1_REAR_SURROUND configuration.
Since decoder couldn't properly map 4 back channels, decoding failed
unless -request_channel_layout 0x8000000000000000 has been specified.
Now we treat first CPE(back) as CPE(side) on channel mapping.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-06-07 10:14:45 +02:00
Luca Barbato
252d6200c3 avio: Add avio_put_str16be 2015-06-07 10:14:45 +02:00
Luca Barbato
9b56ac74b1 mpjpeg: Initial implementation
Support only streams with Content-Length.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-06-07 10:14:45 +02:00
James Almer
e225f5f232 fate: add missing avdevice dependency to closed caption test
Signed-off-by: James Almer <jamrial@gmail.com>
2015-06-07 01:24:50 -03:00
Philip Langdale
cc904353fa avcodec/allcodecs: Re-order nvenc encoders below x264/5.
We shouldn't pick nvenc by default.

Signed-off-by: Philip Langdale <philipl@overt.org>
2015-06-06 20:29:17 -07:00
Ganesh Ajjanagadde
42db4aaaa6 vf_colormatrix: calculate coefficients only once
calc_coefficients is no longer being called every frame

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-07 00:56:32 +02:00
Michael Niedermayer
46428ea332 avcodec/mpegvideo: Use av_memdup() for allocating thread_context
Also check for allocation failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-06 22:47:50 +02:00
Michael Niedermayer
7ddedd2362 avcodec/mpegvideo: Clear thread_context array before allocating
This is probably redundant but its safer

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-06 22:47:50 +02:00
Michael Niedermayer
f30a7d9861 avcodec/mpegvideo: Merge thread context initialization loops
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-06 22:47:50 +02:00
Philip Langdale
7e4661174a avcodec/nvenc: Add 'nvenc_h264' as an alternative name for 'nvenc'
This allows us to offer the same codec name that libav uses. We don't have
a special way to do aliases, so it's all a bit more verbose than you'd want
but such is life.

Signed-off-by: Philip Langdale <philipl@overt.org>
2015-06-06 13:14:14 -07:00
Philip Langdale
e79c40fe72 avcodec/nvenc: Rename nvenc_h265 to nvenc_hevc
For the sake of compatibility, and because pretty much everything else in the
codebase calls it HEVC.

Signed-off-by: Philip Langdale <philipl@overt.org>
2015-06-06 13:14:11 -07:00
Philip Langdale
c10e6bcb43 Revert "avcodec: Rename nvenc.c to nvenc_a.c, to avoid conflict with the other implementation"
This reverts commit d0d0913702.

Signed-off-by: Philip Langdale <philipl@overt.org>
2015-06-06 13:14:07 -07:00
Philip Langdale
d47de79372 Revert "Merge commit 'b08caa87c35a768ec0abb16b1e99c3a85f1df28e'"
This reverts commit d8bbb99c51, reversing
changes made to d0d0913702.

Signed-off-by: Philip Langdale <philipl@overt.org>
2015-06-06 13:14:02 -07:00
Philip Langdale
58b49f78cf Revert "nvenc: remove cuda.h requirement for nvenc_a"
This reverts commit f10497042f.

Signed-off-by: Philip Langdale <philipl@overt.org>
2015-06-06 13:13:59 -07:00
Philip Langdale
728c82a532 Revert "avcodec/Makefile: fix checkheaders for nvenc_b"
This reverts commit 3be811a528.

Signed-off-by: Philip Langdale <philipl@overt.org>
2015-06-06 13:13:56 -07:00
Philip Langdale
8a6536cbc0 Revert "Changelog: Drop duplicate NVENC entry"
This reverts commit 440fa7758b.

Signed-off-by: Philip Langdale <philipl@overt.org>
2015-06-06 13:13:49 -07:00
Michael Niedermayer
7944b0ce94 avutil/colorspace: Remove RGB_TO_Y/U/V
They are unused and colorspace.h is not a installed header

Found-by: Timo Rothenpieler <timo@rothenpieler.org>
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-06 18:21:01 +02:00
Paul B Mahol
a03b69478b avcodec/exr: fix crash caused by merge
Various header informations need to be reset when decoding next frame.
Regression since: 95582b5c

Fixes ticket #4597.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-06-06 16:02:19 +00:00
James Almer
1b4dd59e5f configure: improve the checks for gmtime_r and localtime_r
They are inlined wrapper functions inside the time.h header on MinGW-w64, so
neither check_func() or check_func_headers() work with them.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-06-06 12:07:53 -03:00
Michael Niedermayer
440fa7758b Changelog: Drop duplicate NVENC entry
Found-by: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-06 14:21:04 +02:00
Clément Bœsch
272f87fc5c avdevice/x11grab: use av_clip() instead of nested min & max
Note: [xy]_off and screen_[wh] variables are int, as well as
X11GrabContext.{width,height,x_off,y_off}.
2015-06-06 13:18:29 +02:00
Clément Bœsch
533c37db8d avcodec/snowenc: use av_clip() instead of nested min & max
Note: AVCodecContext.refs is an int field.
2015-06-06 13:18:28 +02:00
Clément Bœsch
622ef80e3f avcodec/mpegvideo: use av_clip() instead of nested min & max
Note: MpegEncContext.mb_{y,height} are int fields, as well as local off
variable.
2015-06-06 13:18:28 +02:00
Clément Bœsch
0f6118c581 ffplay: use av_clip() instead of nested min & max
Note: {wanted,min,max}_samples are int variables.
2015-06-06 13:18:28 +02:00
Ronald S. Bultje
ade5684cda hevc: fix typo (mpv -> mvp).
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-06 12:57:20 +02:00
Michael Niedermayer
7897ed0d3c Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavf/http: Add simple autodetection for client HTTP method, based on AVIO_FLAG_READ.
  lavf/http: Indent else-clause.
  lavf/http: Properly process HTTP header on listen.
  lavf/http: Rudimentary error handling for HTTP requests received from clients.
  lavf/http: Process HTTP header before sending response.
  lavf/http: Document method option.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-06 12:34:05 +02:00
Clément Bœsch
c5a08956a3 swresample: fix initilaize/initialize typo 2015-06-06 12:16:18 +02:00
Clément Bœsch
be1862ffb0 doc/filters: fix inaccuarte/inaccurate typo 2015-06-06 12:14:42 +02:00
Stephan Holljes
44d1921200 lavf/http: Add simple autodetection for client HTTP method, based on AVIO_FLAG_READ.
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
2015-06-06 09:24:50 +02:00
Stephan Holljes
290b237556 lavf/http: Indent else-clause.
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
2015-06-06 09:24:50 +02:00
Stephan Holljes
a7e7c68b0e lavf/http: Properly process HTTP header on listen.
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
2015-06-06 09:24:50 +02:00
Stephan Holljes
8cfaa76a5e lavf/http: Rudimentary error handling for HTTP requests received from clients.
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
2015-06-06 09:24:43 +02:00
Stephan Holljes
bbcee92b6d lavf/http: Process HTTP header before sending response.
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
2015-06-06 09:13:42 +02:00
Stephan Holljes
aa74401af8 lavf/http: Document method option.
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
2015-06-06 09:13:41 +02:00
Michael Niedermayer
f07376402c avformat/mxfenc: Add mxf muxer avclass
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-06 02:39:01 +02:00
Michael Niedermayer
802cca5905 avcodec/s302m: Only set the sample rate when some data is output
This way ffplay chooses the mp2 stream for Ticket3890

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-06 01:12:06 +02:00
Michael Niedermayer
42c41e96ff avformat/utils: Do not select audio streams with unknown sample rate in av_find_best_stream()
Together with the next commit this prevents non-PCM S302M from being selected unless either
it can be decoded or the user selects passthrough/copy

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-06 01:02:43 +02:00
Michael Niedermayer
51080dfa08 avcodec/s302m: Check for non PCM Streams
Allow the user to choose what to do with the non PCM data through AVOptions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-06 00:54:51 +02:00
Ganesh Ajjanagadde
a86928d2ab flvdec: fix lack of duration for some files
Fixes #4579

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-05 21:56:09 +02:00
Michael Niedermayer
108b738db1 avformat/flvdec: Show unknown tags at debug level
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-05 21:56:09 +02:00
Michael Niedermayer
790a3cdf76 avformat/flvdec: Add TYPE_ONCAPTIONINFO
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-05 21:56:09 +02:00
Michael Niedermayer
b2fecce3c1 avformat/flvdec: increase buffer size for parsing metadata string key
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-05 21:55:45 +02:00
Michael Niedermayer
6fd15d6e90 Revert addition of a few fixed_dsp functions to APIChanges
The header is not installed currently so the changes should not be in APIChanges

Found-by: Ronald S. Bultje and others
This reverts part of commit 19ed3e35a5.
2015-06-05 20:21:48 +02:00
Michael Niedermayer
06b49375a2 avutil/ppc/cpu: add include avassert.h
fix build failure on ppc64

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-05 19:12:58 +02:00
Michael Niedermayer
af8d63e756 avutil/softfloat: Fix alternative implementation of av_normalize1_sf()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-05 17:40:16 +02:00
Michael Niedermayer
6690ca22b3 avutil/softfloat: Fix alternative implementation of av_normalize_sf()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-05 17:40:16 +02:00
Andreas Cadhalpun
5bf84a584e arm: only enable setend on ARMv6
Without this check it causes SIGILL crashes on ARMv5.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-06-05 17:14:10 +02:00
Michael Niedermayer
d3585c53de avutil/softfloat: Move av_sincos_sf() from header to c file
The function is quite big and trigonometric functions should not really
be used in speed critical code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-05 13:42:05 +02:00
Nedeljko Babic
19ed3e35a5 libavutil/doc: Changes in documentation due to changes to fixed_dsp
New functions are added to fixed_dsp, so the documentation is changed
accordingly.

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-05 13:42:05 +02:00
Michael Niedermayer
904ea60afa avutil/softfloat: Add more tests for the normalization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-05 12:57:06 +02:00
Michael Niedermayer
c7ce16e716 avutil/softfloat: Fix thresholds in av_normalize_sf()
Found-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-05 12:56:12 +02:00
Michael Niedermayer
c93602ae5b avcodec/rdft: Use more specific error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-05 04:05:57 +02:00
Vignesh Venkatasubramanian
7be0f48a32 lavf/matroskaenc: Write Block Keyframe correctly
Per matroska Block Structure [1], for keyframes 0th bit of the flag
should not be set (unlike SimpleBlocks). For Blocks, keyframes is
inferred by the absence of ReferenceBlock element (as done by
matroskadec). This CL writes the flag correctly and inserts the
ReferenceBlock element for non-keyframes. The timestamp inserted is
that of the immediately preceding frame (which is true for VP8 and VP9
- the only 2 codecs using the matroska block element as of now). It
also considers all non-video frames (audio, subtitles, metadata) to
be keyframes.

[1] http://www.matroska.org/technical/specs/index.html#block_structure

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-05 02:48:04 +02:00
Michael Niedermayer
c94d9079b1 avcodec/utils: Assert that audio decoders do not report using more data than was input
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-04 23:10:56 +02:00
Michael Niedermayer
c265763318 avcodec/alsdec: Check for overread
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-04 23:10:56 +02:00
Michael Niedermayer
6b6ae7c3ea avcodec/atrac3plusdec: consume only as many bytes as available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-04 23:10:56 +02:00
Michael Niedermayer
3c803ed9cb avcodec/adpcm: Check for overreads
See: vlc ticket 14649
Reported-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-04 22:37:01 +02:00
Shivraj Patil
a34d902325 avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC idct functions
This patch adds MSA (MIPS-SIMD-Arch) optimizations for HEVC idct functions in new file hevc_idct_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-04 18:39:53 +02:00
Nedeljko Babic
7131aba916 libavutil/softfloat: Fix av_normalize1_sf bias.
av_normalize1_sf doesn't properly address border case when mantis is
exactly -0x40000000.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-04 17:20:03 +02:00
Juanjo
a213e57cef lavf/riffenc: Set correct block align for mp2.
Rounding by Michael.

Fixes ticket #4565.
2015-06-04 17:03:34 +02:00
Carl Eugen Hoyos
3b4e694ead lavfi/tinterlace: Double aspect ratio for modes merge and pad. 2015-06-04 17:03:29 +02:00
Michael Niedermayer
b14361486b swresample/resample: fix typos
Found-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-04 13:04:09 +02:00
Michael Niedermayer
e0fd319784 avcodec/proresenc_anatoliy: Use more specific error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-04 12:49:59 +02:00
Michael Niedermayer
4cb7cd4c84 avcodec/snow: replace unspecific error code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-04 12:39:28 +02:00
Michael Niedermayer
c3f87f7545 swresample/swresample: Cleanup on init failure.
This avoids leaks if the user doest call swr_close() after a failed init

Found-by: James Almer <jamrial@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-04 12:35:04 +02:00
Michael Niedermayer
cc17b43d8d swresample: Add swr_get_out_samples()
Previous version reviewed-by: Pavel Koshevoy <pkoshevoy@gmail.com>
Previous version reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-04 05:37:32 +02:00
James Almer
da7c8fd917 fate: add missing lavfi indev dependency to closed caption test
Signed-off-by: James Almer <jamrial@gmail.com>
2015-06-03 23:35:00 -03:00
Michael Niedermayer
52acd22a7d libswresample/rematrix: Check for malloc errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-04 02:36:30 +02:00
Anshul Maheshwari
e91debf8f9 fate: Add Closed caption test
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 23:29:13 +02:00
Nedeljko Babic
1a06d0935f libavutil: Add new fixed dsp functions.
Add functions needed for implementation of fixed point aac dec.

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 22:50:53 +02:00
Michael Niedermayer
3e34b7498f Revert "avformat/rtpenc: check av_packet_get_side_data() return, fix null ptr dereference"
This was simply wrong

Found-by: Martin Storsjö
This reverts commit 5d8e4f6da0.
2015-06-03 22:39:27 +02:00
Shivraj Patil
aef34ab950 avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC uni mc epel functions
This patch adds MSA (MIPS-SIMD-Arch) optimizations for HEVC uni mc epel functions.
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-03 21:30:21 +02:00
Shivraj Patil
c96c73b0b0 avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC mc epel functions
This patch adds MSA (MIPS-SIMD-Arch) optimizations for HEVC mc epel functions.

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 21:30:21 +02:00
Shivraj Patil
88188f55a2 avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC biw mc functions
This patch adds MSA (MIPS-SIMD-Arch) optimizations for HEVC biw mc functions (qpel as well as epel) in new file hevc_mc_biw_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-03 21:01:59 +02:00
Michael Niedermayer
1200289687 Merge commit '0289f81241e720452b5a77713488d54d3ec252d7'
* commit '0289f81241e720452b5a77713488d54d3ec252d7':
  aac: Correctly map multichannel ADTS AAC with non-zero channel_config + PCE

Conflicts:
	libavcodec/aacdec.c

Sample: 5.1ch_PCE_issue.aac
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 19:23:34 +02:00
Michael Niedermayer
6034b4bb88 Merge commit '7f596368a404363d72b1be6d16c51420a71bc523'
* commit '7f596368a404363d72b1be6d16c51420a71bc523':
  bink: Factorize bink put_pixel

Conflicts:
	libavcodec/bink.c

See: b3675f890a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 19:07:12 +02:00
Michael Niedermayer
ee08beb7d9 Merge commit 'e97446e600578392549ef6d0191f2020dae7f8bf'
* commit 'e97446e600578392549ef6d0191f2020dae7f8bf':
  configure: Check for DXVA2_ConfigPictureDecode instead of LPDIRECT3DSURFACE9

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 18:52:05 +02:00
Michael Niedermayer
5116381511 Merge commit 'b9875b497a38f494acb599083b0d004545958697'
* commit 'b9875b497a38f494acb599083b0d004545958697':
  configure: Remove unnecessary tests for d3d11va

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 18:41:02 +02:00
Michael Niedermayer
c08a64bb2b Merge commit '76eb0950b8d82b1e9617b9c854f091e13bb23131'
* commit '76eb0950b8d82b1e9617b9c854f091e13bb23131':
  configure: Don't run "export $e" for an empty string

Conflicts:
	configure

See: d5db4a7c23
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 18:26:17 +02:00
Michael Niedermayer
cdc0087969 avutil/ppc/cpu: Our code assumes vsx implies altivec, thus assert this
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 18:23:59 +02:00
Michael Niedermayer
9614df4b15 avformat/mov: Retry same packet on IO failure to avoid loosing a packet
Based on patch by: Zhang Rui <bbcallen@gmail.com>
Reviewed-by: Zhang Rui <bbcallen@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 17:37:09 +02:00
Stefano Sabatini
771537edcf ffmpeg_dxva2: call GetDesktopWindow() in place of GetShellWindow()
This fixes compilation with latest MinGW, it does not seem to affect
MSYS2/MinGW-64.
2015-06-03 16:25:08 +02:00
nu774
0289f81241 aac: Correctly map multichannel ADTS AAC with non-zero channel_config + PCE
The decoder assigns channels using default channel configuration
for 5.1ch when it parses an ADTS frame header using consecutive
channel ids.

When a PCE comes, it reassigns channels using PCE configuration
using directly the ids provided. They can be arbitrary.

Always use consecutive channel ids to avoid decoding glitches due
spurious reconfigurations due the channel ids mismatch between the
two otherwise-identical channel maps.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-06-03 14:40:10 +02:00
Paul B Mahol
b8c0cf7880 avfilter/vf_blend: add linearlight and glow mode
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-06-03 12:40:09 +00:00
Luca Barbato
7f596368a4 bink: Factorize bink put_pixel
And make sure to check INTER_BLOCK as had been fixed by Michael
Niedermayer.

Reported-By: Andreas Cadhalpun
CC: libav-stable@libav.org
2015-06-03 14:39:03 +02:00
Martin Storsjö
e97446e600 configure: Check for DXVA2_ConfigPictureDecode instead of LPDIRECT3DSURFACE9
Checking this struct is a bit more natural for this dependency.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-03 15:29:54 +03:00
Martin Storsjö
b9875b497a configure: Remove unnecessary tests for d3d11va
These are only necessary once/if avconv gets support for this hwaccel.
While that obviously is desireable, we don't have it yet, and they
currently only are a distraction.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-03 15:28:25 +03:00
Martin Storsjö
76eb0950b8 configure: Don't run "export $e" for an empty string
This fixes the side effect of printing the whole environment,
if no --env parameter was provided.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-03 15:27:42 +03:00
Shivraj Patil
ce1761db19 avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC uniw mc functions
This patch adds MSA (MIPS-SIMD-Arch) optimizations for HEVC uniw mc functions (qpel as well as epel) in new file hevc_mc_uniw_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-03 13:46:47 +02:00
Michael Niedermayer
d7a762553c avformat/mxfenc: Accept MXF D-10 with 49.999840 Mbit/sec
This is the maximum rate possible based on the frame size limit of MXF D-10

Previous version reviewed by tim nicholson <nichot20@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 12:12:34 +02:00
Ganesh Ajjanagadde
196b885a5f swresample/dither: check memory allocation
check memory allocation in swri_get_dither()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 11:46:37 +02:00
Donny Yang
7495e728f5 avcodec/apng: Remove blending support for AV_PIX_FMT_ARGB
ARGB is not a supported PNG pixel format

Signed-off-by: Donny Yang <work@kota.moe>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 01:42:57 +02:00
Michael Niedermayer
02915602d9 swresample: Check the return value of resampler->init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 01:05:19 +02:00
Michael Niedermayer
21e40f006a Merge commit '876d441fbe37c3ffc57ada9ce1f9ea841ca4c9de'
* commit '876d441fbe37c3ffc57ada9ce1f9ea841ca4c9de':
  configure: don't enable tls protocols if network is disabled

Conflicts:
	configure

See: 7fc6545d5d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-02 22:50:19 +02:00
Andreas Cadhalpun
12a83bc0aa libopenjpegdec: register logging callback functions
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-06-02 22:43:58 +02:00
Andreas Cadhalpun
cb658d17b6 libopenjpegenc: use variable instead of type for sizeof
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-06-02 22:41:51 +02:00
Andreas Cadhalpun
1577526b47 libopenjpegenc: add NULL check for img before accessing it
If opj_image_create fails to allocate an image it returns NULL, which
causes a segmentation fault at 'img->x0 = 0'.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-06-02 22:40:58 +02:00
Michael Niedermayer
b0af4043b9 configure: Remove now redundant vsx setting code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-02 22:14:41 +02:00
James Almer
876d441fbe configure: don't enable tls protocols if network is disabled
This was a regression introduced with d8ffb2055f.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-02 22:48:50 +03:00
Paul B Mahol
3e04746ec3 avfilter/vf_blend: add hardmix mode
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-06-02 19:12:45 +00:00
Paul B Mahol
20cea0c7de avfilter/vf_blend: fix vividlight blend mode
Pointed-out-by: Rudolf Polzer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-06-02 18:55:24 +00:00
Paul B Mahol
ac973926b8 avfilter/vf_blend: clip result for divide blend mode
Pointed-out-by: Rudolf Polzer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-06-02 18:48:32 +00:00
Michael Niedermayer
d5db4a7c23 configure: Do not dump the whole environment to stdout
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-02 19:53:17 +02:00
Michael Niedermayer
2a33972030 Merge commit 'fd11465b21ac90bf6964b0c0ca9d6ba64cd3291d'
* commit 'fd11465b21ac90bf6964b0c0ca9d6ba64cd3291d':
  configure: Use pkg-config for fdk-aac

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-02 19:31:22 +02:00
Michael Niedermayer
f939bf58b2 Merge commit '604abd025dac4cc73a2f6b0c000c3695c16fb000'
* commit '604abd025dac4cc73a2f6b0c000c3695c16fb000':
  configure: Provide an option to override the environment

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-02 19:03:02 +02:00
Michael Niedermayer
cec3456254 Merge commit '06db45523c1068c24f049ef2b20fcdead3bf36d8'
* commit '06db45523c1068c24f049ef2b20fcdead3bf36d8':
  configure: Support the extended pkgconf syntax

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-02 18:54:57 +02:00
Michael Niedermayer
ce4e57dbb5 avformat/sbgdec: Check alloc_array_elem() return value
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-02 16:42:33 +02:00
Michael Niedermayer
fccde16afa avcodec/flacenc: Simplify sizeof()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-02 15:41:44 +02:00
Michael Niedermayer
b70582e92f avcodec/proresenc_anatoliy: Check av_frame_alloc() return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-02 15:18:23 +02:00
Michael Niedermayer
ea9daefe93 compat/os2threads: Check av_malloc() return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-02 15:16:45 +02:00
Michael Niedermayer
cea3c9b281 ffserver: check return code of avio_alloc_context()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-02 14:45:08 +02:00
Michael Niedermayer
e43f3c8858 avformat/mxfdec: return error instead of segfaulting if there are no streams
Fixes segfault from ticket 4350

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-02 13:45:47 +02:00
周晓勇
bb1f153a88 avcodec: loongson3 optimized h264chroma put and avg with mmi
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-02 13:40:16 +02:00
Luca Barbato
fd11465b21 configure: Use pkg-config for fdk-aac
Makes the life of the people already setting PKG_CONFIG_PATH simpler.
2015-06-02 10:33:32 +02:00
Luca Barbato
604abd025d configure: Provide an option to override the environment
Useful to have `make config` work with custom pkgconf path.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-06-02 10:33:11 +02:00
Luca Barbato
06db45523c configure: Support the extended pkgconf syntax
Make possible to require a combination of
packages and/or pin specific versions.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-06-02 10:33:11 +02:00
Shivraj Patil
aede1a1a60 avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC bi mc functions
This patch adds MSA (MIPS-SIMD-Arch) optimizations for HEVC bi mc functions (qpel as well as epel) in new file hevc_mc_bi_msa.c
Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h
Adds HEVC specific macros (needed for this patch) in libavcodec/mips/hevc_macros_msa.h

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-02 01:54:51 +02:00
Michael Niedermayer
da05c62499 Merge commit '8349bedfa5eac7f261ac43053a2f66b894bac288'
* commit '8349bedfa5eac7f261ac43053a2f66b894bac288':
  configure: Remove some unnecessary exported config items

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 23:08:33 +02:00
Michael Niedermayer
9ac3417c6b Merge commit 'ff7ae4b9df6e89d99dbd5434408123b80a4f6cd7'
* commit 'ff7ae4b9df6e89d99dbd5434408123b80a4f6cd7':
  configure: Require LPDIRECT3DSURFACE9 for dxva2

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 23:08:12 +02:00
Michael Niedermayer
14617e3a73 Merge commit '172b2cee17a3779c114ba065dd7b25dcf61e408f'
* commit '172b2cee17a3779c114ba065dd7b25dcf61e408f':
  dxva2: Add ifdefs around structs that might not be available

Conflicts:
	libavcodec/dxva2.c

See: 94d07b314a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 23:06:32 +02:00
James Almer
7fc6545d5d configure: don't enable any tls protocol if network is disabled
This was a regression introduced with 4a006b9eb7.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-06-01 17:49:21 -03:00
Michael Niedermayer
89fa32e5b4 avcodec/snowenc: avoid floats in the rangecoder initialization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 22:30:30 +02:00
Martin Storsjö
8349bedfa5 configure: Remove some unnecessary exported config items
The only need to be listed if they are to be used in ifdefs from
within the code - config items used as dependencies only within
configure don't need to be exported.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-01 23:04:52 +03:00
Martin Storsjö
ff7ae4b9df configure: Require LPDIRECT3DSURFACE9 for dxva2
This fixes dxva2 detection (i.e. correctly realizes that it isn't
available) for WinRT, where dxva2api.h does exist, but these definitions
are omitted (when targeting the API subsets).

Ideally we should rather check for e.g. DXVA2_ConfigPictureDecode,
but configure might fail to find that definition due to _WIN32_WINNT
not being set to the right value during configure. (libavcodec/dxva2.h
manually overrides the _WIN32_WINNT define.)

This allows removing hardcoded --disable-dxva2 from such build
configurations.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-01 23:04:49 +03:00
Martin Storsjö
172b2cee17 dxva2: Add ifdefs around structs that might not be available
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-01 23:04:46 +03:00
Michael Niedermayer
f805d7be4c avcodec/rangecoder: avoid float operation
Use integers, avoid potential rounding issues

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 21:49:14 +02:00
James Almer
3be811a528 avcodec/Makefile: fix checkheaders for nvenc_b
Signed-off-by: James Almer <jamrial@gmail.com>
2015-06-01 13:57:50 -03:00
Stefano Sabatini
56fe1bb9b3 doc/formats.texi: document max_interlave_delta muxing option
The option was added in commit d9ae1031f5
but it was never documented. The text is based on the one written by the
commit author for the corresponding AVFormatContext.max_interleave_delta
field.
2015-06-01 18:34:40 +02:00
Michael Niedermayer
627dd7fe7e avformat/movenc: Fix potential signed overflows
Fixes CID1302838

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 17:54:58 +02:00
Ronald S. Bultje
138581c41a vp9: clamp final zero MV if find_ref_mvs() found no suitable candidates.
This may actually result in a non-zero MV. Fixes ticket 4583.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 17:23:34 +02:00
Michael Niedermayer
deed77ffee Merge commit '28fa58cf5d939151108345d7ddddebbd51d9b684'
* commit '28fa58cf5d939151108345d7ddddebbd51d9b684':
  dxva2: Fix build when only D3D11 or DXVA2 is used

Conflicts:
	libavcodec/dxva2_internal.h

See: 94d07b314a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 17:13:22 +02:00
Michael Niedermayer
3f36607ef0 Merge commit '31de41babcd96f8ac2e6632454737aecb3710df7'
* commit '31de41babcd96f8ac2e6632454737aecb3710df7':
  configure: Check if ID3D11VideoDecoder exists, not just the header to enable d3d11va

Conflicts:
	configure

See: a838b22bd9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 17:09:57 +02:00
Michael Niedermayer
df19c17ffb Merge commit '08d006f5a8ae0faef76d3dccea699c3af3db5b63'
* commit '08d006f5a8ae0faef76d3dccea699c3af3db5b63':
  h264: Fix HWACCEL_MAX for D3D11

See: 1b236541a6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 17:01:35 +02:00
Michael Niedermayer
9cedb88f46 Merge commit '674b79148ff29f40cbd569f5585bf99c71204bf5'
* commit '674b79148ff29f40cbd569f5585bf99c71204bf5':
  hevc: Fix HWACCEL_MAX for D3D11

See: 688147cfe2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 17:00:56 +02:00
Michael Niedermayer
030c20ffcf avutil/float_dsp: Fix ambiguous wording about vector products
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 16:22:27 +02:00
Michael Niedermayer
2e92a27a90 avformat/mxfenc: Correct klv_fill_key
See SMPTE 377-1-2009 6.3.3 KLV Fill Items

Reviewed-by: tim nicholson <nichot20@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 15:31:04 +02:00
Michael Niedermayer
589d39c768 Merge commit '63ce9fd23cfa5ac0d9a862be0da138108dc1c505'
* commit '63ce9fd23cfa5ac0d9a862be0da138108dc1c505':
  rtmpdh: Use GMP functions directly, instead of nettle wrappers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 11:29:05 +02:00
Michael Niedermayer
8939667b70 Merge commit '84c5ff911f3f0557c8f97a964f74ceb01dd6d214'
* commit '84c5ff911f3f0557c8f97a964f74ceb01dd6d214':
  rtmpdh: Fix the indentation in a struct

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 11:28:01 +02:00
Steve Lhomme
28fa58cf5d dxva2: Fix build when only D3D11 or DXVA2 is used
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-01 12:04:57 +03:00
Steve Lhomme
31de41babc configure: Check if ID3D11VideoDecoder exists, not just the header to enable d3d11va
Fixes build with some mingw-w64 versions, that have got the header
but not the interface declaration.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-01 12:04:46 +03:00
Michael Niedermayer
08d006f5a8 h264: Fix HWACCEL_MAX for D3D11
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-01 11:36:30 +03:00
Michael Niedermayer
674b79148f hevc: Fix HWACCEL_MAX for D3D11
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-01 11:36:22 +03:00
Martin Storsjö
63ce9fd23c rtmpdh: Use GMP functions directly, instead of nettle wrappers
mpz_import and mpz_export were added in GMP 4.1, in 2002.

This simplifies the DH code by clarifying that it only uses pure
bignum functions, no other parts of nettle/hogweed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-01 10:38:54 +03:00
Martin Storsjö
84c5ff911f rtmpdh: Fix the indentation in a struct
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-01 10:38:54 +03:00
James Almer
f10497042f nvenc: remove cuda.h requirement for nvenc_a
Reviewed-by: Philip Langdale <philipl@overt.org>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-06-01 01:33:47 -03:00
Michael Niedermayer
a1957a4dc1 avcodec/ppc/pixblockdsp: Fix type of get_pixels_vsx()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 04:39:56 +02:00
Michael Niedermayer
9806cca1eb avutil/ppc/cpu: Remove !ARCH_PPC64 check for mfspr, the code should now support ppc64
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 04:31:38 +02:00
Michael Niedermayer
1e0c34fe71 avformat/utils: Simplify get_std_framerate() check
This also avoids using a floating point operation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 04:31:37 +02:00
Michael Niedermayer
d8bbb99c51 Merge commit 'b08caa87c35a768ec0abb16b1e99c3a85f1df28e'
* commit 'b08caa87c35a768ec0abb16b1e99c3a85f1df28e':
  nvenc: H264 and HEVC encoders

Conflicts:
	Changelog
	configure
	libavcodec/Makefile
	libavcodec/version.h

This implementation is merged under the name nvenc_b*

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 03:13:55 +02:00
Michael Niedermayer
d0d0913702 avcodec: Rename nvenc.c to nvenc_a.c, to avoid conflict with the other implementation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 02:57:51 +02:00
Michael Niedermayer
211dcdca5c Merge commit '522d971c7f5921bebcea2fc50e67056afdabb951'
* commit '522d971c7f5921bebcea2fc50e67056afdabb951':
  xsub: Check memory allocation

Conflicts:
	libavcodec/xsubdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 02:46:56 +02:00
Michael Niedermayer
1dc58965fd Merge commit '83797da6e36c1aadd85f41ca237dce823fc7bfa1'
* commit '83797da6e36c1aadd85f41ca237dce823fc7bfa1':
  wma: Check memory allocation

See: 8559a71415
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 02:43:45 +02:00
Michael Niedermayer
07f606b4f0 Merge commit 'e1ea365f7e1477c78865b866a180712174536c20'
* commit 'e1ea365f7e1477c78865b866a180712174536c20':
  truemotion2: Check memory allocation

Conflicts:
	libavcodec/truemotion2.c

See: d49f2603be
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 02:42:29 +02:00
Michael Niedermayer
f24b7d7616 Merge commit '28fb80dcbf6f63eedfcfffc725a6bf0069d03fab'
* commit '28fb80dcbf6f63eedfcfffc725a6bf0069d03fab':
  svq1: Check memory allocation

Conflicts:
	libavcodec/svq1enc.c

See: 2a3af77284
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 02:38:06 +02:00
Michael Niedermayer
abee1972ef Merge commit '42df71d9bbb1a5b4bce0bb34417692565c72d390'
* commit '42df71d9bbb1a5b4bce0bb34417692565c72d390':
  ratecontrol: Check memory allocation

Conflicts:
	libavcodec/ratecontrol.c

See: 0898a6d4e4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 02:27:26 +02:00
Michael Niedermayer
6ed8341cb1 Merge commit '0994e142132200c706f704271b5a7ae81d128f5c'
* commit '0994e142132200c706f704271b5a7ae81d128f5c':
  pthread: Check memory allocation

Conflicts:
	libavcodec/pthread_frame.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 02:25:04 +02:00
Michael Niedermayer
615e73ab4f Merge commit '03927cb73399e6f07185fc7f8851d7612b4187b6'
* commit '03927cb73399e6f07185fc7f8851d7612b4187b6':
  psymodel: Check memory allocation

Conflicts:
	libavcodec/psymodel.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 02:23:32 +02:00
Michael Niedermayer
1a903f0d1e Merge commit 'fef2f4722bcbfe1c3802898b0f5deb6356132c91'
* commit 'fef2f4722bcbfe1c3802898b0f5deb6356132c91':
  xvid: Check memory allocation

See: 5c95de150f and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 02:12:58 +02:00
Michael Niedermayer
8b94cee99b Merge commit '9fb483fede7207c1f3965e5ae1ac0ee82e4d7a4e'
* commit '9fb483fede7207c1f3965e5ae1ac0ee82e4d7a4e':
  x264: Check memory allocation

See: 066dc04373 and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 02:11:48 +02:00
Michael Niedermayer
fb7b5dc0e6 Merge commit '41658bc88553dab8499e4dfca311559dcbae2674'
* commit '41658bc88553dab8499e4dfca311559dcbae2674':
  libtheora: Check memory allocation

Conflicts:
	libavcodec/libtheoraenc.c

See: 67d4d5f5db
See: 27216bf314
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 02:10:47 +02:00
Michael Niedermayer
3377f6fd15 Merge commit '8df5fbf0b0c0ba12b033e61c28fc240f4bccba47'
* commit '8df5fbf0b0c0ba12b033e61c28fc240f4bccba47':
  lcl: Check memory allocation

Conflicts:
	libavcodec/lclenc.c

See: 6dbcecd78e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 02:00:29 +02:00
Michael Niedermayer
513673a84d Merge commit '7ca603f96f93d988e01d161d611f69a4ecaa3f02'
* commit '7ca603f96f93d988e01d161d611f69a4ecaa3f02':
  jpegls: Check memory allocation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 01:58:44 +02:00
Michael Niedermayer
73e150fff7 Merge commit '7d2a6826912b629f17f3b0c5268e334fa123c4c9'
* commit '7d2a6826912b629f17f3b0c5268e334fa123c4c9':
  huffyuv: Check memory allocation

See: 4a722a5cab
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 01:57:29 +02:00
Michael Niedermayer
10531d48a0 Merge commit '7fccc96dc3c0bb2fa2079cbf4e4cf1aff2db46c8'
* commit '7fccc96dc3c0bb2fa2079cbf4e4cf1aff2db46c8':
  eatgv: Check memory allocation

Conflicts:
	libavcodec/eatgv.c

See: a5615b82eb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 01:45:39 +02:00
Michael Niedermayer
3a8b16f78e Merge commit '69277069dd225f5ae02f0215e877a06522d834d3'
* commit '69277069dd225f5ae02f0215e877a06522d834d3':
  dct: Check memory allocation

Conflicts:
	libavcodec/dct.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 01:42:13 +02:00
Michael Niedermayer
7110b024a9 Merge commit 'e524f37356156893cae50fc46451bd4a6198703d'
* commit 'e524f37356156893cae50fc46451bd4a6198703d':
  asv: Check memory allocation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 01:41:21 +02:00
Michael Niedermayer
e7a65142b9 avcodec/aacpsy: Clear the correct pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 01:32:24 +02:00
Michael Niedermayer
63fdedc794 Merge commit '074a1b37325bf6d1483fc23ebf1255e78d998339'
* commit '074a1b37325bf6d1483fc23ebf1255e78d998339':
  aacpsy: Check memory allocation

Conflicts:
	libavcodec/aacpsy.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 01:32:12 +02:00
Michael Niedermayer
0f69f02eb7 Merge commit '149fa0b7ac180fe1df48a2e379c560813555bf57'
* commit '149fa0b7ac180fe1df48a2e379c560813555bf57':
  mpegvideo: Move MotionEstContext and function declarations to a separate header

Conflicts:
	libavcodec/mpegvideo.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 01:30:01 +02:00
Michael Niedermayer
0aba7192e1 Merge commit 'b2b766914a49c4e3537df3a585e97b98d432edd2'
* commit 'b2b766914a49c4e3537df3a585e97b98d432edd2':
  mpegvideo: mpeg12: Move function declarations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 01:27:02 +02:00
Michael Niedermayer
fd116b8dfa Merge commit '378a00087fdadcc9b34165c05cd10a1a15f3fe61'
* commit '378a00087fdadcc9b34165c05cd10a1a15f3fe61':
  mpegvideo: Move tables to a separate file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 01:26:36 +02:00
Michael Niedermayer
eb5a308d0e Merge commit '31a117a0e6d6eafdf997bfe0843f3e3d39cc0332'
* commit '31a117a0e6d6eafdf997bfe0843f3e3d39cc0332':
  mpegvideo: msmpeg4: Move function declarations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 01:17:26 +02:00
Michael Niedermayer
f5ee10c16a Merge commit '2f15846ad7ad57beb0bca99c624affa0facf284b'
* commit '2f15846ad7ad57beb0bca99c624affa0facf284b':
  mpegvideo: wmv2: Move function declarations

Conflicts:
	libavcodec/wmv2.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 01:09:38 +02:00
Michael Niedermayer
f9dcf1690c Merge commit '902a55f7161ffea10e13c1e7df14022e2ed90514'
* commit '902a55f7161ffea10e13c1e7df14022e2ed90514':
  dxva2_hevc: re-write reference frame handling

See: 902a55f716
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 01:08:37 +02:00
Michael Niedermayer
cdf6804056 Merge commit '35818b8aaf4d669ed0bbb05c3fd06e619f2db01a'
* commit '35818b8aaf4d669ed0bbb05c3fd06e619f2db01a':
  dxva2_hevc: fix 32x32 scaling lists

See: b7a0b303d9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 01:07:57 +02:00
Michael Niedermayer
9e1cdfb89b Merge commit '5c720657c23afd798ae0db7c7362eb859a89ab3d'
* commit '5c720657c23afd798ae0db7c7362eb859a89ab3d':
  mov: always check avio_read return value

Conflicts:
	libavformat/mov.c

See: b71528d896
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 00:59:44 +02:00
Michael Niedermayer
ebab902a1c Merge commit 'bff0349d9da527084e1433167466d8afc9e25c7f'
* commit 'bff0349d9da527084e1433167466d8afc9e25c7f':
  avio: Add avio_read wrapper to simplify error checking

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 00:43:50 +02:00
Michael Niedermayer
3bd43430f8 Merge commit 'cffb9ea81bd16d2ed8bce187b6bf0279c07b3b9b'
* commit 'cffb9ea81bd16d2ed8bce187b6bf0279c07b3b9b':
  mov: reject zero bytes_per_frame with non-zero samples_per_frame

See: 83a04f8cc1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 00:37:06 +02:00
Michael Niedermayer
2bedd17b64 Merge commit '8e9c39e81fe5ba34010a7ba05cbe4ae31f177d89'
* commit '8e9c39e81fe5ba34010a7ba05cbe4ae31f177d89':
  mov: abort on EOF in ff_mov_read_chan

See: a5718863da
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 00:36:20 +02:00
Michael Niedermayer
348319f543 Merge commit 'a8a90906fb0ad0f8d3c68a97f182528ee3b5198c'
* commit 'a8a90906fb0ad0f8d3c68a97f182528ee3b5198c':
  mov: Correctly allocate ctts_data

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 00:35:39 +02:00
Michael Niedermayer
c2876c0181 Merge commit 'f261a55d72753bcec33369954809732abae8f8f7'
* commit 'f261a55d72753bcec33369954809732abae8f8f7':
  mov: Fix two memleaks

See: 8e77f8ab4a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 00:26:52 +02:00
Michael Niedermayer
61e1287551 Merge commit '3f38d4b816b2aeca15c0b90000ea7ed40377eb0c'
* commit '3f38d4b816b2aeca15c0b90000ea7ed40377eb0c':
  vp9: Parse subsampling and report missing feature

Conflicts:
	libavcodec/vp9.c
	libavcodec/vp9.h

No change as FFmpeg already supports subsampling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 00:24:45 +02:00
Michael Niedermayer
b66b1a103f Merge commit 'd68c05380cebf563915412182643a8be04ef890b'
* commit 'd68c05380cebf563915412182643a8be04ef890b':
  x86: check for AV_CPU_FLAG_AVXSLOW where useful

See: c16e99e3b3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 00:22:47 +02:00
James Almer
c16e99e3b3 x86: check for AV_CPU_FLAG_AVXSLOW where useful
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 00:15:35 +02:00
Michael Niedermayer
16c430e8ef Merge commit 'cae39851201b7781f1262e1c23627b45e6e80bb4'
* commit 'cae39851201b7781f1262e1c23627b45e6e80bb4':
  x86: Add helper macros to check for slow cpuflags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 23:59:48 +02:00
Michael Niedermayer
c140227a8b Merge commit 'f7cafb5d02aa3f26c185f6f9851413ad77a73872'
* commit 'f7cafb5d02aa3f26c185f6f9851413ad77a73872':
  x86: add AV_CPU_FLAG_AVXSLOW flag

Conflicts:
	doc/APIchanges
	libavutil/version.h

See: c312bfac4c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 23:58:30 +02:00
Michael Niedermayer
1ff47770ca Merge commit 'd0bf20a4f25ac5de021c860a0c8ad05638ee2078'
* commit 'd0bf20a4f25ac5de021c860a0c8ad05638ee2078':
  ppc: vsx: Implement diff_pixels and get_pixels

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 23:55:32 +02:00
Michael Niedermayer
1046b6b093 avutil/ppc/float_dsp_init: Disable duplicate functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 23:42:46 +02:00
Michael Niedermayer
da9a6f4a2b Merge commit 'eecd29b3fd7fee221580798346d6582b75c7ade4'
* commit 'eecd29b3fd7fee221580798346d6582b75c7ade4':
  ppc: vsx: Implement float_dsp

Conflicts:
	libavutil/ppc/float_dsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 23:42:36 +02:00
Michael Niedermayer
1aff90504a configure: ldbrx seems not working on qemu power8, disable for now
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 23:12:57 +02:00
Michael Niedermayer
58a4204873 Merge commit '7d07ee5a9bd170a06d26fd967cf8de5d3b1ce331'
* commit '7d07ee5a9bd170a06d26fd967cf8de5d3b1ce331':
  ppc: cpu: Add support for VSX and POWER8 extensions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 22:47:50 +02:00
Michael Niedermayer
902ce2a6c4 Merge commit 'da60b99a8857d5ca236f32c1799a066e0135a866'
* commit 'da60b99a8857d5ca236f32c1799a066e0135a866':
  ppc: Restrict some Altivec implementations to Big Endian

Conflicts:
	libavcodec/ppc/huffyuvdsp_altivec.c
	libavcodec/ppc/me_cmp.c

Not merged, our PPC64LE fate clients passed all tests last time they did run

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 22:44:07 +02:00
Michael Niedermayer
3f21cdd85b Merge commit 'f22ebd2555d15b59e109a5b630dd71374b076d0b'
* commit 'f22ebd2555d15b59e109a5b630dd71374b076d0b':
  ppc: configure: Support ISA 2.06 and later

Conflicts:
	configure

See: ab12373956 and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 22:41:04 +02:00
Michael Niedermayer
8dcbfb73d5 Merge commit '3058872c293e239e3b51e86fe18cfbe720aadff1'
* commit '3058872c293e239e3b51e86fe18cfbe720aadff1':
  ppc: Clarify and extend the cpuid check

Conflicts:
	libavutil/ppc/cpu.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 22:14:39 +02:00
Michael Niedermayer
47cc1a2bf1 avutil/ppc/cpu: Check if unistd.h is available before including it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 22:11:40 +02:00
Michael Niedermayer
ff1995437f Merge commit 'baa94563fede8959a638b0fa132dd2124acd93e8'
* commit 'baa94563fede8959a638b0fa132dd2124acd93e8':
  ppc: linux: Check altivec using the auxv

Conflicts:
	libavutil/ppc/cpu.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 21:57:07 +02:00
Michael Niedermayer
08f229d81e Merge commit '7014b65995b1fe6188fb53447bf61b08e3963355'
* commit '7014b65995b1fe6188fb53447bf61b08e3963355':
  ppc: pixblockdsp: Use the abriged vector types

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 21:48:16 +02:00
Michael Niedermayer
e8676c758a Merge commit '72cebae0d981dde144340cf51f3c323f01e215e5'
* commit '72cebae0d981dde144340cf51f3c323f01e215e5':
  ppc: avutil: Use the abriged vector types

Conflicts:
	libavutil/ppc/float_dsp_altivec.c
	libavutil/ppc/util_altivec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 21:38:58 +02:00
Michael Niedermayer
876a663c66 Merge commit '254eb5b6faebb7bcfc3cefc1edced6652fe9d5be'
* commit '254eb5b6faebb7bcfc3cefc1edced6652fe9d5be':
  ppc: avutil: Drop a potentially dangerous workaround

See: 9564375dee
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 21:21:21 +02:00
Gilles Chanteperdrix
d61386a690 avformat/libquvi: fix error handling
avoid calling cleanup functions on uninitialized variables

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 19:04:52 +02:00
Luca Barbato
b08caa87c3 nvenc: H264 and HEVC encoders
Partially based on the work of Timo Rothenpieler <timo@rothenpieler.org>

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-31 15:17:22 +02:00
Vittorio Giovara
522d971c7f xsub: Check memory allocation 2015-05-31 15:03:31 +02:00
Vittorio Giovara
83797da6e3 wma: Check memory allocation 2015-05-31 15:03:31 +02:00
Vittorio Giovara
e1ea365f7e truemotion2: Check memory allocation 2015-05-31 15:03:31 +02:00
Vittorio Giovara
28fb80dcbf svq1: Check memory allocation 2015-05-31 15:03:31 +02:00
Vittorio Giovara
42df71d9bb ratecontrol: Check memory allocation 2015-05-31 15:03:31 +02:00
Vittorio Giovara
0994e14213 pthread: Check memory allocation 2015-05-31 15:03:31 +02:00
Vittorio Giovara
03927cb733 psymodel: Check memory allocation 2015-05-31 15:03:31 +02:00
Vittorio Giovara
fef2f4722b xvid: Check memory allocation 2015-05-31 15:03:31 +02:00
Vittorio Giovara
9fb483fede x264: Check memory allocation 2015-05-31 15:03:31 +02:00
Vittorio Giovara
41658bc885 libtheora: Check memory allocation 2015-05-31 15:03:31 +02:00
Vittorio Giovara
8df5fbf0b0 lcl: Check memory allocation 2015-05-31 15:03:31 +02:00
Vittorio Giovara
7ca603f96f jpegls: Check memory allocation 2015-05-31 15:03:31 +02:00
Vittorio Giovara
7d2a682691 huffyuv: Check memory allocation 2015-05-31 15:03:31 +02:00
Vittorio Giovara
7fccc96dc3 eatgv: Check memory allocation 2015-05-31 15:03:31 +02:00
Vittorio Giovara
69277069dd dct: Check memory allocation 2015-05-31 15:03:30 +02:00
Vittorio Giovara
e524f37356 asv: Check memory allocation 2015-05-31 15:03:30 +02:00
Vittorio Giovara
074a1b3732 aacpsy: Check memory allocation 2015-05-31 15:03:30 +02:00
Peter Cordes
3ad3529b56 avfilter/vf_mpdecimate: add comment about 8x8 SAD
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 13:58:55 +02:00
Peter Cordes
6590acf0fd avfilter/vf_mpdecimate: support more pixel formats, including GBRP
Add some planar formats we can handle without distorting the meaning of
hi and lo.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 13:58:50 +02:00
Peter Cordes
50f112c915 avfilter/vf_mpdecimate: debug logging of threshold stats
It's often really helpful to know why a frame wasn't decimated (lo or
hi), and how much you exceeded the threshold by, if you're trying to
tweak the thresholds to get what you want.

mpdecimate already prints a line per input frame with -v debug, this
just makes it longer.

Signed-off-by: Peter Cordes <peter@cordes.ca>
2015-05-31 13:25:40 +02:00
Vittorio Giovara
149fa0b7ac mpegvideo: Move MotionEstContext and function declarations to a separate header 2015-05-31 13:06:19 +02:00
Vittorio Giovara
b2b766914a mpegvideo: mpeg12: Move function declarations 2015-05-31 13:06:19 +02:00
Vittorio Giovara
378a00087f mpegvideo: Move tables to a separate file 2015-05-31 13:06:19 +02:00
Vittorio Giovara
31a117a0e6 mpegvideo: msmpeg4: Move function declarations 2015-05-31 13:06:19 +02:00
Vittorio Giovara
2f15846ad7 mpegvideo: wmv2: Move function declarations 2015-05-31 13:06:19 +02:00
Hendrik Leppkes
902a55f716 dxva2_hevc: re-write reference frame handling
The old logic required an explicit clearing of the lists first and was
prone to overflow the DXVA2 struct in some circumstances.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-31 13:05:13 +02:00
Hendrik Leppkes
35818b8aaf dxva2_hevc: fix 32x32 scaling lists
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-31 13:05:13 +02:00
Andreas Cadhalpun
5c720657c2 mov: always check avio_read return value
If avio_read fails, the buffer can contain uninitialized data.

This fixes 'Conditional jump or move depends on uninitialised value(s)'
valgrind warnings, and addresses a few memleaks.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-31 13:05:13 +02:00
Vittorio Giovara
bff0349d9d avio: Add avio_read wrapper to simplify error checking
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-31 13:05:13 +02:00
Andreas Cadhalpun
cffb9ea81b mov: reject zero bytes_per_frame with non-zero samples_per_frame
In this case the mov demuxer can return a large number of empty packets.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-31 13:05:12 +02:00
Andreas Cadhalpun
8e9c39e81f mov: abort on EOF in ff_mov_read_chan
Otherwise the loop can take a lot of time if num_descr is very large.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-31 13:05:12 +02:00
Luca Barbato
a8a90906fb mov: Correctly allocate ctts_data
It can be reallocated.

CC: libav-stable@libav.org
2015-05-31 13:05:12 +02:00
Andreas Cadhalpun
f261a55d72 mov: Fix two memleaks
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>

CC: libav-stable@libav.org
2015-05-31 13:05:12 +02:00
Peter Cordes
fb1be6303d avfilter/vf_mpdecimate: pass the same AVClass context as use elsewhere to av_pixelutils_get_sad_fn()
Signed-off-by: Peter Cordes <peter@cordes.ca>
2015-05-31 12:55:23 +02:00
Vittorio Giovara
3f38d4b816 vp9: Parse subsampling and report missing feature 2015-05-31 12:19:19 +02:00
Clément Bœsch
b60c445965 tests: add some ASS/SSA/MKS remux and transcode tests 2015-05-31 12:10:59 +02:00
James Almer
d68c05380c x86: check for AV_CPU_FLAG_AVXSLOW where useful
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-31 12:07:11 +02:00
James Almer
cae3985120 x86: Add helper macros to check for slow cpuflags
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-31 12:07:11 +02:00
James Almer
f7cafb5d02 x86: add AV_CPU_FLAG_AVXSLOW flag
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-31 12:07:11 +02:00
Luca Barbato
d0bf20a4f2 ppc: vsx: Implement diff_pixels and get_pixels
Use a macro to abstract the endianness.
2015-05-31 12:07:11 +02:00
Luca Barbato
eecd29b3fd ppc: vsx: Implement float_dsp 2015-05-31 12:07:11 +02:00
Luca Barbato
7d07ee5a9b ppc: cpu: Add support for VSX and POWER8 extensions 2015-05-31 12:07:11 +02:00
Luca Barbato
da60b99a88 ppc: Restrict some Altivec implementations to Big Endian
In Little Endian the vec_ld/vec_st operations work as
expected only for byte-vectors.
2015-05-31 12:07:11 +02:00
Luca Barbato
f22ebd2555 ppc: configure: Support ISA 2.06 and later
POWER 7 and POWER 8 support VSX and ldbrx.

POWER 8 supports additional extended VSX instructions introduced
with ISA 2.07.
2015-05-31 12:07:10 +02:00
Luca Barbato
3058872c29 ppc: Clarify and extend the cpuid check
Add POWER entries.
2015-05-31 12:07:10 +02:00
Luca Barbato
baa94563fe ppc: linux: Check altivec using the auxv
Should prevent trying to use altivec when it is disabled by the kernel.
2015-05-31 12:07:10 +02:00
Luca Barbato
7014b65995 ppc: pixblockdsp: Use the abriged vector types 2015-05-31 12:07:10 +02:00
Luca Barbato
72cebae0d9 ppc: avutil: Use the abriged vector types 2015-05-31 12:07:10 +02:00
Luca Barbato
254eb5b6fa ppc: avutil: Drop a potentially dangerous workaround
The compiler is free to optimize such expressions in any sort of way.
2015-05-31 12:07:10 +02:00
Rodger Combs
c729021f45 configure: Check for SecItemImport for securetransport as well
This fixes the default build on iOS; eventually I should come up with
a better solution for that platform.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 12:02:53 +02:00
Michael Niedermayer
168195f25a Merge commit '881b80b3294483696a21b21a69fa5eee30f33037'
* commit '881b80b3294483696a21b21a69fa5eee30f33037':
  network: prevent SIGPIPE on OSX

See: c41e0aedf5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 11:53:00 +02:00
wm4
881b80b329 network: prevent SIGPIPE on OSX
OSX does not know MSG_NOSIGNAL. BSD (which OSX is based on) has got
the socket option SO_NOSIGPIPE (even if modern BSDs also support
MSG_NOSIGNAL).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-31 10:10:16 +03:00
Michael Niedermayer
03637762d9 avfilter/vf_fade: Force alpha pixel format if alpha is set to 1
Fixes Ticket4321

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 04:31:28 +02:00
Michael Niedermayer
11aa050a25 avcodec/parser: Print an error in case of reallocation fails in ff_combine_frame()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 02:59:06 +02:00
Michael Niedermayer
6f51674c91 postproc: Avoid floats in maxClipped computation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 01:40:12 +02:00
Michael Niedermayer
ebe919cce2 postproc/postprocess_template: Compute packedYScale and QPCorrecture without floats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 00:59:34 +02:00
wm4
c41e0aedf5 network: prevent SIGPIPE on OSX
OSX does not know MSG_NOSIGNAL, and provides its own non-standard
mechanism instead. I guess Apple hates standards.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-30 22:29:19 +02:00
Michael Niedermayer
e9d646f44c Merge commit '0181ae9af2de1526464d23209b82e6674d362f5d'
* commit '0181ae9af2de1526464d23209b82e6674d362f5d':
  h264: Make sure reinit failures mark the context as not initialized

Conflicts:
	libavcodec/h264_slice.c

See: e8714f6f93
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-30 21:33:00 +02:00
Michael Niedermayer
7d1cfbbc3e Merge commit '5ecabd3c54b7c802522dc338838c9a4c2dc42948'
* commit '5ecabd3c54b7c802522dc338838c9a4c2dc42948':
  msrle: Use FFABS to determine the frame size in msrle_decode_pal4

Conflicts:
	libavcodec/msrledec.c

See: f7e1367f58
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-30 21:20:24 +02:00
Andreas Cadhalpun
3ef5702926 libopenjpegdec: check existence of image component data
libopenjpeg can return images with components without data.

This fixes segmentation faults.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-30 20:58:55 +02:00
Michael Niedermayer
161d0ac721 doc/ffmpeg: Document xerror
Previous version reviewed-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-30 19:32:05 +02:00
Michael Niedermayer
a3ec1d6abd avformat/movenc: Add loction/xyz support to allow copying data between mov files
Fixes Ticket4337

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-30 16:44:05 +02:00
Luca Barbato
0181ae9af2 h264: Make sure reinit failures mark the context as not initialized
Bug-Id: CVE-2015-3417
CC: libav-stable@libav.org
2015-05-30 16:28:32 +02:00
Luca Barbato
5ecabd3c54 msrle: Use FFABS to determine the frame size in msrle_decode_pal4
As done in msrle_decode_8_16_24_32.

Bug-Id: CVE-2015-3395
CC: libav-stable@libav.org
2015-05-30 16:28:32 +02:00
Michael Niedermayer
08b7d19def avformat/mov: Also export loci altitude
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-30 15:28:31 +02:00
Michael Niedermayer
1607f77494 avformat/mov: Append place name instead of overwriting for loci
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-30 15:23:19 +02:00
Rodger Combs
4dd22531fd lavf/tls_securetransport: add missing copyright notice
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-30 12:01:22 +02:00
banastasov
debf4d6e67 avcodec/dvbsubdec: Fix buf_size check in dvbsub_parse_display_definition_segment()
Fixes Ticket4326

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-30 04:29:58 +02:00
Michael Niedermayer
aa9c6b6986 avformat/h264dec: Add ff_tlog() with trace information about h264 probing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-30 03:57:20 +02:00
Michael Niedermayer
dae89802a6 avformat/h264dec: Fix detection of invalid h264 with 0x100 startcodes
Fies Ticket4325

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-30 03:53:32 +02:00
Michael Niedermayer
2e15f07cfd Merge commit 'b2f0f37d242f1194fe1f886557cf6cefdf98caf6'
* commit 'b2f0f37d242f1194fe1f886557cf6cefdf98caf6':
  rtmpdh: Generate the whole private exponent using av_get_random_seed() with nettle/gmp

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-30 00:59:57 +02:00
Martin Storsjö
b2f0f37d24 rtmpdh: Generate the whole private exponent using av_get_random_seed() with nettle/gmp
Don't use a PRNG for generating it; that defies the intended use
within the cryptograhic handshake.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-29 23:33:03 +03:00
Rodger Combs
f24d92bada lavf/tls: Support Secure Transport
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 21:52:27 +02:00
Michael Niedermayer
bedb5d587b configure: Fix showcqt fft dependancy
Found-by: Muhammad Faiz <mfcc64@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 21:30:17 +02:00
Ingo Brückl
083b1a32d5 build: add configure option pkgconfigdir
This allows the user to override the directory for the installation
of the pkg-config files (from the default LIBDIR/pkgconfig).

It follows the usual behaviour of Makefiles generated by automake.

Signed-off-by: Ingo Brückl <ib@wupperonline.de>
Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 20:36:10 +02:00
Nedeljko Babic
e374405d8e libavutil: Cosmetic changes to fixed_dsp file.
Names of functions vector_fmul_window_fixed_c and
vector_fmul_window_fixed_scaled_c are changed by removing "_fixed"
from the name since it is redundant.

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 19:46:00 +02:00
Andreas Cadhalpun
153639cb9c mov: fix DTS calculation for samples with negative stts duration
A negative sample duration is invalid according to the spec, but there
are samples that use it for the DTS calculation, e.g.:
http://files.1f0.de/samples/mp4-negative-stts-problem.mp4

These currently get out of A/V sync.

Also change the logging type to AV_LOG_WARNING, because decoding the
sample can continue.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-29 19:35:58 +02:00
Michael Niedermayer
403940de24 avcodec/mpegvideo: Use FFSWAP to exchange pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 14:03:52 +02:00
Michael Niedermayer
f86e7c5d00 avcodec/ac3_parser: Avoid floats in bitrate computation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 12:59:35 +02:00
Michael Niedermayer
061a592b9c avformat/movenc: Check that track_width_1616 fits within the available 32bit before storing it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 12:54:37 +02:00
Michael Niedermayer
14bc570442 avformat/movenc: avoid floats in width/height/aspect ratio computations
This avoids the possibility for rounding/precision differences between platforms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 12:46:58 +02:00
Michael Niedermayer
3331213e2a avformat/concatdec: Enable auto_convert by default
Users have no means to find out from a failure how to make it work
or is it preferred to check and print a warning for h264 concat without auto_convert ?

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 12:19:47 +02:00
Michael Niedermayer
e1b0019568 avformat/mov: Avoid float usage in yuv_to_rgba()
This avoids the possibility for rounding/precision differences between platforms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 12:16:08 +02:00
Michael Niedermayer
4b8b3efb1e Merge commit 'e9e86d9ef637f5a600c76b352ffe5a82b71b25d1'
* commit 'e9e86d9ef637f5a600c76b352ffe5a82b71b25d1':
  rtmpdh: Create sufficiently long private keys for gcrypt/nettle

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 11:42:43 +02:00
Michael Niedermayer
42a6a38418 Merge commit '8016a1bd3b60e917e1b12748dd80c06c3462c286'
* commit '8016a1bd3b60e917e1b12748dd80c06c3462c286':
  rtmpdh: Remove an unnecessary check in the gcrypt/nettle dh_compute_key

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 11:42:22 +02:00
Michael Niedermayer
48e02e258c Merge commit '063f7467e4d14ab7fe01b2845dab60cc75df8b53'
* commit '063f7467e4d14ab7fe01b2845dab60cc75df8b53':
  rtmpdh: Add fate test for the DH handshake routine

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 11:38:37 +02:00
Michael Niedermayer
fbeb3fa999 Merge commit '0508faaa11bf7507ffdd655aee57c9dc5a8203f4'
* commit '0508faaa11bf7507ffdd655aee57c9dc5a8203f4':
  rtmpdh: Pass the actual buffer size of the output secret key

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 11:32:07 +02:00
Michael Niedermayer
beecbe13a2 Merge commit '9f1b3050d9e31e9283d818f3640f3460ac8cfb5b'
* commit '9f1b3050d9e31e9283d818f3640f3460ac8cfb5b':
  rtmpdh: Check the output buffer size in the openssl version of dh_compute_key

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 11:31:43 +02:00
Michael Niedermayer
4c0b30b07a Merge commit '127d813bcb5705202b7100cf1eccd1e26d72ba14'
* commit '127d813bcb5705202b7100cf1eccd1e26d72ba14':
  rtmpdh: Fix a local variable name in the nettle/gcrypt codepath

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 11:31:26 +02:00
Michael Niedermayer
392832fc3a Merge commit '78efc69e7c990226f4b913721ef1b308ca5bfa04'
* commit '78efc69e7c990226f4b913721ef1b308ca5bfa04':
  rtmpdh: Make sure ret is initialized in the nettle version of bn_hex2bn

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 11:21:35 +02:00
Martin Storsjö
e9e86d9ef6 rtmpdh: Create sufficiently long private keys for gcrypt/nettle
There was a misunderstanding betewen bits and bytes for the parameter
value for generating random big numbers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-29 09:42:41 +03:00
Martin Storsjö
8016a1bd3b rtmpdh: Remove an unnecessary check in the gcrypt/nettle dh_compute_key
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-29 09:42:38 +03:00
Martin Storsjö
063f7467e4 rtmpdh: Add fate test for the DH handshake routine
This helps if these functions need to be implemented using another
crypto API.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-29 09:42:35 +03:00
Martin Storsjö
0508faaa11 rtmpdh: Pass the actual buffer size of the output secret key
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-29 09:42:32 +03:00
Martin Storsjö
9f1b3050d9 rtmpdh: Check the output buffer size in the openssl version of dh_compute_key
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-29 09:42:30 +03:00
Martin Storsjö
127d813bcb rtmpdh: Fix a local variable name in the nettle/gcrypt codepath
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-29 09:42:28 +03:00
Martin Storsjö
78efc69e7c rtmpdh: Make sure ret is initialized in the nettle version of bn_hex2bn
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-29 09:42:24 +03:00
Hendrik Leppkes
c7bd6a54af dxva2_hevc: re-write reference frame handling
The old logic required and explicit clearing of the lists first and was
prone to overflow the DXVA2 struct in some circumstances.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 03:26:23 +02:00
Hendrik Leppkes
b7a0b303d9 dxva2_hevc: fix 32x32 scaling lists
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 01:37:06 +02:00
Michael Niedermayer
d860084c50 avcodec/mpegvideo: Reset bitstream_buffer_size on allocation failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 00:33:18 +02:00
Roman Savchenko
e5d1152ccc avcodec/mpegvideo: Check pointer when allocation fail
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 00:29:58 +02:00
Roman Savchenko
e85d91da48 avformat/avienc: Correct possible dereference of null
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 00:04:41 +02:00
Michael Niedermayer
e2f3ea1cbb Merge commit 'a64a5773ea5f7337cd1d87cfdf511914d317fe81'
* commit 'a64a5773ea5f7337cd1d87cfdf511914d317fe81':
  pixfmt: remove misleading and broken documentation

Conflicts:
	libavutil/pixfmt.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 22:24:12 +02:00
Michael Niedermayer
b666e81c13 Merge commit 'e4610300de6869bd6b3b00e76cfeabb6d7653dcd'
* commit 'e4610300de6869bd6b3b00e76cfeabb6d7653dcd':
  x86: cavs: Remove an unneeded scratch buffer

Conflicts:
	libavcodec/x86/cavsdsp.c

See: d79f7bf0d6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 22:12:41 +02:00
Michael Niedermayer
7026d8accd Merge commit '1b1bb2c4efc126d74d44d8c421860c85f932ecb1'
* commit '1b1bb2c4efc126d74d44d8c421860c85f932ecb1':
  rl: Add error checking to ff_rl_init().

Conflicts:
	libavcodec/rl.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 22:02:41 +02:00
Michael Niedermayer
c508fef3c7 Merge commit '324e50ee95929a9491b855c5e15451145bd5d1ec'
* commit '324e50ee95929a9491b855c5e15451145bd5d1ec':
  rl: Add a function for freeing dynamically allocated tables.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 21:55:20 +02:00
Michael Niedermayer
75647622b5 Merge commit '6f57375d707de40dcec28d3cef886c364e032c21'
* commit '6f57375d707de40dcec28d3cef886c364e032c21':
  rl: Rename ff_*_rl() to ff_rl_*()

Conflicts:
	libavcodec/mpeg4videodec.c
	libavcodec/rl.c
	libavcodec/rl.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 21:48:49 +02:00
Michael Niedermayer
68cce0101d Merge commit 'fa1923f18205410a3b0aa6c0e77cb31443ef340d'
* commit 'fa1923f18205410a3b0aa6c0e77cb31443ef340d':
  mpegvideo: Move ff_*_rl functions to a separate file

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 21:36:31 +02:00
Michael Niedermayer
9b736f74fc Merge commit '419e3404d07acaac019e8f363c281e17c3a3d622'
* commit '419e3404d07acaac019e8f363c281e17c3a3d622':
  mpegvideo: Drop exchange_uv() function and use its code directly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 21:28:09 +02:00
Michael Niedermayer
f0b99112e3 Merge commit 'd4d90504a687d2c0ef77ccf11d831f24dcff9cf1'
* commit 'd4d90504a687d2c0ef77ccf11d831f24dcff9cf1':
  tls_gnutls: Add missing includes for the gcrypt thread safety callbacks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 21:21:07 +02:00
Michael Niedermayer
5c41608096 Merge commit 'dd4d709be705edaec0bc35c426bf8434e942b7df'
* commit 'dd4d709be705edaec0bc35c426bf8434e942b7df':
  x86inc: Clear __SECT__

See: 204b228a1d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 21:12:53 +02:00
Shivraj Patil
7b45790771 avcodec/mips/hevcdsp_msa: Restructure as per avutil/mips/generic_macros_msa.h
This patch modifies HEVC mc MIPS-SIMD optimized code according to improved version of generic macros.

Overall, this patch is just upgrading the code with styling changes and will bring it in sync with MIPS-SIMD optimized latest codebase at our end.

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 20:47:29 +02:00
wm4
a64a5773ea pixfmt: remove misleading and broken documentation
This was probably broken some time ago. The breakage is now part of the
ABI. For example, we have:

    AV_PIX_FMT_XYZ12BE
    AV_PIX_FMT_NV16
    AV_PIX_FMT_NV20LE

AV_PIX_FMT_NV20LE is wrong. It has the value 113, but as little-endian
format it should be even. This must have been quite obvious when these
formats were added (because of the AV_PIX_FMT_XYZ12BE entry), but
nobody cared or knew about this.

The future libavutil major bump will also break this additionally,
because disabling FF_API_VDPAU will remove an odd number of entries from
the middle of the enum.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-28 18:40:40 +02:00
Michael Niedermayer
e4610300de x86: cavs: Remove an unneeded scratch buffer
Simplifies the code and makes it build on certain compilers
running out of registers on x86.

CC: libav-stable@libav.org
Reported-By: mudler
2015-05-28 18:40:40 +02:00
Shivraj Patil
10b77fbf0d avcodec/mips: Split uni mc optimizations to new file
This patch moves HEVC code of uni mc cases to new file hevc_mc_uni_msa.c.
(There are total 5 sub-modules of HEVC mc functions, if we add all these modules in one single file, its size would be huge (~750k) & difficult to maintain, so splitting it in multiple files)
This patch also adds new HEVC header file libavcodec/mips/hevc_macros_msa.h

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 16:51:38 +02:00
Anton Khirnov
1b1bb2c4ef rl: Add error checking to ff_rl_init(). 2015-05-28 15:38:43 +01:00
Anton Khirnov
324e50ee95 rl: Add a function for freeing dynamically allocated tables.
Such tables are not used anywhere currently, but that should change.
2015-05-28 15:38:43 +01:00
Anton Khirnov
6f57375d70 rl: Rename ff_*_rl() to ff_rl_*() 2015-05-28 15:38:43 +01:00
Anton Khirnov
fa1923f182 mpegvideo: Move ff_*_rl functions to a separate file 2015-05-28 15:38:43 +01:00
Vittorio Giovara
419e3404d0 mpegvideo: Drop exchange_uv() function and use its code directly
Code is small enough that there is no advantage in a separate function.
2015-05-28 15:38:43 +01:00
wm4
6f2c64fd03 dvdsubdec: implement flushing
This is needed for proper operation with seeking.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 16:10:56 +02:00
wm4
0ad04bf6a2 dvdsubdec: reset buffer size on invalid over-large packets
Otherwise it will never be reset, and remain "stuck" in this state
forever. Can happen when seeking: the decoder will receive fragments
from different file positions, which triggers the condition easily.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 15:31:07 +02:00
Michael Niedermayer
b06e82e738 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavc/x264: Support bgr0 as input pix_fmt.
  lavf: Use av_codec_get_tag2() in avformat_query_codec().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 14:12:46 +02:00
Martin Storsjö
d4d90504a6 tls_gnutls: Add missing includes for the gcrypt thread safety callbacks
This fixes building with gcrypt-backed gnutls versions, broken
in 57cde2b180.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-28 15:05:52 +03:00
Michael Niedermayer
5a3d2541bd avformat/mxfenc: Support storing signal standard for D10 muxing
Reviewed-by: tim nicholson <nichot20@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 12:36:08 +02:00
Carl Eugen Hoyos
4792fb9409 lavc/x264: Support bgr0 as input pix_fmt. 2015-05-28 12:34:22 +02:00
Carl Eugen Hoyos
57eecd9e4f lavf: Use av_codec_get_tag2() in avformat_query_codec().
av_codec_get_tag() can return 0 both in case of error and success.
2015-05-28 12:31:40 +02:00
Shivraj Patil
bcd7bf7eeb avcodec/mips: Restructure as per avutil/mips/generic_macros_msa.h
This patch modifies H264 loopfilter, weighted & bi-weighted prediction MIPS-SIMD optimized code according to improved version of generic macros.
Also there are minor code alignment changes.

Overall, this patch is just upgrading the code with styling changes and will bring it in sync with MIPS-SIMD optimized latest codebase at our end.

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 11:57:11 +02:00
Timothy Gu
dd4d709be7 x86inc: Clear __SECT__
Silences warning(s) like:

    libavcodec/x86/fft.asm:93: warning: section flags ignored on
    section redeclaration

The cause of this warning is that because `struc` and `endstruc`
attempts to revert to the previous section state [1].

The section state is stored in the macro __SECT__, defined by
x86inc.asm to be `.note.GNU-stack ...`, through the `SECTION`
directive [2].

Thus, the `.note.GNU-stack` section is defined twice
(once in x86inc.asm, once during `endstruc`), causing the warning.

That is the first part of the commit: using the primitive `[section]` format
for .note.GNU-stack etc., which does not update `__SECT__` [2].

That fixes only half of the problem. Even without any `SECTION` directives,
`__SECT__` is predefined as `.text`, which conflicting with the later
`SECTION_TEXT` (which expands to `.text align=16`).

[1]: http://www.nasm.us/doc/nasmdoc6.html#section-6.4
[2]: http://www.nasm.us/doc/nasmdoc6.html#section-6.3

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-28 11:40:15 +02:00
Shivraj Patil
02a4991230 avutil/mips: Restructure of generic macros
This patch includes restructuring of existing macros and addition of more generic macros.

This change was necessary to avoid repeated review comments in remaining patches which we were about to submit.
Also this patch reduces number of code lines due to maximum use of generic macros, allows better code alignment & readability etc.

These modifications in commonly used .libavutil/mips/generic_macros_msa.h. impacts the already accepted code, hence re-submitting it in 2/4,3/4 & 4/4.
Overall, this patch set is just upgrading the code with styling changes and will bring it in sync with MIPS-SIMD optimized latest codebase at our end.

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 11:34:52 +02:00
Timothy Gu
7206b94fb8 network: Move variable declaration under an #if
Avoids an unused variable warning.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 03:06:05 +02:00
Michael Niedermayer
cf52e6d012 avcodec/ffv1dec: Fix skip_alpha
Fixes Ticket4322

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 01:01:16 +02:00
Timothy Gu
204b228a1d x86inc: Clear __SECT__
This commit silences warning(s) like:

    libavcodec/x86/fft.asm:93: warning: section flags ignored on section
    redeclaration

The cause of this warning is that because `struc` and `endstruc` attempts to
revert to the previous section state [1]. The section state is stored in the
macro __SECT__, defined by x86inc.asm to be `.note.GNU-stack ...`, through the
`SECTION` directive [2].  Thus, the `.note.GNU-stack` section is defined twice
(once in x86inc.asm, once during `endstruc`), causing the warning.

That is the first part of the commit: using the primitive `[section]` format
for .note.GNU-stack etc., which does not update `__SECT__` [2].

That fixes only half of the problem. Even without any `SECTION` directives,
`__SECT__` is predefined as `.text`, which conflicting with the later
`SECTION_TEXT` (which expands to `.text align=16`).

[1]: http://www.nasm.us/doc/nasmdoc6.html#section-6.4
[2]: http://www.nasm.us/doc/nasmdoc6.html#section-6.3

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 00:08:37 +02:00
Timothy Gu
2b388e6dde Revert "Move struc FFTContext below SECTION_RODATA"
This reverts commit 599888a480.

The commit does not silence the warning on ELF-based systems, and will be
fixed in the subsequent commit.

Conflicts:
	libavcodec/x86/fft_mmx.asm

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 00:08:32 +02:00
Michael Niedermayer
eff2ed2fde Merge commit '57cde2b180fcec0eaf60aad65f436ab6420546f5'
* commit '57cde2b180fcec0eaf60aad65f436ab6420546f5':
  lavf: move TLS-related ifdeffery to library specific files

Conflicts:
	libavformat/network.c
	libavformat/tls.h
	libavformat/tls_openssl.c

See: a9f1d584e5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-27 22:37:23 +02:00
wm4
a9f1d584e5 lavf: move TLS-related ifdeffery to library specific files
There is no need to have this mess in network.c.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-27 22:24:00 +02:00
Michael Niedermayer
fbf9583f9f Merge commit 'd8ffb2055f0e0fcb5d025bab72eb19c2a886c125'
* commit 'd8ffb2055f0e0fcb5d025bab72eb19c2a886c125':
  lavf: split tls.c

Conflicts:
	libavformat/tls.c
	libavformat/tls_gnutls.c
	libavformat/tls_openssl.c

See: 4a006b9eb7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-27 22:17:17 +02:00
wm4
4a006b9eb7 lavf: split tls.c
Move the OpenSSL and GnuTLS implementations to their own files. Other
than the connection code (including options) and some boilerplate, no
code is actually shared.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-27 21:48:47 +02:00
Michael Niedermayer
07fc47909f avformat/mpsubdec: Use double instead of float for timestamp calculations
This provides higher precission

Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-27 17:29:18 +02:00
Michael Niedermayer
f722009ad9 avformat/mp3dec: Ensure the buffer is large enough to avoid seeks from the first frame search
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-27 17:06:24 +02:00
wm4
2b3e9bbfb5 avformat/mp3: skip junk at the beginning of mp3 files
Apparently it can happen that a mp3 file has junk data between id3 tag
and actual mp3 data. Skip this to avoid outputting nonsense timestamps.
(Two packets had the same timestamps, because the mp3 parser failed to
compute a frame duration.)

In this case, the junk consisted of 1044 bytes of zero, which
incidentally is the same size as normal mp3 frames in this stream. I
suspect the mp3 was edited with some tool which wiped the Xing/LAME
headers. Data near the end of the file suggests it was encoded with
"LAME3.97", but the normal Xing/LAME headers are missing. So this could
be "normal". mpg123 also attempts to skip at least 64KB of junk data by
scanning for headers.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-27 15:50:04 +02:00
Michael Niedermayer
2ae0396814 avformat/mpsubdec: change multipler to int, it only stores 1 and 100
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-27 15:24:34 +02:00
周晓勇
e89e23e1bc avcodec: loongson3 optimized h264dsp weighted mc with mmi
Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-27 13:01:54 +02:00
Michael Niedermayer
1cf87e1680 doc/build_system: Document GEN, text taken from the webpage
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-27 12:23:01 +02:00
Michael Niedermayer
073f4b93b2 fate: Update exif tests after 09ec31ce3a
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-27 11:56:19 +02:00
Dave Rice
09ec31ce3a ffprobe: print stream_index with frame data
This makes it easier to relate frame data to its associated stream.
2015-05-27 11:19:19 +02:00
James Almer
c312bfac4c x86/cpu: add AV_CPU_FLAG_AVXSLOW flag
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-05-27 03:31:11 -03:00
Michael Niedermayer
52fc3e372f avfilter/x86/vf_hqdn3d: Fix register types
Fixes Ticket4301

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-27 05:18:55 +02:00
Michael Niedermayer
4240e6a921 avfilter/vf_hqdn3d: Initialize the whole LUT
With bps > 8 more than 255..255 are used
The initialized table content is left unchanged,
But it could also be adjusted for the slight difference of
the maximum

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-27 05:18:55 +02:00
Philip Langdale
7ae805db70 avcodec/nvenc: Fix typo: 1204 -> 1024
Fixes Ticket4508

Signed-off-by: Philip Langdale <philipl@overt.org>
2015-05-26 18:36:13 -07:00
Michael Niedermayer
023040ed0d avformat/movenc: Allow muxing mp3 with samplerate < 16khz if the user sets strict to -1
Fixes Ticket4267

Approved-by: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-27 01:47:59 +02:00
Michael Niedermayer
4fe38441b0 ffmpeg: do not print misleading recommanditions on 1pass vpx encoding
Fixes part of Ticket4295

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-26 23:42:44 +02:00
Michael Niedermayer
4ae090f224 Merge commit 'cf1f3d837e1266034a487de5b575bd76426c6b10'
* commit 'cf1f3d837e1266034a487de5b575bd76426c6b10':
  doc: Fix spelling of 'Transmission'

See: 9898bd9a82
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-26 20:50:56 +02:00
wm4
57cde2b180 lavf: move TLS-related ifdeffery to library specific files
There is no need to have this mess in network.c.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-26 21:48:51 +03:00
wm4
d8ffb2055f lavf: split tls.c
Move the OpenSSL and GnuTLS implementations to their own files. Other
than the connection code (including options) and some boilerplate, no
code is actually shared.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-26 21:48:32 +03:00
Michael Niedermayer
cf86fd0069 avformat/matroskaenc: Avoid floats in default duration calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-26 20:42:05 +02:00
Michael Niedermayer
8aa9853093 avformat/ircamenc: Avoid floats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-26 19:54:41 +02:00
Michael Niedermayer
1fb9b2a283 avutil: Add av_q2intfloat()
This function allows writing AVRationals as IEEE floats without the need
of platform dependant float operations

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-26 18:31:53 +02:00
Michael Niedermayer
894d8cf418 avformat/movenc: Avoid floats & float rounding in tmcd nb_frames calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-26 14:51:00 +02:00
Michael Niedermayer
f902b0b2cb avformat/asfdec: Avoid float usage in duration calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-26 13:51:29 +02:00
Sebastian Ramacher
cf1f3d837e doc: Fix spelling of 'Transmission'
Signed-off-by: Sebastian Ramacher <sramacher@debian.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-26 13:41:44 +02:00
Michael Niedermayer
db07fc2020 avformat/mpegts: Avoid float in bitrate calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-26 12:02:44 +02:00
Michael Niedermayer
1b236541a6 avcodec/h264: Fix HWACCEL_MAX for D3D11
Found-by: philipl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-26 05:23:29 +02:00
Michael Niedermayer
688147cfe2 avcodec/hevc: Fix HWACCEL_MAX for D3D11
Found-by: philipl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-26 05:23:29 +02:00
Michael Niedermayer
5cddfc5357 avcodec/dxva2_h264: Fix "may be used uninitialized" warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-26 05:23:29 +02:00
Philip Langdale
9ae766d1c6 avcodec/vdpau: Re-factor pre-hwaccel helper functions into separate header
h264.h and hevc.h are mutually exclusive due to defining some of the same
names. As such, we need to avoid forcing h264.h to be included if we want
hevc decode acceleration to be possible.

However, some of the pre-hwaccel helper functions need h264.h. To avoid
messy collisions, let's move the declaration of all those helpers to
a separate header which we will exclude for the hevc support (which will
be hwaccel-only).

Signed-off-by: Philip Langdale <philipl@overt.org>
2015-05-25 19:50:41 -07:00
Michael Niedermayer
7ed5d78d61 avcodec/dxva2: Fix "may be used uninitialized" warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-26 04:40:34 +02:00
Michael Niedermayer
a838b22bd9 configure: Check if ID3D11VideoDecoder exists, not just the header to enable d3d11va
Fixes build with "mingw-w64-x86-64-dev 3.2.0-2"

Tested-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-26 01:51:33 +02:00
Michael Niedermayer
5bc2c39527 avfilter/x86/vf_fspp: Fix invalid combination of opcode and operands
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-26 01:43:47 +02:00
Carl Eugen Hoyos
5193407cf6 lavf/dnxhd: Autodetect more files that can be decoded. 2015-05-26 00:29:36 +02:00
Andreas Cadhalpun
83a04f8cc1 mov: reject zero bytes_per_frame with non-zero samples_per_frame
In this case the mov demuxer can return a large number of empty packets.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-26 00:28:02 +02:00
Michael Niedermayer
3232ac4bac configure: d3d11va is auto-detected like the others
Fix the help text accordingly

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 23:45:13 +02:00
Carl Eugen Hoyos
860ac0a5bb lavf/riff: Add 0x729A as TwoCC for G.729.
Reported by forum user muchuan.
2015-05-25 23:39:56 +02:00
Michael Niedermayer
94d07b314a avcodec/dxva2: Fix build without D3D11
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 22:24:40 +02:00
Michael Niedermayer
947b74ee7d Merge commit 'd8039ef8d221ea273aa4f1e62e5df21bf618c772'
* commit 'd8039ef8d221ea273aa4f1e62e5df21bf618c772':
  D3D11va: add a Direct3D11 video decoder similar to DXVA2

Conflicts:
	Changelog
	configure
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/dxva2_vc1.c
	libavcodec/version.h
	libavutil/pixdesc.c
	libavutil/pixfmt.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 22:24:34 +02:00
Niklesh
9aabc926ca Improve upon dynamic arrays- movtext subtitles
Signed-off-by: Niklesh <niklesh.lalwani@iitb.ac.in>
2015-05-25 11:39:29 -07:00
Andreas Cadhalpun
e48a9ac9af libshine: fix support for shine 3.0
shine_encode_buffer expects written to be an int pointer, while the
previous shine_encode_frame expected it to be a long pointer.

Thus encoding with libshine currently always fails with
"internal buffer too small", because a negative return value of
shine_encode_buffer is interpreted as a very large long value.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-25 16:08:08 +02:00
Michael Niedermayer
c50904fd78 avcodec/mjpegenc_common: Use ff_mpv_reallocate_putbitbuffer()
Fixes assertion failure
Fixes Ticket4396

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 14:35:35 +02:00
Michael Niedermayer
00f3bb2ef2 avcodec/mpegvideo: Factor ff_mpv_reallocate_putbitbuffer() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 14:33:38 +02:00
Michael Niedermayer
cf401cd12b avformat/rmenc: Avoid floats in duration calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 13:34:43 +02:00
Michael Niedermayer
343654c288 avformat/mpegenc: Replace *0.7 by *7/10
This avoids another float computation, avoiding a potential source of
rounding issues

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 13:34:34 +02:00
Michael Niedermayer
73f7179924 avformat/mpegenc: Do not use floats for vcd_padding_bitrate
This reduces the risk for rounding differences.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 12:43:51 +02:00
Michael Niedermayer
2ce6e41911 ffmpeg_opt: Set the video VBV parameters only for the video stream from -target
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 12:13:53 +02:00
Steve Lhomme
d8039ef8d2 D3D11va: add a Direct3D11 video decoder similar to DXVA2
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-25 11:47:08 +02:00
Michael Niedermayer
bd46e78aa4 avcodec/put_bits: Assert that size in set_put_bits_buffer_size() does not cause integer overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 05:31:26 +02:00
Michael Niedermayer
291ad5cc9c avcodec/bitstream: Assert that there is enough space left in avpriv_copy_bits()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 05:14:02 +02:00
Michael Niedermayer
8f5ffed183 avcodec/put_bits: Assert that there is enough space left in skip_put_bytes()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 05:14:02 +02:00
Michael Niedermayer
561d3a57aa avcodec/mpegvideo_enc: Update the buffer size as more slices are merged
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 05:14:02 +02:00
Michael Niedermayer
e4c2ec879b avcodec/put_bits: Update size_in_bits in set_put_bits_buffer_size()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 04:55:37 +02:00
Michael Niedermayer
8ce564ea28 avformat/mov: Mark avio context of decompressed atoms as seekable
Fixes Ticket4329

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 01:26:55 +02:00
Michael Niedermayer
1cacecce79 avcodec/libutvideoenc: Fix memleak
Fixes: CID1257657

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 00:32:46 +02:00
James Almer
c5a07f1f84 libdcadec: search for frames that start late in a packet
Based on commit 4ae15605f6

Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-05-24 13:06:42 -03:00
Michael Niedermayer
db5ea69d80 avcodec/ituh263enc: Pass PutBitContext into h263p_encode_umotion() instead of MpegEncContext
This avoids the need to dereference MpegEncContext->pb if it is
already available outside h263p_encode_umotion()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-24 17:27:47 +02:00
Michael Niedermayer
404fe63e23 avcodec: Pass PutBitContext into ff_h263_encode_motion() instead of MpegEncContext
This avoids the need to dereference MpegEncContext->pb if it is
already available outside ff_h263_encode_motion()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-24 17:15:18 +02:00
Michael Niedermayer
b71dc29729 avcodec/h263: Remove unused argument of h263_get_motion_length()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-24 16:58:55 +02:00
Michael Niedermayer
39de31ccb6 avcodec/mpeg4video: Reorder operations to reduce accesses to err_recognition
About 9 cpu cycle faster mpeg4_decode_mb()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-24 16:11:38 +02:00
Andreas Cadhalpun
b71528d896 mov: always check avio_read return value
If avio_read fails, the buffer can contain uninitialized data.

This fixes 'Conditional jump or move depends on uninitialised value(s)'
valgrind warnings.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-24 15:08:21 +02:00
Andreas Cadhalpun
8e77f8ab4a mov: fix two memleaks
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-24 15:08:21 +02:00
Andreas Cadhalpun
a5718863da mov: abort on EOF in ff_mov_read_chan
Otherwise the loop can take a lot of time if num_descr is very large.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-24 15:07:52 +02:00
Michael Niedermayer
0c3b4efc76 avformat/movenc: Remove float use from rgb_to_yuv()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-24 13:32:53 +02:00
Michael Niedermayer
28134d6a0e avformat/swfenc: Remove another unneeded float computation
fewer chances for rounding differences between platforms is better

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-24 13:32:53 +02:00
Michael Niedermayer
5d4ff4a31e avformat/swfenc: Remove unneeded floats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-24 03:59:26 +02:00
Michael Niedermayer
17264cd281 avformat/avienc: Avoid float usage
reduces risk for rounding differences between platforms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-23 23:42:51 +02:00
Michael Niedermayer
3bf57acb9c avformat/4xm: Change fps to AVRational
This fixes the video timebase as well

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-23 22:36:02 +02:00
Michael Niedermayer
de0d3fe562 avcodec/y41pdec: Avoid using float for size test
Floats are not bitexact

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-23 21:46:07 +02:00
James Almer
8952254ffe libwebp: simplify AVCodec.close functions
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-05-23 14:46:46 -03:00
James Almer
57d9788d1b configure: simplify libwebp checks
The libwebpmux pkg-config file already has an explicit dependecy on libwebp >= 0.2.0.
Also remove the warning and silently disable the anim encoder when libwebpmux is not new enough.
This is more in line with other library components, like libvpx-vp9

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-05-23 14:18:54 -03:00
Andreas Cadhalpun
ed4932a694 nutdec: fix various memleaks on failure
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-23 17:42:35 +02:00
Michael Niedermayer
4ae15605f6 avcodec/dcadec: Search and decode frame in case it starts later in a packet
This fixes decoding the first frame of some dts files

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-23 16:37:16 +02:00
Rodger Combs
40a3e1e9c5 avformat/wavdec: Increase dts packet threshold to fix more misdetections
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-23 16:04:19 +02:00
Michael Niedermayer
9f5769437a avformat/wavdec: Increase probe_packets limit
Fixes DTS detection of b2429e5ba9.dts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-23 12:07:23 +02:00
Andreas Cadhalpun
0b79a389ba nutdec: always check the get_str return value
If it fails, the buffers can be (partially) uninitialized.

This fixes 'Conditional jump or move depends on uninitialised value(s)'
valgrind warnings.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-23 10:36:44 +02:00
James Almer
1096c46c55 libwebp: use a separate AVClass for each encoder
Signed-off-by: James Almer <jamrial@gmail.com>
2015-05-23 01:52:16 -03:00
James Almer
44ca8a6adb libwebpenc_common: add header guards
Signed-off-by: James Almer <jamrial@gmail.com>
2015-05-23 01:44:54 -03:00
James Almer
98be2d94ea libwebp: remove unneeded defines
Signed-off-by: James Almer <jamrial@gmail.com>
2015-05-23 01:29:23 -03:00
Urvang Joshi
02cf59f3a6 WebP encoder: use WebPAnimEncoder API when available.
WebPAnimEncoder API is a combination of encoder (WebPEncoder) and muxer
(WebPMux). It performs several optimizations to make it more efficient
than the combination of WebPEncode() and native ffmpeg muxer.

When WebPAnimEncoder API is used:
- In the encoder layer: we use WebPAnimEncoderAdd() instead of
  WebPEncode().
- The muxer layer: works like a raw muxer.

On the other hand, when WebPAnimEncoder API isn't available, the old code is
used as it is:
- In the codec layer: WebPEncode is used to encode each frame
- In the muxer layer:  ffmpeg muxer is used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-23 03:31:28 +02:00
Michael Niedermayer
ebb0ca3d70 avformat/nutdec: Check X in 2nd branch of index reading
Prevents read of uninitialized variable

Based on patch by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-23 00:23:05 +02:00
Michael Niedermayer
f275f9eaee Merge commit '4e17946f10d39eec6cc03fb249ae8147373141b6'
* commit '4e17946f10d39eec6cc03fb249ae8147373141b6':
  mpegvideo: Rework various functions not to use MpegEncContext directly

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 22:39:47 +02:00
Michael Niedermayer
179527f34e Merge commit 'a3f4c930ac3f49f47b6e6ffda925d0dcf80320e2'
* commit 'a3f4c930ac3f49f47b6e6ffda925d0dcf80320e2':
  mpegvideo: Have ff_mpeg_ref_picture use AVCodecContext directly

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 21:17:34 +02:00
Michael Niedermayer
a25ee5f922 Merge commit 'd528045558825f01472e9bee873f60c98d661e53'
* commit 'd528045558825f01472e9bee873f60c98d661e53':
  mpegvideo: Have ff_mpeg_unref_picture use AVCodecContext directly

Conflicts:
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c

The memset is left in place

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 21:15:32 +02:00
Michael Niedermayer
bc373595f2 Merge commit '6f54dc43cee6b2f5d183acf98b32a3cf8be4a4fc'
* commit '6f54dc43cee6b2f5d183acf98b32a3cf8be4a4fc':
  mpegvideo: Drop stream_codec_tag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 20:49:16 +02:00
Michael Niedermayer
d5227ceff1 Merge commit '9c1db92ad372d4cd69e0490e691c56e4097cb193'
* commit '9c1db92ad372d4cd69e0490e691c56e4097cb193':
  mpegvideo: Drop err_recognition

Conflicts:
	libavcodec/h263dec.c
	libavcodec/ituh263dec.c
	libavcodec/mpeg4video.h
	libavcodec/mpeg4videodec.c
	libavcodec/msmpeg4dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 20:38:42 +02:00
Michael Niedermayer
d9b264bc73 Merge commit '848e86f74d3e6e87fa592ee8ba8c184cc5fd9a42'
* commit '848e86f74d3e6e87fa592ee8ba8c184cc5fd9a42':
  mpegvideo: Drop flags and flags2

Conflicts:
	libavcodec/mpeg12dec.c
	libavcodec/mpeg12enc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/mpegvideo_motion.c
	libavcodec/ratecontrol.c
	libavcodec/vc1_block.c
	libavcodec/vc1_loopfilter.c
	libavcodec/vc1_mc.c
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 20:24:41 +02:00
Niklesh
337aa17e61 avcodec/movtextdec: Add support for large boxes(>32 bit)
Signed-off-by: Niklesh <niklesh.lalwani@iitb.ac.in>
2015-05-22 08:32:20 -07:00
Vittorio Giovara
4e17946f10 mpegvideo: Rework various functions not to use MpegEncContext directly 2015-05-22 15:34:39 +01:00
Vittorio Giovara
a3f4c930ac mpegvideo: Have ff_mpeg_ref_picture use AVCodecContext directly 2015-05-22 15:34:39 +01:00
Vittorio Giovara
d528045558 mpegvideo: Have ff_mpeg_unref_picture use AVCodecContext directly
This skips setting the memory to 0 but allows for reuse on different
contextes. Oracle did not report any unsual activity because of it.
2015-05-22 15:34:39 +01:00
Vittorio Giovara
6f54dc43ce mpegvideo: Drop stream_codec_tag
The field is unused.
2015-05-22 15:34:39 +01:00
Vittorio Giovara
9c1db92ad3 mpegvideo: Drop err_recognition
It is just a duplicate of an AVCodecContext member so use it instead.
2015-05-22 15:34:39 +01:00
Vittorio Giovara
848e86f74d mpegvideo: Drop flags and flags2
They are just duplicates of AVCodecContext members so use those instead.
2015-05-22 15:34:39 +01:00
Michael Niedermayer
3b176af001 avformat/mxfenc: Add color siting element
Previous version Reviewed-by: tim nicholson <nichot20@yahoo.com>
Previous version Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 15:30:31 +02:00
Michael Niedermayer
a45cf639e6 libavformat/mux: Add ff_choose_chroma_location()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 15:30:31 +02:00
Michael Niedermayer
d09321b68e avcodec/mpeg12dec: Fix chroma location
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 15:30:31 +02:00
Tim Nicholson
ebb08f3fe4 avutil/pixfmt: Clarify DV example comments for AVChromaLocation
Signed-off-by: Tim Nicholson <tim.nicholson@bbc.co.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 12:08:32 +02:00
Michael Niedermayer
1617a89cf0 Merge commit '29216d7fd14d1cec16821867d17c90b5c49e8c07'
* commit '29216d7fd14d1cec16821867d17c90b5c49e8c07':
  tls: fix compilation when both gnutls and openssl are enabled

See: e91fbfd9cf
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 11:54:16 +02:00
James Almer
29216d7fd1 tls: fix compilation when both gnutls and openssl are enabled
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-22 12:21:38 +03:00
James Almer
e91fbfd9cf tls: fix compilation when both gnutls and openssl are enabled
Signed-off-by: James Almer <jamrial@gmail.com>
2015-05-22 00:33:33 -03:00
Urvang Joshi
f99fed733d WebP encoder: extract out some methods into a separate helper library.
This is the 2nd patch in preparation for using WebPAnimEncoder API for encoding
and muxing WebP images.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 03:16:59 +02:00
Michael Niedermayer
a0124b89e3 Merge commit '94599a6de3822b13c94096d764868128f388ba28'
* commit '94599a6de3822b13c94096d764868128f388ba28':
  tls: Remove all the local polling loops

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 02:49:38 +02:00
Michael Niedermayer
9221e362fd Merge commit 'd13b124eaf452b267480074b2e6946538ed03a6e'
* commit 'd13b124eaf452b267480074b2e6946538ed03a6e':
  tls: Remove the nonblocking code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 02:38:11 +02:00
Michael Niedermayer
162644c833 Merge commit 'd15eec4d6bdfa3bd4c4b5b7dd2dbd699ba253d02'
* commit 'd15eec4d6bdfa3bd4c4b5b7dd2dbd699ba253d02':
  tls: Use custom IO to read from the URLContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 02:28:27 +02:00
Urvang Joshi
6b56fcbd10 WebP muxer: support a packet containing animated WebP.
This is the 1st patch in preparation for using WebPAnimEncoder API for encoding
and muxing WebP images.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 00:17:53 +02:00
Martin Storsjö
94599a6de3 tls: Remove all the local polling loops
These aren't necessary any longer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-22 00:06:11 +03:00
Martin Storsjö
d13b124eaf tls: Remove the nonblocking code
Since the underlying URLContext read functions are used,
they handle interruption, without having to handle it at
this level.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-22 00:05:01 +03:00
Martin Storsjö
d15eec4d6b tls: Use custom IO to read from the URLContext
This avoids hijacking the fd, by reading using the normal
URLContext functions instead. This allowing reading data that has
been buffered in the underlying URLContext.

This avoids using the libraries own send functions that can
cause SIGPIPE.

The fd is still used for polling the lowlevel socket, for
waiting for retries.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-22 00:04:32 +03:00
Michael Niedermayer
1c6ede3360 doc/ffmpeg: basic documentation for -copy/ignore_unknown
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-21 22:32:24 +02:00
Zhang Rui
c886dd2f58 avformat/mov: check result of avio_seek
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-21 18:48:18 +02:00
Michael Niedermayer
18833daf9d ffmpeg: Support copying unknown streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-21 18:21:38 +02:00
周晓勇
33e9473366 avcodec/mips: loongson fix bugs in mathops optimization
the incorrect UMULH, ff_sqrt, MAC64 and MLS64 to be optimized later, delete them just for now.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-21 17:46:33 +02:00
Michael Niedermayer
818275bbd0 avutil/pixfmt: s/luma sample positions/horizontal luma sample positions/
Better to be explicit before someone thinks this could be the time axis ...

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-21 12:48:16 +02:00
Michael Niedermayer
8a141ad5e8 avutil/pixfmt: make luma sample positions even more explicit in the AVChromaLocation ASCII art
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-21 12:44:23 +02:00
Michael Niedermayer
b95df4c371 avutil/pixfmt: Clarify mpeg example comments for AVChromaLocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-21 12:40:29 +02:00
Michael Niedermayer
acccc28713 avutil/pixfmt: clarify chroma location text further, as "first" is ambigous
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-21 12:35:22 +02:00
Michael Niedermayer
a3b0130dee avutil/pixfmt: Clarify that the ASCII art describes the location of the first chroma sample of AVChromaLocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-21 12:30:46 +02:00
Michael Niedermayer
0b9d636877 ffmpeg_opt: add missing space in error message
Found-by: rcombs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-21 01:47:50 +02:00
Michael Niedermayer
737b0ca65b Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavc/qdrw: Do not fail decoding valid Quickdraw images.
  lavf/mov: Use AVCOL_SPC constants when checking color_space.
  lavf/mov: Write colour matrix "6" for color_space bt470bg.
  lavf/mkv: Only skip prores header if the packet is large enough.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-21 01:26:36 +02:00
Michael Niedermayer
592b053c7b ffmpeg_opt: fix the error message log level for the unsupported stream types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-21 01:10:53 +02:00
Michael Niedermayer
100df10b0f ffmpeg_opt: Give the user a hint on how to ignore unsupported streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-21 01:10:53 +02:00
James Almer
40bf3687a1 libvpx: add support for yuv440p and yuv440p10/12 encoding
Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-05-20 20:08:56 -03:00
Carl Eugen Hoyos
209e91cbc4 lavc/qdrw: Do not fail decoding valid Quickdraw images. 2015-05-21 01:05:13 +02:00
Carl Eugen Hoyos
4fb3efd2c1 lavf/mov: Use AVCOL_SPC constants when checking color_space.
Suggested-by: Ronald Bultje
2015-05-21 01:04:57 +02:00
Carl Eugen Hoyos
c4f864193f lavf/mov: Write colour matrix "6" for color_space bt470bg.
This matches the demuxer's behaviour.
2015-05-21 01:04:45 +02:00
Rodger Combs
a2aff2690b ffmpeg: support ignoring unsupported mapped streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-21 00:52:06 +02:00
Carl Eugen Hoyos
8f6b919d99 lavf/mkv: Only skip prores header if the packet is large enough.
Fixes a possible endless loop.
2015-05-21 00:43:38 +02:00
Michael Niedermayer
642355712b Merge commit '3efe0393e4f0eaa27bac8833edbd7d3cff4704e1'
* commit '3efe0393e4f0eaa27bac8833edbd7d3cff4704e1':
  hevc: make avcodec_decode_video2() fail if get_format() fails

Conflicts:
	libavcodec/hevc.c

See: cc5e4bb484
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-20 21:40:05 +02:00
Andreas Cadhalpun
bb23a15df5 nutdec: abort if EOF is reached in decode_info_header/read_sm_data
These loops can take a lot of time if count is very large.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-20 20:43:54 +02:00
Vittorio Giovara
265d884eb0 avcodec/vmnc: Add back adapted comment about 24bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-20 19:24:54 +02:00
Michael Niedermayer
6b783d2ace Merge commit '7046bd9bc9ce04521edf453c9b603d84d69c7512'
* commit '7046bd9bc9ce04521edf453c9b603d84d69c7512':
  lavfi: Move avcodec header to the only filter needing it

Conflicts:
	libavfilter/avfilter.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-20 19:14:11 +02:00
Andreas Cadhalpun
fa7dec8cb0 nutdec: stop skipping bytes at EOF
This can unnecessarily waste a lot of time.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-20 19:07:26 +02:00
Andreas Cadhalpun
37e679881d nutdec: fix infinite resync loops
nut->last_syncpoint_pos doesn't necessarily change between resync
attempts, so find_any_startcode can return the same startcode again.

Thus remember where the last resync happened and don't try to resync
before that.

This can't be done locally in nut_read_packet, because this wouldn't
prevent infinite resync loops, where after the resync a packet is
returned and while reading a following packet the resync happens again.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-20 19:07:26 +02:00
Michael Niedermayer
b6ca7bfc7c avcodec/vmnc: Simplify "24bit" support
This also makes the code more robust, removing potential out of
array writes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-20 18:50:38 +02:00
Michael Niedermayer
a4c7aeaf82 Merge commit 'eafbc6716cede6d4a652f8bedf82f2901c68d06d'
* commit 'eafbc6716cede6d4a652f8bedf82f2901c68d06d':
  vmnc: Delay pixel size check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-20 18:41:43 +02:00
Michael Niedermayer
6d1935d1b9 avcodec/hevc: Remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-20 18:15:22 +02:00
周晓勇
f9d05786a8 configure: add cpuflags for loongson3 series cpu
Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-20 17:57:59 +02:00
Michael Niedermayer
b3496b4a33 avformat/nutdec: Fix recovery when immedeately after seeking a failure happens
Found-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-20 17:48:28 +02:00
Michael Niedermayer
6bbb2f8f4d avformat/nutdec: Return error on EOF from get_str()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-20 17:20:58 +02:00
Michael Niedermayer
611e1085f8 fate: Add fate-mathops test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-20 15:50:58 +02:00
Michael Niedermayer
50965e0673 avcodec: add mathops test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-20 15:50:58 +02:00
Carl Eugen Hoyos
eb0c08bc69 lavc/vmnc: Fix 32bit colour-space, there is no transparency. 2015-05-20 14:59:38 +02:00
周晓勇
0d41f1ffbc configure: disable mipsfpu for loongson3
MIPSFPU optimization does't support FATE correctly on Loongson-3.

Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-20 12:24:59 +02:00
Michael Niedermayer
886ba93009 doc/encoders: add flac
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-20 12:09:46 +02:00
Niklesh
b44a55ad2d Fix movtext crashes caused due to lack of proper bounds checking
Signed-off-by: Niklesh <niklesh.lalwani@iitb.ac.in>
2015-05-19 20:15:15 -07:00
Michael Niedermayer
b8e7f2b277 avcodec/flacenc: Support Multi dimensional quantization
Now with exact bit computations if exact_rice_parameters is enabled

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-20 01:35:29 +02:00
wm4
3efe0393e4 hevc: make avcodec_decode_video2() fail if get_format() fails
Personally, I need the decoder to back out if get_format() returns no
usable pixel format. This didn't work because the error code was not
propagated down the call chain. This in turn happened because the
variable declaration removed in this patch shadowed the variable, whose
value is returned at the end of the function. Consequently, failures of
decode_nal_unit() were ignored in this place.

Reviewed-by:  Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-19 18:59:06 +01:00
Vittorio Giovara
7046bd9bc9 lavfi: Move avcodec header to the only filter needing it
af_ashowinfo, due to the enum AVAudioServiceType use.
2015-05-19 18:56:40 +01:00
Vittorio Giovara
eafbc6716c vmnc: Delay pixel size check
Some clients incorrectly set 24 as bits_per_coded_sample, while
the actual value is preserved in one of the codec headers.
In order to work around this, delay the check until decode_frame().

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-05-19 18:55:30 +01:00
Michael Niedermayer
215410860f avcodec/flacenc: Mark pointers/array arguments const which are not changed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-19 19:47:22 +02:00
Michael Niedermayer
5dfcb4f74d avcodec/flacenc: Simplify md5 calculation code by using AV_WL24()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-19 19:41:44 +02:00
Michael Niedermayer
710abaf2c5 avutil/pixfmt: Improve ascii art showing the meaning of the AVChromaLocation values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-19 17:47:28 +02:00
Michael Niedermayer
7786a91b47 avcodec/flacenc: Move udata and sums to FlacSubframe
This significantly reduces the amount of stack space needed and
also permits to simply copy the rice context again without speed
penalty

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-19 13:48:30 +02:00
Michael Niedermayer
df5e408d32 fate: Add test for -exact_rice_parameters 1 2015-05-19 13:43:18 +02:00
Michael Niedermayer
80f9d6e0ab avcodec/flacenc: Support calculating rice parameters exactly
Some files benefit by about 0.3% from this, and speedwise its ok
other files do not benefit and encode to the same size

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-19 13:42:56 +02:00
Michael Niedermayer
d3dcd28812 avcodec/flacenc: Do not copy unused udata array -> 5x faster calc_rice_params()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-19 12:11:27 +02:00
Michael Niedermayer
d0ac2f59aa avcodec/golomb: Remove disabled and broken code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-19 03:25:53 +02:00
Michael Niedermayer
8ea9334b31 avcodec/mss2: use < 0 instead of != 0 to check for error of vlc initialization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-19 03:25:53 +02:00
Michael Niedermayer
b0322e4a9e ffmpeg_opt: Compensate for DTS/PTS difference in seeking when its based on DTS
Fixes Ticket4554

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-18 21:16:36 +02:00
Steve Borho
b012bd5068 libavcodec/x265: detect csps in libx265_encode_init_csp()
Without this change, if you link with an 8bit libx265 and try to specify
a 10bit input color space via:

  ffmpeg -i in.mov -c:v libx265 -pix_fmt yuv420p10le out.mp4

It will error with:

  Incompatible pixel format 'yuv420p10le' for codec 'libx265',
  auto-selecting format 'yuv420p'

With this fix, it will learn if a 10bit libx265 is available at startup,
and thus allow 10bit input color spaces.

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-05-18 15:27:51 -03:00
Michael Niedermayer
4b0f78ad1f avcodec/snow_dwt: Remove ff_ prefix from ff_spatial_idwt_init() and ff_spatial_idwt_slice()
They are only used once in the file in which they are defined

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-18 14:07:48 +02:00
Michael Niedermayer
c6bf27d59b avcodec/hevc_cabac: Rename ff_hevc_transform_skip_flag_decode() to hevc_transform_skip_flag_decode()
The function is static and used once in the file its defined in

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-18 13:28:49 +02:00
Michael Niedermayer
0c0d1a4ef2 avfilter/avfiltergraph: Rename ff_avfilter_graph_config_pointers to graph_config_pointers.
The function is static and only used once in the file its defined in.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-18 13:22:27 +02:00
Michael Niedermayer
e32d832a82 avformat/mxfenc: Set horizontal chroma subsample value from pixel format if available
Reviewed-by: tim nicholson <nichot20@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-18 10:52:40 +02:00
Michael Niedermayer
58afb3128b avformat/mxfenc: Set the component depth from the pixel format if available
Reviewed-by: tim nicholson <nichot20@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-18 10:49:28 +02:00
Michael Niedermayer
451be676f3 Merge remote-tracking branch 'rbultje/vp9-bugfixes'
* rbultje/vp9-bugfixes:
  vp9: match another find_ref_mvs() bug in libvpx.
  vp9: fix scaled motion vector clipping for sub8x8 blocks.
  vp9: improve signbias check.
  vp9: don't allow compound references if error_resilience is enabled.
  vp9: clamp segmented lflvl before applying ref/mode deltas.
  vp9: reset loopfilter mode/ref deltas on keyframe.
  vp9: fix crash when playing back 440/440 content with width%64<56.
  vp9: extend loopfilter workaround for vp9 h/v mix-up to work for 422.
  vp9: clip motion vectors in the same way as libvpx does.
  vp9: set skip flag if the block had no coded coefficients.
  vp9: apply mv scaling workaround only when subsampling is enabled.
  vp9: read all 4x4 blocks in sub8x8 blocks individually with scalability.
  vp9: fix segmentation map referencing upon framesize change.
  vp9: disable more pmulhrsw optimizations in idct16/32.
  vp9: disable all pmulhrsw in 8/16 iadst x86 optimizations.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-18 02:35:16 +02:00
Michael Niedermayer
66f4b1e9c4 cmdutils: Fix sign error in display matrix auto-rotation code
This makes the sample from Ticket4560 behave consistently with either branch

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-18 02:07:34 +02:00
Michael Niedermayer
57e38043de ffmpeg: Do not copy the display matrix if rotation meta-data is manually added
Fixes Ticket4560

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-18 00:52:36 +02:00
Michael Niedermayer
14c4b25158 avcodec/golomb: fix reading huge signed rice golomb values
No testcase is known, nor any case where such huge values would occur

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-17 19:36:38 +02:00
Michael Niedermayer
c720b9ce98 avcodec/golomb: get_ur_golomb_jpegls: Fix reading huge k values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-17 19:36:32 +02:00
MrBoogs
4f2fcac290 avformat/hlsenc: do not append an endlist tag when the stream ends
Reviewed-by: Thomas Volkert <silvo@gmx.net>
2015-05-17 17:15:03 +02:00
MrBoogs
572a8292cb avformat/hlsenc: Add hls flag for starting a playlist with a discontinuity on startup
Reviewed-by: Thomas Volkert <silvo@gmx.net>
2015-05-17 17:14:00 +02:00
MrBoogs
8fd01b4a79 avformat/hlsenc: Add hls flag for rounding m3u8 durations to whole numbers, problems with floats on some devices
Reviewed-by: Thomas Volkert <silvo@gmx.net>
2015-05-17 17:11:44 +02:00
Michael Niedermayer
b6fcb2bb6d avcodec/flacdec: Attempt to auto-detect old buggy flac
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-17 13:42:32 +02:00
Carl Eugen Hoyos
83356cf6cc lavc/vc1: Never decode vc1 as gray if gray decoding was not enabled. 2015-05-17 12:58:44 +02:00
Carl Eugen Hoyos
ee8c18387d lavf/mpeg: Do not detect unknown audio in Hikvision streams as alaw. 2015-05-17 12:57:27 +02:00
Carl Eugen Hoyos
70c0433525 lavc: Print a warning if gray decoding was requested but not enabled. 2015-05-17 10:22:03 +02:00
Carl Eugen Hoyos
2acc065653 lavf/wav: Read files >4G if no smaller filesize was written.
Fixes second part of ticket #4543.
2015-05-17 02:08:58 +02:00
Carl Eugen Hoyos
2608f11863 lavf/wav: Print an error if files >4G are written.
Additionally, don't write an incorrect shorter size for such files.

Fixes part of ticket #4543.
2015-05-17 02:08:58 +02:00
Carl Eugen Hoyos
101f26e758 lavc/h263: Set color_range for gray decoding. 2015-05-17 02:08:58 +02:00
Carl Eugen Hoyos
4d8bd60ac6 lavc/vc1: Set color_range for gray decoding. 2015-05-17 02:08:58 +02:00
Carl Eugen Hoyos
caa41d1e4c lavf/mov: Tell users about the use_absolute_path option.
Fixes ticket #4539.
2015-05-17 02:08:58 +02:00
Carl Eugen Hoyos
1eda55510a lavc/qdrw: Fix overwrite when reading invalid Quickdraw images. 2015-05-17 02:08:58 +02:00
Carl Eugen Hoyos
e609cfd697 lavc/flac: Fix encoding and decoding with high lpc.
Based on an analysis by trac user lvqcl.

Fixes ticket #4421, reported by Chase Walker.
2015-05-17 02:08:58 +02:00
Carl Eugen Hoyos
38f5a266ee lavc/flacdec: Sanitize FLACSTREAMINFO usage. 2015-05-17 02:08:58 +02:00
Michael Niedermayer
488383afd1 avformat/avidec: add mp2 to the list of exceptions instead of generally treating dshow_block_align==1 special
Fixes Ticket4552

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-17 01:46:09 +02:00
Michael Niedermayer
b87dd7f82d ffmpeg: only apply last picture flush code at EOF
Fixes Ticket4562

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-17 00:34:08 +02:00
Michael Niedermayer
8e3b1f259e avfilter/buffersink: return EOF if closed link in av_buffersink_get_frame_flags()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-17 00:22:09 +02:00
Michael Niedermayer
bd8f2fa525 Merge commit '732dd658687bd9a2e5c622e38c481825b57af250'
* commit '732dd658687bd9a2e5c622e38c481825b57af250':
  doc: Add $branch to FATE config template

Conflicts:
	doc/fate.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-16 21:14:01 +02:00
Michael Niedermayer
3fb726c6b4 avcodec/aacenc: use < 0 instead of != 0 for error checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-16 19:07:31 +02:00
Michael Niedermayer
2580bae54a avcodec/j2kenc: Use ret < 0 instead of ret != 0 for error checks
This is how most code in FFmpeg checks for failures

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-16 18:47:14 +02:00
Michael Niedermayer
da4ef13cb2 avformat/mux: use <0 instead of != 0 for error check of init_muxer()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-16 18:37:21 +02:00
Ronald S. Bultje
900e3af857 vp9: match another find_ref_mvs() bug in libvpx.
If we find a second non-sub8x8 motion vector for a non-first sub8x8
block, and the clamped value is identical to the first non-sub8x8
motion vector, then the resulting nearmv motion vector is forced to
zero.
2015-05-16 11:59:01 -04:00
Timothy Gu
732dd65868 doc: Add $branch to FATE config template
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-16 17:06:35 +02:00
Ronald S. Bultje
ccfb03ecc4 vp9: fix scaled motion vector clipping for sub8x8 blocks.
To match the obscure clipping bug behaviour in libvpx.
2015-05-16 08:36:19 -04:00
Michael Niedermayer
f8598cefe9 avdevice/v4l2: Fix vertical alignment in list_formats() output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-16 14:35:36 +02:00
Michael Niedermayer
50393bce31 avformat/mov: Fix parsing short loci
Fixes Ticket4557

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-16 14:07:15 +02:00
Michael Niedermayer
9e4f0cfc8f avformat/mov: Print reason of loci parsing failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-16 14:06:25 +02:00
anatolschwarz
77cc0d5b59 ffmpeg: Support preserving the source key frame timings
Added option "source" to force_key_frames
2015-05-16 12:55:19 +02:00
Ronald S. Bultje
68c1e91316 vp9: improve signbias check.
Otherwise it will still scale motion vectors, which leads to corrupted
prediction.
2015-05-15 21:14:08 -04:00
Michael Niedermayer
3a91a07f15 ffmpeg: Remove another unneeded ost->filter_graph check
Fixes CID1241508

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 23:46:10 +02:00
Michael Niedermayer
3051e7fa71 avcodec/hevc: Fix typo in num_entry_point_offsets check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 23:46:10 +02:00
Michael Niedermayer
c64b2d480b avcodec/libtheoraenc: Check for av_malloc failure
Fixes CID1257799

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 23:46:10 +02:00
Ronald S. Bultje
32b6d31ef3 vp9: don't allow compound references if error_resilience is enabled.
libvpx (probably accidentally) clears the bits if error_res is set,
along with keyframe/intraonly. This probably wasn't the intention
(since it's local data), but it's behaviour we have to copy...
2015-05-15 15:43:24 -04:00
Ronald S. Bultje
5de142d316 vp9: clamp segmented lflvl before applying ref/mode deltas. 2015-05-15 15:43:23 -04:00
Ronald S. Bultje
c81677e9b7 vp9: reset loopfilter mode/ref deltas on keyframe. 2015-05-15 15:43:23 -04:00
Ronald S. Bultje
88126916c8 vp9: fix crash when playing back 440/440 content with width%64<56. 2015-05-15 15:43:23 -04:00
Ronald S. Bultje
3e634e3e98 vp9: extend loopfilter workaround for vp9 h/v mix-up to work for 422. 2015-05-15 15:43:20 -04:00
Michael Niedermayer
e6ec65d2d3 avformat/rtsp: print a debug level note if time parsing fails
Fixes CID733718 again

This partly reverts commit eb7ddb5066.
2015-05-15 20:21:37 +02:00
Michael Niedermayer
ff1d85b0ed avcodec/svq1dec: Remove duplicate buf_size check
Fixes CID1297573

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 20:06:24 +02:00
Michael Niedermayer
fc624ec9ba avcodec/dcadec: Check active_bands
Fixes CID1297594 part2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 18:29:40 +02:00
Michael Niedermayer
0f3e6959bf avcodec/dcadec: Check scale table index
Fixes CID1297594 part 1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 18:27:49 +02:00
Michael Niedermayer
ade8a46154 avcodec/sonic: More completely check sample_rate_index and channels
Fixes CID1271783

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 17:31:58 +02:00
Michael Niedermayer
c131a9fead avcodec/sonic: check memory allocations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 17:26:54 +02:00
Michael Niedermayer
cdd25f9a3d avcodec/smvjpegdec: check avcodec_decode_video2() return code
Fixes CID1271810

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 17:21:48 +02:00
Michael Niedermayer
294469416d avcodec/shorten: More complete pred_order check
Fixes CID1239055

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 17:02:28 +02:00
Michael Niedermayer
2d15588124 avcodec/shorten: Fix code depending on signed overflow behavior
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 16:58:51 +02:00
Michael Niedermayer
d201becfc0 avcodec/shorten: Check skip_bytes()
Fixes CID1210526

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 16:48:31 +02:00
Michael Niedermayer
c347f75d6b avcodec/put_bits: Remove dead code in put_bits()
Fixes CID1297574

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 16:19:53 +02:00
Michael Niedermayer
c4c6aea397 avcodec/proresdec2: Reset slice_count on deallocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 15:23:32 +02:00
Michael Niedermayer
5e1d530f91 avcodec/vp9: Use separate memset for counts.eob
Makes no real difference, but maybe scares coverity less (CID1297578)

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 13:03:52 +02:00
Michael Niedermayer
670702f91d ffmpeg: Print an error if avfilter_graph_queue_command() failed
Fixes CID1271809

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 12:41:28 +02:00
Michael Niedermayer
da2f156843 ffmpeg: remove unneeded ost->filter check
Fixes CID1241508

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 12:34:20 +02:00
Michael Niedermayer
3793caa5e2 avcodec/acelp_vectors: Assert that x is within the array in ff_set_fixed_vector()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 12:17:40 +02:00
Michael Niedermayer
dc4a621e9c avcodec/vp3: Cleanup order of operations for current_run check
This shouldnt make a difference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 11:12:13 +02:00
Ronald S. Bultje
29045fbfd4 vp9: clip motion vectors in the same way as libvpx does.
The practical effect of this is that the scaling will wrongly not be
applied to the interpolation edge (the 3/4 constants in this patch).
In other words, we clip to the pre-scaling interpolation, even though
these should be clipped post-scaling. The resulting out-of-frame MVs
are thus automatically clipped within the visible portion of the frame,
which is probably not the intention, but is unfortunately what libvpx
does, so we need to copy that behaviour.
2015-05-14 22:13:46 -04:00
Michael Niedermayer
ca688de2c7 fate: increase the number of filtered frames to 20 for edgedetect* & hue
Suggested-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 03:13:49 +02:00
Ronald S. Bultje
96a58a8daa vp9: set skip flag if the block had no coded coefficients.
This reproduces libvpx behaviour. It seems like it originally only
targeted loopfilter behaviour, but this unfortunately effects following
block contexting and thus directs bitstream sync.
2015-05-14 20:13:43 -04:00
Vignesh Venkatasubramanian
b5508f74b9 lavf/webmdashenc: fix unchecked strftime
Fix unchecked strftime return value. This patch fixes Coverity
CID 1295086.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 00:56:43 +02:00
Michael Niedermayer
47cbcf20d6 avcodec/h264_slice: Fix ranges in assert
Fixes CID1297592, CID1297593

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 00:30:32 +02:00
Michael Niedermayer
9f0b898e82 avcodec/dvbsubdec: Clear w/h/size on region buffer allocation failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 23:25:39 +02:00
Michael Niedermayer
8f1afde11d avcodec/diracdec: Make data_unit_size unsigned
Fixes CID1271788

with this change the value is more explicitly checked, it was fully checked
before though

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 23:18:49 +02:00
Ronald S. Bultje
1e4a77d001 vp9: apply mv scaling workaround only when subsampling is enabled. 2015-05-14 17:05:18 -04:00
Ronald S. Bultje
dc96c0f9fc vp9: read all 4x4 blocks in sub8x8 blocks individually with scalability. 2015-05-14 16:38:53 -04:00
Ronald S. Bultje
e12188e143 vp9: fix segmentation map referencing upon framesize change. 2015-05-14 16:37:49 -04:00
Michael Niedermayer
a9bf628bfd avcodec/dcadec: Check subsubframes
Fixes: CID1239152

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 21:29:19 +02:00
Michael Niedermayer
a6a45774d0 avcodec/dcadec: Check nchans
Fixes CID1239110

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 20:55:59 +02:00
Ronald S. Bultje
d32d0593f1 vp9: disable more pmulhrsw optimizations in idct16/32.
For idct16, only when called from a adst16x16 variant, so impact is
minor. For idct32, for all, so relatively major impact.
2015-05-14 14:15:27 -04:00
Ronald S. Bultje
96d30c3495 vp9: disable all pmulhrsw in 8/16 iadst x86 optimizations.
They all overflow in various samples that are considered valid input.
2015-05-14 13:39:37 -04:00
wm4
cc5e4bb484 hevc: make avcodec_decode_video2() fail if get_format() fails
Personally, I need the decoder to back out if get_format() returns no
usable pixel format. This didn't work because the error code was not
propagated down the call chain. This in turn happened because the
variable declaration removed in this patch shadowed the variable, whose
value is returned at the end of the function. Consequently, failures of
decode_nal_unit() were ignored in this place.

Reviewed-by:  Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 18:58:56 +02:00
Michael Niedermayer
f6b8b96607 avcodec/cavsdec: Use ff_set_dimensions()
Fixes CID1239111 part2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 18:12:30 +02:00
Michael Niedermayer
c5c06e392b avcodec/cavsdec: Check frame_rate_code
Fixes CID1239111 part1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 18:12:30 +02:00
Michael Niedermayer
139e1c8009 avcodec/cavsdec: Check esc_code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 17:56:16 +02:00
Nedeljko Babic
729466dc68 libavutil/softfloat: Add test case for av_add_sf
Recently normalization (av_normalize_sf) of output was added to av_add_sf.
This normalization is used for better precision for small values and the
purpose of this (quite simple) test case is to test difference between double
and softfloat.

The values used are tailored to maximally highlighte problem with precison when
normalization is not used.

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 17:00:46 +02:00
Michael Niedermayer
019daa0775 avcodec/qdrw: Fix the code which asks for version 1 samples
The new code only asks for version 1 if its actually version 1 and
prints the version bytes if its something else

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 12:35:39 +02:00
Michael Niedermayer
5c8e4bf7c4 avcodec/qdrw: another try at skipping the first 512 bytes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 12:35:39 +02:00
Clément Bœsch
5c219e289e avcodec/srtdec: attempt to correct SubRip positioning
The positioning was completely wrong. First, the coordinates are
expressed in ASS playback resolution (which is by default 384x288).
Secondly, the coordinates define a drawing rectangle, not a moving area.
The previous code was making subtitles move from a random position to
another random position.

Here we rescale assuming the video resolution is a DVD one (720x480). We
can't really do anything better so far, but since this positioning
information is often from a DVD rip we can consider them relatively
safe.
2015-05-14 12:11:34 +02:00
Clément Bœsch
56bc0a6736 avcodec/ass: make default playback resolution available to decoders 2015-05-14 12:11:34 +02:00
Rong Yan
a2cd07d22a avcodec/ppc/h264dsp: POWER LE support in h264_idct_dc_add_internal() fix vec_lvsl bug
We got defective video when use GCC 4.9.2 instead of GCC 4.9.1 to compile FFMEPG. And further found
that GCC 4.8 and 4.9 need patch to fix the lvsl/lvsr bug on POWER LE, and GCC 5.1 contains
the correct code since its release. The message on gcc-patches requesting approval for lvsl/lvsr
patch is at https://gcc.gnu.org/ml/gcc-patches/2014-10/msg00228.html.

The fixed code avoids using lvsl and will not depends on GCC version, also it uses less instructions on POWER LE.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 11:08:07 +02:00
Shivraj Patil
8252f63d1b avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC uni hv mc functions
Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 02:24:01 +02:00
Michael Niedermayer
88f29406b7 avformat/nutdec: Remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 02:23:08 +02:00
Timothy Gu
eaeb632198 nutdec: Remove unused label
Added in 361702660d. Modified version that
doesn't use this label merged in 55231323b0,
thus obsoleting this label.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 02:08:12 +02:00
Michael Niedermayer
50d878d930 avcodec/msrledec: Ask for sample that uses a branch with a unused byte
Finding out if this is correct or buggy is easiest with a sample

Fixes: CID1297620

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 01:16:49 +02:00
Michael Niedermayer
22f15f5735 avcodec/on2avc: Check run more carefully
Fixes CID1239106

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 01:01:35 +02:00
Michael Niedermayer
93cfa7d169 avcodec/mpeg4audio: add some padding/alignment to MAX_PCE_SIZE
This avoids potential accesses over the end

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 00:12:34 +02:00
Rainer Hochecker
adb7372f74 swr: fix alignment issue caused by 8ch sse functions
Fix crash when doing 8 ch conversion from apps compiled with MSVS
Thanks to Ronald for giving this hint:
https://ffmpeg.org/pipermail/ffmpeg-devel/2015-May/173049.html

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 22:44:06 +02:00
Michael Niedermayer
cc48409b51 Merge commit 'e7c5e17d4fbd7c83fb331bf327e25ebd8e6a8623'
* commit 'e7c5e17d4fbd7c83fb331bf327e25ebd8e6a8623':
  vda: Make output CVPixelBuffer format configurable

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 22:42:49 +02:00
Michael Niedermayer
a3adba358b Merge commit '3b5e5e6a29d62462d0505287042fa4c2b99c4f2b'
* commit '3b5e5e6a29d62462d0505287042fa4c2b99c4f2b':
  libx265: Use the Multi-library Interface

See: 94c20de429
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 22:32:13 +02:00
Michael Niedermayer
3bf81d3896 Merge commit '85ca012ba680bdf942d95ab98c74f6a28f447588'
* commit '85ca012ba680bdf942d95ab98c74f6a28f447588':
  mjpegenc: Fix JFIF header byte ordering

Conflicts:
	libavcodec/mjpegenc_common.c

See: b19313218c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 22:19:05 +02:00
Michael Niedermayer
53d2b69b72 Merge commit 'd84429d41e24437536907af1e6b73197ecf3f6db'
* commit 'd84429d41e24437536907af1e6b73197ecf3f6db':
  dnxhd: Print unknown header when found

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 22:11:04 +02:00
Michael Niedermayer
e5397513b9 Merge commit '8fc11abe1fea4f211cc7dbd58a173d1221627d90'
* commit '8fc11abe1fea4f211cc7dbd58a173d1221627d90':
  mkv: Print unsupported mov tags when found

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 22:04:02 +02:00
Michael Niedermayer
4b28907e4a avcodec/qdrw: cleanup skip code
Skip 512 byte sectors until a non zero resolution is found

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 21:49:21 +02:00
Michael Niedermayer
b6e8166a48 Merge commit '0348e74c01a099a3787ae21df1c2a742fc846163'
* commit '0348e74c01a099a3787ae21df1c2a742fc846163':
  quickdraw: Skip the empty 512 byte header for images

See: b453e76842
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 21:13:52 +02:00
Michael Niedermayer
5d9873ecda Merge commit 'd0dce15da34c0e4eee6c683be299de0221db00d3'
* commit 'd0dce15da34c0e4eee6c683be299de0221db00d3':
  quickdraw: Make the palette opaque

Conflicts:
	libavcodec/qdrw.c

See: 9f9a1f424e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 20:38:49 +02:00
Andreas Cadhalpun
cb7c4f73e5 cafdec: free extradata before allocating it
This fixes a memleak if read_kuki_chunk is executed more than once.

Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-13 20:11:37 +02:00
Andreas Cadhalpun
a3ede6b742 cafdec: check avio_read return value
If avio_read fails, the buffer can contain uninitialized values.

Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-13 20:09:25 +02:00
Michael Niedermayer
81cf910856 avcodec/mjpegdec: fix len computation in ff_mjpeg_decode_dqt()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 18:36:50 +02:00
Michael Niedermayer
cf9ab119d0 avcodec/mjpegdec: Check len in ff_mjpeg_decode_dht()
Fixes CID1239167

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 17:44:35 +02:00
Stefano Pigozzi
e7c5e17d4f vda: Make output CVPixelBuffer format configurable
This is useful for client programs to ask for nv12 surfaces instead of the
current default (uyvy), since those are more efficient to decode to.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-13 17:39:37 +02:00
Michael Niedermayer
dc35a58149 avcodec/mjpegdec: Check len in ff_mjpeg_decode_dqt()
Fixes CID1239060

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 17:39:11 +02:00
Gopu Govindaswamy
3b5e5e6a29 libx265: Use the Multi-library Interface
Use the Multi-library interface to load at runtime x265 libraries
supporting alternative bit depths (e.g. 8bit and 16bit).

The linked library will try to load the library supporting the
pixel format if it is not supported by itself.

Fallback requesting the native library (passing 0 to x265_api_get) if
a library supporting the requested bit depth is not available.

Signed-off-by: Gopu Govindaswamy <gopu@multicorewareinc.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-13 17:14:50 +02:00
Michael Niedermayer
6d3f17838d avcodec/jpeglsdec: assert that overflows end at exactly x=w
If that ever was untrue, there would be a bug in the code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 15:48:17 +02:00
Michael Niedermayer
f8f155a18a avcodec/jpeg2000dec: fix boolean operator
Fixes CID1271791 #7-6

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 15:15:55 +02:00
Michael Niedermayer
04da0d2586 avcodec/hevc_ps: Move log2_ctb_size checks up to prevent undefined shift operations
Fixes CID1292293

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 14:38:11 +02:00
Michael Niedermayer
65e5032955 avcodec/hevc_ps: Explicitly check num_tile_* for negative values
This fixes nothing but maybe helps coverity which does not see that this is failing later

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 14:26:17 +02:00
Michael Niedermayer
b195aa5d52 avcodec/hevc_ps: Check vps_num_hrd_parameters
Fix CID1239052 part2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 14:26:17 +02:00
Michael Niedermayer
16c95b1073 avcodec/hevc_ps: More completely check vps_num_layer_sets
Fixes CID1239052  part1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 14:26:17 +02:00
Michael Niedermayer
6679d5f29a avcodec/hevc: Simplify entry_point_offset parsing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 14:26:17 +02:00
Michael Niedermayer
1c6ae98d4a avcodec/hevc: Check num_entry_point_offsets
Fixes CID1239099 part 2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 14:26:17 +02:00
Michael Niedermayer
3e9d5e16ad avcodec/hevc: Check offset_len
Fixes CID1239099 part 1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 14:26:17 +02:00
Dave Rice
6d787aea96 doc/ffprobe.xsd: add build_date and build_time as optional attributes
This partly undoes 7b35a01.

The intent of patch 7b35a01 was to no longer use build_date and
build_time as attributes of programVersion, but the patch also had the
effect of making all records generated with an earlier ffprobe build with
build_date and build_time as invalid.

This patch puts the two attributes back but without mandating their use,
thus older ffprobe records as backwards compatible with the current
schema and their use is no longer required.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2015-05-13 12:35:16 +02:00
Dave Rice
b0294f0cfb doc/ffprobe.xsd: remove extra sequence from streamType
This makes the XSD valid again. Fixes a regression from a72b61a.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2015-05-13 12:35:16 +02:00
Nick Lewycky
891df2a1ae libswscale/x86/hscale_fast_bilinear_simd.c: There's no need to save BX if it's in the clobber list.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 11:59:30 +02:00
Nick Lewycky
48e9f68384 libswscale/x86/hscale_fast_bilinear_simd.c: Include BX in the clobber list on x86_64, because it isn't implicitly included when PIC is on.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 11:59:12 +02:00
周晓勇
ce95c14cd4 configure: disabled -mips64 option for loongson and remove redundant cpuflags
1.Option -march=loongson3a conflicts with -mips64 or -mips64r2.
2.Option -mhard-float has been removed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 11:34:59 +02:00
Andreas Cadhalpun
51f6455285 imgutils: initialize palette padding bytes in av_image_alloc
av_image_fill_pointers always aligns the palette, but the padding
bytes don't (and can't) get initialized in av_image_copy.

Thus initialize them in av_image_alloc.

This fixes 'Syscall param write(buf) points to uninitialised byte(s)'
valgrind warnings.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 03:58:08 +02:00
Andreas Cadhalpun
a7c0c79333 aacdec: remove a duplicated line
got_frame_ptr is set again after the if block.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 01:59:51 +02:00
Michael Niedermayer
00f5c8f98d avfilter/vf_zoompan: free out AVFrame on failure
Fixes: CID1197065

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 01:58:45 +02:00
Michael Niedermayer
93b0ee21a2 avcodec/hevc_sei: Check num_sps_ids_minus1 value
Fixes CID1271794

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 01:42:52 +02:00
Michael Niedermayer
8a62b80ce6 avcodec/vqavideo: Check chunk size
Fixes CID1239154

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 00:41:38 +02:00
Andreas Cadhalpun
ec38a1ba40 aacdec: don't return frames without data
Since commit 676a395a aac->frame->data is not necessarily allocated at
the end of aac_decode_frame_int if avctx->channels is 0.

In this case a bogus frame without any data, but non-zero nb_samples is
returned.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 21:19:35 +02:00
Michael Niedermayer
d3c9f1fdbe avfilter/avf_showcqt: Fix gamma comparisons
Fixes CID1297587, CID1297586, 1297585

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 20:31:21 +02:00
Michael Niedermayer
0d05406482 avfilter/vf_cover_rect: Handle the case where the cover rectangle is as large as the input
Fixes division by 0
Fixes CID1297575

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 20:19:47 +02:00
Michael Niedermayer
1431b4cf77 avfilter/vf_fftfilt: Add MAX_PLANES and change it to 4
The 4th planes is currently unused as no formats with alpha are supported yet

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 20:08:18 +02:00
Michael Niedermayer
b62b3292d8 avformat/hevc: Check num_negative_pics and num_positive_pics
Fixes CID1238994

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 19:28:15 +02:00
Michael Niedermayer
2cddc0b19a avformat/hevc: Check cpb_cnt_minus1
Fixes CID1239014

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 19:09:06 +02:00
Michael Niedermayer
7a27aa15ec avformat/hls: Handle read_buffer allocation failure
Fixes CID1297576

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 19:03:18 +02:00
Michael Niedermayer
70e022cfc5 avformat/idcin: Remove redundant chunk size check
Fixes CID1138438

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 18:40:16 +02:00
Michael Niedermayer
171af59d58 avformat/matroskadec: Cleanup error handling for bz2 & zlib
Fixes CID703652

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 18:34:26 +02:00
Michael Niedermayer
56abf35151 avformat/nutdec: Fix use of uinitialized value
Fixes CID1041175

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 18:20:23 +02:00
Michael Niedermayer
a23379a0a6 avformat/rtpdec_xiph: Move pkt_len onto one side of the check
This is more correct
Fixes CID1271793

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 18:07:32 +02:00
Michael Niedermayer
aa5169935e avformat/rtpdec_xiph: Check upper bound on len in xiph_handle_packet()
Larger packets are not supported and would cause problems later

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 18:03:55 +02:00
Michael Niedermayer
81198a6837 avformat/rtpenc_jpeg: Check remaining buffer size for SOS
Fixes CID1238818

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 17:55:40 +02:00
Shiina Hideaki
85ca012ba6 mjpegenc: Fix JFIF header byte ordering
The header had a wrong version description.

Bug-Id: 808
Signed-off-by: Shiina Hideaki <shiina@yndrd.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-05-12 16:30:48 +01:00
Vittorio Giovara
d84429d41e dnxhd: Print unknown header when found 2015-05-12 16:30:48 +01:00
Vittorio Giovara
8fc11abe1f mkv: Print unsupported mov tags when found 2015-05-12 15:28:31 +01:00
Vittorio Giovara
0348e74c01 quickdraw: Skip the empty 512 byte header for images
Found-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2015-05-12 15:28:31 +01:00
Carl Eugen Hoyos
d0dce15da3 quickdraw: Make the palette opaque
Additional overflow fix by Michael Niedermayer <michaelni@gmx.at>.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-05-12 15:28:31 +01:00
Michael Niedermayer
c3671e1d57 avformat/riffenc: Use size_t for strlen in ff_riff_write_info_tag()
Also dont generated corrupted output for larger than 4gb strings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 14:15:31 +02:00
Paul B Mahol
94e293a83c avfilter/af_aphaser: reject too small delay
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-05-12 12:04:09 +00:00
Marton Balint
93cc5ca7ed lavf/img2dec: add option to disable pattern matching
Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 13:32:23 +02:00
Michael Niedermayer
37efad4e5b fate: Test pullup and fieldmatch with 5 instead of 1 frame
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 12:29:47 +02:00
Michael Niedermayer
2ce2462ba8 Merge commit 'da5c6a97bbfe34d4b30a89e72150dd400299ddce'
* commit 'da5c6a97bbfe34d4b30a89e72150dd400299ddce':
  riff: Add MultiScope II fourcc MSC2 as MJPEG

See: e31cdb5cc8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 12:17:59 +02:00
Michael Niedermayer
85bbe1dbd1 Merge commit '0670acc4f1c4ceb16968818a654e07a3f550a8c9'
* commit '0670acc4f1c4ceb16968818a654e07a3f550a8c9':
  dca_parser: Extend DTS core sync word and fix existing check

Conflicts:
	libavcodec/dca_parser.c

See: e80b2b9c81
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 12:07:19 +02:00
Michael Niedermayer
acf4925f44 tools/graph2dot: use larger data types than int for array/string sizes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 04:01:25 +02:00
Michael Niedermayer
59db9e6949 avformat/internal: Fix warning about struct declaration
Moving ffio_open2_wrapper() to internal as it uses AVFormatContext

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 03:24:19 +02:00
Carl Eugen Hoyos
da5c6a97bb riff: Add MultiScope II fourcc MSC2 as MJPEG
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-12 03:22:18 +02:00
foo86
0670acc4f1 dca_parser: Extend DTS core sync word and fix existing check
The previous version checked for 14-bit streams and did not properly
work across buffer boundaries.

Use the 64-bit parser state to make extended sync word detection work
across buffer boundary and check the extended sync word for 16-bit LE
and BE core streams to reduce probability of alias sync detection.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-12 03:20:25 +02:00
Michael Niedermayer
3ecc063322 avcodec/hevc: Fix order of operations in hls_decode_neighbour()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 00:52:03 +02:00
Michael Niedermayer
62a1e0035a avformat/mlvdec: Use AVFormatContext->open_cb()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 22:53:12 +02:00
Michael Niedermayer
a228f7d5e5 avformat/avformat: slightly more verbose documentation for open_cb()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 22:33:48 +02:00
Michael Niedermayer
77ccc9145a avformat/mov: Use open_cb() if set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 21:56:53 +02:00
Michael Niedermayer
541d75f9a0 avformat: add callback for opening further files
Previous version reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 21:55:18 +02:00
Andreas Cadhalpun
0382c94f13 id3v2: catch avio_read errors in check_tag
Since len is an unsigned int, the comparison is currently treated as
unsigned and thus ignores all errors from avio_read.

Thus cast len to int, which is unproblematic, because at that point len
is between 0 and 4.

This fixes 'Conditional jump or move depends on uninitialised value'
valgrind warnings in is_tag.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 20:21:48 +02:00
Michael Niedermayer
ae4eea8be4 avutil/avstring: Use size_t in av_strlcatf()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 20:01:15 +02:00
Michael Niedermayer
2b97cc2e5b avformat/mov: Pass MovContext into mov_open_dref()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 18:12:24 +02:00
Gopu Govindaswamy
94c20de429 avcodec/libx265: use x265 Multi-library Interface to query the API
ffmpeg can now use the x265 multi-library interface to make a runtime
selection between a number of libx265 libraries (perhaps 8bpp and 16bpp).

ffmpeg will link to one build of libx265 (statically or
dynamically) and this linked version of libx265 will support one
bit-depth (8 or 10 bits). At runtime, ffmpeg now has the option to request the
encoder to use a different bit depth(8 or 10). If the requested bitdepth
is zero, or if it matches the bitdepth of the system default libx265 (the
currently linked library), then this library will be used for encode.
If ffmpeg requests a different bit-depth, the linked libx265 will attempt
to dynamically bind a shared library with the requested bit-depth from the install
location (default or user-specified).

new x265 API:
     const x265_api* api = x265_api_get(int bitDepth);
     x265_api - holds the libx265 public API functions
     bitDepth - requested API for 8bpp or 16bpp

     note: Use 0 to indicate native bit depth of the linked libx265 and
           x265_api_get(0) is guaranteed to return a non-null pointer

Signed-off-by: Gopu Govindaswamy <gopu@multicorewareinc.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-05-11 16:15:23 +01:00
Michael Niedermayer
ab6dc86343 avformat/vorbiscomment: Use 64bit int for ff_vorbiscomment_length()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 15:56:16 +02:00
Michael Niedermayer
66f26b3e8e avformat/matroskaenc: Check ff_vorbiscomment_length in put_flac_codecpriv()
Its currently guaranteed to be smaller but its safer to check anyway

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 15:56:16 +02:00
Michael Niedermayer
0db5b2b9f8 avformat/oggenc: Check ff_vorbiscomment_length in ogg_write_vorbiscomment()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 15:56:16 +02:00
Michael Niedermayer
40a7700b82 avformat/flacenc: Check length in flac_write_block_comment()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 15:31:55 +02:00
Michael Niedermayer
eca38864a6 avformat/vorbiscomment: Check entry length in ff_vorbiscomment_write()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 15:23:51 +02:00
Michael Niedermayer
a633928d47 avformat/subtitles: Use size_t for len
string length could theoretically be larger than int

Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 12:42:38 +02:00
Michael Niedermayer
17b26308a2 avformat/matroskadec: Use size_t for the variable holding a strlen() value.
Should make no difference but is more correct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 04:05:20 +02:00
Michael Niedermayer
95efc65129 avformat/url: Use size_t for len from strlen()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 03:50:01 +02:00
Michael Niedermayer
28b7d7a36d Merge commit 'b8d2630c5327d2818d05c8a48be0417905d8e0fd'
* commit 'b8d2630c5327d2818d05c8a48be0417905d8e0fd':
  dashenc: Reduce the segment duration if cutting out parts with edit lists

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 01:56:11 +02:00
Michael Niedermayer
ae99f06e5a Merge commit 'ac1a1cb948fe29975424e367173b88db48792144'
* commit 'ac1a1cb948fe29975424e367173b88db48792144':
  dashenc: replace attribute id with contentType for the AdaptationSet element

See: 32a4177a62
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 01:46:32 +02:00
James Almer
32a4177a62 dashenc: replace attribute id with contentType for the AdaptationSet element
id should be an integer, not a string. It is also optional, so use
contentType instead which is the proper attribute for these values.

This addresses ticket #4545, fixing an MPD validation error.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-11 01:37:39 +02:00
Michael Niedermayer
8d916ef5f7 fate: Use more than 5 frames for testing select and idet filters
Testing these filters with just 5 frames could potentially be
insufficient

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 23:32:11 +02:00
Michael Niedermayer
5e19651c9d Merge commit '2fb02ecfd115a627f22df21720aa0bd4f6fcee8b'
* commit '2fb02ecfd115a627f22df21720aa0bd4f6fcee8b':
  fate: Reduce the number of frames used to test video filters

Conflicts:
	tests/fate-run.sh
	tests/ref/fate/filter-crop
	tests/ref/fate/filter-crop_scale
	tests/ref/fate/filter-crop_scale_vflip
	tests/ref/fate/filter-crop_vflip
	tests/ref/fate/filter-null
	tests/ref/fate/filter-pixdesc-abgr
	tests/ref/fate/filter-pixdesc-argb
	tests/ref/fate/filter-pixdesc-bgr24
	tests/ref/fate/filter-pixdesc-bgr444be
	tests/ref/fate/filter-pixdesc-bgr444le
	tests/ref/fate/filter-pixdesc-bgr48be
	tests/ref/fate/filter-pixdesc-bgr48le
	tests/ref/fate/filter-pixdesc-bgr4_byte
	tests/ref/fate/filter-pixdesc-bgr555be
	tests/ref/fate/filter-pixdesc-bgr555le
	tests/ref/fate/filter-pixdesc-bgr565be
	tests/ref/fate/filter-pixdesc-bgr565le
	tests/ref/fate/filter-pixdesc-bgr8
	tests/ref/fate/filter-pixdesc-bgra
	tests/ref/fate/filter-pixdesc-gbrap
	tests/ref/fate/filter-pixdesc-gbrp
	tests/ref/fate/filter-pixdesc-gbrp10be
	tests/ref/fate/filter-pixdesc-gbrp10le
	tests/ref/fate/filter-pixdesc-gbrp9be
	tests/ref/fate/filter-pixdesc-gbrp9le
	tests/ref/fate/filter-pixdesc-gray
	tests/ref/fate/filter-pixdesc-gray16be
	tests/ref/fate/filter-pixdesc-gray16le
	tests/ref/fate/filter-pixdesc-monob
	tests/ref/fate/filter-pixdesc-monow
	tests/ref/fate/filter-pixdesc-nv12
	tests/ref/fate/filter-pixdesc-nv21
	tests/ref/fate/filter-pixdesc-rgb24
	tests/ref/fate/filter-pixdesc-rgb444be
	tests/ref/fate/filter-pixdesc-rgb444le
	tests/ref/fate/filter-pixdesc-rgb48be
	tests/ref/fate/filter-pixdesc-rgb48le
	tests/ref/fate/filter-pixdesc-rgb4_byte
	tests/ref/fate/filter-pixdesc-rgb555be
	tests/ref/fate/filter-pixdesc-rgb555le
	tests/ref/fate/filter-pixdesc-rgb565be
	tests/ref/fate/filter-pixdesc-rgb565le
	tests/ref/fate/filter-pixdesc-rgb8
	tests/ref/fate/filter-pixdesc-rgba
	tests/ref/fate/filter-pixdesc-uyvy422
	tests/ref/fate/filter-pixdesc-yuv410p
	tests/ref/fate/filter-pixdesc-yuv411p
	tests/ref/fate/filter-pixdesc-yuv420p
	tests/ref/fate/filter-pixdesc-yuv420p10be
	tests/ref/fate/filter-pixdesc-yuv420p10le
	tests/ref/fate/filter-pixdesc-yuv420p16be
	tests/ref/fate/filter-pixdesc-yuv420p16le
	tests/ref/fate/filter-pixdesc-yuv420p9be
	tests/ref/fate/filter-pixdesc-yuv420p9le
	tests/ref/fate/filter-pixdesc-yuv422p
	tests/ref/fate/filter-pixdesc-yuv422p10be
	tests/ref/fate/filter-pixdesc-yuv422p10le
	tests/ref/fate/filter-pixdesc-yuv422p16be
	tests/ref/fate/filter-pixdesc-yuv422p16le
	tests/ref/fate/filter-pixdesc-yuv422p9be
	tests/ref/fate/filter-pixdesc-yuv422p9le
	tests/ref/fate/filter-pixdesc-yuv440p
	tests/ref/fate/filter-pixdesc-yuv444p
	tests/ref/fate/filter-pixdesc-yuv444p10be
	tests/ref/fate/filter-pixdesc-yuv444p10le
	tests/ref/fate/filter-pixdesc-yuv444p16be
	tests/ref/fate/filter-pixdesc-yuv444p16le
	tests/ref/fate/filter-pixdesc-yuv444p9be
	tests/ref/fate/filter-pixdesc-yuv444p9le
	tests/ref/fate/filter-pixdesc-yuva420p
	tests/ref/fate/filter-pixdesc-yuva420p10be
	tests/ref/fate/filter-pixdesc-yuva420p10le
	tests/ref/fate/filter-pixdesc-yuva420p16be
	tests/ref/fate/filter-pixdesc-yuva420p16le
	tests/ref/fate/filter-pixdesc-yuva420p9be
	tests/ref/fate/filter-pixdesc-yuva420p9le
	tests/ref/fate/filter-pixdesc-yuva422p
	tests/ref/fate/filter-pixdesc-yuva422p10be
	tests/ref/fate/filter-pixdesc-yuva422p10le
	tests/ref/fate/filter-pixdesc-yuva422p16be
	tests/ref/fate/filter-pixdesc-yuva422p16le
	tests/ref/fate/filter-pixdesc-yuva422p9be
	tests/ref/fate/filter-pixdesc-yuva422p9le
	tests/ref/fate/filter-pixdesc-yuva444p
	tests/ref/fate/filter-pixdesc-yuva444p10be
	tests/ref/fate/filter-pixdesc-yuva444p10le
	tests/ref/fate/filter-pixdesc-yuva444p16be
	tests/ref/fate/filter-pixdesc-yuva444p16le
	tests/ref/fate/filter-pixdesc-yuva444p9be
	tests/ref/fate/filter-pixdesc-yuva444p9le
	tests/ref/fate/filter-pixdesc-yuvj420p
	tests/ref/fate/filter-pixdesc-yuvj422p
	tests/ref/fate/filter-pixdesc-yuvj440p
	tests/ref/fate/filter-pixdesc-yuvj444p
	tests/ref/fate/filter-pixdesc-yuyv422
	tests/ref/fate/filter-pixdesc-yvyu422
	tests/ref/fate/filter-pixfmts-copy
	tests/ref/fate/filter-pixfmts-crop
	tests/ref/fate/filter-pixfmts-hflip
	tests/ref/fate/filter-pixfmts-null
	tests/ref/fate/filter-pixfmts-pad
	tests/ref/fate/filter-pixfmts-scale
	tests/ref/fate/filter-pixfmts-vflip
	tests/ref/fate/filter-scale200
	tests/ref/fate/filter-scale500
	tests/ref/fate/filter-vflip
	tests/ref/fate/filter-vflip_crop
	tests/ref/fate/filter-vflip_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 23:09:06 +02:00
Michael Niedermayer
1cf81a2c50 Merge commit '379e5603f4131e677ecf5ba79973dcd5603f28ea'
* commit '379e5603f4131e677ecf5ba79973dcd5603f28ea':
  id3v2: Do not export empty APIC description

Conflicts:
	libavformat/id3v2.c

See: b697b297b7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 22:51:38 +02:00
Michael Niedermayer
f230451b7a Merge commit 'b9f7a677083647d85e583d6d7384938766a293d7'
* commit 'b9f7a677083647d85e583d6d7384938766a293d7':
  png: Set the color range as full range

Conflicts:
	libavcodec/pngdec.c

See: 72e7553125
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 22:42:56 +02:00
Michael Niedermayer
55231323b0 Merge commit '254f3daba4271c1918d9a7ad155b1442ef93ed29'
* commit '254f3daba4271c1918d9a7ad155b1442ef93ed29':
  nut: Make sure to clean up on read_header failure

Conflicts:
	libavformat/nutdec.c

See: 361702660d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 22:31:39 +02:00
Michael Niedermayer
73b8155b31 Merge commit '4d0ee4962be7e07cdc038a78008ef2e4e47e5f81'
* commit '4d0ee4962be7e07cdc038a78008ef2e4e47e5f81':
  avi: Validate sample_size

Conflicts:
	libavformat/avidec.c

See: ca234639ac
See: c7369f3a4b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 22:20:37 +02:00
Michael Niedermayer
8b0ceb96da Merge commit 'b34257eefd98cb768ea2f53a390b8684d51e689a'
* commit 'b34257eefd98cb768ea2f53a390b8684d51e689a':
  nut: Check chapter creation in decode_info_header

Conflicts:
	libavformat/nutdec.c

See: 3ff1af2b0d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 22:09:48 +02:00
Michael Niedermayer
ce1c0e99e9 Merge commit '243e8443cd9e83c887e3f5edf09a169e7783d14e'
* commit '243e8443cd9e83c887e3f5edf09a169e7783d14e':
  alac: Reject rice_limit 0 if compression is used

Conflicts:
	libavcodec/alac.c

See: 4b657a1b1e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 22:00:40 +02:00
Martin Storsjö
b8d2630c53 dashenc: Reduce the segment duration if cutting out parts with edit lists
This makes sure that the time + duration of the first segment
matches the start time of the next segment for e.g. AAC audio
with encoder delay.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-10 22:57:21 +03:00
James Almer
ac1a1cb948 dashenc: replace attribute id with contentType for the AdaptationSet element
id should be an integer, not a string. It is also optional, so use
contentType instead which is the proper attribute for these values.

This fixes an MPD validation error.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-10 22:57:20 +03:00
Michael Niedermayer
918c5ea4d3 Merge commit '295e05a762332c5edcc84c325e94457815a51b5c'
* commit '295e05a762332c5edcc84c325e94457815a51b5c':
  ape: Support _0000 files with nblock smaller than 64

Conflicts:
	libavcodec/apedec.c

See: 699341d647
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 21:42:08 +02:00
Michael Niedermayer
004564c930 avformat/wavenc: Check umid length
Fixes potential out of array read

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 20:03:36 +02:00
Michael Niedermayer
ecb4ae7879 avformat/wavenc: fix string length variable types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 19:52:30 +02:00
Michael Niedermayer
d0b294286c avcodec/ppc/h264qpel_template: Fix alignment assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 18:09:39 +02:00
Michael Niedermayer
07cb6bf985 postproc/postprocess: Use size_t to hold strlen()s value
This should make no difference but its more correct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 16:28:37 +02:00
Michael Niedermayer
d66b623ad0 avformat/nutenc: Fix writing strings larger than 2gb
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 16:26:58 +02:00
Michael Niedermayer
4c128ea162 avutil/dict: Use size_t for appending strings
the string length is not constrained to INT_MAX

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 16:09:07 +02:00
Michael Niedermayer
4950bd4ebe libavutil/mem: use size_t for the length in av_strdup()
the string length is not constrained to INT_MAX

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 16:06:50 +02:00
Michael Niedermayer
54e64eaf68 swscale/x86/swscale: Fix warning about loosing significant bits in cast
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 15:09:04 +02:00
Michael Niedermayer
a649f36f75 avformat/http: Mark lower_proto as const in http_listen()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 15:01:36 +02:00
Michael Niedermayer
3d65570f25 avformat/mxf: Always evaluate PRINT_KEY() arguments at compile time
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 14:39:27 +02:00
Michael Niedermayer
8b42b22222 avformat/mxf: Simplify PRINT_KEY()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 14:39:26 +02:00
Michael Niedermayer
729108515d avcodec/snowenc: set dia_size for the first pass of motion estimation too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 14:19:56 +02:00
Luca Barbato
2fb02ecfd1 fate: Reduce the number of frames used to test video filters
Use 5 frames for video filter tests and a single one for the
pixelformat tests.

Greatly reduces the test duration without reducing coverage.
2015-05-10 13:49:30 +02:00
Reimar Döffinger
5af621278d avformat_alloc_context: initialize raw_packet_buffer_remaining_size.
This currently works for most users because
avformat_open_input sets it, but this patch fixes any
applications not using that function.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2015-05-10 08:47:53 +02:00
Michael Niedermayer
58201c6e9e avcodec/snowenc: correct fullpel search pattern
No real difference in quality, its a bit slower for the same dia_size as more
vectors are searched for the same dia_size

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 02:38:05 +02:00
Michael Niedermayer
db6d0a5bd2 avcodec/snowenc: Fix used reference MV in fullpel iterative ME
This very very slightly improves quality, no measurable speed change

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 01:05:42 +02:00
Michael Niedermayer
f349703e1d avcodec/snowenc: change log level for iterative ME information to debug level
The printed stuff should be useless to the average user and its certainly
not an error.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 00:46:02 +02:00
Michael Niedermayer
b62297805b avcodec/snowenc: add intra_penalty AVOption
This allows favoring intra or inter blocks by a user specified amount.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 23:52:36 +02:00
Michael Niedermayer
cf31e2df08 avcodec/mpegvideo: Fix null pointer dereference with grayscale decoding with mpeg2_field_encoding.ts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 17:10:26 +02:00
Michael Niedermayer
33529104e5 avcodec/mpeg12dec: Fix "-flags +gray"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 15:58:02 +02:00
wm4
379e5603f4 id3v2: Do not export empty APIC description
APIC tags always have a description. Tag writers obviously leave it
empty if there is no description. In this case, libavformat would export
"" as title. Do not set the title instead.
2015-05-09 15:55:50 +02:00
wm4
b9f7a67708 png: Set the color range as full range
The format uses full range for the gray formats.

CC: libav-stable@libav.org
2015-05-09 15:55:50 +02:00
Luca Barbato
254f3daba4 nut: Make sure to clean up on read_header failure
Based on Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> work.

CC: libav-stable@libav.org
2015-05-09 15:55:50 +02:00
Andreas Cadhalpun
4d0ee4962b avi: Validate sample_size
And either error out or set it to 0 if it is negative.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-09 15:51:31 +02:00
Michael Niedermayer
876c89a88f cmdline: Check options array for not working flag combinations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 13:07:21 +02:00
Michael Niedermayer
107e4da476 ffmpeg_opt: Fix -timestamp parsing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 13:07:00 +02:00
Michael Niedermayer
9ba5dd37a9 avcodec/mpegvideo: Fix indention
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 12:03:36 +02:00
Michael Niedermayer
5c8809b45b avcodec/error_resilience: support grayscale
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 02:42:47 +02:00
Michael Niedermayer
82a6e18bbb avcodec/mpegvideo: Fix -flags +gray with xvid_vlc_trac7411.h263
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 01:36:53 +02:00
Michael Niedermayer
9025bc588a avcodec/h263dec: use PIX_FMT_GRAY8 when the user specified CODEC_FLAG_GRAY
Fixes Ticket4542

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 01:13:55 +02:00
Michael Niedermayer
d1d8ee5e91 avdevice/v4l2: Try to fix build on netbsd/openbsd
Found-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 00:27:00 +02:00
Giorgio Vazzana
28f20d2ff4 lavd/v4l2: produce a 0 byte packet when a dequeued buffer is flagged with V4L2_BUF_FLAG_ERROR
Fixes ticket #4030.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-08 22:31:09 +02:00
Michael Niedermayer
982e7bbfa6 avcodec/vc1: Skip chroma operations if CODEC_FLAG_GRAY is set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-08 20:32:15 +02:00
Giorgio Vazzana
23e6cf832f lavd/v4l2: fix typo
This was introduced in cde6e328de

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-08 18:02:28 +02:00
Ronald S. Bultje
c97d30f02f vp9: de-duplicate some functions that are identical between 10/12 bpp.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-08 14:42:01 +02:00
周晓勇
ba1f56ae9b configure: remove loongson check inline asm and mips dependent
1.Loongson now have two series CPU supported MMI(Multi-Media Instruct).
  Loongson-3 designed multi-core have good performance in decoding.
  Loongson-2's support is comming soon.
2.Replaced loongson with loongson2 and loongson3.

Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-08 14:33:40 +02:00
周晓勇
b6d8afd820 configure: replace arch loongson with arch extra list loongson
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-08 14:01:38 +02:00
Andreas Cadhalpun
b34257eefd nut: Check chapter creation in decode_info_header
This fixes a segmentation fault when accessing the metadata.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>

CC: libav-stable@libav.org
2015-05-08 11:10:51 +02:00
Andreas Cadhalpun
243e8443cd alac: Reject rice_limit 0 if compression is used
If in compression mode rice_limit = 0 leads to call
`show_bits(gb, k)` in `decode_scalar` with k = 0.

Request a sample in case it is valid and it should be accepted.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>

CC: libav-stable@libav.org
2015-05-08 11:10:51 +02:00
Andreas Cadhalpun
295e05a762 ape: Support _0000 files with nblock smaller than 64
The decode_array_0000 assumed that 64 is the minimal block size
while it is not.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-08 11:10:51 +02:00
wm4
b697b297b7 id3v2: do not export APIC description if empty
APIC tags always have a description. Tag writers obviously leave it
empty if there is no description. In this case, libavformat would export
"" as title. Do not set the title instead.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-08 01:07:13 +02:00
wm4
72e7553125 pngdec: set correct range
AV_PIX_FMT_GRAY8/16 are considered YUV formats, and the color_range is
not set - so the API user will have to assume limitted range. (Unless
the API user adds a special-case for the PNG decoder.)

Just export the correct range - full range.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-08 00:44:06 +02:00
Michael Niedermayer
3b12335395 swscale/x86/hscale_fast_bilinear_simd: Remove ancient out-commented debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 23:58:08 +02:00
James Almer
28eaf46da9 doc/APIchanges: fill missing versions and hashes
Signed-off-by: James Almer <jamrial@gmail.com>
2015-05-07 18:56:26 -03:00
James Almer
e0a403e1c2 vp9: add missing changelog and APIchanges entries for new VP9 profiles
Signed-off-by: James Almer <jamrial@gmail.com>
2015-05-07 18:35:12 -03:00
Tom Butterworth
288dc5b4a1 avcodec/s3tc: fix alpha decoding when dimensions are not a multiple of 4
Fix alpha position error for edge blocks of odd-dimensioned frames

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 23:10:56 +02:00
Michael Niedermayer
b1b0baa3d6 avcodec/g2meet: Check init_get_bits8() return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 22:50:39 +02:00
Michael Niedermayer
43e94d5af4 avcodec/g2meet: Use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 22:50:23 +02:00
Michael Niedermayer
5f0ebe865c ffprobe: Use av_packet_side_data_name() to find the side data name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 21:20:26 +02:00
Michael Niedermayer
a7dd933b81 avcodec: Add av_packet_side_data_name()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 21:01:37 +02:00
Michael Niedermayer
daea320969 avcodec/txd: Fix input size checks for dxt1/3 for dimensions % 4 != 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 19:11:01 +02:00
Tom Butterworth
873d7e0e63 avcodec/s3tc: fix decoding when dimensions are not a multiple of 4
Image dimensions were rounded down causing rows to wrap early if dimensions were not a multiple of 4.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 18:32:36 +02:00
Andreas Cadhalpun
584cc1ade1 aacsbr: break infinite loop in sbr_hf_calc_npatches
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 17:32:23 +02:00
Shivraj Patil
7174df44fe avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC uni copy, uni horizontal and uni vertical mc functions
Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 16:47:34 +02:00
James Almer
aa70801aaf ripemd: move ripemd{256, 320} into separate functions
This allows the removal of a few branches.

Before:
lavu       RIPEMD-160   size: 1048576  runs:   1024  time:    7.052 +- 0.010

After:
lavu       RIPEMD-160   size: 1048576  runs:   1024  time:    6.865 +- 0.015

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 15:40:56 +02:00
Michael Niedermayer
cc77bb09e4 avcodec/x86/vp9dsp_init: Fix mix of declaration and statement
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 14:33:10 +02:00
Michael Niedermayer
a6153977df avcodec/vp9dsp: Replace assert by av_assert0()
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 14:32:50 +02:00
Michael Niedermayer
b28d5c49f7 Merge remote-tracking branch 'rbultje/vp9-profile23-wip'
* rbultje/vp9-profile23-wip:
  libvpxdec: add 440 pixfmts.
  vp9: add profile 2/3 fate tests.
  vp9: add inter-frame profile 2/3 suport.
  vp9: add keyframe profile 2/3 support.
  vp9: parse profile 2/3 bitdepth in frame header.
  vp9: add profile 2/3 to exported profiles.
  fate: add/update reference files for 440 addition.
  swscale: add yuv440p10/12 pixfmts.
  lavc: add yuv440p10/12 formats to aligned pixfmt list.
  lavu: add yuv440p10/12 pixfmts.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 13:22:04 +02:00
Ronald S. Bultje
2293ec6ab3 libvpxdec: add 440 pixfmts. 2015-05-07 07:19:52 -04:00
Ronald S. Bultje
b8077d7a3b vp9: add profile 2/3 fate tests. 2015-05-07 07:19:49 -04:00
Michael Niedermayer
9253cc496a avcodec/diracdec: Replace default_bsep[] by multiplication
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 05:07:55 +02:00
Michael Niedermayer
21b30947f2 swscale/x86/hscale_fast_bilinear_simd: Fix variable names in comments
Found-by: Nick Lewycky <nlewycky@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 03:57:21 +02:00
Michael Niedermayer
5f2b4a2f6a Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavf/img2dec: Autodetect qdraw images.
  lavc/qdrw: Also support real-world qdraw images.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 01:59:22 +02:00
Michael Niedermayer
bc6f84fff7 avdevice/dshow_capture: avoid #ifdef, use ff_dlog() for dshowdebug()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 01:49:54 +02:00
Carl Eugen Hoyos
2279de6eca lavf/img2dec: Autodetect qdraw images. 2015-05-07 01:21:08 +02:00
Carl Eugen Hoyos
b453e76842 lavc/qdrw: Also support real-world qdraw images. 2015-05-07 01:21:08 +02:00
Michael Niedermayer
223a859853 swresample/dither_template: Do not define macro functions to nothing
This avoids potential warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 01:07:30 +02:00
Michael Niedermayer
3e14ed05f1 avformat/internal: always check arguments of hex_dump_debug()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 01:05:45 +02:00
Michael Niedermayer
374cf93548 avformat/asfdec: do not define print_guid() to nothing
This avoid potential warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 00:54:06 +02:00
Michael Niedermayer
0c015aa95c avcodec/tableprint_vlc: Do not define functions to nothing
This avoids potential warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 00:52:47 +02:00
Michael Niedermayer
2284c38e4c Merge commit 'e0010bb91fc0b067be8aefd2f77e6838537da433'
* commit 'e0010bb91fc0b067be8aefd2f77e6838537da433':
  mux: Do not leave stale side data pointers in ff_interleave_add_packet()

Conflicts:
	libavformat/mux.c

See: bfb3ed1a9d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 22:37:18 +02:00
Michael Niedermayer
0318013afc Merge commit '6c8c7c246280cdcd23e4d99006b95245ae837278'
* commit '6c8c7c246280cdcd23e4d99006b95245ae837278':
  dump: Print AVAudioServiceType side data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 22:29:19 +02:00
Michael Niedermayer
1caff5731d Merge commit '04070dbca0688ab1e24528ce5c135254a9a79c47'
* commit '04070dbca0688ab1e24528ce5c135254a9a79c47':
  libx265: Fix 'braces around scalar initializer' warning

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 21:46:52 +02:00
Michael Niedermayer
20ce69e5f8 Merge commit 'd81fb63d87692765c004c19934b49427df434a07'
* commit 'd81fb63d87692765c004c19934b49427df434a07':
  fate: Add a PICT test

Conflicts:
	tests/fate/image.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 21:21:00 +02:00
Ronald S. Bultje
23ba4538f9 vp9: add inter-frame profile 2/3 suport. 2015-05-06 15:10:41 -04:00
Ronald S. Bultje
b224b165cb vp9: add keyframe profile 2/3 support. 2015-05-06 15:10:41 -04:00
Ronald S. Bultje
346ce5da19 vp9: parse profile 2/3 bitdepth in frame header. 2015-05-06 15:10:40 -04:00
Ronald S. Bultje
01e59d48ed vp9: add profile 2/3 to exported profiles. 2015-05-06 15:10:40 -04:00
Ronald S. Bultje
5c600d74aa fate: add/update reference files for 440 addition. 2015-05-06 15:10:26 -04:00
Michael Niedermayer
ffed987a4d Merge commit '7b734ee55dbb8476d7ad63c7daf55c534cf82d5d'
* commit '7b734ee55dbb8476d7ad63c7daf55c534cf82d5d':
  lavf: Open PICT images with Quickdraw

Conflicts:
	tests/fate/image.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 21:05:16 +02:00
Michael Niedermayer
39e89f5211 Merge commit '34efb8a169e4551326e069be47125c6c2cb7ab90'
* commit '34efb8a169e4551326e069be47125c6c2cb7ab90':
  quickdraw: Support direct pixel blocks

Conflicts:
	Changelog
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 20:40:26 +02:00
Michael Niedermayer
251f9dcf22 Merge commit 'bb2cb0a66d86ec4ad9f43a488e8b6ab894c22d2f'
* commit 'bb2cb0a66d86ec4ad9f43a488e8b6ab894c22d2f':
  quickdraw: Switch to greedy parsing

Conflicts:
	libavcodec/qdrw.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 20:32:52 +02:00
Michael Niedermayer
d423fc12e6 Merge commit 'd00f1e0fc10bb945cdf140a6c320eb0c9cd25162'
* commit 'd00f1e0fc10bb945cdf140a6c320eb0c9cd25162':
  quickdraw: Convert to bytestream2

Conflicts:
	libavcodec/qdrw.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 20:23:54 +02:00
Michael Niedermayer
958ddef46c Merge commit '01fdfa51aca9086e04bd354fe3f103a49352c085'
* commit '01fdfa51aca9086e04bd354fe3f103a49352c085':
  xcbgrab: Accept geometries matching the screen size

See: 7971fa9ce0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 20:10:51 +02:00
Ronald S. Bultje
711d8812ad swscale: add yuv440p10/12 pixfmts. 2015-05-06 12:04:31 -04:00
Ronald S. Bultje
57f970a704 lavc: add yuv440p10/12 formats to aligned pixfmt list. 2015-05-06 12:04:31 -04:00
Ronald S. Bultje
98f7f0f7e8 lavu: add yuv440p10/12 pixfmts. 2015-05-06 12:04:31 -04:00
Andreas Cadhalpun
75fc81c831 diracdec: check that block length is valid
In init_planes p->xblen and p->yblen are set to:
            p->xblen = s->plane[0].xblen >> s->chroma_x_shift;
            p->yblen = s->plane[0].yblen >> s->chroma_y_shift;

These are later used as block_w and block_h arguments of
s->vdsp.emulated_edge_mc. If one of them is 0 it triggers an av_assert2
in emulated_edge_mc:
    av_assert2(start_x < end_x && block_w > 0);
    av_assert2(start_y < end_y && block_h > 0);

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 18:02:35 +02:00
Andreas Cadhalpun
4b13a542a2 dirac: use and forward error codes
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 17:50:09 +02:00
Michael Niedermayer
3c7d3d27be tools/cws2fws: Use a similar implementation in dbgprintf() as in ff_dlog()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 16:11:50 +02:00
Michael Niedermayer
0a6b410edf avcodec/vp8: Suppress empty body warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 16:03:56 +02:00
Michael Niedermayer
e0010bb91f mux: Do not leave stale side data pointers in ff_interleave_add_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-05-06 15:01:35 +01:00
Vittorio Giovara
6c8c7c2462 dump: Print AVAudioServiceType side data 2015-05-06 14:57:46 +01:00
Michael Niedermayer
890b874889 avutil/internal: Suppress empty body warning from emms_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 15:56:32 +02:00
Vittorio Giovara
04070dbca0 libx265: Fix 'braces around scalar initializer' warning
x265 Reordered the x265_picture fields in the commit

51b1518de2 (diff-945b5354d8767dfac13334f2d22cf58fR107)

Now the first field is an integer and not an array.
2015-05-06 14:53:29 +01:00
Vittorio Giovara
d81fb63d87 fate: Add a PICT test
This stimulates the direct pixel mode in Quickdraw decoder.
2015-05-06 14:36:01 +01:00
Vittorio Giovara
7b734ee55d lavf: Open PICT images with Quickdraw
Update the pictor test to use the pictor codec, as both formats share
the .pic file extension.
2015-05-06 14:27:34 +01:00
Vittorio Giovara
34efb8a169 quickdraw: Support direct pixel blocks
Data is stored in separated components so rework decode_rle() to support
stepping and offsets.
2015-05-06 14:27:34 +01:00
Vittorio Giovara
bb2cb0a66d quickdraw: Switch to greedy parsing
Quickdraw packs data as a series of codes that the application is supposed
to handle, but it does not define any order in which they might appear.
Since it's unfeasible to support *all* opcodes defined by the spec,
only handle well-known blocks containing video data and ignore any unknown
or unsupported ones.

Move palette loading and rle decoding to separate functions to resue them
in other blocks and drop format initialization in init since it can
support more formats than pal8.

Validate width and height.
2015-05-06 14:26:30 +01:00
Vittorio Giovara
d00f1e0fc1 quickdraw: Convert to bytestream2
Add appropriate error messages and reduce r, g, b variables scope.
Drop the now redundant line checks in RLE decoding.
2015-05-06 14:26:30 +01:00
Nicolas George
7971fa9ce0 lavd/xcbgrab: fix comparison with screen size.
Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 13:33:17 +02:00
Nicolas George
01fdfa51ac xcbgrab: Accept geometries matching the screen size
Introduced in e8c4db0d4d.
2015-05-06 12:25:32 +02:00
Dave Yeo
22a0387df2 OS/2:Makedef.cmd cleanup
Remove PROTMODE as it doesn't make sense for DLLs. Also fixes a warning with the OpenWatcom linker
Export symbols as names rather then ordinals for better compatibility for minor releases.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 11:37:26 +02:00
Michael Niedermayer
a2190de52d avcodec/diracdec: Fix types and wraparounds in dirac_decode_picture_header()
previously various variables had a too small type to support the required 32bit unsigned
range allowed from the spec

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 02:44:21 +02:00
Andreas Cadhalpun
d93181ef3e diracdec: check if reference could not be allocated
s->ref_pics[i] is later used as ref argument of interpolate_refplane,
where it is dereferenced.

If it is NULL, it causes a segmentation fault.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 01:54:51 +02:00
Andreas Cadhalpun
9e66b39aa8 diracdec: avoid overflow of bytes*8 in decode_lowdelay
If bytes is large enough, bytes*8 can overflow and become negative.

In that case 'bufsize -= bytes*8' causes bufsize to increase instead of
decrease.

This leads to a segmentation fault.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 00:28:52 +02:00
Michael Niedermayer
af6739d6da Merge commit '3735b5c616770429572f86aabdaec39c6ebb8818'
* commit '3735b5c616770429572f86aabdaec39c6ebb8818':
  Revert "lavfi: always check av_expr_parse_and_eval() return value"

See: 8c9a23833d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 00:18:31 +02:00
Carl Eugen Hoyos
e31cdb5cc8 lavf/riff: Add MultiScope II fourcc MSC2 as MJPEG. 2015-05-05 23:52:38 +02:00
Michael Niedermayer
1ace789fb3 Merge commit '60f1cc4a1ffcbf24acbb543988ceeaec76b70818'
* commit '60f1cc4a1ffcbf24acbb543988ceeaec76b70818':
  alsdec: only adapt order for positive max_order

See: 58d605ee9b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 22:57:46 +02:00
Michael Niedermayer
ff849e11e3 Merge commit '94bb1ce882a12b6d7a1fa32715a68121b39ee838'
* commit '94bb1ce882a12b6d7a1fa32715a68121b39ee838':
  alsdec: check sample pointer range in revert_channel_correlation

Conflicts:
	libavcodec/alsdec.c

See: afc7748d1f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 22:56:11 +02:00
Michael Niedermayer
9810aa3408 Merge commit '110f7f35fb615b97d983b1c6c6a714fddd28bcbe'
* commit '110f7f35fb615b97d983b1c6c6a714fddd28bcbe':
  aacpsy: correct calculation of minath in psy_3gpp_init

See: ca9849eecd
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 22:45:51 +02:00
Michael Niedermayer
df95281618 Merge commit 'e191aaca44b986816695e3b7ecfae64697fd6631'
* commit 'e191aaca44b986816695e3b7ecfae64697fd6631':
  alsdec: limit avctx->bits_per_raw_sample to 32

See: 4c2b88678b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 22:33:21 +02:00
Michael Niedermayer
54d985db84 Merge commit '8fc8024ea56e814cd257d5fe27b21a865080782f'
* commit '8fc8024ea56e814cd257d5fe27b21a865080782f':
  aasc: return correct buffer size from aasc_decode_frame

See: 0be54ad280
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 22:20:36 +02:00
Michael Niedermayer
5a455dd011 avcodec/diracdec: Move buf[] read after size check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 22:01:58 +02:00
Andreas Cadhalpun
984f50deb2 diracdec: prevent overflow in data_unit_size check
buf_idx + data_unit_size can overflow, causing the '> buf_size' check to
wrongly fail.

This causes a segmentation fault.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 21:52:31 +02:00
Ronald S. Bultje
ed68fccf76 vp9: error out if chroma subsampling changes between frames.
This can happen after an intra-only frame. For reference, see:
https://groups.google.com/a/webmproject.org/forum/#!msg/webm-discuss/zaoTxREZjq8/v5Enht87AhcJ

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 20:09:44 +02:00
Anton Khirnov
3735b5c616 Revert "lavfi: always check av_expr_parse_and_eval() return value"
This reverts commit 63be97ec40.

All those calls were unchecked on purpose, as explained in the comments
in the code.
2015-05-05 16:27:24 +02:00
Andreas Cadhalpun
60f1cc4a1f alsdec: only adapt order for positive max_order
For max_order = 0 the clipping range is invalid. (amin = 2, amax = 1)

CC: libav-stable@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-05-05 16:10:52 +02:00
Andreas Cadhalpun
94bb1ce882 alsdec: check sample pointer range in revert_channel_correlation
Also change the type of begin, end and smp to ptrdiff_t to make the
comparison well-defined.

CC: libav-stable@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-05-05 16:06:58 +02:00
Michael Niedermayer
9d4fdfe24c avformat/matroskaenc: Use avoid_negative_ts_use_pts if no stream writes dts
This reduces the number of cases where timestamps need to be shifted

Fixes Ticket4487

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 13:17:25 +02:00
Michael Niedermayer
7ac5c38ec5 avformat/mux: Add avoid_negative_ts_use_pts
This allows using pts instead of dts for negative TS avoidance

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 12:44:20 +02:00
Michael Niedermayer
36993527dd cmdutils: Add libm.h for round()
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 11:51:00 +02:00
Andreas Cadhalpun
110f7f35fb aacpsy: correct calculation of minath in psy_3gpp_init
The minimum of the ath(x, ATH_ADD) function depends on ATH_ADD.
This patch uses the first order approximation to determine it.

For ATH_ADD = 4 this results in the value at 3407.06812 (-5.24241638)
not the one at 3410 (-5.24237967).

CC: libav-stabl@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-05-05 10:28:02 +02:00
Andreas Cadhalpun
e191aaca44 alsdec: limit avctx->bits_per_raw_sample to 32
avctx->bits_per_raw_sample is used in get_sbits_long, which only
supports up to 32 bits.

CC: libav-stable@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-05-05 10:22:29 +02:00
Andreas Cadhalpun
8fc8024ea5 aasc: return correct buffer size from aasc_decode_frame
CC: libav-stable@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-05-05 10:18:59 +02:00
James Almer
858f81fde2 cmdutils: move get_rotation() up in the file
Fixes compilation of fftools without libavdevice

Signed-off-by: James Almer <jamrial@gmail.com>
2015-05-05 02:47:21 -03:00
James Almer
3f7986f983 avfilter/Makefile: add missing lavfutils.c dependency to cover_rect and find_rect filters
Signed-off-by: James Almer <jamrial@gmail.com>
2015-05-05 02:16:37 -03:00
Michael Niedermayer
7f45f7fc7f avcodec/mpeg12dec: use the correct dimensions for checking SAR
Fixes Ticket4533

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 04:33:44 +02:00
Michael Niedermayer
6ef3426d90 avcodec/x86/deinterlace: use INIT_MMX like other asm code does too 2015-05-05 02:41:15 +02:00
Michael Niedermayer
c7369f3a4b avformat/avidec: print a warning for negative sample_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 00:04:38 +02:00
Andreas Cadhalpun
ca234639ac avidec: avoid infinite loop due to negative ast->sample_size
If max in clean_index is set to a negative ast->sample_size, the
following loop never ends:
        while (max < 1024)
            max += max;

Thus set ast->sample_size to 0 if it would otherwise be negative.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 00:04:38 +02:00
James Almer
079b7f6eac vp9: add profile names
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-05-04 18:39:51 -03:00
Michael Niedermayer
b4cc7d67f5 avfilter/vf_cover_rect: clip rectangle if it is partly outside the input
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-04 22:33:17 +02:00
Andreas Cadhalpun
0eec40b713 avidec: check for valid bit_rate range
If bit_rate is negative, it can trigger an av_assert2 in av_rescale_rnd.

Since av_rescale returns int64_t, but st->codec_bit_rate is int, it can
also overflow into a negative value.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-04 21:11:19 +02:00
Michael Niedermayer
783e94cb11 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavfi/cropdetect: Fix cropdetect for > 8 bit input.
  lavf/apngenc: Fix png remuxing by using default extension apng.
  lavf/mxfenc: Write correct interlaced flag when muxing dnxhd.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-04 17:59:56 +02:00
Carl Eugen Hoyos
0bca6182b2 lavfi/cropdetect: Fix cropdetect for > 8 bit input. 2015-05-04 17:50:16 +02:00
Carl Eugen Hoyos
8ad04d24c8 lavf/apngenc: Fix png remuxing by using default extension apng. 2015-05-04 17:49:36 +02:00
Carl Eugen Hoyos
d90f91c1c8 lavf/mxfenc: Write correct interlaced flag when muxing dnxhd.
Reported and early patch version tested by forum user gridtank.
Reviewed-by: Tomas Härdin
2015-05-04 17:44:14 +02:00
Michael Niedermayer
f320f2f4c6 cmdutils: Ask for a sample in case a odd rotation angle is encountered
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-04 17:39:23 +02:00
Michael Niedermayer
5d309d3091 avformat/matroskadec: Use tracks[k]->stream instead of s->streams[k]
The later is not correct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-04 15:49:58 +02:00
Andreas Cadhalpun
e54540655f matroskadec: check s->streams[k] before using it
This fixes a segmentation fault.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-04 15:48:55 +02:00
Michael Niedermayer
d43cd6b08e avcodec/ffv1dec: Check chroma shift parameters
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-04 14:31:45 +02:00
Michael Niedermayer
03baa861ea avcodec/ffv1dec: More completely check micro_version
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-04 14:31:45 +02:00
Michael Niedermayer
3dfbdb328e avcodec/ffv1dec: Check quant table symbols more completely
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-04 14:31:45 +02:00
Andreas Cadhalpun
eb9fb508b0 matroskadec: use uint64_t instead of int for index_scale
index_scale is set to matroska->time_scale of type uint64_t.

When index_scale is int, the assignment can overflow and e.g. result
in index_scale = 0. This causes a floating point exception due to the
division by index_scale.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-04 00:16:00 +02:00
Michael Niedermayer
800df6a849 ffmpeg_filter: use get_rotation()
This unifies the rotation extraction code between ffplay and ffmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-04 00:14:36 +02:00
Michael Niedermayer
4351c288b9 ffplay&cmdutils:Factor get_rotation() code out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 23:49:16 +02:00
Anshul Maheshwari
a6b630e9b6 avcodec/ccaption_dec: correcting line breaks in cc
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 23:38:57 +02:00
Michael Niedermayer
f9e802018e ffplay: unify displaymatrix based rotation code
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 22:39:39 +02:00
Andreas Cadhalpun
372aa0777a pngdec: don't use AV_PIX_FMT_MONOBLACK for apng
AV_PIX_FMT_MONOBLACK has the AV_PIX_FMT_FLAG_BITSTREAM flag, i.e.
linesize can be smaller than width.

Since x_offset is only check against the width, this can lead to
x_offset * bpp >= image_linesize.

In this case ptr could be set to a position outside the image_buf in
png_handle_row, leading to memory corruption and thus crashes.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 21:50:09 +02:00
Andreas Cadhalpun
8f760be4d3 pngdec: return correct error code from decode_frame_common
During the loop ret can get changed. Since it is not set on all failure
paths, decode_frame_common can return 0 even though an error occurred.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 20:28:35 +02:00
Andreas Cadhalpun
287dbb0771 pngdec: check s->last_picture.f->data[0] before using it
This check was removed in commit 08aec6f6, but
s->last_picture.f->data[0] is still used in handle_p_frame_apng
unconditionally.

This fixes a segmentation fault.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 17:24:28 +02:00
Michael Niedermayer
042260cde4 avcodec/wavpack: Check L/R values before use to avoid harmless integer overflow and undefined behavior in fate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 16:37:10 +02:00
Michael Niedermayer
52835cb8e1 avutil/opt: Avoid division by 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 16:37:04 +02:00
Muhammad Faiz
a141948a8b avfilter/avf_showcqt: optimize gamma calculation
benchmark (on intel core2 duo, gcc 4.9.1)
input samples duration 00:03:39.59
command: time -p ffmpeg -f f32le -ac 2 -ar 44100 -i input.pcm \
         -filter_complex showcqt=fullhd=0:gamma=$gamma \
         -f rawvideo -y /dev/null
gamma  previous  modified
  1    48.49 s   45.38 s
  2    49.33 s   48.11 s
  3    80.86 s   59.80 s
  4    80.84 s   51.25 s
  5    80.75 s   61.06 s
  6    80.93 s   61.80 s
  7    80.03 s   61.56 s

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 11:53:04 +02:00
Michael Niedermayer
29ef54aa90 avcodec/nvenc: Make pix_fmts_nvenc const
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 04:14:01 +02:00
Jérôme Martinez
14605a0b99 ffv1dec: plane_index is 1 in case of version 4 gray+alpha.
Since version 4, plane_index for the alpha plane is 1 in the case chroma_planes is 0.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 01:55:12 +02:00
Michael Niedermayer
eb16881199 LICENSE.md: add *_rect filters
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 01:43:30 +02:00
Michael Niedermayer
c8b4ffdf55 configure: prepend avfilter_deps for *_rect filters
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 01:42:51 +02:00
Michael Niedermayer
40964e2e89 Merge commit '3edeb7749e4276c78ad57307b8c3b32dd476d1da'
* commit '3edeb7749e4276c78ad57307b8c3b32dd476d1da':
  configure: Allow log2 with MSVC 2013 onwards.

Conflicts:
	configure

See: 4d93e758d7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 01:30:53 +02:00
Michael Niedermayer
02b5af7744 Merge commit '863ee06809b215895ee20cbc557eeceb904cf770'
* commit '863ee06809b215895ee20cbc557eeceb904cf770':
  configure: Use the right local variable in the MSVC and ICL probes

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 01:20:24 +02:00
Michael Niedermayer
0ba65c9f79 Merge commit '709e1c91ea7a5bbf2b9a104642572ca7616b224f'
* commit '709e1c91ea7a5bbf2b9a104642572ca7616b224f':
  avprobe: Print the display matrix from per-stream sidedata

Conflicts:
	avprobe.c

See: 08152f2df2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 01:04:14 +02:00
Michael Niedermayer
a72b61a317 ffprobe: support printing AVStream and AVPacket side data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 00:53:19 +02:00
Michael Niedermayer
08152f2df2 ffprobe: Add Support to print information about AV_FRAME_DATA_DISPLAYMATRIX
Idea from 709e1c91ea by Martin Storsjö
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 00:39:47 +02:00
Michael Niedermayer
2a3270b66c ffprobe: add writer_print_integers() to allow printing formated 1d and 2d arrays of integers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 00:38:52 +02:00
Michael Niedermayer
db4649dd10 Merge commit '3080b0497ddf8549d86ee99b79ac0c15f44ee382'
* commit '3080b0497ddf8549d86ee99b79ac0c15f44ee382':
  avprobe: Support writing arrays of integers without keys

Conflicts:
	avprobe.c

Not merged
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 23:43:51 +02:00
Michael Niedermayer
a1acae0409 ffmpeg_opt: remove rotate metadata in case of autorotate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 23:04:00 +02:00
Michael Niedermayer
f5b26fbc2f Merge commit '16302246b1fcb7ad4e6f7bd31c49956a455336d2'
* commit '16302246b1fcb7ad4e6f7bd31c49956a455336d2':
  avconv: Add an option for automatically rotating video according to display matrix

Conflicts:
	Changelog
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 22:39:00 +02:00
Michael Niedermayer
deedf3e590 Merge commit 'e2d50fc2f5f3600e13055acf1a10fec35e941f37'
* commit 'e2d50fc2f5f3600e13055acf1a10fec35e941f37':
  avplay: Add support for rotated video

Conflicts:
	configure
	doc/ffplay.texi
	ffplay.c

See: 08c51e12b1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 22:31:20 +02:00
Michael Niedermayer
e874772f70 Merge commit '21180b73239c6360aa28496d4879713b7ba4a8e5'
* commit '21180b73239c6360aa28496d4879713b7ba4a8e5':
  avplay: Factorize code for adding filters to the filter pipeline

Conflicts:
	ffplay.c

See: 08c51e12b1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 22:08:11 +02:00
Michael Niedermayer
94f4bdc4f1 configure: add forgotten avcodec/avformat deps for find/cover_rect
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 21:28:31 +02:00
Michael Niedermayer
61b4ab1860 avfilter: Add cover_rect filter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 21:15:48 +02:00
Michael Niedermayer
94340e4b28 avfilter: add find_rect filter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 21:15:48 +02:00
Matt Oliver
3edeb7749e configure: Allow log2 with MSVC 2013 onwards.
Only MSVC 2010 in x64 mode, in the static msvcrt, had a
stray log2 function (which wasn't available in the headers).

MSVC 2013 has got a proper log2 function though.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-02 22:11:36 +03:00
Martin Storsjö
863ee06809 configure: Use the right local variable in the MSVC and ICL probes
$cc is the compiler requested as main target compiler, while $_cc
is the actual tool tested in the probe function right now (which
can also be e.g. the host compiler).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-02 22:09:09 +03:00
Martin Storsjö
709e1c91ea avprobe: Print the display matrix from per-stream sidedata
This is printed in a separate subgroup "displaymatrix" inside a
new group named "sidedata". The subgroup has got two values,
"rotation" (which is the parsed rotation from the matrix) and
"matrix" containing the full actual values.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-02 22:09:09 +03:00
Martin Storsjö
3080b0497d avprobe: Support writing arrays of integers without keys
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-02 22:09:09 +03:00
Martin Storsjö
16302246b1 avconv: Add an option for automatically rotating video according to display matrix
The option is enabled by default, but can be disabled.

If this is enabled, such side data isn't copied into the output stream
(except when doing stream copy).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-02 22:09:06 +03:00
Martin Storsjö
e2d50fc2f5 avplay: Add support for rotated video
This is enabled by default, but can be disbled via the -noautorotate
option.

Based on a patch by Clément Bœsch.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-02 22:06:29 +03:00
Martin Storsjö
21180b7323 avplay: Factorize code for adding filters to the filter pipeline
Significantly based on a patch by Clément Bœsch.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-02 22:06:29 +03:00
Michael Niedermayer
4e8ee7acb8 libavcodec/svq3: clarify unknown_flag by renaming to has_watermark
The name is based on how the field is used in the code

Reviewed-by: compn <tempn@mi.rr.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 15:34:02 +02:00
Michael Niedermayer
dc4a6e4d5a avfilter/vf_libopencv: Make ocv_filter_entries const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 15:13:30 +02:00
Michael Niedermayer
536b42e858 avutil/cast5: Make iv array static
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 14:37:48 +02:00
Michael Niedermayer
156f64bdf1 avutil/cast5: Mark key_bits as const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 14:37:08 +02:00
Michael Niedermayer
dfc0708e23 avcodec/x86/dct-test: Use uint8_t for idct_simple_mmx_perm
The table contains no element outside the unsigned 8bit range

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 13:43:15 +02:00
Michael Niedermayer
270e647adc avcodec/x86/dct-test: Make static table const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 13:42:46 +02:00
Michael Niedermayer
c187217287 avformat/matroskadec: Mark static tables as const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 13:27:45 +02:00
Rodger Combs
71b69df622 lavf/http: support HTTPS when listening
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 12:03:48 +02:00
Michael Niedermayer
6197672720 avcodec/svq3: Print unknown fields at debug level
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 02:58:00 +02:00
Michael Niedermayer
d56245f770 Merge remote-tracking branch 'rbultje/vp9-profile1-wip'
* rbultje/vp9-profile1-wip:
  vp9: add fate test for 422.
  vp9: copy bug in libvpx for 4:2:2 chroma bs=8x4/4x4 prediction.
  vp9: add yuv440 fate test.
  vp9: fix mask_edges and filter_plane_rows/cols() for 440.
  vp9: more specifically specify mask destination to mask_edges().
  vp9: add fate test for profile 1 444.
  vp9: don't create special u/v filter masks for 444.
  vp9: merge uv loopfilter code into generic filter_plane_rows/cols().
  vp9: split out loopfilter luma rows/cols functions from loopfilter_sb().
  vp9: invert order of two conditions.
  vp9: use correct chroma subsampling for profile 1 inter block recon.
  vp9: use correct chroma subsampling for profile 1 intra block recon.
  vp9: take chroma subsampling into account when walking the block tree.
  vp9: support non-420 chroma subsampling for profile 1 token decoding.
  vp9: increase buffer sizes for non-420 chroma subsamplings.
  vp9: profile 1 header decoding.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-01 22:23:48 +02:00
Michael Niedermayer
c8de8f7e64 Merge commit '3ecb82dd4110108244373f007710df4c2ae572b6'
* commit '3ecb82dd4110108244373f007710df4c2ae572b6':
  dnxhddec: Fix pixel format change

See: dcac15a84c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-01 21:56:11 +02:00
Michael Niedermayer
9aff7d41f6 Merge commit '6503cbf842a026faec517eb980551089168c7d8a'
* commit '6503cbf842a026faec517eb980551089168c7d8a':
  ffv1enc: Add const attribute to input frame

Conflicts:
	libavcodec/ffv1.h

no change, the changed field does not exist in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-01 21:34:35 +02:00
Carl Eugen Hoyos
3ecb82dd41 dnxhddec: Fix pixel format change
Regression introduced in 598f7d046c.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-05-01 14:52:24 +01:00
Vittorio Giovara
6503cbf842 ffv1enc: Add const attribute to input frame
warning: assigning to 'AVFrame *' (aka 'struct AVFrame *') from
         'const AVFrame *' (aka 'const struct AVFrame *') discards
         qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
2015-05-01 14:52:24 +01:00
Michael Niedermayer
c9ac9adb46 avcodec/h264: Remove failure on data partitioning
decode all NAL units instead

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-01 12:30:57 +02:00
Ronald S. Bultje
b005d09764 vp9: add fate test for 422.
Sample available at:
http://downloads.webmproject.org/test_data/libvpx/vp91-2-04-yuv422.webm
2015-05-01 08:45:55 +02:00
Ronald S. Bultje
6f63bdbae6 vp9: copy bug in libvpx for 4:2:2 chroma bs=8x4/4x4 prediction. 2015-05-01 08:45:55 +02:00
Ronald S. Bultje
7126c80f0d vp9: add yuv440 fate test.
Sample available at:
http://downloads.webmproject.org/test_data/libvpx/vp91-2-04-yuv440.webm
2015-05-01 08:45:55 +02:00
Ronald S. Bultje
2a7d7bef62 vp9: fix mask_edges and filter_plane_rows/cols() for 440. 2015-05-01 08:45:54 +02:00
Ronald S. Bultje
cf62f2d2d6 vp9: more specifically specify mask destination to mask_edges(). 2015-05-01 08:45:54 +02:00
Ronald S. Bultje
f052ea6ba5 vp9: add fate test for profile 1 444.
Sample available at:
http://downloads.webmproject.org/test_data/libvpx/vp91-2-04-yuv444.webm
2015-05-01 08:45:54 +02:00
Ronald S. Bultje
e4f77e6239 vp9: don't create special u/v filter masks for 444.
This fixes vp91-2-04-yuv444.webm.
2015-05-01 08:45:54 +02:00
Ronald S. Bultje
afa9d00b43 vp9: merge uv loopfilter code into generic filter_plane_rows/cols(). 2015-05-01 08:45:53 +02:00
Ronald S. Bultje
ba59a5ec42 vp9: split out loopfilter luma rows/cols functions from loopfilter_sb(). 2015-05-01 08:45:53 +02:00
Ronald S. Bultje
844799b033 vp9: invert order of two conditions.
This makes it equal to row-based loopfilter code, and also makes the
chroma/luma code identical.
2015-05-01 08:45:53 +02:00
Ronald S. Bultje
d382cc0fad vp9: use correct chroma subsampling for profile 1 inter block recon. 2015-05-01 08:45:52 +02:00
Ronald S. Bultje
d2aa6f65db vp9: use correct chroma subsampling for profile 1 intra block recon. 2015-05-01 08:45:52 +02:00
Ronald S. Bultje
ed3e0cc715 vp9: take chroma subsampling into account when walking the block tree. 2015-05-01 08:45:52 +02:00
Ronald S. Bultje
6019002f0f vp9: support non-420 chroma subsampling for profile 1 token decoding. 2015-05-01 08:45:52 +02:00
Ronald S. Bultje
2d0bea4719 vp9: increase buffer sizes for non-420 chroma subsamplings. 2015-05-01 08:45:51 +02:00
Ronald S. Bultje
a03b057ede vp9: profile 1 header decoding. 2015-05-01 08:45:51 +02:00
Shivraj Patil
02001ada5c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for H264 lpf and weight/biweight functions
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-01 04:19:18 +02:00
Michael Niedermayer
3cd666cfbc avcodec/svq3: Fix memleak of last_pic_for_ec
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-01 03:15:46 +02:00
Michael Niedermayer
e0153145f6 avformat/mpegts: Detect changes in packet through CRC instead of just the 5bit version
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-01 02:14:14 +02:00
Michael Niedermayer
4b6be54bed avformat/mpegts: reset last_ver on corrupted packets
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-01 02:13:26 +02:00
Michael Niedermayer
4e8d01f20c avformat/mpegts: Factorize version checking code out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-01 01:29:43 +02:00
Vignesh Venkatasubramanian
ccb8f67499 lavf/webm_chunk: Fix a memory leak.
Fix a duplicate memory allocation. priv_data should be allocated
in line 64 call to avformat_alloc_output_context2 since we pass
the correct AVFormat to it. This removes the duplicate allocation.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-30 23:33:10 +02:00
Ronald S. Bultje
5935513c0e vp9: fix show-existing-frames for multi-threading.
This also fixes intra-only MT failures (it was the same bug), see trac
4526 and 4527.

Tested-by: James Almer <jamrial@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-30 23:32:09 +02:00
James Almer
39fbb27ec3 avutil/softfloat_tables: add missing stdint.h include
Fixes make checkheaders

Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-30 17:38:41 -03:00
Michael Niedermayer
7ad528cf23 Merge commit '06f4b1e37a08f3fd269ecbfeb0181129e5bfc86e'
* commit '06f4b1e37a08f3fd269ecbfeb0181129e5bfc86e':
  avplay: Do not print a possibly uninitialized value

Conflicts:
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-30 22:23:29 +02:00
Michael Niedermayer
f5c5aa968c Merge commit 'e8c4db0d4d07738fed716b1d2f20c85aac944641'
* commit 'e8c4db0d4d07738fed716b1d2f20c85aac944641':
  xcbgrab: Validate the capture area

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-30 22:15:22 +02:00
Michael Niedermayer
dc83733f2b Merge commit '82a10225f817b2612fdd2b23af9d4f0a3408df3b'
* commit '82a10225f817b2612fdd2b23af9d4f0a3408df3b':
  xcbgrab: Do not assume the non shm image data is always available

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-30 22:00:10 +02:00
Vignesh Venkatasubramanian
e2784a1d96 lavf/webm_chunk: Use dyn_buf to write chunks
Use dyn_duf to write chunks so that we create the actual chunk
file only after the entire chunk data is available. This will help
not confuse other software looking at the chunk file (e.g. a web
server) by seeing a zero length file when ffmpeg is writing into
it.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-30 21:25:09 +02:00
Nedeljko Babic
1fae268307 libavutil/softfloat: Add functions.
Functions av_gt_sf, av_sqrt_sf and av_sincos_sf added to softfloat

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-30 15:05:12 +02:00
Nedeljko Babic
7bab281475 libavutil/softfloat: Added av_normalize_sf in av_add_sf
This will normalize sums for which mantissa is smaller than the lower boundary
(needed for implementation of fixed point aac decoder).

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-30 14:53:09 +02:00
Nedeljko Babic
a1c7fe431c libavutil/softfloat: exponent adjusted for aac fixed point dec
Exponent usage and calculation in softfloat adjusted to the format used in
implementation of fixed point aac decoder.

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-30 14:20:28 +02:00
Luca Barbato
06f4b1e37a avplay: Do not print a possibly uninitialized value
Initialize `diff` to 0.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-30 14:15:12 +02:00
Luca Barbato
e8c4db0d4d xcbgrab: Validate the capture area
And notify why the capture is impossible.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-30 14:10:13 +02:00
Luca Barbato
82a10225f8 xcbgrab: Do not assume the non shm image data is always available
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-30 14:10:13 +02:00
Michael Niedermayer
d2184bf3b6 avfilter/lavfutils: disable frame threads when decoding a single image
The image decoding code does expect the image to be decoded immedeatly

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-30 03:48:33 +02:00
Michael Niedermayer
2025e803cd avformat/mov: Do not read ACLR into extradata for H.264
Fixes regression decoding AVCI
Fixes Ticket4493

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-30 00:02:47 +02:00
Michael Niedermayer
f8fa392a2e avfilter/vf_vignette: force per frame evaluation if per frame variables are used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 23:13:58 +02:00
Michael Niedermayer
828759ed9a avcodec/cook: Remove unneeded #if
The code is already doing nothing if DEBUG is disabled

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 20:13:59 +02:00
Michael Niedermayer
14e9a20083 avformat/mpegts: Also parse the FMC descriptor if the codec has not been identified yet
Fixes Detecting AAC with such descriptor if the parts needed for detection
are later in the stream

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 18:26:28 +02:00
Michael Niedermayer
8a710ddc7c avcodec/libx264: Remove cleanup code, its uneeded since FF_CODEC_CAP_INIT_CLEANUP
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 17:23:20 +02:00
foo86
e80b2b9c81 avcodec/dca_parser: Extend DTS core sync word and fix existing check
Check extended sync word for 16-bit LE and BE core streams to reduce
probability of alias sync detection. Previously sync word extension was
checked only for 14-bit streams (and this check did not properly work
across buffer boundary).

Use 64-bit parser state to make extended sync word detection work across
buffer boundary.

This is sufficient to make the sample in ticket #4492 parse
successfully.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 17:08:48 +02:00
Michael Niedermayer
50e46b7f0d Merge commit 'a09c499a2e25ded575cb9f37528384402be86ad8'
* commit 'a09c499a2e25ded575cb9f37528384402be86ad8':
  rawenc: properly allocate coded_frame

Conflicts:
	libavcodec/rawenc.c

See: 881f96c4c2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 16:49:47 +02:00
Michael Niedermayer
36f862e04c Merge commit 'a0f2946068c62e18cb05ac25c0df3d86077251a6'
* commit 'a0f2946068c62e18cb05ac25c0df3d86077251a6':
  h264: use properly allocated AVFrames

Conflicts:
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_refs.c
	libavcodec/h264_slice.c
	libavcodec/svq3.c
	libavcodec/vda_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 16:35:24 +02:00
Michael Niedermayer
07a79cf869 Merge commit '7a4f74eed51f914e9bbfebaffd4a92ac6791f819'
* commit '7a4f74eed51f914e9bbfebaffd4a92ac6791f819':
  h264: embed the DPB in the context

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 15:33:46 +02:00
Michael Niedermayer
4a95cd5d9b avcodec/h264_slice: Also copy x264_build in ff_h264_update_thread_context()
Fixes fate-h264-lossless

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 15:21:28 +02:00
Michael Niedermayer
bd7dce594e Merge commit '88c612e3a4d5b584e2d9f6e2541de78d67bdfb9f'
* commit '88c612e3a4d5b584e2d9f6e2541de78d67bdfb9f':
  h264: merge the init and reinit paths in update_thread_context()

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 15:21:20 +02:00
Michael Niedermayer
cc87493f06 Merge commit '8a66fd40260b7aae6226d68c4dbad43b05a8e524'
* commit '8a66fd40260b7aae6226d68c4dbad43b05a8e524':
  h264: drop the reinit parameter from init_slice_header()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 13:55:58 +02:00
Michael Niedermayer
51f7ba9cee Merge commit 'c9ccbc7333eddd025ebbde5cc4f27d68a950c623'
* commit 'c9ccbc7333eddd025ebbde5cc4f27d68a950c623':
  h264: update the current bit depth/chroma type in init_slice_header()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 13:48:45 +02:00
Michael Niedermayer
16b90d0bcb Merge commit '29dcde2b87559b72957454a7e9bcd5227d8057ba'
* commit '29dcde2b87559b72957454a7e9bcd5227d8057ba':
  h264: copy nal_length_size in update_thread_context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 13:41:24 +02:00
Michael Niedermayer
1aa3a0f457 Merge commit '440e8dd374b732c48d564d9f1bb0ec3b1b786fb9'
* commit '440e8dd374b732c48d564d9f1bb0ec3b1b786fb9':
  h264: drop a comment that carries no useful information

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 13:33:17 +02:00
Michael Niedermayer
d3a5dba81b Merge commit '11f024ef0ab923ed8680fc35a087d576e549c849'
* commit '11f024ef0ab923ed8680fc35a087d576e549c849':
  h264: move freeing the escaped RBSP buffer to free_context()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 13:26:33 +02:00
Michael Niedermayer
ab7ad5e6a1 Merge commit 'ee62b364be0c30cba83b5ff10a3ca8c3e866ade6'
* commit 'ee62b364be0c30cba83b5ff10a3ca8c3e866ade6':
  h264: eliminate ff_h264_set_parameter_from_sps()

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 13:23:45 +02:00
Michael Niedermayer
580c86925d Merge commit '54986d6db9116ef9704b1ce8414ffdb7f1ca127f'
* commit '54986d6db9116ef9704b1ce8414ffdb7f1ca127f':
  h264: move context reinit lower down in update_thread_context()

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 12:11:09 +02:00
Michael Niedermayer
cd63252f1f Merge commit 'a6cd154463bea7eb56d28192db4c8c6d83f67fd7'
* commit 'a6cd154463bea7eb56d28192db4c8c6d83f67fd7':
  h264: move the DPB init/uninit to init_context()/free_context()

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 11:48:39 +02:00
Michael Niedermayer
e8a460672f Merge commit '9d33bab583a82cf12286c65258a29c6888e1ff98'
* commit '9d33bab583a82cf12286c65258a29c6888e1ff98':
  h264: drop H264Context.ouputed_poc

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 11:38:42 +02:00
Michael Niedermayer
0d5e615c10 Merge commit '27b0e6ebfd47b0c11156c18b90fa8c571f0f60c3'
* commit '27b0e6ebfd47b0c11156c18b90fa8c571f0f60c3':
  h264: drop needs_realloc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 11:28:28 +02:00
Anton Khirnov
a09c499a2e rawenc: properly allocate coded_frame 2015-04-29 05:52:58 +02:00
Anton Khirnov
a0f2946068 h264: use properly allocated AVFrames 2015-04-29 05:52:58 +02:00
Anton Khirnov
7a4f74eed5 h264: embed the DPB in the context
It now has a fixed size and is initialized only once, so there is no
point in allocating it separately.
2015-04-29 05:52:58 +02:00
Anton Khirnov
88c612e3a4 h264: merge the init and reinit paths in update_thread_context()
There is no real need to handle the init case specially, everything
necessary is initialized in the reinit code as well.
2015-04-29 05:52:58 +02:00
Anton Khirnov
8a66fd4026 h264: drop the reinit parameter from init_slice_header()
It is only used to decide whether to call free_tables(), but that
function is safe to call on an uninitialized context as well.
2015-04-29 05:52:58 +02:00
Anton Khirnov
c9ccbc7333 h264: update the current bit depth/chroma type in init_slice_header()
With frame threading, it is currently only updated in the context where
the change occurs, but not in any other contexts.
2015-04-29 05:52:58 +02:00
Anton Khirnov
29dcde2b87 h264: copy nal_length_size in update_thread_context
It does not make sense to copy is_avc without copying this as well. This
patch should not change anything for now, but will have an effect in
later commits.
2015-04-29 05:52:58 +02:00
Anton Khirnov
440e8dd374 h264: drop a comment that carries no useful information 2015-04-29 05:52:58 +02:00
Anton Khirnov
11f024ef0a h264: move freeing the escaped RBSP buffer to free_context()
It does not logically belong in free_tables(), since it's not allocated
in alloc_tables() and its size has nothing to do with the frame size.
2015-04-29 05:52:58 +02:00
Anton Khirnov
ee62b364be h264: eliminate ff_h264_set_parameter_from_sps()
That function currently does two things -- reinitializing the DSP
contexts and setting low_delay based on the SPS values.

The former more appropriately belongs in h264_slice_header_init(), while
the latter only really makes sense in decode_slice_header().

The third call to ff_h264_set_parameter_from_sps(), done immediately
after parsing a new SPS, appears to serve no useful purpose, so it is
just dropped.

Also, drop now unneeded H264Context.cur_chroma_format_idc.
2015-04-29 05:52:57 +02:00
Anton Khirnov
54986d6db9 h264: move context reinit lower down in update_thread_context()
It uses some fields from the SPS, which is not yet set where the reinit
is called currently.
2015-04-29 05:52:57 +02:00
Anton Khirnov
a6cd154463 h264: move the DPB init/uninit to init_context()/free_context()
Currently, the DPB is initialized in alloc_tables() and uninitialized in
free_tables(), but those functions manage frame size-dependent
variables, so DPB management does not logically belong in there.

Since we want the init/uninit to happen exactly once per the context
lifetime, init_context()/free_context() are the proper place for this
code.
2015-04-29 05:52:57 +02:00
Anton Khirnov
9d33bab583 h264: drop H264Context.ouputed_poc
It is only set, but never used for anything.
2015-04-29 05:52:57 +02:00
Anton Khirnov
27b0e6ebfd h264: drop needs_realloc
It is not needed anymore since switching to refcounted frames.
2015-04-29 05:52:57 +02:00
Michael Niedermayer
215430e049 Merge commit '0ac8ff618c5e6d878c547a8877e714ed728950ce'
* commit '0ac8ff618c5e6d878c547a8877e714ed728950ce':
  avresample: Reallocate the internal buffer to the correct size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 05:46:35 +02:00
Michael Niedermayer
6397814926 avformat/mpegts: reset last_version on seeking
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 05:00:51 +02:00
Michael Niedermayer
12f7253d0e Merge commit '82de8d71118f4eafd6a43e9ea9169bd411793798'
* commit '82de8d71118f4eafd6a43e9ea9169bd411793798':
  mpegts: Update the PSI/SI table only if the version change

Conflicts:
	libavformat/mpegts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 04:24:06 +02:00
Michael Niedermayer
f6c524a939 Merge commit '0c69164f451cc9ca6ce9d6e7568083e2776bc845'
* commit '0c69164f451cc9ca6ce9d6e7568083e2776bc845':
  h263: Convert function to macro

Conflicts:
	libavcodec/h263.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 04:11:21 +02:00
Michael Niedermayer
78f50e7eb6 Merge commit '59dfc2b0c89f35c5805abee72c2ae4ee7af8e98d'
* commit '59dfc2b0c89f35c5805abee72c2ae4ee7af8e98d':
  h263: Drop commented-out code and a related otherwise unused function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 04:04:06 +02:00
Michael Niedermayer
966a57b6e9 Merge commit 'c3418201307c6b7a2b3e3be10f33ab4a20a32c3b'
* commit 'c3418201307c6b7a2b3e3be10f33ab4a20a32c3b':
  jpeglsenc: Mark codec as init-thread-safe and init-cleanup

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 03:56:32 +02:00
Michael Niedermayer
27801500ee Merge commit '3919a4572690894d0a7ad4170d699c52b4748194'
* commit '3919a4572690894d0a7ad4170d699c52b4748194':
  jpeglsenc: Check memory allocations

Conflicts:
	libavcodec/jpeglsenc.c

See: 48214956b2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 03:47:15 +02:00
Michael Niedermayer
77010a41fe Merge commit 'f5ba67ee1342b7741200ff637fc3ea3387b68a1b'
* commit 'f5ba67ee1342b7741200ff637fc3ea3387b68a1b':
  flacenc: Move a scratch buffer to struct used by the function

Conflicts:
	libavcodec/flacenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 03:32:47 +02:00
Luca Barbato
0ac8ff618c avresample: Reallocate the internal buffer to the correct size
Fixes the corner case in which the internal buffer size
is larger than input buffer provided and resizing it
before moving the left over samples would make it write
to now unallocated memory.

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

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-28 23:51:51 +02:00
Andreas Cadhalpun
7c24ca1bda nutdec: fix illegal count check in decode_main_header
The existing check has two problems:
 1) i + count can overflow, so that the check '< 256' returns true.
 2) In the (i == 'N') case occurs a j-- so that the loop runs once more.

This can trigger the assertion 'nut->header_len[0] == 0' or cause
segmentation faults or infinite hangs.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 22:56:14 +02:00
Andreas Cadhalpun
361702660d nutdec: fix memleaks on error in nut_read_header
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 22:38:04 +02:00
Andreas Cadhalpun
3ff1af2b0d nutdec: check chapter creation in decode_info_header
This fixes a segmentation fault when accessing the metadata.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 22:22:48 +02:00
John Högberg
82de8d7111 mpegts: Update the PSI/SI table only if the version change
If a PAT is finished while a PMT section filter is opened but
not yet finished, the PMT section filter is closed and all
the received data is discarded.

This is usually not an issue but some multiplexers (With very
quick PAT/PMT repetition settings) consistently emit a PMT
section start, then a PAT, and then the rest of the PMT,
causing the aforementioned behavior to result in no PMT being
finished.

In the most pathologic situation the stream information are lost
and the probe fallback miscategorizes subtitles as mp3 audio.

Avoid the issue through eliminating redundant PSI/SI table
updates by checking their version field, which is required by
the standard to be incremented on every change no matter how
minor.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-28 21:09:59 +02:00
Andreas Cadhalpun
6621105877 nutdec: check for negative frame rate in decode_info_header
A negative frame rate triggers an av_assert2 in av_rescale_rnd.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 20:37:11 +02:00
Michael Niedermayer
5bebd13d2d avcodec/vqavideo: Use ff_tlog() for byte and opcode tracing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 19:55:39 +02:00
foo86
191dd219d9 avformat/dtsdec: Extend DTS core sync word
Check extended sync word for 16-bit LE and BE core streams to reduce
probability of alias sync detection. Previously sync word extension was
checked only for 14-bit streams.

This follows up the similar change in avcodec/dca_parser.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 19:29:47 +02:00
Vittorio Giovara
0c69164f45 h263: Convert function to macro 2015-04-28 16:33:09 +01:00
Vittorio Giovara
59dfc2b0c8 h263: Drop commented-out code and a related otherwise unused function 2015-04-28 16:31:05 +01:00
Vittorio Giovara
c341820130 jpeglsenc: Mark codec as init-thread-safe and init-cleanup
Fixes a memory leak on init failure.
2015-04-28 16:29:29 +01:00
Vittorio Giovara
3919a45726 jpeglsenc: Check memory allocations
Convert exisiting free functions to av_freep() to avoid accidental
double frees, and always intialize all buffers to NULL.
2015-04-28 16:27:16 +01:00
Vittorio Giovara
f5ba67ee13 flacenc: Move a scratch buffer to struct used by the function
This avoids allocating/freeing memory at every function call,
checking its return value, and carrying the error around.
2015-04-28 16:25:09 +01:00
Michael Niedermayer
e2877bdf38 ffmpeg: remove incorrect network deinit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 15:57:21 +02:00
Andreas Cadhalpun
699341d647 apedec: prevent out of array writes in decode_array_0000
s->decoded_buffer is allocated with a min_size of:
    2 * FFALIGN(blockstodecode, 8) * sizeof(*s->decoded_buffer)

Then it is assigned to s->decoded[0] (and s->decoded_buffer + FFALIGN(blockstodecode, 8)
to s->decoded[1]) and passed as out buffer to decode_array_0000.

In this function 64 elements of the out buffer are written
unconditionally and outside the array if blockstodecode is too small.

This causes memory corruption, leading to segmentation faults or other
crashes.

Thus change decode_array_0000 to write at most blockstodecode elements
of the out buffer.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 12:43:13 +02:00
Maneesh Gupta
91305c6026 OpenCL: Fix ABI incompatibility issues
AVOpenCLDeviceNode and AVOpenCLPlatformNode used fixed static buffer for holding the device and platform name.
This patch modifies these structures to use pointers instead. The memory required to hold the names is
now dynamically allocated, the size for which is determined by querying appropriate OpenCL runtime APIs.

Signed-off-by: Maneesh Gupta <maneesh.gupta@amd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 12:28:53 +02:00
Maneesh Gupta
cf234552b8 OpenCL: Avoid potential buffer overflow in cmdutils_opencl.c
The opt_opencl_bench function copied the device name using strcpy without checking if the source string was larger.
This patch fixes this by replacing the strcpy with av_strlcpy, with the string copy size capped to the destination buffer size.

Signed-off-by: Maneesh Gupta <maneesh.gupta@amd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 12:18:23 +02:00
Vignesh Venkatasubramanian
b410c69fb6 webmdashenc: Fix UTCTiming Element
Remove the direct profile from UTCTiming element. Per DASH spec,
direct profile value should be the time at which the request was
made to the server and not the time at which the manifest was
written. So ffmpeg cannot write this value. This patch removes
the direct profile and write the UTCTiming element with the http
profile only if a URL is passed as a parameter. Update the fate
test to reflect this change.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 03:39:07 +02:00
Andreas Cadhalpun
464c49155c apedec: set s->samples only when init_frame_decoder succeeded
Otherwise range_start_decoding is not necessarily run and thus
ctx->rc.range still 0 in range_dec_normalize leading to an infinite
loop.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 03:21:12 +02:00
Vignesh Venkatasubramanian
8ca170a78a libavformat/webm_chunk: Write first audio packet.
Fix a bug where the chunk muxer doesn't write the very first audio
packet (with pts == 0).

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 02:27:01 +02:00
Michael Niedermayer
0e7444f6e4 avcodec/hevc: Remove current_sps
The variable should not be needed anymore

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 00:04:58 +02:00
Clément Bœsch
2879a4ecb9 tests: make sure subtitles tests are run with a rawdiff
This will test properly CRLF with make fate, make fate-subtitles and any
make fate-sub-* test. Before this commit, the rawdiff was triggered only
by make fate-subtitles.

Also make sure fate-sub-* only match the tests relying on fmtstdout
command, to at least avoid failing on MingW. See
https://ffmpeg.org/pipermail/ffmpeg-devel/2015-April/172395.html
2015-04-27 18:25:38 +02:00
Clément Bœsch
11d29277d6 tests/subtitles: fix microdvd crlf in ref 2015-04-27 18:23:32 +02:00
Alexis Ballier
6fe2afaa71 Adapt libavcodec/tableprint_vlc.h to the av_dlog -> ff_dlog change.
This fixes the build with --enable-hardcoded-tables that was broken since [8f7b022c8c].

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-27 17:57:50 +02:00
ZhouXiaoyong
4a7b50679d makefile: add Loongson-3 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-27 14:10:28 +02:00
Rong Yan
8a03d428f1 avcodec/ppc/fdctdsp: POWER LE support in ff_fdct_altivec() delete macros VEC_FMERGEH() VEC_FMERGEL(), they where wrong
GCC tool had a bug of PPC intrinsic interpret, which has been fixed in GCC 4.9.1. This bug lead to
errors in two of our previous patches. We found this when we update our GCC tools to 4.9.1 and by
reading the related info on GCC website. We fix our previous error in two separate commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-27 12:59:15 +02:00
Rong Yan
603c839398 swscale/ppc/swscale_altivec.c: POWER LE support in yuv2planeX_8() delete macro GET_VF() it was wrong
GCC tool had a bug of PPC intrinsic interpret, which has been fixed in GCC 4.9.1. This bug lead to
errors in two of our previous patches. We found this when we update our GCC tools to 4.9.1 and by
reading the related info on GCC website. We fix our previous error in two separate commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-27 12:59:05 +02:00
Michael Niedermayer
46778ab212 avformat/aviobuf: Do not resize the buffer in ffio_ensure_seekback() if there is no read function
Without a read function there can never be more data read than the buffer could
hold

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-27 05:06:36 +02:00
ZhouXiaoyong
0ace686ae8 avcodec: optimize mathops for Loongson-3 v1
HAVE_LOONGSON is replaced by HAVE_LOONGSON3. Even Loongson-2E and 2F support
Loongson SIMD instructs but have low performance for decoding. We plan to focus
on optimizing Loongson-3A1000, 3B1500 and 3A1500, and modify the configure file
to support Loongson-2 series later by adding HAVE_LOONGSON2.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-27 02:25:12 +02:00
Michael Niedermayer
4b8a819496 avcodec/ffv1enc: set bits_per_raw_sample for 8bit based formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-26 21:23:14 +02:00
Michael Niedermayer
81e40c26e1 avcodec/ffv1enc: Ensure that bits per raw sample is valid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-26 21:09:17 +02:00
Matteo Nastasi (mop)
9c3c7b4579 avutil/log: more complete description of av_log function 2015-04-26 16:34:06 +02:00
Michael Niedermayer
7104301638 avcodec/rv10: Use ff_tlog() for block level tracing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-26 16:29:23 +02:00
Michael Niedermayer
e06dde52d7 avcodec/dvbsubdec: Do not return a value from a function returning void
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-26 13:47:12 +02:00
Michael Niedermayer
0b13f42238 avcodec/interplayvideo: Use ff_tlog() for block level decode tracing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-26 12:59:44 +02:00
Michael Niedermayer
febbb3cbd3 avcodec/h264_slice: Change a few asserts to av_assert*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-26 12:59:30 +02:00
Michael Niedermayer
fa2d3b6dbe Merge commit '5aed1d4240d411533c102eec6944aa925b7f4964'
* commit '5aed1d4240d411533c102eec6944aa925b7f4964':
  vaapi: Fix -Wimplicit-function-declaration for ff_dlog() usage

See: 8f7b022c8c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-26 01:22:39 +02:00
Michael Niedermayer
7b94a2f4b1 avcodec/ituh263dec: Use ff_tlog() for block level information
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-26 01:00:05 +02:00
Michael Niedermayer
d52a8bf158 avcodec/h264_cabac: Use ff_tlog() for block level information
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-26 00:58:51 +02:00
Rico Tzschichholz
5aed1d4240 vaapi: Fix -Wimplicit-function-declaration for ff_dlog() usage
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-26 00:07:41 +02:00
Michael Niedermayer
9d3357391c avcodec/mpeg12dec: Make ff_dlog() messages more clear
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-25 20:23:28 +02:00
Michael Niedermayer
f4c311fef4 avcodec/mpeg12dec: Change mb decode tracing stuff to use ff_tlog()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-25 19:42:49 +02:00
Michael Niedermayer
a3110beebd avutil/softfloat: document av_int2sf()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-25 14:51:02 +02:00
ZhouXiaoyong
663321ed50 configure: add Loongson-3 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-25 13:45:19 +02:00
ZhouXiaoyong
6c5ef7f657 avcodec/mips: disable assembly not supported for Loongson-3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-25 13:17:28 +02:00
Michael Niedermayer
d49210788b avcodec/snowenc: Mark as FF_CODEC_CAP_INIT_THREADSAFE and FF_CODEC_CAP_INIT_CLEANUP
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-25 12:58:17 +02:00
Michael Niedermayer
ee8ce211ea libavcodec/snowdec: Mark as FF_CODEC_CAP_INIT_THREADSAFE and FF_CODEC_CAP_INIT_CLEANUP
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-25 04:50:47 +02:00
Michael Niedermayer
75a730a22b avformat/format: Add generic trace av_log in av_probe_input_format3()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-25 03:43:59 +02:00
Niklesh
0ec3abeb8d avcodec/movtextdec: Decoding of Bold-Italic_Underlined styles for 3gpp timed text subtitles
Signed-off-by: Niklesh <niklesh.lalwani@iitb.ac.in>
Previous version reviewed-by: Philip Langdale <philipl@overt.org>
Previous version reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-25 00:23:44 +02:00
Michael Niedermayer
cea62a90c0 Merge commit 'cfdaa4de6c496b0b761c763cd18067cb1af268a7'
* commit 'cfdaa4de6c496b0b761c763cd18067cb1af268a7':
  dss_sp: use lowercase codec name without whitespace

See: 35e855d5b6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 23:24:16 +02:00
Michael Niedermayer
c949a4500e avcodec/libxvid: remove now redundant init cleanup code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 23:12:02 +02:00
Michael Niedermayer
437bdf482e Merge commit '18db1286b04557aa2d2df7efbcb65ae825d5a469'
* commit '18db1286b04557aa2d2df7efbcb65ae825d5a469':
  libxvid: Make codec use the init-cleanup flag and mark it as init-thread-safe

Conflicts:
	libavcodec/libxvid.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 23:11:34 +02:00
Michael Niedermayer
c180f0f6d3 Merge commit 'eae7338e1592f4a398b7c3cb9d1ac854b7a44ff8'
* commit 'eae7338e1592f4a398b7c3cb9d1ac854b7a44ff8':
  libx264: Make codec use the init-cleanup flag and mark it as init-thread-safe

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 22:21:17 +02:00
Michael Niedermayer
9ba1c62775 Merge commit '74a1cad7e3ba79e5b1e5b2e2bcf6179520442679'
* commit '74a1cad7e3ba79e5b1e5b2e2bcf6179520442679':
  lclenc: Mark codec as init-thread-safe and init-cleanup

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 22:21:00 +02:00
Michael Niedermayer
8d5088a168 Merge commit 'bb428e00ac158244d6691bf135be404e85b66a8b'
* commit 'bb428e00ac158244d6691bf135be404e85b66a8b':
  hqx: Mark codec as init-thread-safe and init-cleanup

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 22:00:35 +02:00
Michael Niedermayer
f2978aa7ed Merge commit '43171886e08b6a2f20a1e2f3ecc95a7984b591cd'
* commit '43171886e08b6a2f20a1e2f3ecc95a7984b591cd':
  huffyuvenc: Mark codec as init-thread-safe and init-cleanup

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 21:48:27 +02:00
Michael Niedermayer
a649650a0e Merge commit 'd90133b77bf69667d10e54de9aae7da223c6876a'
* commit 'd90133b77bf69667d10e54de9aae7da223c6876a':
  asvenc: Mark codec as init-thread-safe and init-cleanup

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 21:37:53 +02:00
Michael Niedermayer
0d3821a6df Merge commit 'a4edaeb50fc7510f28a5d79349a7926a182c9930'
* commit 'a4edaeb50fc7510f28a5d79349a7926a182c9930':
  hq_hqa: Fix table data for profile 17

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 21:27:15 +02:00
Michael Niedermayer
861dec5e90 Merge commit 'b17cbb0b1c4fdf8324eff24d40a02201bfaebfd3'
* commit 'b17cbb0b1c4fdf8324eff24d40a02201bfaebfd3':
  riff: Add GMP4 fourcc for mpeg4

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 21:17:11 +02:00
Michael Niedermayer
9c56cf09ca Merge commit '3c04ec04df8cba12f3a7408709ff5c1fddfe8d82'
* commit '3c04ec04df8cba12f3a7408709ff5c1fddfe8d82':
  riff: Add GLV4 fourcc for mpeg4

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 21:09:03 +02:00
Michael Niedermayer
036162a378 Merge commit '5bba3ab0cf7a0238ee1ea31ca2da08ce860fd8f9'
* commit '5bba3ab0cf7a0238ee1ea31ca2da08ce860fd8f9':
  internal: Make dlog/tlog a no-op when disabled

Conflicts:
	libavcodec/internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 20:49:45 +02:00
Michael Niedermayer
10a28e8a08 Merge commit 'b90adb0aba073f9c1b4abca852119947393ced4c'
* commit 'b90adb0aba073f9c1b4abca852119947393ced4c':
  rtsp: Make sure we don't write too many transport entries into a fixed-size array

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 20:37:51 +02:00
Shivraj Patil
97f074f134 avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC copy and hv mc functions
Incorporated review comment.
Removed "__" from volatile.

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 17:12:04 +02:00
Ronald S. Bultje
5d914a4a43 vp9: add fate test for intraonly frames.
Sample available at:
http://downloads.webmproject.org/test_data/libvpx/vp90-2-16-intra-only.webm
2015-04-24 16:54:31 +02:00
Ronald S. Bultje
640d878bc1 vp9: fix intraonly frame decoding. 2015-04-24 16:54:31 +02:00
Ronald S. Bultje
0eccf7d43a vp9: add fate test for segmentation image-edge issue.
Sample available at:
http://downloads.webmproject.org/test_data/libvpx/vp90-2-15-segkey_adpq.webm
2015-04-24 16:54:31 +02:00
Ronald S. Bultje
ed45edb2f6 vp9: use aligned size to write segmentation map into cache.
The unaligned size is not handled in setctx_2d(), causing edges of images
to have improper segmentation prediction, which causes visual artifacts
at image edges a few frames later.
2015-04-24 16:54:31 +02:00
Ronald S. Bultje
3de13d5212 vp9: remove another optimization branch in iadst16 which causes overflows.
See sample vp90-2-14-resize-fp-tiles-16-8.webm from the vp9 test vector
set to reproduce the issue.
2015-04-24 16:54:31 +02:00
Ronald S. Bultje
4b02032fb4 vp9: add fate tests for show-existing-frame feature.
Samples available at:
http://downloads.webmproject.org/test_data/libvpx/vp90-2-10-show-existing-frame.webm
http://downloads.webmproject.org/test_data/libvpx/vp90-2-10-show-existing-frame2.webm

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 16:37:05 +02:00
Ronald S. Bultje
345e3be7ba vp9: add lf_deltas fate test.
Sample available at:
http://downloads.webmproject.org/test_data/libvpx/vp90-2-09-lf_deltas.webm

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 16:36:36 +02:00
Andreas Cadhalpun
cfdaa4de6c dss_sp: use lowercase codec name without whitespace
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-04-24 14:55:11 +01:00
Vittorio Giovara
18db1286b0 libxvid: Make codec use the init-cleanup flag and mark it as init-thread-safe
This takes care of memory leaks on init error.
2015-04-24 14:55:11 +01:00
Vittorio Giovara
eae7338e15 libx264: Make codec use the init-cleanup flag and mark it as init-thread-safe
This takes care of memory leaks on init error.
2015-04-24 14:55:11 +01:00
Vittorio Giovara
74a1cad7e3 lclenc: Mark codec as init-thread-safe and init-cleanup 2015-04-24 14:55:11 +01:00
Vittorio Giovara
bb428e00ac hqx: Mark codec as init-thread-safe and init-cleanup 2015-04-24 14:55:11 +01:00
Vittorio Giovara
43171886e0 huffyuvenc: Mark codec as init-thread-safe and init-cleanup 2015-04-24 14:55:11 +01:00
Vittorio Giovara
d90133b77b asvenc: Mark codec as init-thread-safe and init-cleanup 2015-04-24 14:55:10 +01:00
Vittorio Giovara
a4edaeb50f hq_hqa: Fix table data for profile 17
The table had a wrong table height and was missing the first line of bytes.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-24 14:55:10 +01:00
Vittorio Giovara
b17cbb0b1c riff: Add GMP4 fourcc for mpeg4 2015-04-24 14:55:10 +01:00
Vittorio Giovara
3c04ec04df riff: Add GLV4 fourcc for mpeg4 2015-04-24 14:55:10 +01:00
Vittorio Giovara
5bba3ab0cf internal: Make dlog/tlog a no-op when disabled
Improves Coverity analysis, avoiding "double semicolon" CIDs.
2015-04-24 14:55:10 +01:00
Martin Storsjö
b90adb0aba rtsp: Make sure we don't write too many transport entries into a fixed-size array
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-04-24 16:07:14 +03:00
wm4
537ab68053 avformat/mp3: large id3 tags break concatenated file detection
If the file size is much larger than what is indicated in the XING
header, the demuxer assumes it's a concatenated file, and throws away
the (presumably) incorrect duration information. Unfortunately, this
also triggers if the id3 tags are very large (embedded pictures and
such). Then the half-baked heuristic not only breaks the duration
display, but also gapless audio.

Fix it by subtracting the size of the headers (the check is off by some
bytes, but that doesn't matter at all). Note that there could be an
arbitrary amount of tags _after_ the mp3 data, but hopefully these are
not too large to trigger the heuristic in practice.

Also add a warning when this happens.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 15:06:54 +02:00
Giorgio Vazzana
00a452a9ad lavd/v4l2: print buffer flags in case of error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 13:25:40 +02:00
Clément Bœsch
8e985b7271 avutil/frame: fix everythnig/everything typo 2015-04-24 10:57:03 +02:00
James Zern
db3f86871e libvpxdec: cosmetics: reindent
Signed-off-by: James Zern <jzern@google.com>
2015-04-24 00:00:20 -07:00
James Zern
e07ef1ada3 libvpxenc: cosmetics: reindent
Signed-off-by: James Zern <jzern@google.com>
2015-04-24 00:00:12 -07:00
James Zern
238ec505e2 libvpxenc: only set noise reduction w/vp8
this quiets a warning:
Failed to set VP8E_SET_NOISE_SENSITIVITY codec control: Unspecified
internal error

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Zern <jzern@google.com>
2015-04-23 23:59:41 -07:00
James Zern
acb07f33c4 git-howto.texi: fix a typo
replace 'Refer to and to sync...' with a reference to the section that
discusses updated the source tree.

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Zern <jzern@google.com>
2015-04-23 23:56:21 -07:00
wm4
0f776df09e avformat/wvdec: fix seeking
While I'm not sure why exactly sure why the old code could end up in the
wrong position, using the generic index code is much simpler and is
known to work correctly.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 03:43:56 +02:00
Michael Niedermayer
cd69c0e018 Merge commit '1bd2646a6da808f6f9881525771db098c54bc3d2'
* commit '1bd2646a6da808f6f9881525771db098c54bc3d2':
  rtpenc_jpeg: Handle case of picture dimensions not dividing by 8

Conflicts:
	libavformat/rtpenc_jpeg.c

See: 7f64a7503b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 03:08:19 +02:00
Michael Niedermayer
f8951d36df Merge commit 'eb7ddb5066843ab16caf33b05eafb2576648b797'
* commit 'eb7ddb5066843ab16caf33b05eafb2576648b797':
  rtsp: Don't warn about unparsed time ranges

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 03:00:37 +02:00
Michael Niedermayer
c0d847e457 tests/fate-run: do not attempt to parse tiny_psnrs output if it failed
This avoids confusing syntax errors with awk later

Likely fixes awk errors at:
http://buildd.debian-ports.org/status/fetch.php?pkg=ffmpeg&arch=sparc64&ver=7%3A2.6.2-1&stamp=1428928967

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Thanks-to: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com> for the link
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 01:45:39 +02:00
Andreas Cadhalpun
4b657a1b1e alac: reject rice_limit 0 if compression is used
If rice_limit is 0, k can be 0 in decode_scalar, which calls show_bits(gb, k).

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 01:15:41 +02:00
Andrey Utkin
1bd2646a6d rtpenc_jpeg: Handle case of picture dimensions not dividing by 8
This fixes the calculation of the number of needed blocks to make
sure that ALL pixels are represented by the result.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-04-23 23:20:03 +03:00
Martin Storsjö
eb7ddb5066 rtsp: Don't warn about unparsed time ranges
This removes the error logging added in 4e54432164.

This avoids warnings about "Invalid interval start specification 'now'"
for live rtsp streams.

We only try to parse some of the many valid values for time ranges
in RTSP - the other ones are fully valid but not interesting for the
use case in rtsp.c, so we shouldn't warn about them.

(Parsing the time ranges is needed to allow seeking, but e.g. setting
the current realtime clock for the start time doesn't make sense.
av_parse_time has got a different mode for parsing absolute times
as well, which can handle the special case "now", but that doesn't
make much sense for this particular use in rtsp.c.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-04-23 23:20:02 +03:00
Michael Niedermayer
802c0af68f Merge commit '358b7ec3099eca6e999ad9dc0da0a23571a7a2f8'
* commit '358b7ec3099eca6e999ad9dc0da0a23571a7a2f8':
  fate: Fix test name for pixfmts tests

Conflicts:
	tests/fate-run.sh

See: e1ee0521a6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 22:16:54 +02:00
Michael Niedermayer
8d31b22869 Merge commit '0a51c7d42a519c63178a4f3e35b8967f21da3a6a'
* commit '0a51c7d42a519c63178a4f3e35b8967f21da3a6a':
  prores: Set the bits_per_coded_sample for alpha pix_fmt

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 22:04:37 +02:00
Michael Niedermayer
400810abee Merge commit '28eddef689f2b4843a84f7d05fd9614246f92cc4'
* commit '28eddef689f2b4843a84f7d05fd9614246f92cc4':
  hq_hqa: Validate get_vlc2 return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 21:57:16 +02:00
Michael Niedermayer
b112e25dde Merge commit 'a78f5548d94f23ce23cece41edf0fe9d18926de6'
* commit 'a78f5548d94f23ce23cece41edf0fe9d18926de6':
  avcodec: Free the default avoptions on init failure

See: 1907ff0a67
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 21:41:23 +02:00
Michael Niedermayer
c39b07ff28 Merge commit 'aef0be08756e00f363c524453c948a6e2a348614'
* commit 'aef0be08756e00f363c524453c948a6e2a348614':
  avcodec: Unref the dummy buffer on the fail path

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 21:20:07 +02:00
Michael Niedermayer
16576a6662 Merge commit '8eb57dc9d5ea13c12573e0759da0f7e79825af98'
* commit '8eb57dc9d5ea13c12573e0759da0f7e79825af98':
  buffersrc: Use the correct deallocation function

See: a6df9ce615
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 21:09:52 +02:00
Michael Niedermayer
b57f9f5724 swscale/swscale: Get rid of the SWS_GAMMA_CORRECT flag
This avoids using up a bit of the public flags

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 20:34:51 +02:00
Pedro Arthur
2a7128f4ed Add gamma encodign/decoding before/after scaling in libswscale
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 20:34:51 +02:00
Ronald S. Bultje
d9555adf06 vp9: set timestamps for show_existing_frame return images.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 20:34:51 +02:00
Andreas Cadhalpun
58d605ee9b alsdec: only adapt order for positive max_order
For max_order = 0 the clipping range is invalid. (amin = 2, amax = 1)

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 16:51:46 +02:00
Ronald S. Bultje
c82e870c12 vp9: maintain lf_delta values if feature is turned off.
This is required if it's subsequently re-enabled with no value updates
(which means, use values that were previously set).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 15:55:15 +02:00
Ronald S. Bultje
d02619fde3 vp9: add fate test for bilinear MC filter.
Sample at:
http://downloads.webmproject.org/test_data/libvpx/vp90-2-06-bilinear.webm

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 15:55:10 +02:00
Michael Niedermayer
06747f8484 tests/tiny_psnr: do not ignore errors from run_psnr
failure to calculate psnr should not result in tiny_psnr returning success

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 15:39:36 +02:00
Vittorio Giovara
32da94fa7f lavf: Reset global flag on deinit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 13:55:55 +02:00
Vittorio Giovara
45340f9fc7 network: Do not leave context locked on error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 13:42:33 +02:00
wm4
60191e3aec fate: add mp3 CBR seek test
This tests the "old", now non-default seek mode, and this requires a
special extra argument.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 12:56:31 +02:00
Timothy Gu
358b7ec309 fate: Fix test name for pixfmts tests
The last pixel format gets leaked as `$test` further down the pipeline.

See for example https://fate.libav.org/x86_32-netbsd-clang-no-inline-asm/20150420020104
Note the odd test names like “yuvj444p.”

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-23 12:47:00 +02:00
Ronald S. Bultje
df287f3e43 vp9: add fate size for resolution changes.
See sample:
http://downloads.webmproject.org/test_data/libvpx/vp90-2-05-resize.ivf

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 05:10:02 +02:00
Ronald S. Bultje
e8b4f6d6be vp9: add support for resolution changes in inter frames.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 05:09:51 +02:00
James Almer
d7f62f033c fate: add cinepak encoder vsynth tests
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 04:44:45 +02:00
Tucker DiNapoli
cbe27006ce postproc: Made QP, nonBQP, and pQPb arrays
Also pulled QP initialization out of inner loop, which removed some redundent code.

Added some dummy fields to PPContext to allow current code to work while
changing the rest of the postprocessing code to support the arrays.

I also increased alignment requirements for some fields in the PPContext struct to
support future avx2 code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 23:59:03 +02:00
Tucker DiNapoli
6264b6227c postproc: Replaced inline asm for prefetching with prefetch functions
Prefetching functions are defined in postprocess_template using the
RENAME macro so that prefetching is used when available. For x86
targets inline asm is used and the functions are non-empty only for
cpus where prefetching is available. For non x86 targets the gcc bultin
prefetch is used if it is available, otherwise no prefetching is done.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 23:32:35 +02:00
wm4
748d4816d9 avformat: add AVFMT_FLAG_FASTSEEK, use it for mp3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 22:27:05 +02:00
Ronald S. Bultje
d02d04a18f vp9: remove one optimization branch in iadst16 which causes overflows.
See sample vp90-2-14-resize-fp-tiles-16-8-4-2-1.webm from the vp9 test
vector set which reproduces the issue. This probably costs a few cycles,
but I don't think there's an easy way to workaround that.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 21:37:10 +02:00
Luca Barbato
0a51c7d42a prores: Set the bits_per_coded_sample for alpha pix_fmt
Improve the compatibility with other software.
2015-04-22 20:50:10 +02:00
Andreas Cadhalpun
86d00ede4f bink: check vst->index_entries before using it
This fixes a NULL pointer dereference if vst->duration is 0.

The problem was introduced in commit 0588acaf.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 20:22:19 +02:00
Mate Sebok
4d98015dcf dshow: add capture device save and load
Signed-off-by: Mate Sebok <smfinc.org@gmail.com>
Reviewed-by: Roger Pack <rogerdpack2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 20:12:36 +02:00
wm4
53ff9a4ec9 fate: gapless: remove useless tests
These could be kept, but they are not overly useful. The only thing they
had over the remaining mp3 gapless test was seeking, which was incorrect
in the toc test, and only by chance correct in the notoc test.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 19:28:07 +02:00
Ludmila Glinskih
5adee9c0af api-flac-test: Coding style
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 17:45:51 +02:00
Andreas Cadhalpun
b3408ae4c6 mpeg4videodec: only allow a positive length
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 16:57:52 +02:00
Andreas Cadhalpun
35e855d5b6 dss_sp: use lowercase codec name without whitespace
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 16:39:26 +02:00
wm4
58fade2c68 avformat/mp3dec: make generic index mode the default
It's the most useful mode, because it seeks accurately, and does not
break features like gapless audio.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 14:41:57 +02:00
wm4
c3a73666ad avformat/mp3dec: allow enabling generic seek mode
"-usetoc 2" now invokes the generic seek and indexing mode. This mode
skips data until the seek target is reached, and this is exact. It also
makes gapless audio actually work if a seek past the start of the file
is involved.

Change the fate-gapless-mp3 test to use the new mode, and move the old
one to fate-gapless-mp3-toc (since the test forces use of the Xing TOC).
The new mode has a different result for the seek - this result is
actually correct.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 14:33:02 +02:00
wm4
066b92e91d avformat/mp3dec: use the common mechanism for skipping samples
The mp2 seek test results change. Whether to skip samples if the file
had no LAME gapless tags was inconsistent. When seeking to the start
of the file, 529 samples were skipped, but when playing from start,
nothing was skipped. This commit changes the behavior on seek to skip
nothing.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 14:16:35 +02:00
wm4
7dd8bf53bd avformat: add common mechanism for skipping samples at the start of file
This makes using the generic indexing code with mp3 easier at a later
point.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 14:05:46 +02:00
Luca Barbato
28eddef689 hq_hqa: Validate get_vlc2 return value
The `hq_ac_vlc.table` is incomplete, so unaccounted symbol return -1
as value.
2015-04-22 12:27:43 +02:00
Luca Barbato
a78f5548d9 avcodec: Free the default avoptions on init failure 2015-04-22 12:27:13 +02:00
Luca Barbato
aef0be0875 avcodec: Unref the dummy buffer on the fail path 2015-04-22 12:27:13 +02:00
Federico Tomassetti
8eb57dc9d5 buffersrc: Use the correct deallocation function
This correction was suggested to me by Michael Niedermayer

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-22 12:26:53 +02:00
Andreas Cadhalpun
afc7748d1f alsdec: check sample pointer range in revert_channel_correlation
Also change the type of begin, end and smp to ptrdiff_t to make the
comparison well-defined.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:02:25 +02:00
Vignesh Venkatasubramanian
f82ce6aa88 webmdashenc: parameter'ize minimumUpdatePeriod
Some players do not support setting minimumUpdatePeriod to zero.
This patch adds a new parameter that will let the users set any
value to this field. Also updates the test and the documentation.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 11:41:03 +02:00
James Almer
ba625dd8a1 avcodec: use av_mod_uintp2() where useful
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-21 22:41:20 -03:00
Vignesh Venkatasubramanian
4f287a3c50 webmdashenc: Add minimumUpdatePeriod
DASH spec requires the presence of either duration of the period
or the minimumUpdatePeriod element. This patch adds the
minimumUpdatePeriod element hardcoded with the value 0 as the
manifest will never be updated for WebM DASH Live streams. Also
updating the fate test reference file.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 01:43:37 +02:00
Andreas Cadhalpun
ca9849eecd aacpsy: correct calculation of minath in psy_3gpp_init
The minimum of the ath(x, ATH_ADD) function depends on ATH_ADD.
This patch uses the first order approximation to determine it.

For ATH_ADD = 4 this results in the value at 3407.06812 (-5.24241638)
not the one at 3410 (-5.24237967).

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Approved-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 01:18:14 +02:00
Chris Watkins
0703c44692 avformat/mov.c: Use %d to print an enum, not PRIu8
Using the PRIu8 format specifier to print an enum value causes a
compiler warning, so use %d instead.

Fixes ticket #4467.

Signed-off-by: Chris Watkins <watk@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-21 23:48:07 +02:00
Michael Niedermayer
a79cbc0b8e avfilter/vf_qp: Fix use of uinitialized variable
Found-by: <Timothy_Gu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-21 22:54:13 +02:00
Michael Niedermayer
122150168f Merge commit '9b2c57bef5e2f3f61a5fd708ba7d5351f5b3f386'
* commit '9b2c57bef5e2f3f61a5fd708ba7d5351f5b3f386':
  drawtext: Add an alpha option

Conflicts:
	doc/filters.texi
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-21 20:20:58 +02:00
Paul B Mahol
77e794908b avcodec/hq_hqa: remove superfluous log message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-04-21 13:19:32 +00:00
Michael Niedermayer
8f9a3817d5 avfilter/vf_qp: fix cleanup on error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-21 14:11:30 +02:00
Luca Barbato
9b2c57bef5 drawtext: Add an alpha option
And document both `draw` and `alpha`.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-21 11:13:30 +02:00
Michael Niedermayer
a924b83ccc avformat/nsvdec: remove trace log from probe(), this is better done generically not per format
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-21 02:19:07 +02:00
Michael Niedermayer
ecf34e8fc2 avformat/mp3dec: Adjust returned timestamp in the CBR seeking case
With this the returned timestamp should match the packet instead of
the requested timestamp, which may lay between  packets

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-21 01:31:28 +02:00
Vignesh Venkatasubramanian
30ba28fe8e webmdashenc: Fix potential memory leak
Fix potential memory leak in WebM DASH Muxer. This fixes coverity
scan CID 1295088.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-21 01:12:27 +02:00
Michael Niedermayer
ba631b7914 avformat/utils: Ensure that AVFMT_FLAG_CUSTOM_IO is set before use
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-21 00:58:11 +02:00
Deb Mukherjee
26a0bcb15b Support for VP9 high-color/high-bit-depth encoding
Patch to support VP9 encoding with new profiles 1-3.
Profile 1 (8-bit 422/444) should work with default libvpx
configuration.
However you will need to configure libvpx with
--enable-vp9-highbitdepth before building and linking
with ffmpeg for profile 2 (10-/12-bit 420) and profile 3
(10-/12-bit 422/444) encoding.

You may use the appropriate profile option on the
command line:
-profile:v 1 for 422/444 8-bit encoding
-profile:v 2 for 420 10-/12- bit encoding
-profile:v 3 for 422/444 10-/12-bit encoding
If you do not use the -profile:v option, it will be deduced
from the source format.

Signed-off-by: James Zern <jzern@google.com>
2015-04-20 15:24:13 -07:00
Michael Niedermayer
e6e8cc8ce9 avformat/img2dec: do not rewind custom io buffers
Fixes double free with some applications

Fixes vlc ticket14121
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 23:59:53 +02:00
Michael Niedermayer
954b5e340e Merge commit 'eaa2d123f0a643664721593d248ece6bcd85f1e6'
* commit 'eaa2d123f0a643664721593d248ece6bcd85f1e6':
  log: Print a full backtrace along with error messages under Valgrind

Conflicts:
	libavutil/log.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 23:30:33 +02:00
Michael Niedermayer
1a41415b2a Merge commit 'bd5ad8b23d0f7d469ca30d03deca879993eb0431'
* commit 'bd5ad8b23d0f7d469ca30d03deca879993eb0431':
  hq_hqa: Fix reading hqa quantization matrix index

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 23:20:36 +02:00
Michael Niedermayer
2f8f5027ad Merge commit '1746dc382ddbf3f8a3f039815644f7eb9076110e'
* commit '1746dc382ddbf3f8a3f039815644f7eb9076110e':
  hqxdsp.h: #include "stddef.h"

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 23:13:16 +02:00
Michael Niedermayer
5380c9afb9 Merge commit '98cab39798612dcaea4f9b6d1e7974bc60d84e13'
* commit '98cab39798612dcaea4f9b6d1e7974bc60d84e13':
  lavf: Fix variables constness in ff_iso8601_to_unix_time()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 23:00:08 +02:00
Michael Niedermayer
037c9c25e6 Merge commit '86e1a35802df42f51337d3fed8d5d99d0898c8bf'
* commit '86e1a35802df42f51337d3fed8d5d99d0898c8bf':
  h264_ps: Return meaningful error codes and address a memory leak

Conflicts:
	libavcodec/h264_ps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 22:49:50 +02:00
Michael Niedermayer
e6831c087e Merge commit '338ed3ed33c412c2828446c4e2a76949161fec6a'
* commit '338ed3ed33c412c2828446c4e2a76949161fec6a':
  ffv1: Pass correct pointers to av_free()

Conflicts:
	libavcodec/ffv1.c

See: a3963cc8ec
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 22:46:46 +02:00
Michael Niedermayer
a570e81234 Merge commit '3b1e35d46dc910cef1d66f6964e6800cae5fc89b'
* commit '3b1e35d46dc910cef1d66f6964e6800cae5fc89b':
  fate: Omit the results if the test passed

See: 1a562adb01
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 22:33:04 +02:00
Michael Niedermayer
d108820c2e Merge commit 'd34039b171bebe37bf723a1b03e5651267099739'
* commit 'd34039b171bebe37bf723a1b03e5651267099739':
  rmenc: Drop the temporary buffer for ac3 byteswap

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 22:24:38 +02:00
Michael Niedermayer
3cd6f4546a Merge commit '656e31ed8728b0c095d037dc9764fc8137c87200'
* commit '656e31ed8728b0c095d037dc9764fc8137c87200':
  ogg: Forward errors further

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 22:12:08 +02:00
Michael Niedermayer
a5379d6e68 Merge commit 'b18346817d57c96cc47811cf78b26653e96bd304'
* commit 'b18346817d57c96cc47811cf78b26653e96bd304':
  flac: fix realloc loop with invalid flac files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 22:08:28 +02:00
Michael Niedermayer
5a14fca9aa Merge commit '2cc3936599b6fc63143036659653d1be0624360f'
* commit '2cc3936599b6fc63143036659653d1be0624360f':
  dashenc: Add a publishTime field in dynamic manifests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 21:45:56 +02:00
Vittorio Giovara
eaa2d123f0 log: Print a full backtrace along with error messages under Valgrind
Useful to understand where and in what execution state a certain message
is generated. It is enabled only when optimizations are disabled, since
function names are not printed otherwise.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-20 19:20:57 +01:00
Vittorio Giovara
bd5ad8b23d hq_hqa: Fix reading hqa quantization matrix index
Value is stored as a byte.
2015-04-20 19:20:22 +01:00
Vittorio Giovara
1746dc382d hqxdsp.h: #include "stddef.h"
It is required by ptrdiff_t, fixes make checkheaders.
2015-04-20 19:19:23 +01:00
wm4
1e2e22ec61 fate: gapless: fix mp3 tests
Seeking to a negative time did not have the desired effect of seeking to
the next valid position (the file start). On the other hand, just
"-ss 0" will normally seek to a position higher than 0, because it adds
the start time of the file. (The start time is not 0 because the gapless
code skips a few samples from the start.)

Fix this by using the "-seek_timestamp 1" option, which makes "-ss 0" do
what you'd expect it would do.

Also put the -ss option at the right place, before -i. This actually
makes it seek, instead of something completely else. The ".out-3" test
is no different in the -usetoc 0/1 cases, because the seeking is
inaccurate (in both cases).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 19:50:58 +02:00
wm4
bac7084fbd ffmpeg: add option not to offset seek position by start time
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 19:50:58 +02:00
Vittorio Giovara
98cab39798 lavf: Fix variables constness in ff_iso8601_to_unix_time()
warning: assigning to
      'char *' from 'const char *' discards qualifiers
      [-Wincompatible-pointer-types-discards-qualifiers]
2015-04-20 18:43:33 +01:00
Michael Niedermayer
57865a9747 avformat/mpeg: put timestamp trace av_logs under FF_DEBUG_TS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 17:41:22 +02:00
Michael Niedermayer
d4cf377947 avformat/mux: Place timestamp related trace av_logs under FF_FDEBUG_TS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 17:36:36 +02:00
Michael Niedermayer
e48a0a6c3f avformat/mov: remove per packet timestamp print trace, theres generic code doing this in utils.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 17:25:04 +02:00
Michael Niedermayer
84b95715fa avformat/utils: Place timestamp trace logs under FF_FDEBUG_TS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 17:03:27 +02:00
Michael Niedermayer
d02b3e9bdb avformat/utils: Provide context for av_log() where one is available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 16:24:47 +02:00
Michael Niedermayer
8a91ee7837 avformat/avidec: Do not call av_log() per byte, use ff_tlog()
This was av_dlog() previously and should not have been changed to av_log()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 16:21:42 +02:00
Vittorio Giovara
86e1a35802 h264_ps: Return meaningful error codes and address a memory leak
Bug-Id: CID 1026763
2015-04-20 14:59:40 +01:00
Diego Biurrun
338ed3ed33 ffv1: Pass correct pointers to av_free()
Bug-Id: CID 1295124
2015-04-20 14:59:40 +01:00
Michael Niedermayer
1ca8052640 avcodec/parser: Remove duplicate header inlcude
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 14:58:09 +02:00
Michael Niedermayer
42d6d249b0 avutil/mips/generic_macros_msa: volatile doesnt need __
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 14:39:50 +02:00
Michael Niedermayer
2a00ef5d81 avcodec/api-flac-test: clear callers context with close_*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 14:36:41 +02:00
Ludmila Glinskih
be70c79af2 libavcodec: Add FLAC API test
Signed-off-by: Ludmila Glinskih <lglinskih@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 14:36:41 +02:00
Michael Niedermayer
09b0f227ce avcodec/flacenc: also count wasted bits in subframe_count_exact()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 14:36:36 +02:00
Michael Niedermayer
1c667626bb Merge commit '386e2755aab73ae7075f78d92786cb5c5419597a'
* commit '386e2755aab73ae7075f78d92786cb5c5419597a':
  jack: Check memory allocation

Conflicts:
	libavdevice/jack.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 12:46:29 +02:00
Timothy Gu
3b1e35d46d fate: Omit the results if the test passed
The FATE server does not report this information anyway and omitting
it makes the successful run send much less data.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-20 12:41:34 +02:00
Luca Barbato
d34039b171 rmenc: Drop the temporary buffer for ac3 byteswap
Use direcly avio_w8().

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-20 12:41:33 +02:00
Luca Barbato
656e31ed87 ogg: Forward errors further
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-20 12:41:33 +02:00
Thomas Guillem
b18346817d flac: fix realloc loop with invalid flac files
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-20 12:41:33 +02:00
Michael Niedermayer
a6df9ce615 avfilter/buffersrc: Use correct, matching deallocation function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 12:33:20 +02:00
Martin Storsjö
2cc3936599 dashenc: Add a publishTime field in dynamic manifests
This field is mandatory in dynamic manifests.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-04-20 13:16:45 +03:00
Michael Niedermayer
0c9e78caf4 Merge commit '617814b4a717b38add5ccb8dd200dbb655f98f09'
* commit '617814b4a717b38add5ccb8dd200dbb655f98f09':
  buffersrc: Fix resource leak on error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 12:15:16 +02:00
Michael Niedermayer
eb8756e4b7 Merge commit '336d2f0979b43a39bd11a047d798b7990d8b07c6'
* commit '336d2f0979b43a39bd11a047d798b7990d8b07c6':
  avplay: Free frame and graph when memory allocation fails

Conflicts:
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 12:12:03 +02:00
Michael Niedermayer
0796a2ab4f Merge commit 'eb31256f12bf0c85aded1612551ce9230356879e'
* commit 'eb31256f12bf0c85aded1612551ce9230356879e':
  g2meet: Support G2M5 codec variant

Conflicts:
	libavcodec/version.h

See: 4ba5420e4d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 11:52:19 +02:00
Michael Niedermayer
57f49fa0ed Merge commit '88d1fb4e3f156d8fd5bb6cb3ba3a9ef1e6d6fb08'
* commit '88d1fb4e3f156d8fd5bb6cb3ba3a9ef1e6d6fb08':
  filtfmts: Avoid null pointer dereference

Conflicts:
	libavfilter/filtfmts.c

See: 24326930d8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 11:50:39 +02:00
Michael Niedermayer
94914d6909 Merge commit 'a1d58e3b386cc0bfe16abd9ccee4eed182b7e354'
* commit 'a1d58e3b386cc0bfe16abd9ccee4eed182b7e354':
  avutil: remove pointless bmi1 define

See: a40cee03a3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 11:39:59 +02:00
Michael Niedermayer
a22da5e669 Merge commit '09bd7ddf2002562befa15a2a4d065b79ad14ed8e'
* commit '09bd7ddf2002562befa15a2a4d065b79ad14ed8e':
  aacdec: consistently use avctx for logging in decode_eld_specific_config

See: 5b75689b98
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 11:39:06 +02:00
Michael Niedermayer
fc83ff80b4 Merge commit '3d71b1f8f09fccea7158e868fb9bd81b81205449'
* commit '3d71b1f8f09fccea7158e868fb9bd81b81205449':
  mpegvideo_enc: Simplify picture allocation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 11:29:43 +02:00
Michael Niedermayer
924a77fb4e Merge commit '0251c9be5a9d79cb669e97086a82dc4d44a917b0'
* commit '0251c9be5a9d79cb669e97086a82dc4d44a917b0':
  motion_est: Fix warning from zero_cmp() assignment

See: ea41e6d637
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 11:28:55 +02:00
Michael Niedermayer
127f7aa401 Merge commit '4d593896aaa81356def8993e8c52294bd8bb2797'
* commit '4d593896aaa81356def8993e8c52294bd8bb2797':
  vc1_pred: Always initialize px and py in ff_vc1_pred_mv_intfr()

Conflicts:
	libavcodec/vc1_pred.c

See: 6c5bd7d785
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 11:17:36 +02:00
Michael Niedermayer
4d50d53a6d Merge commit '9286de045968ad456d4e752651eec22de5e89060'
* commit '9286de045968ad456d4e752651eec22de5e89060':
  mov: Double-check that alias path is not an absolute path

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 11:03:32 +02:00
Michael Niedermayer
82d9c4e578 Merge commit '376589e5dd72aa2dd42500f456fca303fcdcad85'
* commit '376589e5dd72aa2dd42500f456fca303fcdcad85':
  mov: Read alternate absolute path in dref alis

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 05:51:40 +02:00
Michael Niedermayer
5a284d076f Merge commit '22526c1f557a72b3285d295bd8b30c40eb65d437'
* commit '22526c1f557a72b3285d295bd8b30c40eb65d437':
  Canopus HQ/HQA decoder

Conflicts:
	Changelog
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 05:28:13 +02:00
Michael Niedermayer
fcca7671e2 Merge commit 'e6fb844f7b736e72da364032d251283bce9e63ad'
* commit 'e6fb844f7b736e72da364032d251283bce9e63ad':
  Implement shared parsing of INFO tag in Canopus family

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 05:19:46 +02:00
Michael Niedermayer
f1db984288 Merge commit 'fcda30f2dcb744d89df9d5d1ec89ba55279cb83c'
* commit 'fcda30f2dcb744d89df9d5d1ec89ba55279cb83c':
  fate: Prefix cllc tests with canopus

Conflicts:
	tests/fate/lossless-video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 05:19:03 +02:00
Michael Niedermayer
1fa7d0902c Merge commit '5b5338f6d1272526d2634501555cbaff4cdfb87b'
* commit '5b5338f6d1272526d2634501555cbaff4cdfb87b':
  hqx: Implement slice-threaded decoding

Conflicts:
	libavcodec/hqx.c
	libavcodec/hqx.h

See: eff72a6c73
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 05:11:48 +02:00
Michael Niedermayer
55b866f618 Merge commit '453642f8afe9f979fcc813a246b1ec656ec36a93'
* commit '453642f8afe9f979fcc813a246b1ec656ec36a93':
  hqx: Store shareable data in main decoder context

Conflicts:
	libavcodec/hqx.c
	libavcodec/hqx.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 04:57:06 +02:00
Michael Niedermayer
d8b4e9adbb Merge commit 'ea031b75fb50c59196ccb654c9d143fb75365da9'
* commit 'ea031b75fb50c59196ccb654c9d143fb75365da9':
  hqx: Move DSP related code to a separate file

Conflicts:
	libavcodec/hqx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 04:33:06 +02:00
Michael Niedermayer
73e6af9d7b Merge commit '17aa81d94781c6f62dc7d1dbd1f8891c020c9905'
* commit '17aa81d94781c6f62dc7d1dbd1f8891c020c9905':
  hqx: Merge invalid format check within switch block

Conflicts:
	libavcodec/hqx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 04:29:58 +02:00
Michael Niedermayer
dbd94b771f avcodec/internal: Fix ff_dlog() define like av_dlog()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 04:27:08 +02:00
Michael Niedermayer
0a582aeee4 avcodec: fix build with DEBUG/TRACE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 04:11:23 +02:00
Michael Niedermayer
8f7b022c8c Merge commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25'
* commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25':
  lavc: Replace av_dlog and tprintf with internal macros

Conflicts:
	libavcodec/aacdec.c
	libavcodec/audio_frame_queue.c
	libavcodec/bitstream.c
	libavcodec/dcadec.c
	libavcodec/dnxhddec.c
	libavcodec/dvbsubdec.c
	libavcodec/dvdec.c
	libavcodec/dvdsubdec.c
	libavcodec/get_bits.h
	libavcodec/gifdec.c
	libavcodec/h264.h
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_refs.c
	libavcodec/imc.c
	libavcodec/interplayvideo.c
	libavcodec/jpeglsdec.c
	libavcodec/libopencore-amr.c
	libavcodec/mjpegdec.c
	libavcodec/mpeg12dec.c
	libavcodec/mpegvideo_enc.c
	libavcodec/mpegvideo_parser.c
	libavcodec/pngdec.c
	libavcodec/ratecontrol.c
	libavcodec/rv10.c
	libavcodec/svq1dec.c
	libavcodec/vqavideo.c
	libavcodec/wmadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 04:10:10 +02:00
Michael Niedermayer
40d552dae6 Merge commit '1a3eb042c704dea190c644def5b32c9cee8832b8'
* commit '1a3eb042c704dea190c644def5b32c9cee8832b8':
  Replace av_dlog with normal av_log at trace level

Conflicts:
	ffplay.c
	libavdevice/fbdev_dec.c
	libavfilter/avfilter.c
	libavfilter/internal.h
	libavfilter/setpts.c
	libavfilter/src_movie.c
	libavfilter/vf_crop.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fieldorder.c
	libavformat/assdec.c
	libavformat/avidec.c
	libavformat/flvdec.c
	libavformat/http.c
	libavformat/ipmovie.c
	libavformat/isom.c
	libavformat/mov.c
	libavformat/mpegenc.c
	libavformat/mpegts.c
	libavformat/mpegtsenc.c
	libavformat/mux.c
	libavformat/mxfdec.c
	libavformat/nsvdec.c
	libavformat/oggdec.c
	libavformat/r3d.c
	libavformat/rtspdec.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 03:19:47 +02:00
Michael Niedermayer
8e8219e0f0 Merge commit 'c253340ae6f74ffd8798bbd476e46d1b33a2d56e'
* commit 'c253340ae6f74ffd8798bbd476e46d1b33a2d56e':
  log: Introduce a more verbose debug level

Conflicts:
	doc/APIchanges
	doc/fftools-common-opts.texi
	libavutil/log.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 02:48:19 +02:00
Federico Tomassetti
386e2755aa jack: Check memory allocation
Bug-Id: CID 1265785
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-19 23:50:48 +01:00
Federico Tomassetti
617814b4a7 buffersrc: Fix resource leak on error
Bug-Id: CID 1267902
CC: libav-stable@libav.org
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-19 23:50:46 +01:00
Federico Tomassetti
336d2f0979 avplay: Free frame and graph when memory allocation fails
Bug-Id: CID 1291564
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-19 23:45:35 +01:00
Eric Zimmerman
eb31256f12 g2meet: Support G2M5 codec variant
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-19 23:45:35 +01:00
Himangi Saraogi
88d1fb4e3f filtfmts: Avoid null pointer dereference 2015-04-19 23:45:35 +01:00
James Almer
a1d58e3b38 avutil: remove pointless bmi1 define
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-19 23:45:35 +01:00
Andreas Cadhalpun
09bd7ddf20 aacdec: consistently use avctx for logging in decode_eld_specific_config
ac may be NULL and then accessing ac->avctx results in a segmentation fault.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-04-19 23:45:35 +01:00
Vittorio Giovara
3d71b1f8f0 mpegvideo_enc: Simplify picture allocation 2015-04-19 23:17:56 +01:00
Vittorio Giovara
0251c9be5a motion_est: Fix warning from zero_cmp() assignment
warning: incompatible
      pointer types assigning to 'me_cmp_func' (aka 'int (*)(struct
      MpegEncContext *, uint8_t *, uint8_t *, ptrdiff_t, int)') from 'int
      (MpegEncContext *, uint8_t *, uint8_t *, int, int)'
      [-Wincompatible-pointer-types]
2015-04-19 23:17:56 +01:00
Vittorio Giovara
4d593896aa vc1_pred: Always initialize px and py in ff_vc1_pred_mv_intfr()
Fix a rather lengthy initialization warning from clang.
2015-04-19 23:17:56 +01:00
Vittorio Giovara
9286de0459 mov: Double-check that alias path is not an absolute path
nlvl_to and nlvl_from can be set to 1 if both alias and target files
are in the same directory, so actually check the first character of the
string. We can do this because MacOS filepaths (alis type 2) are always
converted to UNIX filepaths (alis type 18).
2015-04-19 22:50:24 +01:00
Vittorio Giovara
376589e5dd mov: Read alternate absolute path in dref alis
Absolute paths can be stored in alis type 2 and 18 according to my research:
the first is the canonical MacOS filepath, with path level separated by
colons, and the volume name within the filepath, while the second should be the
absolute filesystem path from the mount point.
2015-04-19 22:48:14 +01:00
Michael Niedermayer
93db2708d3 ffmpeg: Fix null pointer dereference in do_video_out()
Fixes: CID1295087

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-19 23:44:19 +02:00
Vittorio Giovara
22526c1f55 Canopus HQ/HQA decoder
Based on work by Kostya Shishkov <kostya.shishkov@gmail.com>.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-19 22:37:23 +01:00
Vittorio Giovara
e6fb844f7b Implement shared parsing of INFO tag in Canopus family
Add some bounds checking to CLLC; reduce HQX variable scoping,
add an error message.
2015-04-19 22:37:02 +01:00
Vittorio Giovara
fcda30f2dc fate: Prefix cllc tests with canopus
They belong to the same family of codecs.
2015-04-19 22:36:50 +01:00
Vittorio Giovara
5b5338f6d1 hqx: Implement slice-threaded decoding
Inspired by a patch from Ferdinand Oeinck <ferdo@demon.nl>.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-19 22:36:48 +01:00
Vittorio Giovara
453642f8af hqx: Store shareable data in main decoder context
In preparation for multithreaded decoding.
2015-04-19 22:36:41 +01:00
Michael Niedermayer
0cab0931dc avformat/matroskadec: remove now duplicate doctype check
See: b8d7f3186e
See: d9fe6b926c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-19 16:47:12 +02:00
Michael Niedermayer
9a0f60a0f8 avcodec/mpeg4videodec: Use check_marker()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-19 15:34:43 +02:00
Michael Niedermayer
22c0585a00 avformat/http: Fix 2 typos
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-19 14:26:40 +02:00
Vittorio Giovara
ea031b75fb hqx: Move DSP related code to a separate file 2015-04-19 12:41:59 +01:00
Vittorio Giovara
17aa81d947 hqx: Merge invalid format check within switch block 2015-04-19 12:41:59 +01:00
Vittorio Giovara
6a85dfc830 lavc: Replace av_dlog and tprintf with internal macros 2015-04-19 12:41:59 +01:00
Vittorio Giovara
1a3eb042c7 Replace av_dlog with normal av_log at trace level
This applies to every library where performance is not critical.
2015-04-19 12:41:59 +01:00
Vittorio Giovara
c253340ae6 log: Introduce a more verbose debug level
And deprecate av_dlog macro.
2015-04-19 12:41:59 +01:00
Michael Niedermayer
3668701f96 avformat/http: Return an error in case of prematurely ending data
Fixes Ticket 4039

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-19 13:01:48 +02:00
James Almer
a40cee03a3 avutil: remove pointless bmi1 define
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-18 22:15:25 -03:00
Lou Logan
d1a8922098 cmdutils: indent protocols listing
For readability.

Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-19 02:05:22 +02:00
Andreas Cadhalpun
faf9fe2c22 alsdec: validate time diff index
If begin is smaller than t, the subtraction 'begin -= t' wraps around,
because begin is unsigned. The same applies for end < t.

This causes segmentation faults.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-19 00:49:42 +02:00
James Almer
5cd2169344 wavpackenc: use put_sbits()
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-18 18:07:54 -03:00
Thomas Guillem
b8d7f3186e matroskadec: fix crash when parsing invalid mkv
CC: libav-stable@libav.org

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-04-18 16:49:25 +02:00
Paul B Mahol
df7c2b2f1b avformat/riff: support G729A
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-04-17 19:01:58 +00:00
Paul B Mahol
daf73d5d17 avcodec/g729dec: support decoding packets with multiple frames
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-04-17 19:01:58 +00:00
Michael Niedermayer
f98cad8759 Merge commit 'b8d7f3186e86234f6255f5e8ee9e98573b4d9a6e'
* commit 'b8d7f3186e86234f6255f5e8ee9e98573b4d9a6e':
  matroskadec: fix crash when parsing invalid mkv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-18 21:13:25 +02:00
Andreas Cadhalpun
4c2b88678b alsdec: limit avctx->bits_per_raw_sample to 32
avctx->bits_per_raw_sample is used in get_sbits_long, which only
supports up to 32 bits.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-18 21:00:25 +02:00
Michael Niedermayer
7e104647a3 avcodec/alsdec: Use av_mallocz_array() for chan_data to ensure the arrays never contain random data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-18 20:50:23 +02:00
Andreas Cadhalpun
ef16501aeb alsdec: ensure channel reordering is reversible
If the same idx is used for more than one i, at least one entry in
sconf->chan_pos remains uninitialized.

This can cause segmentation faults.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-18 19:26:17 +02:00
James Almer
d8c52f5d04 proresenc_anatoliy: use put_sbits()
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-18 14:15:57 -03:00
James Almer
778bac2788 adpcm: use av_clip_intp2()
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-18 14:15:07 -03:00
James Almer
979b77eec5 dca_xll: use av_clip_intp2()
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-18 14:14:24 -03:00
James Almer
b5564e041b dcaenc: use put_sbits()
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-18 14:14:11 -03:00
James Almer
6863249b34 aaccoder: use put_sbits()
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-18 14:13:59 -03:00
Mariusz Szczepańczyk
e623e8cbb0 lavf: add documentation on directory listing API
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-18 17:54:04 +02:00
Michael Niedermayer
e739cbb2bb avcodec/cabac: remove START/STOP_TIMER debug/benchmark code
Found-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-18 17:42:30 +02:00
Michael Niedermayer
edbb9b5e8f avformat/utils: Add HEVC to unreliable_tb()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-18 02:20:50 +02:00
Michael Niedermayer
80fa48a413 avformat/utils: Use codec_info_duration_fields in fps calculation end decission when no timestamps and thus no duration_count is available
This avoids waiting for a count to increase which will always be 0 and may
reduce the startup delay for affected streams (rare)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-18 02:18:55 +02:00
wm4
e2691b8092 hls: skip to next segment if the current is unavailable
Apparently, some live streams can delete segments too early, maybe
because the client is too far behind. In this case, it's better to skip
the segment, instead of returning EOF. (Yes, the HLS demuxer actually
returns AVERROR_EOF if opening the segment returns a 404 HTTP error.)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-17 22:54:17 +02:00
Michael Niedermayer
3acadc89f4 tests/tiny_psnr: Make the search range extend both sides from the specified shift value
This is what one would expect from the help text

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-17 21:22:27 +02:00
Michael Niedermayer
04fbab1477 Merge commit '1336bb06c9fbf9a14765e9f78616f2aad4f3a45a'
* commit '1336bb06c9fbf9a14765e9f78616f2aad4f3a45a':
  configure: Simplify avisynth check

Conflicts:
	configure

No change as check_lib2 was already used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-17 20:23:28 +02:00
Michael Niedermayer
67ac31d1be Merge commit '247aa7af7d8197247c181e3fbfe8d93d75e41b29'
* commit '247aa7af7d8197247c181e3fbfe8d93d75e41b29':
  avisynth: Simplify shared library name construction

Conflicts:
	libavformat/avisynth.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-17 20:03:16 +02:00
wm4
12da8bc38d fate: gapless: test mp3 both with and without TOC
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-17 18:18:05 +02:00
wm4
49d5c24aa1 fate: gapless: test seeking to a specific position
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-17 18:17:35 +02:00
wm4
2a0aa318f8 fate: gapless: fix a typo in comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-17 18:16:45 +02:00
wm4
92eef26e67 avformat/mp3dec: fix gapless audio when seeking in CBR mode
Removing a bunch of questionable hacks makes it work. These hacks
apparently try to make concatenated mp3s with Lame headers seekable,
which doesn't make too much sense anyway. The main change is that we
trust the Xing header file size field now (the same field is used for
seeking with Xing TOC). Note that a mp3 might contain an unknown number
of unsupported additional tags, so we can't reliably compute this size
manually.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-17 17:48:22 +02:00
Shivraj Patil
4efc0e6451 avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC horizontal and vertical mc functions
Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-17 17:39:32 +02:00
Shivraj Patil
35a7170e69 Makefile: Add support for MSA (MIPS-SIMD-Arch)
Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-17 17:38:41 +02:00
Michael Niedermayer
8768f8f4b9 avcodec/mpegaudiodec_template: use double to build csa tables
Fixes rounding difference between 32bit x86 and 64bit
Fixes fate failure with gapless mp3

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-17 13:50:37 +02:00
Michael Niedermayer
38f6726068 avcodec/atrac3plusdsp: fix on stack alignment
Fixes fate failure on ARM
2015-04-17 12:22:04 +02:00
Vignesh Venkatasubramanian
1c37848f90 webmdashenc: Add better error handling
Return appropriate error codes and propagate the error codes from
helper functions to the outer calls. Also fix a potential leak in
call to av_realloc.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-17 04:48:29 +02:00
James Almer
8254011b21 configure: remove old libdcadec check
It's obsolete after the addition of the pkg-config check.
See http://comments.gmane.org/gmane.comp.video.ffmpeg.devel/191983 for the
relevant discussion

Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-16 20:10:19 -03:00
wm4
8297d87eec fate: add mp3 gapless test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 23:05:47 +02:00
Andreas Cadhalpun
bc4fee7f2a ac3: validate end in ff_ac3_bit_alloc_calc_mask
This fixes an invalid read if end is 0:
     band_end   = ff_ac3_bin_to_band_tab[end-1] + 1;

Depending on what is before the array, this can cause stack smashing,
when band_end becomes too large.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 21:37:16 +02:00
Rodger Combs
55a1d75bf7 lavf/assenc: handle extra sections after Events
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 21:09:32 +02:00
Andreas Cadhalpun
e224aa4191 aacpsy: avoid psy_band->threshold becoming NaN
If band->thr is 0.0f, the division is undefined, making norm_fac not a
number or infinity, which causes psy_band->threshold to become NaN.

This is passed on to other variables until it finally reaches
sce->sf_idx and is converted to an integer (-2147483648).

This causes a segmentation fault when it is used as array index.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 20:28:55 +02:00
Andreas Cadhalpun
0be54ad280 aasc: return correct buffer size from aasc_decode_frame
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 19:19:09 +02:00
Andreas Cadhalpun
5b75689b98 aacdec: consistently use avctx for logging in decode_eld_specific_config
ac may be NULL and then accessing ac->avctx results in a segmentation fault.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 18:44:18 +02:00
James Almer
1577b29c82 configure: add missing dependencies for MIPS and PPC features
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-16 13:17:12 -03:00
Andreas Cadhalpun
ae6fd7300b msrledec: use signed pixel_ptr in msrle_decode_pal4
This fixes segmentation faults, when pic->linesize[0] is negative.
In that case 'line * pic->linesize[0] + pixel_ptr' is treated as
unsigned and wraps around.

This reverts commit 7d78a964.
The problem was introduced in commit f7e1367f, which should obsolete
that commit.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 15:52:22 +02:00
Simon Thelen
ed2a712750 configure: add pkg-config support for libdcadec
Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 14:52:38 +02:00
Victor Anjin
2db24cf746 ivfenc: incorrect fourcc for VP9 video
VP80 fourcc are writed for all contexts (without ctx->codec_tag)
how to reproduce the issue:
1) Get any vp9 video (for example  http://base-n.de/webm/out9.webm)
2) ffmpeg  -i out9.webm -vcodec copy out9.ivf
3) out9.ivf have VP80 fourcc at ivf header
The proposed fix solves this issue

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 13:06:35 +02:00
Nicolas George
38155865df lavfi/avf_showcqt: fix error code.
Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 12:38:28 +02:00
Michael Niedermayer
b50a4ca179 avformat/utils: Preserve packet duration when parsing is done only for headers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 04:31:30 +02:00
Michael Niedermayer
c658269cd1 avcodec/h264_ps: Validate num_units_in_tick/time_scale before setting them in the context
This probably makes no big difference but it is more correct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 03:41:41 +02:00
Vittorio Giovara
7498f2221e h264: Do not fail on unsupported timing info
The spec madandate both time_scale and num_units_in_tick greater than 0,
however since they are not essential for decoding, just ignore the whole
block and try to finish parsing the VUI.

Related to Ticket4445.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-16 03:41:41 +02:00
Rostislav Pehlivanov
c5d4f87e81 aaccoder: Implement Perceptual Noise Substitution for AAC
This commit implements the perceptual noise substitution AAC extension. This is a proof of concept
implementation, and as such, is not enabled by default. This is the fourth revision of this patch,
made after some problems were noted out. Any changes made since the previous revisions have been indicated.

In order to extend the encoder to use an additional codebook, the array holding each codebook has been
modified with two additional entries - 13 for the NOISE_BT codebook and 12 which has a placeholder function.
The cost system was modified to skip the 12th entry using an array to map the input and outputs it has. It
also does not accept using the 13th codebook for any band which is not marked as containing noise, thereby
restricting its ability to arbitrarily choose it for bands. The use of arrays allows the system to be easily
extended to allow for intensity stereo encoding, which uses additional codebooks.

The 12th entry in the codebook function array points to a function which stops the execution of the program
by calling an assert with an always 'false' argument. It was pointed out in an email discussion with
Claudio Freire that having a 'NULL' entry can result in unexpected behaviour and could be used as
a security hole. There is no danger of this function being called during encoding due to the codebook maps introduced.

Another change from version 1 of the patch is the addition of an argument to the encoder, '-aac_pns' to
enable and disable the PNS. This currently defaults to disable the PNS, as it is experimental.
The switch will be removed in the future, when the algorithm to select noise bands has been improved.
The current algorithm simply compares the energy to the threshold (multiplied by a constant) to determine
noise, however the FFPsyBand structure contains other useful figures to determine which bands carry noise more accurately.

Some of the sample files provided triggered an assertion when the parameter to tune the threshold was set to
a value of '2.2'. Claudio Freire reported the problem's source could be in the range of the scalefactor
indices for noise and advised to measure the minimal index and clip anything above the maximum allowed
value. This has been implemented and all the files which used to trigger the asserion now encode without error.

The third revision of the problem also removes unneded variabes and comparisons. All of them were
redundant and were of little use for when the PNS implementation would be extended.

The fourth revision moved the clipping of the noise scalefactors outside the second loop of the two-loop
algorithm in order to prevent their redundant calculations. Also, freq_mult has been changed to a float
variable due to the fact that rounding errors can prove to be a problem at low frequencies.
Considerations were taken whether the entire expression could be evaluated inside the expression
, but in the end it was decided that it would be for the best if just the type of the variable were
to change. Claudio Freire reported the two problems. There is no change of functionality
(except for low sampling frequencies) so the spectral demonstrations at the end of this commit's message were not updated.

Finally, the way energy values are converted to scalefactor indices has changed since the first commit,
as per the suggestion of Claudio Freire. This may still have some drawbacks, but unlike the first commit
it works without having redundant offsets and outputs what the decoder expects to have, in terms of the
ranges of the scalefactor indices.

Some spectral comparisons: https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/Original.png (original),
https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/PNS_NO.png (encoded without PNS),
https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/PNS1.2.png (encoded with PNS, const = 1.2),
https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/Difference1.png (spectral difference).
The constant is the value which multiplies the threshold when it gets compared to the energy, larger
values means more noise will be substituded by PNS values. Example when const = 2.2:
https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/PNS_2.2.png

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-15 19:59:44 +02:00
Nedeljko Babic
f4ccf38902 libavutil/softfloat: Change order of fields in SoftFloat structure.
Softfloat will be used in implementation of AAC fixed point decoder.
This change is needed in order to more easily integrate ffmpegs softfloat in
already developed algorithm for AAC.

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-15 18:53:55 +02:00
Michael Niedermayer
574978d2bd avcodec/intelh263dec: Use check_marker()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-15 18:53:55 +02:00
Diego Biurrun
1336bb06c9 configure: Simplify avisynth check 2015-04-15 14:52:58 +02:00
Diego Biurrun
247aa7af7d avisynth: Simplify shared library name construction 2015-04-15 14:52:57 +02:00
wm4
3163083f7b avformat/mp3dec: offset seek index to end of vbr headers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-15 13:25:08 +02:00
wm4
ddd429fab6 Revert "avformat/mp3dec: offset seek index to end of id3v2 tag"
This reverts commit 8b76c0eb56.

It was slightly incorrect; the next commit fixes it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-15 13:25:07 +02:00
Michael Niedermayer
a742a0536d avformat/mp3dec: Allow forcing the use of the xing TOC for CBR files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-15 13:25:07 +02:00
Michael Niedermayer
0842df2619 Merge commit 'ec89f35e3e5eb9ec5221266e801efeee7ecab4df'
* commit 'ec89f35e3e5eb9ec5221266e801efeee7ecab4df':
  x265: Map color parameters

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-15 11:57:38 +02:00
Michael Niedermayer
0fbe18b63e Merge commit '0cbb1473179d35d4eb9c9446c8ed84e197e5389b'
* commit '0cbb1473179d35d4eb9c9446c8ed84e197e5389b':
  x264: Map color parameters

Conflicts:
	libavcodec/libx264.c

See: 48d39c8786
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-15 11:49:26 +02:00
Luca Barbato
ec89f35e3e x265: Map color parameters 2015-04-15 09:48:48 +02:00
Luca Barbato
0cbb147317 x264: Map color parameters 2015-04-15 09:48:47 +02:00
Michael Niedermayer
fbdaebb298 avcodec/ituh263dec: Use check_marker()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-15 03:22:27 +02:00
wm4
95f524aff5 lavc: use correct type for printf() argument
This was passing uint32_t for %d.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 21:45:07 +02:00
wm4
2b5f34f788 avformat, avcodec: log discard padding
Useful for debugging.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 21:37:46 +02:00
Vignesh Venkatasubramanian
30e2f87d2e webdashenc: replace unchecked av_malloc with stack allocation
Replace an unchecked av_malloc call with stack allocation as the size
is always a constant.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 20:48:30 +02:00
Michael Niedermayer
ee69229dd8 Merge commit '7a5f44476696b495e0de658ed859bcb8520b93d4'
* commit '7a5f44476696b495e0de658ed859bcb8520b93d4':
  avisynth: Bump minimum required version to interface version 6

Conflicts:
	doc/general.texi
	libavformat/avisynth.c

See: 3723a18310
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 20:10:08 +02:00
Michael Niedermayer
64b37d3e08 Merge commit 'a6a45e5a9a9dfb725456f62e053532e505aadcfc'
* commit 'a6a45e5a9a9dfb725456f62e053532e505aadcfc':
  avisynth: Fix detection of AviSynth 2.5

See: d858c3a18f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 20:07:13 +02:00
Rostislav Pehlivanov
a61c75e9f7 aacdec: Use macros for constants
This commit replaces the previous hardcoded constants with both new and previously
defined macros from aac.h. This change makes it easy for anyone reading the code
to know how encoding and decoding scalefactors works. It's also possibly
a step in unifying some of the code across both the encoder and decoder.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 18:04:02 +02:00
Michael Niedermayer
37d93fdbf0 avcodec/mpeg12dec: Use check_marker()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 15:30:39 +02:00
Michael Niedermayer
343f34c0b8 avcodec/get_bits: print details of the location of the missing bit in check_marker()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 15:30:39 +02:00
Paul B Mahol
c2fc466351 avcodec/alsdec: use av_malloc(z)_array()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-04-14 13:06:15 +00:00
Michael Niedermayer
4ba662b032 avcodec/mpeg4videodec: Improve wording of the missing header warning messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 14:41:11 +02:00
Michael Niedermayer
bca1577ed3 avcodec/mpeg4videodec: change log level to waning for incomplete header messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 14:12:38 +02:00
Michael Niedermayer
4103172376 Merge commit '13e4f2c7f7857feb6885f0c2ea8c9ddf438f46ea'
* commit '13e4f2c7f7857feb6885f0c2ea8c9ddf438f46ea':
  mpeg4videodec: Remove useless messages

Conflicts:
	libavcodec/mpeg4videodec.c

not merged, the messages have been an important aid for debugging in old mpeg4
and help understanding bug reports

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 13:58:04 +02:00
Stephen Hutchinson
7a5f444766 avisynth: Bump minimum required version to interface version 6
The AVSC_API changes in the new headers mean that the 2.6 alphas
are just as incompatible as 2.5 is.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-14 13:53:04 +02:00
Stephen Hutchinson
a6a45e5a9a avisynth: Fix detection of AviSynth 2.5
In order to safely exit when the user tries to use AviSynth 2.5, the
continue_on_fail value for 2.6's functions need to be set to 1.
Otherwise, the library loader fails before the 'upgrade to 2.6'
log message appears.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-14 13:52:41 +02:00
Michael Niedermayer
6e86ee97c8 Merge commit '49e531ff4706279c7eed774f2c8b896942924ce2'
* commit '49e531ff4706279c7eed774f2c8b896942924ce2':
  mmal: Reference MMAL VC lib explicitly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 13:40:58 +02:00
Michael Niedermayer
7c521d4528 Merge commit '2de7650451d90520135d8cf6f96caa0658824208'
* commit '2de7650451d90520135d8cf6f96caa0658824208':
  mmal: Move system headers before local headers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 13:28:29 +02:00
wm4
13e4f2c7f7 mpeg4videodec: Remove useless messages
They seem to sometimes trigger with old AVI files. They are just
confusing, do not help anyone, and use sloppy language.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-14 12:32:43 +02:00
wm4
49e531ff47 mmal: Reference MMAL VC lib explicitly
This is optional, but ensures that linking with -Wl,--as-needed does not
drop the library containing the MMAL VC driver. The driver normally
"registers" itself in the library constructor, but since no symbols are
explicitly referenced, the linker could remove it with --as-needed
enabled.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-14 12:32:13 +02:00
wm4
2de7650451 mmal: Move system headers before local headers
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-14 12:32:10 +02:00
Ivan Efimov
2051b401cc avfilter/drawtext: fix frame mem leak
Signed-off-by: Ivan Efimov <ioefimov@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 12:04:52 +02:00
Rostislav Pehlivanov
013498ba15 aacenc: Adjust the initial offset for PNS values
This commit adjusts the intial offset for PNS values, introduced
with commit f7f71b5795 earlier. This
commit shifts the value in such a way that no further offsets are
required in the aaccoder.c file. Earlier version of the PNS patch had 2 offsets in both the aaccoder and aacenc.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 03:42:57 +02:00
Michael Niedermayer
42a144f2c8 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavf/mpegtsenc: Accept 0x000001 as startcode for hevc.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 03:08:01 +02:00
Michael Niedermayer
89b3c5215a avcodec/atrac3plusdec: Free mdct contexts at the end
Fixes memleak

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 02:31:37 +02:00
Carl Eugen Hoyos
d0c895d3c5 lavf/mpegtsenc: Accept 0x000001 as startcode for hevc.
Fixes ticket #4194.
2015-04-14 01:57:38 +02:00
Michael Niedermayer
4d74c8d550 avcodec/ffv1: dont leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 20:08:42 +02:00
Michael Niedermayer
d19fc69f15 avcodec/ffv1: remove unneeded variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 20:07:45 +02:00
Michael Niedermayer
a3963cc8ec avcodec/ffv1: use av_freep()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 20:05:56 +02:00
Michael Niedermayer
fb6dd77000 Merge commit '73dacabfc9b9ef1fd2c08105fdab6238ee29c2fc'
* commit '73dacabfc9b9ef1fd2c08105fdab6238ee29c2fc':
  ffv1: Check memory allocations

Conflicts:
	libavcodec/ffv1.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 19:59:41 +02:00
Vittorio Giovara
73dacabfc9 ffv1: Check memory allocations
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-13 17:51:31 +02:00
wm4
f4f3065c69 h264: remove bogus YCgCo warning message
YCgCo decoding works just fine. It depends on the API user what is done
with the output. Some API users might support it, some not. Some users
might support it under certain circumstances only.

It is not the job of the decoder to print this message. If the API user
supports it, this message is extremely unhelpful.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 13:46:38 +02:00
Michael Niedermayer
d5dcd94630 avfilter/vf_scale: Add warning for AVCOL_SPC_YCGCO
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 13:45:41 +02:00
Rodger Combs
c69ff12dc3 lavf/mpeg: vobsub add an option to specify the .sub's URI
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 11:55:55 +02:00
James Almer
30ce065ffe fate: add tta encoder test
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 11:33:02 +02:00
Rodger Combs
a4d58c97d0 lavf/http: handle case where the server returns a redirect during a seek
txoffer (e.g. http://tori.aoi-chan.com/ ) redirects to the same URI on your
first request, and serves the actual file on the second. It's stupid, but AFAIK
technically compliant. We'd previously see the server not handing back a Range
header and return an error; now, instead, we see that there's a redirect and
keep track of the offset we want while trying again at the new URL.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 11:18:50 +02:00
Rostislav Pehlivanov
f7f71b5795 aacenc: Add support for Perceptual Noise Substitution energy values
This commit implements support for writing the noise energy values used in PNS.
The difference between regular scalefactors and noise energy values is that the latter
require a small preamble (NOISE_PRE + energy_value_diff) to be written as the first
noise-containing band. Any following noise energy values use the previous one to
base their "diff" on. Ordinary scalefactors remain unchanged other than that they ignore the noise values.

This commit should not change anything by itself, the following commits will bring it in use.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 04:14:27 +02:00
Mark Reid
c919cc61a1 tests/fate: added mxf opatom audio regression tests
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 02:08:46 +02:00
Michael Niedermayer
818e889709 Merge commit '4e5443216445f3a9b8e6cb3fa4f448762e19006e'
* commit '4e5443216445f3a9b8e6cb3fa4f448762e19006e':
  rtsp: Fix unchecked return value

See: aae9f52c4e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 01:44:36 +02:00
Michael Niedermayer
4dd0c07122 Merge commit '0b72a47f5592ecc035edd5bac57558ad9604612d'
* commit '0b72a47f5592ecc035edd5bac57558ad9604612d':
  rtsp: Check a malloc return value

See: 4b03002527
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 01:35:08 +02:00
Himangi Saraogi
f03dfe118b avformat/rtsp: Fix dereference after null check
This fixes CID 732219

Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-12 23:31:55 +02:00
Michael Niedermayer
ff50b1b13b swresample/swresample-test: Randomly wipe out channel counts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-12 22:21:53 +02:00
Michael Niedermayer
3c77bb5f23 swresample: Check channel layouts and channels against each other and print human readable error messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-12 22:21:34 +02:00
Michael Niedermayer
80a28c7509 swresample: Allow reinitialization without ever setting channel layouts 2015-04-12 22:21:34 +02:00
Michael Niedermayer
d7b9cb2f7a swresample: Allow reinitialization without ever setting channel counts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-12 22:21:34 +02:00
Himangi Saraogi
4e54432164 rtsp: Fix unchecked return value
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-04-12 23:08:14 +03:00
Himangi Saraogi
0b72a47f55 rtsp: Check a malloc return value
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-04-12 23:08:13 +03:00
James Almer
14edc9f3a3 configure: add missing h263p decoder dependencies
Should fix ticket #4480

Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-12 15:48:55 -03:00
Timothy Gu
7ad27f1221 fate: Include branch information in the payload header
The server is properly equiped not to choke on that now.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-12 18:02:23 +02:00
Michael Niedermayer
445a02b1ec avformat/rtpdec_asf: Fix potential pointer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-12 17:41:23 +02:00
Michael Niedermayer
870ec3f69e avformat/segafilm: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-12 17:14:20 +02:00
Michael Niedermayer
4270a9f547 avformat/sierravmd: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-12 17:14:20 +02:00
Paul B Mahol
d2fc702ace avfilter: add chorus filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-04-11 20:39:43 +00:00
Mark Reid
415f1fab8d libavformat/mxfenc: added support mxf opatom audio muxing
Previous version Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-12 02:40:09 +02:00
Timothy Gu
a202fe00ab fate: Add atrac3+ tests
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-12 00:15:58 +02:00
Stephan Holljes
b51027fd18 libavformat/http.c: Make http-listen work as an input stream.
With this patch http can be used to listen for POST data to be used as an input stream.

Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 23:10:44 +02:00
Michael Niedermayer
f944aeb07a avformat/rtpproto: Move dscp into context & AVOptions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 18:53:54 +02:00
Michael Niedermayer
816bbc1cf5 Merge commit 'bbdb50d7a8a91f38188fd15080d7f45f1540b3ac'
* commit 'bbdb50d7a8a91f38188fd15080d7f45f1540b3ac':
  libx265: print supported presets and tunes on error

See: 61090db29a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 18:00:16 +02:00
Michael Niedermayer
6530e2ff0c Merge commit '7a9b764c0737f42cf2458c3c5378b0df216e14a2'
* commit '7a9b764c0737f42cf2458c3c5378b0df216e14a2':
  libdc1394: Unbreak build after c201069fa

See: fe25194c58
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 17:59:21 +02:00
James Almer
bbdb50d7a8 libx265: print supported presets and tunes on error
Based on code from libavcodec/libx264.c

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-04-11 11:13:28 -04:00
Michael Niedermayer
d6bcdf0dcd avformat/xwma: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 13:51:03 +02:00
Michael Niedermayer
e33355213d avformat/wtvenc: Use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 13:50:50 +02:00
Michael Niedermayer
e0d8ff5ef1 avformat/nsvdec: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 13:18:41 +02:00
Michael Kostylev
7a9b764c07 libdc1394: Unbreak build after c201069fa 2015-04-11 10:57:18 +02:00
Andrey Utkin
7f64a7503b rtpenc_jpeg: handle case of picture dimensions not dividing by 8
This fixes the calculation of the number of needed blocks to make
sure that ALL pixels are represented by the result.

Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 02:26:56 +02:00
Michael Niedermayer
d4a6c94046 Merge commit '4f373a5111f900af54301907132942f95276285c'
* commit '4f373a5111f900af54301907132942f95276285c':
  vfwcap: Unbreak building after c201069fa

Conflicts:
	libavdevice/vfwcap.c

See: 4d0f6d3fb4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 02:19:32 +02:00
James Almer
9fc45681e0 doc: add aarch64 cpuflags to fftools documentation
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-10 20:57:19 -03:00
James Almer
666ec9bd09 doc: add missing arm cpuflags to fftools documentation
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-10 20:57:15 -03:00
James Almer
410c93cfd5 doc: add missing x86 cpuflags to fftools documentation
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-10 20:57:11 -03:00
Timothy Gu
3d6069d01c Use @verbatim instead of @example for ASCII arts
Partially fixes #3869.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 01:14:51 +02:00
Timothy Gu
5faca08caf texi2pod: Handle @verbatim
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 01:00:07 +02:00
Martin Storsjö
4f373a5111 vfwcap: Unbreak building after c201069fa
These headers can't be included in any arbitrary order.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-04-11 00:15:47 +03:00
Timothy Gu
1a562adb01 tests: Do not include stdout/stderr or diff if the test passed
FATE currently discards this information anyway, so why waste the
disk space?

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 22:20:36 +02:00
Timothy Gu
28e2bf90b9 Add cabac test into fate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 21:49:37 +02:00
Timothy Gu
744594685e cabac-test: Return 1 if there are any errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 21:49:37 +02:00
James Almer
61090db29a avcodec/libx265: print supported presets and tunes on error
Based on code from libavcodec/libx264.c

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-10 16:47:29 -03:00
Michael Niedermayer
bc48c88918 avcodec/h264: Do not fail with randomly truncated VUIs
Fixes Ticket4445

Tested-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 18:35:07 +02:00
Michael Niedermayer
4d0f6d3fb4 avdevice/vfwcap: revert header reordering from c201069fac
This should fix build on vs2013

Found-by: Ferdinand Oeinck <ferdo@bigroses.demon.nl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 18:09:26 +02:00
Himangi Saraogi
8d15de7eb2 ffmdec: Check return value of ffm_append_recommended_configuration
Reviewed-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 14:44:53 +02:00
Himangi Saraogi
aae9f52c4e avformat/rtsp: Fix unchecked return value
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 14:18:11 +02:00
Michael Niedermayer
5d0f836f62 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavf/flac: Autodetect raw flac files.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 13:36:03 +02:00
Shivraj Patil
578d99e7c6 avutil/mips/intreadwrite: build fix for mips64r6 (instruction 'lwl' not supported)
Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 13:03:44 +02:00
Shivraj Patil
7fdd31421c configure: add support for 74kf cpu
Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 13:03:10 +02:00
Shivraj Patil
076bfe9612 configure: add support for mips64r6 and i6400 cpu
This is a preparation patch to submit optimized code for MSA (MIPS-SIMD-Architecture)

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 13:01:34 +02:00
Shivraj Patil
8af3ce5378 configure: add support for mips32r5, p5600 cpu and msa
Imagination Technologies has come up with MIPS Warrior Processor Cores.
More details can be found at-
http://www.imgtec.com/mips/warrior/pclass.asp
http://www.imgtec.com/mips/warrior/iclass.asp

This is a preparation patch to submit optimized code for MSA (MIPS-SIMD-Architecture)
This patch set is adding support for P5600 and I6400 CPUs.

MIPS 'generic' case is added, with mips32r2 arch as default (fpu and dsp opt enabled).

Sample configurations for new MSA architectures-
    $ ./configure --enable-cross-compile --cross-prefix=<PATH> --arch=mips --target-os=linux --cpu=p5600
    $ ./configure --enable-cross-compile --cross-prefix=<PATH> --arch=mips --target-os=linux --cpu=i6400

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 12:59:47 +02:00
Michael Niedermayer
599dc8fee1 avcodec/hqx: Use av_clip_uintp2()
Suggested-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 12:38:03 +02:00
Carl Eugen Hoyos
7b39d853b8 lavf/flac: Autodetect raw flac files. 2015-04-10 12:35:02 +02:00
James Almer
3553b815f6 avcodec/libdcadec: honor AVCodecContext bitexact flag
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-09 22:37:39 -03:00
Ferdinand Oeinck
eff72a6c73 libavcodec/hqx: multi threading support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 03:11:40 +02:00
Michael Niedermayer
b1b58310d0 Merge commit '8d26c193fb42d08602ac93ece039d4718d029adc'
* commit '8d26c193fb42d08602ac93ece039d4718d029adc':
  avdevice: Apply a more consistent file naming scheme

Conflicts:
	libavdevice/Makefile
	libavdevice/alsa.h
	libavdevice/alsa_dec.c
	libavdevice/alsa_enc.c
	libavdevice/sndio_enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 21:36:42 +02:00
Michael Niedermayer
259fd4c7cf avdevice/vfwcap: put the headers back in the order in which they need to be
This avoids build failures

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 21:19:49 +02:00
Michael Niedermayer
fe25194c58 Merge commit 'c201069fac9a76e6604f9d84d76a172434d62200'
* commit 'c201069fac9a76e6604f9d84d76a172434d62200':
  avdevice: Add missing header for NULL_IF_CONFIG_SMALL

Conflicts:
	libavdevice/alsa-audio-dec.c
	libavdevice/alsa-audio-enc.c
	libavdevice/pulse_audio_dec.c
	libavdevice/sndio_enc.c
	libavdevice/vfwcap.c
	libavdevice/x11grab.c
	libavdevice/xcbgrab.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 21:07:24 +02:00
Michael Niedermayer
71288bf80f Merge commit '27852f2f1dec3749ea79883b70484c841169f747'
* commit '27852f2f1dec3749ea79883b70484c841169f747':
  libavformat: Handle error return from ff_listen_bind

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 20:58:11 +02:00
Michael Niedermayer
7ef59803e8 Merge commit '0266988ccd15436eaf5f7bb6f9509e6bfd5ce589'
* commit '0266988ccd15436eaf5f7bb6f9509e6bfd5ce589':
  hqx: Fix clipping error in idct put function

See: 92f94fd5dd
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 20:40:48 +02:00
Michael Niedermayer
e77270cd93 Merge commit '783df7d5c5ab15f3d1afe2541c7d461c81c5c29d'
* commit '783df7d5c5ab15f3d1afe2541c7d461c81c5c29d':
  riff: Add 'M705' FourCC for mpeg2video

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 20:33:51 +02:00
Michael Niedermayer
72a580268f Merge commit '5980c924e309ae1dde8bd52d9938f94ff02602eb'
* commit '5980c924e309ae1dde8bd52d9938f94ff02602eb':
  dnxhd: Log the selected profile id

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 20:26:18 +02:00
Michael Niedermayer
98c7d305a7 Merge commit 'be089af38f65dc8b1fe3564f98020fc815577edb'
* commit 'be089af38f65dc8b1fe3564f98020fc815577edb':
  mov: Rely on box type rather than file type for colr atom

Conflicts:
	libavformat/mov.c

See: 0276b95242
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 20:19:27 +02:00
Michael Niedermayer
9fd3d9acf7 Merge commit 'f8fd0c29ce5dc7d4be13e7e89d0f1e8a035ae71b'
* commit 'f8fd0c29ce5dc7d4be13e7e89d0f1e8a035ae71b':
  v210: Fix typo in header guards

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 20:09:10 +02:00
Timo Rothenpieler
7b0689c55f avcodec/nvenc: Add options for level and tier
Previous version reviewed-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 18:20:26 +02:00
Michael Niedermayer
7be2d2a70c avcodec/h264: Use only one ERContext
This fixes slice threads with error concealment

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 17:42:04 +02:00
Diego Biurrun
8d26c193fb avdevice: Apply a more consistent file naming scheme 2015-04-09 16:40:12 +02:00
Diego Biurrun
c201069fac avdevice: Add missing header for NULL_IF_CONFIG_SMALL
Also reshuffle headers into canonical order where appropriate.
2015-04-09 16:40:12 +02:00
Anders Nystrom
27852f2f1d libavformat: Handle error return from ff_listen_bind
Handle error return from ff_listen_bind without leaking file descriptors.

Signed-off-by: Anders Nystrom <anders.nystrom@southpole.se>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-09 14:32:37 +02:00
Ferdinand Oeinck
0266988ccd hqx: Fix clipping error in idct put function
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-09 13:52:04 +02:00
Vittorio Giovara
783df7d5c5 riff: Add 'M705' FourCC for mpeg2video 2015-04-09 13:52:04 +02:00
Vittorio Giovara
5980c924e3 dnxhd: Log the selected profile id 2015-04-09 13:51:58 +02:00
Michael Niedermayer
98d0c4236c avcodec/h264: Be more tolerant to changing pps id between slices
Fixes Ticket4446

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 13:50:07 +02:00
Vittorio Giovara
be089af38f mov: Rely on box type rather than file type for colr atom
Although it's not allowed to use only allows 'nclc' in ISOM files, there
are samples that do not always respect this rule. This change prevents
atom overread and a spurious color range initialization.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-09 13:46:54 +02:00
Vittorio Giovara
f8fd0c29ce v210: Fix typo in header guards 2015-04-09 13:40:44 +02:00
Michael Niedermayer
0773f67395 avfilter/vsrc_life: Fix mix of declarations and statements
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 11:40:44 +02:00
Himangi Saraogi
df4fca2163 vda: Cast to not discard constant qualifier and silence compiler warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 01:23:33 +02:00
Michael Niedermayer
d630f38f47 avutil/x86/Makefile: fix conditional x86/emms.o build
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 01:12:51 +02:00
Michael Niedermayer
e88b3852ae avcodec/aacdec: Fix storing state before PCE decode
Fixes Ticket4460

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 00:42:25 +02:00
Michael Niedermayer
32e06c485b avcodec/h264_ps: Move truncation check from VUI to SPS
This more completely checks for truncation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 22:19:56 +02:00
wm4
48f27b78f4 microdvd: do not export framerate hint as subtitle packet
MicroDVD has a "hack" for specifying the video framerate the subtitle
was authored against. The demuxer reads this hint correctly, but didn't
skip it correctly.

This was not noticed, because the exported packet has its duration set
to 0, making it invisible (depending on the API user's rendering logic).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 20:58:25 +02:00
Michael Niedermayer
edaca0812a Merge commit 'bb815dfc38b8ef7a89d6b9684ce0cdc296385d6d'
* commit 'bb815dfc38b8ef7a89d6b9684ce0cdc296385d6d':
  g2meet: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 20:48:44 +02:00
Michael Niedermayer
8e1717cf12 Merge commit 'c4d37cd9ef6e374bb888f6273259b10fac5bd909'
* commit 'c4d37cd9ef6e374bb888f6273259b10fac5bd909':
  matroskadec: export cover art correctly

Conflicts:
	libavformat/matroskadec.c

See: 511585ce7f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 20:37:24 +02:00
Carl Eugen Hoyos
79c11388e1 lavf/apngenc: Do not print a warning in the normal use-case. 2015-04-08 19:58:32 +02:00
Ronald S. Bultje
b926f02e81 avutil/x86/Makefile: Make building and linking of emms.c conditional
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 17:25:35 +02:00
Paul B Mahol
a0854c084e avfilter: handle error in query_formats() in bunch of filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-04-08 13:05:06 +00:00
Gilles Chanteperdrix
21e034a47a avformat/libquvi: Fix whitelist handling
Fixes null pointer dereference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 14:40:56 +02:00
Diego Biurrun
bb815dfc38 g2meet: K&R formatting cosmetics 2015-04-08 14:23:36 +02:00
Michael Niedermayer
845ab37b05 avcodec/h264_slice: Fix uninitialized variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 13:05:38 +02:00
wm4
c4d37cd9ef matroskadec: export cover art correctly
Generally, libavformat exports cover art pictures as video streams with
1 packet and AV_DISPOSITION_ATTACHED_PIC set. Only matroskadec exported
it as attachment with codec_id set to AV_CODEC_ID_MJPEG.

Obviously, this should be consistent, so change the Matroska demuxer to
export a AV_DISPOSITION_ATTACHED_PIC pseudo video stream.

Matroska muxing is probably incorrect too. I know that it can create
broken files with an audio track and just 1 video frame when e.g.
remuxing mp3 with APIC to mkv. But for now this commit does not change
anything about muxing, and also continues to write attachments with
AV_CODEC_ID_MJPEG should the muxer application have special knowledge
that the Matroska is broken in this way.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-04-08 12:36:53 +02:00
Michael Niedermayer
386601286f avcodec/h264_slice: Dont reset mb_aff_frame per slice
Fixes null pointer dereference
Fixes Ticket4440

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 12:29:47 +02:00
Michael Niedermayer
795199fca4 avcodec/h264: use consistent argument name in MB_FIELD() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 12:29:17 +02:00
ferdo@bigroses.nl
92f94fd5dd libavcodec/hqx: correct clipping error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 09:53:59 +02:00
Michael Niedermayer
235589ee9e avformat/segment: Change enum to int, which is accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-07 23:21:48 +02:00
Michael Niedermayer
f289422a3e avformat/ape: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-07 22:50:07 +02:00
Michael Niedermayer
3662e251cb avformat/asfenc: Check for index_ptr allocation failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-07 22:29:54 +02:00
Vignesh Venkatasubramanian
d6bb82387c webmdashenc: Fix fate in MSVC
MSVC does not support the %F and %T format specifiers in strftime.
Replace that with the expanded version. This fixes the broken fate
tests in MSVC (webm-dash-manifest-*).

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-07 21:29:20 +02:00
Michael Niedermayer
9c37c81246 Merge commit '27f274628234c1f934b9a6a6380ed567c1b4ceae'
* commit '27f274628234c1f934b9a6a6380ed567c1b4ceae':
  parseutils: Make av_small_strptime public

Conflicts:
	doc/APIchanges
	libavformat/utils.c
	libavutil/parseutils.c
	libavutil/version.h

See: 29e972f67c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-07 20:46:25 +02:00
Michael Niedermayer
0739179bfb Merge commit '108f2f381acb93827fb4add0517eeae859afa3bf'
* commit '108f2f381acb93827fb4add0517eeae859afa3bf':
  parseutils: Extend small_strptime to be used in avformat

Conflicts:
	libavutil/parseutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-07 20:01:36 +02:00
Vignesh Venkatasubramanian
6fd300ac6c lavf: Add support for WebM Live Muxing
This patch adds support for WebM Live Muxing by adding a new WebM
Chunk muxer. It writes out live WebM Chunks which can be used for
playback using Live DASH Clients.

Please see muxers.texi for sample usage.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-07 15:08:59 +02:00
Luca Barbato
27f2746282 parseutils: Make av_small_strptime public
And use it in libavformat.

Based on a similar patch by Stefano Sabatini <stefasab@gmail.com>.
2015-04-07 12:36:11 +02:00
Michael Niedermayer
c4b2017ba6 avcodec/h264: finish previous slices before switching to single thread mode
Fixes null pointer dereference
Fixes Ticket4438

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-07 02:47:36 +02:00
Michael Niedermayer
43b434210e avcodec/h264: Fix race between slices where one overwrites data from the next
Fixes non deterministic crash in ticket4408/fuzz2.264
Likely fixes other samples as well

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-07 00:40:21 +02:00
Michael Niedermayer
4ec5762e25 tests/fate/mpeg4: add bitexact flag so as to avoid the version number from being included in the checksum
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-06 23:00:16 +02:00
Andreas Cadhalpun
1b8d071734 fate: add mpeg4_unpack_bframes bsf test
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-06 22:25:57 +02:00
Stephan Holljes
6d8c27f951 libavformat/http.c: Fix missing parenthesis in http_listen()
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-06 22:17:58 +02:00
Michael Niedermayer
eca39e29a3 MAINTAINERS: Add Lou Logan as server admin as he is root too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-06 20:24:05 +02:00
Michael Niedermayer
7ddbb4e23a avcodec/pthread_frame: Fix memleak with frame threads and allocated AVOptions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-06 18:43:38 +02:00
Luca Barbato
108f2f381a parseutils: Extend small_strptime to be used in avformat
The strptime implementation is supposed to support whitespace and %T.
2015-04-06 18:09:03 +02:00
Lukasz Marek
f79cd98caf examples/avio_list_dir: init/deinit network
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-04-06 15:50:26 +02:00
Michael Niedermayer
a66dcfeedc avcodec/vc1dec: Check buf2 for malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-06 15:06:42 +02:00
Michael Niedermayer
34bddf443c avfilter/af_amix: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-06 15:04:38 +02:00
Michael Niedermayer
8a8a1cce6c avfilter/vsrc_mptestsrc: Change enum to int, which is accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-06 14:45:17 +02:00
Michael Niedermayer
d2277aa7e2 avformat/httpauth: Change enum to int, which is accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-06 14:44:33 +02:00
Michael Niedermayer
ff6841c6bb avformat/utils: avoid discarded streams in av_find_default_stream_index()
Fixes Ticket2010

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-06 04:31:29 +02:00
Michael Niedermayer
ba54512a10 avfilter/vf_mpdecimate: Fix missing ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-06 02:41:49 +02:00
Mariusz Szczepańczyk
4286752279 lavf/libsmbclient: implement directory listing callbacks
Reviewed-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-06 01:59:04 +02:00
Michael Niedermayer
99a567cbe2 Merge commit '249796e2560c2cce1add722c3e873de96b17be74'
* commit '249796e2560c2cce1add722c3e873de96b17be74':
  svq3: initialize some required H264Context fields.

See: e6c710600e
See: aa000ddab2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-06 01:41:00 +02:00
James Almer
43482bd1a5 swr/resample: use av_clip functions
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 22:46:40 +02:00
Michael Niedermayer
be920e4820 Merge commit '5637ff01218a44fcc1fff9b4382a15a6470abcc9'
* commit '5637ff01218a44fcc1fff9b4382a15a6470abcc9':
  libavcodec: Clarify the documentation of the internal codec capability flags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 22:35:19 +02:00
Michael Niedermayer
db4ac46fed Merge commit '31048d48b0410b9cfb6023054d81e627d01be342'
* commit '31048d48b0410b9cfb6023054d81e627d01be342':
  avcodec/libx265: export chosen picture types

See: 2ddedfd39c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 22:34:17 +02:00
Michael Niedermayer
39c6834c12 Merge commit 'bd737b5178f361a9b592691848f29a7a79603a7e'
* commit 'bd737b5178f361a9b592691848f29a7a79603a7e':
  h264: reset the private data in init_thread_copy()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 22:25:29 +02:00
Michael Niedermayer
097efa4750 Merge commit 'a939e5b2527d0c4628815b1d3d8e29ee921227e8'
* commit 'a939e5b2527d0c4628815b1d3d8e29ee921227e8':
  h264: remove a commented out nonsense line

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 22:18:43 +02:00
Michael Niedermayer
aa000ddab2 avcodec/svq3: add scaling matrix init that was removed from h264 init
This is needed for svq3

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 22:17:50 +02:00
Michael Niedermayer
80a76905eb Merge commit '65afa65e7393e7745427e267d6c6ca814c7c8b45'
* commit '65afa65e7393e7745427e267d6c6ca814c7c8b45':
  h264: drop redundant initialization of the scaling matrices

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 22:04:58 +02:00
Michael Niedermayer
abae926ef8 Merge commit 'e1f907711a91e5ce19402a1831cfbe8f709b67f7'
* commit 'e1f907711a91e5ce19402a1831cfbe8f709b67f7':
  h264: factor out common code from init() and init_thread_copy()

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 21:56:50 +02:00
Michael Niedermayer
e6c710600e avcodec/svq3: add initialization which was removed from h264 init
This is needed for the svq3 code to work

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 21:36:07 +02:00
Michael Niedermayer
14d241b19d Merge commit '43fd3dd80ca2d1c2ccf6a7b7632db544c809c690'
* commit '43fd3dd80ca2d1c2ccf6a7b7632db544c809c690':
  h264: drop redundant initialization in init()

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 21:11:25 +02:00
Anton Khirnov
249796e256 svq3: initialize some required H264Context fields.
They are no longer initialized in ff_h264_decode_init() since 43fd3dd,
so svq3 needs to initialize the manually.

Fixes svq3 decoding, broken since 43fd3dd.
2015-04-05 21:02:56 +02:00
Michael Niedermayer
68f4840606 Merge commit '050324d020f843ce333276ebb6f27cc6026f37d0'
* commit '050324d020f843ce333276ebb6f27cc6026f37d0':
  h264: initialize cur_chroma_format_idc

See: a51fbb56bb / 137df692fc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 21:02:13 +02:00
Michael Niedermayer
cde98920da Merge commit '84f226a3bcd8b39801a4c9051c033ab7d61aaf76'
* commit '84f226a3bcd8b39801a4c9051c033ab7d61aaf76':
  h264: use the correct SPS during PPS parsing

Conflicts:
	libavcodec/h264_ps.c

See: dc35b77b28
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 20:48:14 +02:00
Martin Storsjö
5637ff0121 libavcodec: Clarify the documentation of the internal codec capability flags
The previous documentation was very vague and almost misleading.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-04-05 20:47:50 +03:00
Michael Niedermayer
31048d48b0 avcodec/libx265: export chosen picture types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-04-05 12:32:07 -04:00
Michael Niedermayer
0968180f02 avfilter/yadif: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 15:46:11 +02:00
Michael Niedermayer
9caec04a31 avfilter/vsrc_mandelbrot: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 15:44:59 +02:00
Andreas Cadhalpun
71fa0aa085 mpeg4: suggest mpeg4_unpack_bframes bsf instead of avidemux/VirtualDub
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 15:21:20 +02:00
Michael Niedermayer
cf880ccb6a avcodec/error_resilience: Avoid race with updating the error_count
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 13:32:09 +02:00
Anton Khirnov
bd737b5178 h264: reset the private data in init_thread_copy()
The generic code copies the main context's private data to all the
others. However that is quite dangerous, as it might end up copying some
pointers that are or will become invalid.

Since everything we actually need will be copied later in
update_thread_context(), it's safest to zero the private data in
init_thread_copy(), so it works the same way as init for the main
context.
2015-04-05 12:03:07 +02:00
Anton Khirnov
a939e5b252 h264: remove a commented out nonsense line 2015-04-05 12:03:02 +02:00
Anton Khirnov
65afa65e73 h264: drop redundant initialization of the scaling matrices
It will always be initialized when actually parsing the PPS.
2015-04-05 12:02:57 +02:00
Anton Khirnov
e1f907711a h264: factor out common code from init() and init_thread_copy() 2015-04-05 12:02:35 +02:00
Anton Khirnov
43fd3dd80c h264: drop redundant initialization in init()
There is no real advantage to initializing any of those in init,
assuming yuv420, before the real stream parameters are known.
2015-04-05 12:02:26 +02:00
Anton Khirnov
050324d020 h264: initialize cur_chroma_format_idc
This makes sure the various DSP contexts get properly initialized in
ff_h264_set_parameter_from_sps() whatever the value of
raw_bits_per_sample.
2015-04-05 12:02:20 +02:00
Anton Khirnov
84f226a3bc h264: use the correct SPS during PPS parsing
There is in general no reason for the currently active SPS to be the one
referenced by the PPS being parsed.
2015-04-05 12:01:34 +02:00
Stephan Holljes
4a58d757de lavf/http: add proof-of-concept http server.
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
Reviewed-By: Nicolas George <george@nsup.org>
2015-04-05 10:17:47 +02:00
Andreas Cadhalpun
0224b35c89 avcodec: add unpack packed B-frames bitstream filter
Fixes Ticket #2913

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 02:24:56 +02:00
Vignesh Venkatasubramanian
26f2e2f3f7 webmdashenc: Support for live stream manifests
This patch adds support for creating DASH manifests for WebM Live
Streams. It also updates the documentation and adds a fate test to
verify the behavior of the new muxer flag.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 02:08:55 +02:00
Michael Niedermayer
bc0e65e7d0 Merge commit 'aa1a1b2496cf3ca817e78e27bd0262a50adb91a1'
* commit 'aa1a1b2496cf3ca817e78e27bd0262a50adb91a1':
  avconv: Avoid theoretical NULL dereferences

See: d768f8f5cf
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 00:56:50 +02:00
Vignesh Venkatasubramanian
2171b7c58e matroskadec: Add support for parsing live header files
This patch adds support for parsing live files (produced by
-f webm_chunk) which contains only the headers but no packets. This
is only used when using -f webm_dash_manifest. There will be a
follow up patch which adds live support to WebM DASH Manifest
muxer.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 00:39:29 +02:00
Michael Niedermayer
afb327caf3 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavf/mov: Do not overread iTunes metadata.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 20:15:21 +02:00
Himangi Saraogi
aa1a1b2496 avconv: Avoid theoretical NULL dereferences
Bug-Id: CID 1292519

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-04 19:32:10 +02:00
Michael Niedermayer
aa6f58dd96 avcodec/h264_refs: More completely clear slice contexts in ff_h264_remove_all_refs()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 19:30:10 +02:00
Michael Niedermayer
fc58d5c43b avcodec/h264: Fail for invalid mixed IDR / non IDR frames in slice threading mode
Fixes Ticket4408

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 19:28:33 +02:00
Michael Niedermayer
60e7d2d7b9 avcodec/h264_mb: assert that frame waiting code actually references 2 fields/1 frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 18:34:36 +02:00
Michael Niedermayer
429de04320 avcodec/h264_refs: Do not set reference to things which dont exist
Fixes deadlock
Fixes Ticket4428
Fixes Ticket4429

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 18:25:44 +02:00
Carl Eugen Hoyos
072198166e lavf/mov: Do not overread iTunes metadata.
Fixes ticket #4425.
2015-04-04 17:35:06 +02:00
Michael Niedermayer
98c5db89bb avcodec/h264_slice: make current_slice reset code more strict
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 17:00:12 +02:00
Michael Niedermayer
514d9bb55d avcodec/h264: use goto end instead of return for hwaccel fails as well
This is more correct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 14:40:40 +02:00
Himangi Saraogi
4b03002527 avformat/rtsp: Fix null pointer dereference
This fixes CID 1257827.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 13:38:34 +02:00
Rodger Combs
f0c85d9b99 lavf/assenc: style nits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 13:36:57 +02:00
wm4
511585ce7f matroskadec: export cover art correctly
Generally, libavformat exports cover art pictures as video streams with
1 packet and AV_DISPOSITION_ATTACHED_PIC set. Only matroskadec exported
it as attachment with codec_id set to AV_CODEC_ID_MJPEG.

Obviously, this should be consistent, so change the Matroska demuxer to
export a AV_DISPOSITION_ATTACHED_PIC pseudo video stream.

Matroska muxing is probably incorrect too. I know that it can create
broken files with an audio track and just 1 video frame when e.g.
remuxing mp3 with APIC to mkv. But for now this commit does not change
anything about muxing, and also continues to write attachments with
AV_CODEC_ID_MJPEG should the muxer application have special knowledge
that the Matroska is broken in this way.

Fixes trac #4423.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 02:25:56 +02:00
Andreas Cadhalpun
f62880bfb8 mpeg4: use a self-explanatory #define MAX_NVOP_SIZE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 02:23:58 +02:00
Michael Niedermayer
241913c0d0 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix codec fps diplay for very small fps.
  lavf/mpeg: Support alaw in Hikvision CCTV recordings.
  lavf/mpeg: Support more audio codecs in Hikvision CCTV recordings.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 02:15:27 +02:00
Michael Niedermayer
333eb37a96 avcodec/h264: silence ER warning when no slice threads are used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 02:15:16 +02:00
Lou Logan
893e61734f MAINTAINERS: add Reynaldo as a Twitter maintainer
Signed-off-by: Lou Logan <lou@lrcd.com>
2015-04-03 15:59:17 -08:00
Michael Niedermayer
4b7356ce8f avcodec/h264: reenable ER except with slice threads by default
ER with slice threads is buggy and since the merge of the libav cleanup broken
as the ER context which is supposed to be per frame has been placed in
the slice context, so there are multiple per frame which does not work as is.

Theres no bug report about ER with frame threads. If someone knows of a
case where it crashes / fails without slice threads please mail me and
open a ticket on trac.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 01:43:14 +02:00
Michael Niedermayer
6da7625cc3 Merge commit 'a4d34e218f548d381e09c483e8dc6ad18a8d571c'
* commit 'a4d34e218f548d381e09c483e8dc6ad18a8d571c':
  h264: disable ER by default

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 00:52:54 +02:00
Michael Niedermayer
959894632a Merge commit '3892bdab9b652eb003ab95e167f1765e0b0ea035'
* commit '3892bdab9b652eb003ab95e167f1765e0b0ea035':
  avconv: do not overwrite the stream codec context for streamcopy

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 00:38:02 +02:00
Michael Niedermayer
4d02dfbde4 ffmpeg: Fix extradata allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 00:02:14 +02:00
Michael Niedermayer
20ba28af94 tests/fate/hevc: Use a bitexact scaler in the hevc param change test to avoid failing on non x86
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 22:48:33 +02:00
Michael Niedermayer
0cb46c1e0e Merge commit 'b2965ec7761c99e8ef9c217a28a517e37f010480'
* commit 'b2965ec7761c99e8ef9c217a28a517e37f010480':
  FATE: add a test for parameter changes in HEVC

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 22:39:20 +02:00
Michael Niedermayer
235863463a Merge commit 'df528b11ac607de13a7c438f2a51f2119f71a03c'
* commit 'df528b11ac607de13a7c438f2a51f2119f71a03c':
  hevc: make sure no dangling pointers remain around on VPS/SPS change

Conflicts:
	libavcodec/hevc_ps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 22:16:10 +02:00
Michael Niedermayer
41dde62d7f Merge commit 'ce0bc09ee2580d49fec90a6eb0de2ba1b580c854'
* commit 'ce0bc09ee2580d49fec90a6eb0de2ba1b580c854':
  hevc: do not change the VPS if its contents are the same

Conflicts:
	libavcodec/hevc_ps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 21:37:03 +02:00
Michael Niedermayer
d386a523ae Merge commit '7693ba0a0eecdcdba71b7fbd9a4a12d1ba7b82aa'
* commit '7693ba0a0eecdcdba71b7fbd9a4a12d1ba7b82aa':
  hevc: export stream parameters from extradata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 21:29:54 +02:00
Carl Eugen Hoyos
c4367f950d Fix codec fps diplay for very small fps.
Fixes codec banner for the sample from ticket #4369.
2015-04-03 21:13:50 +02:00
Carl Eugen Hoyos
036079ce34 lavf/mpeg: Support alaw in Hikvision CCTV recordings.
Fixes a sample from ticket #4182.
2015-04-03 21:13:50 +02:00
Carl Eugen Hoyos
f8413f74a1 lavf/mpeg: Support more audio codecs in Hikvision CCTV recordings.
Fixes a sample from ticket #4182.
2015-04-03 21:13:50 +02:00
Michael Niedermayer
a7a6194ec4 Merge commit '1ae7afd256f9af1eb4f63f9adcf03d581ce4e2b5'
* commit '1ae7afd256f9af1eb4f63f9adcf03d581ce4e2b5':
  hevc: split out setting AVCodecContext parameters

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 21:11:19 +02:00
Michael Niedermayer
5b97681eaa Merge commit '7d097a0fc57f0fa8385962a539c657c2f40b5ed0'
* commit '7d097a0fc57f0fa8385962a539c657c2f40b5ed0':
  mpegtsenc: Take max_delay into account when buffering multiple audio packets into one PES packet

Conflicts:
	libavformat/mpegtsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 21:01:40 +02:00
Lou Logan
44cae91252 cmdutils: fix "Commmand" typo
Signed-off-by: Lou Logan <lou@lrcd.com>
2015-04-03 10:43:21 -08:00
Andreas Cadhalpun
1f47c2399d mpeg4: only show the divx_packed warning, when a packed frame is present
Otherwise it is shown even after the file was fixed with avidemux,
because the userdata string still ends with 'p'.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 20:23:24 +02:00
Michael Niedermayer
6eb6956d06 ffmpeg: Fix indentation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 19:39:06 +02:00
Michael Niedermayer
98c7729c13 ffmpeg: last frame duplication heuristic
This improves the last frames duration with CFR and when the input durations
are inaccurate or missing

Fixes Ticket4119

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 19:09:31 +02:00
Rong Yan
af5fec9538 avcodec/ppc/fdctdsp: POWER LE support in ff_fdct_altivec()
add marcos VEC_FMERGEH() VEC_FMERGEL()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 18:10:27 +02:00
Himangi Saraogi
24326930d8 filtfmts: Avoid null pointer dereference
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 17:23:45 +02:00
Steve Dierker
acbb90407a libavformat/mxf.c: Relaxed ProRes pattern
I found another MXF File containing ProRes with the following
codec_uls: 060E2B34040101010E04020102110500
Therefor I relaxed the pattern.

Related to issue #4349

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 13:26:39 +02:00
Anton Khirnov
a4d34e218f h264: disable ER by default
The way it is currently designed is fundamentally unsafe and cannot be
reasonably fixed without completely rewriting it.
2015-04-03 13:14:43 +02:00
Anton Khirnov
3892bdab9b avconv: do not overwrite the stream codec context for streamcopy
Since we are not doing encoding, there is no point in ever touching the
separate encoding context. Always use the stream codec context.

Fixes writing attachments.

CC:libav-devel@libav.org
2015-04-03 13:10:03 +02:00
Anton Khirnov
b2965ec776 FATE: add a test for parameter changes in HEVC 2015-04-03 13:10:03 +02:00
Anton Khirnov
df528b11ac hevc: make sure no dangling pointers remain around on VPS/SPS change 2015-04-03 13:10:03 +02:00
Anton Khirnov
ce0bc09ee2 hevc: do not change the VPS if its contents are the same
This is the same as is done for SPS.
2015-04-03 13:10:03 +02:00
Anton Khirnov
7693ba0a0e hevc: export stream parameters from extradata
This allows the callers to have a hint of the probable stream parameters
without actually decoding anything.
2015-04-03 13:10:03 +02:00
Anton Khirnov
1ae7afd256 hevc: split out setting AVCodecContext parameters
Additionally always set the software pixel format, so it's available
even if ff_get_format() is not called later. This will be useful for
exporting stream parameters from init().
2015-04-03 13:10:02 +02:00
Martin Storsjö
7d097a0fc5 mpegtsenc: Take max_delay into account when buffering multiple audio packets into one PES packet
Make sure we don't buffer up more than max_delay worth of data
before writing a PES packet, even if pes_payload_size is set to
a larger value.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-04-03 14:06:15 +03:00
Mariusz Szczepańczyk
f10aa0e125 doc/examples: Handle new types in avio_list_dir
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 04:09:40 +02:00
Mariusz Szczepańczyk
26e0e393d0 lavf/avio: Add new types to AVIODirEntryType, bump minor version
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 04:09:34 +02:00
Stephen Hutchinson
b2c05867f5 doc: Slightly revise AviSynth version info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 00:17:51 +02:00
Lukasz Marek
cd3d0d5422 lavf/ftp: remove fixed length buffers from context
It saves some memory.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-04-03 00:10:09 +02:00
Lukasz Marek
c043def91f lavf/ftp: parse user and password once
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-04-03 00:09:54 +02:00
Stephen Hutchinson
3723a18310 avisynth: Bump minimum required version to interface version 6
The AVSC_API changes in the new headers mean that the 2.6 alphas
are just as incompatible as 2.5 is.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 23:52:48 +02:00
Stephen Hutchinson
d858c3a18f avisynth: Fix detection of AviSynth 2.5
In order to safely exit when the user tries to use AviSynth 2.5,
the continue_on_fail value for 2.6's functions need to be set to
1.  Otherwise, the library loader fails before the 'upgrade to
2.6' log message appears.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 23:30:08 +02:00
James Almer
3000183732 avcodec/pngenc: don't return a value in a void function
Should fix compilation failures with strict compilers

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 23:22:28 +02:00
Lukasz Marek
0bf980919e fate: add AVDictionary tests
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-04-02 23:15:57 +02:00
Lukasz Marek
96f896750d lavu/dict: add more tests
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-04-02 23:15:57 +02:00
Lukasz Marek
a8c5b4551e lavu/dict: fix set function when reuse existing key pointer
Fixes following scenario:

av_dict_set(&d, "key", "old", 0);
AVDictionaryEentry *e = av_dict_get(d, "key", NULL, 0);
av_dict_set(&d, e->key, "new", 0);

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-04-02 23:15:57 +02:00
Donny Yang
b0a2aee408 png: Use libavutil's crc functions instead of zlib's
Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 20:41:51 +02:00
Tim Nicholson
27565ace60 ffmpeg_opt.c: fix regression introduced in 5743095c
-vtag is an input and output option.

Signed-off-by: Tim Nicholson <tim.nicholson@bbc.co.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 20:04:00 +02:00
Michael Niedermayer
c299fbbb22 avcodec/vda_h264: try to fix build
Found-by: Stefano Pigozzi
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 16:04:22 +02:00
Rainer Hochecker
3e53211a57 vda: fix h264 decoding for avcC,vda wants the entire buffer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 15:06:28 +02:00
Timo Rothenpieler
764f87b6ab avcodec/nvenc: Fix profile parameter handling
It was not possible to set a profile before, the builtin profile
parameter does not seem to work propperly.
To be compatible with libx264, this overlays it with a local parameter
that expects a string, instead of an int, that takes the well known values
"high", "main" or "baseline".

Reviewed-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 14:33:42 +02:00
Carl Eugen Hoyos
703402683a Bump lavc and lavf minor versions for apng muxer and encoder. 2015-04-02 14:09:11 +02:00
Himangi Saraogi
d768f8f5cf ffmpeg: Avoid null pointer dereferences
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 13:06:00 +02:00
Donny Yang
80be7daaa8 apng: Add a basic APNG muxer
Additionally, update some documentation with support for APNG

Signed-off-by: Donny Yang <work@kota.moe>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 04:52:59 +02:00
Donny Yang
d759844863 apng: Add a basic APNG encoder
Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 04:02:43 +02:00
Lukasz Marek
08d0dbf2ae lavu/dict: don't accept AV_DICT_DONT_STRDUP_VAL for av_dict_set_int
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 00:48:19 +02:00
Pranav Vaish
f669d8c1b7 avcodec/ccaption_dec: Remove the GOTO statement 2015-04-02 00:06:44 +02:00
Michael Niedermayer
53bf6b155c Merge commit 'e3ec6fe7bb2a622a863e3912181717a659eb1bad'
* commit 'e3ec6fe7bb2a622a863e3912181717a659eb1bad':
  rtsp: Add a buffer_size option

Conflicts:
	libavformat/rtsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-01 21:34:20 +02:00
Michael Niedermayer
b99a8e4e4a Merge commit '8c9c5479c4ba729b4ba868ab541a90b2061a7c2f'
* commit '8c9c5479c4ba729b4ba868ab541a90b2061a7c2f':
  rtp: Add an option to set the send/receive buffer size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-01 21:12:47 +02:00
Michael Niedermayer
fde2e35e56 Merge commit '3c47e7c4350f73fc77d8e76f0dd6d2946b13c5cc'
* commit '3c47e7c4350f73fc77d8e76f0dd6d2946b13c5cc':
  rtp: Map the urloptions to AVOptions

Conflicts:
	libavformat/rtpproto.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-01 21:03:10 +02:00
Michael Niedermayer
5dd5b7d531 Revert "avcodec/exr: fix memset first arg in reverse_lut()"
This reverts commit 586ba24ff2.

Fixes Ticket 4386

Found-by: Martin Vignali <martin.vignali@gmail.com>
2015-04-01 19:53:23 +02:00
Himangi Saraogi
5b02e84bdb lavc/smvjpegdec: Avoid null dereference and return meaningful error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-01 19:33:45 +02:00
Michael Niedermayer
b9fbd034bf avformat/xwma: Use ff_alloc_extradata()
This prevents the fields from potentially becoming inconsistent in case of errors

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-01 18:25:34 +02:00
Michael Niedermayer
5b911f1d5b avformat/webmdashenc: use AVERROR(ENOMEM) for memory allocation failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-01 18:11:48 +02:00
Michael Niedermayer
5b32558fd8 tools/sidxindex: Use av_*malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-01 17:43:25 +02:00
Michael Niedermayer
c49e7924a8 avutil/eval: check for av_malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-01 15:59:58 +02:00
Michael Niedermayer
61123634dd avutil/eval: factor av_expr_free() calls out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-01 15:59:58 +02:00
Luca Barbato
e3ec6fe7bb rtsp: Add a buffer_size option
And forward it to rtp and udp.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-01 14:26:35 +02:00
Luca Barbato
8c9c5479c4 rtp: Add an option to set the send/receive buffer size
It gets forwarded down to UDP.
2015-04-01 14:26:35 +02:00
Luca Barbato
3c47e7c435 rtp: Map the urloptions to AVOptions
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-01 14:26:35 +02:00
Timo Rothenpieler
b63c9a9990 avcodec/nvenc: Fix typoed nv_status checks
Thanks to Wyatt Aaron for pointing this out

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-01 11:55:26 +02:00
Donny Yang
3c912391dd avcodec/png: Clearly separate encoding header and frames
Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-01 01:04:40 +02:00
Lukasz Marek
31886968d3 lavu/avstring: add av_append_path_component() funcion
Convinient function to build paths.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 23:50:46 +02:00
wm4
8b76c0eb56 avformat/mp3dec: offset seek index to end of id3v2 tag
The Xing index won't account for the id3 tag - it's relative to the
headers.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 23:22:07 +02:00
Michael Niedermayer
2ddedfd39c avcodec/libx265: export choosen picture types
Fixes part of ticket 4285

Reviewed-by Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 20:21:10 +02:00
Donny Yang
749fbfd081 png: Clear up the calculation of max packet size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 16:15:36 +02:00
Michael Niedermayer
65a646eb0b avcodec/internal: Fix doxy for ff_alloc_packet2() return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 16:14:22 +02:00
Marton Balint
c84b75c89c vf_drawtext: add support for setting box border width
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 13:41:25 +02:00
Himangi Saraogi
919d13d238 avformat/http: Fix null check on allocated value
probably fixes CID 1292299

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 12:38:02 +02:00
Rainer Hochecker
8b152c355f h264: avoid unnecessary calls to get_format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 12:14:39 +02:00
Himangi Saraogi
0c9abf2119 avfilter/vf_detelecine: Fix uninitialized array index error
Fixes the defect CID 1292301

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 12:11:17 +02:00
Rodger Combs
5cba5291a7 lavf/segment: style nits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 04:34:32 +02:00
Michael Niedermayer
385fe984fc avcodec/snowenc: Check av_frame_ref() return value
Fixes CID1026740

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 04:33:50 +02:00
Michael Niedermayer
a38758a97e avcodec/h264_refs: fix null pointer dereference with -DTRACE
Found-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 01:57:00 +02:00
Michael Niedermayer
a105931d3e Merge commit '4978850ca2cb1ec6908f5bc79cc592ca454d11e8'
* commit '4978850ca2cb1ec6908f5bc79cc592ca454d11e8':
  build: Split JPEG-related tables off into a separate component

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 01:11:02 +02:00
Michael Niedermayer
48183f144d Merge commit '87f87ccf32055aca25fa08e29e22cca1ba9976d5'
* commit '87f87ccf32055aca25fa08e29e22cca1ba9976d5':
  mjpeg: Use a more precise type for put_marker()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 00:48:04 +02:00
Michael Niedermayer
21ee6da70c avutil/hmac: Check av_hmac_alloc() return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 23:24:33 +02:00
Michael Niedermayer
1a10134e20 swresample/swresample: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 23:24:33 +02:00
Mariusz Szczepańczyk
f613f238f9 lavf: Bump minor version and document directory listing API in doc/APIchanges. 2015-03-30 23:02:53 +02:00
Michael Niedermayer
fda8b7ec7d avcodec/libdcadec: remove av_assert and check bits_per_sample more completely
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 22:32:47 +02:00
Michael Niedermayer
1019a1cb0a avfilter/vf_vignette: Change enum to int, which is accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 21:58:42 +02:00
Michael Niedermayer
63167a6ba3 avdevice/avfoundation: Fix occured typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 21:41:17 +02:00
Michael Niedermayer
794e9fb5a6 Merge commit 'e6e3dcba0c6f11bd7022e2d3b9bcb7b6a09d6c80'
* commit 'e6e3dcba0c6f11bd7022e2d3b9bcb7b6a09d6c80':
  mjpeg: Move code only used in the encoder(s) to the appropriate header

Conflicts:
	libavcodec/mjpegdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 21:05:23 +02:00
Michael Niedermayer
847c0d333b Merge commit '6ed38b1f65b424a4fa92042e0069f350b95e0098'
* commit '6ed38b1f65b424a4fa92042e0069f350b95e0098':
  tiff: Return more meaningful error codes

Conflicts:
	libavcodec/tiffenc.c

See: 0187c2ccda
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 20:55:52 +02:00
Michael Niedermayer
98263d7515 Merge commit '23944d29a22a2cd602753b3705f73011c3bf0b18'
* commit '23944d29a22a2cd602753b3705f73011c3bf0b18':
  indeo: Give Indeo4/5 shared code a more consistent name

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 20:39:08 +02:00
Michael Niedermayer
f5c7531ab1 Merge commit '7d3183d3a4e800ab7a7fa24f49968a1b1bcc0161'
* commit '7d3183d3a4e800ab7a7fa24f49968a1b1bcc0161':
  qsv: Skip header compilation depending on what parts of qsv are enabled

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 20:31:50 +02:00
Himangi Saraogi
0187c2ccda tiff: Return more meaningful error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 19:34:26 +02:00
Diego Biurrun
4978850ca2 build: Split JPEG-related tables off into a separate component 2015-03-30 17:51:21 +02:00
Diego Biurrun
87f87ccf32 mjpeg: Use a more precise type for put_marker() 2015-03-30 17:51:20 +02:00
Diego Biurrun
e6e3dcba0c mjpeg: Move code only used in the encoder(s) to the appropriate header 2015-03-30 17:51:20 +02:00
Himangi Saraogi
6ed38b1f65 tiff: Return more meaningful error codes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-03-30 17:51:20 +02:00
Diego Biurrun
23944d29a2 indeo: Give Indeo4/5 shared code a more consistent name 2015-03-30 17:49:05 +02:00
Diego Biurrun
7d3183d3a4 qsv: Skip header compilation depending on what parts of qsv are enabled 2015-03-30 17:41:48 +02:00
Tim Nicholson
ac9919b966 libavformat/mxfenc.c: Add 'Presentation Y offset' metadata
Previously unset, and some software mishandles files if it is absent

Signed-off-by: Tim Nicholson <tim.nicholson@bbc.co.uk>
Reviewed-by: tomas.hardin@codemill.se
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 15:03:41 +02:00
Michael Niedermayer
dadc43eee4 avutil/pca: Check for av_malloc* failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 04:37:42 +02:00
Michael Niedermayer
4a10811617 avformat/nutdec: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 04:32:58 +02:00
Michael Niedermayer
7c6b0436b6 avformat/img2: Change enum to int, which is accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 00:08:57 +02:00
Michael Niedermayer
f45758d3ee avformat/wavenc: Change enum to int, which is accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 00:08:57 +02:00
Michael Niedermayer
984c230cd3 avfilter/vf_transpose: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 00:08:57 +02:00
Michael Niedermayer
8ae350004d avfilter/tinterlace: Change enum to int, which is accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 00:08:57 +02:00
Michael Niedermayer
d0059281e6 avformat/udp: Remove (harmless) duplicated pkt_size entry from AVOption table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 22:10:05 +02:00
Michael Niedermayer
8344350509 Merge commit 'ff7adead0a667e606f5a41dca591f074f9ff2f32'
* commit 'ff7adead0a667e606f5a41dca591f074f9ff2f32':
  udp: Fix pkt_size management

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 22:06:44 +02:00
Rodger Combs
de2aaf1a2a lavf/segment: Mark output contexts as non-seekable when applicable
This prevents sub-muxers from trying to seek back to the beginning of the
whole stream, only to find themselves overwriting some video data in the
current (often last) segment.

We only do this when not writing individual header/trailers.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 19:04:17 +02:00
Donny Yang
9573737dfb png: Only init zlib once
Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 18:30:30 +02:00
Donny Yang
e7ba79dc4e png: Calculate pixel format information only once
Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 18:17:37 +02:00
Donny Yang
68ede913d0 png: Return slightly more meaningful error codes
Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 17:59:08 +02:00
Luca Barbato
ff7adead0a udp: Fix pkt_size management
The default value for unset is -1, not 0.

Problem introduced in 66028b7ba6

Bug-Id: 835
2015-03-29 17:35:59 +02:00
Rodger Combs
7b060a96ad libavformat/segment: add an option to write the header to a separate file
This permits some interesting segmenting techniques with formats like Matroska,
where you can concatenate the header and segments [N, nb_segments) and get
a working file that starts at segment N's start time.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 16:17:04 +02:00
Rodger Combs
481f0f153a libavformat/segment: don't leave the list pb open when not in use
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 14:44:21 +02:00
Rodger Combs
bcf44c91c3 libavformat/hls: add an option to start from a given segment in a live stream
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 13:34:15 +02:00
Michael Niedermayer
81487781e7 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavc/h264_refs: Fix compilation with -DTRACE.
  Fix make checkheaders if libmfx is not available.
  lavf/gif: Add an option max_gif_delay to limit the frame duration.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 13:19:50 +02:00
Michael Niedermayer
93704e09c7 Merge commit '72025ac36c740f031d7e413041fdfe97087c83c4'
* commit '72025ac36c740f031d7e413041fdfe97087c83c4':
  lavc: add libdcadec decoder

Conflicts:
	Changelog
	configure
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/libdcadec.c

See: 519868de7d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 13:01:26 +02:00
Carl Eugen Hoyos
b3673f3414 lavc/h264_refs: Fix compilation with -DTRACE. 2015-03-29 12:34:43 +02:00
Carl Eugen Hoyos
d371471c59 Fix make checkheaders if libmfx is not available. 2015-03-29 12:34:13 +02:00
Carl Eugen Hoyos
7de0fefeb5 lavf/gif: Add an option max_gif_delay to limit the frame duration.
Allows playback for the sample from ticket #4369 in less than 18 hours.
2015-03-29 12:31:00 +02:00
Michael Niedermayer
97a407f696 Merge commit '6fe2641d6e410b7bc203138fa97e1118b411f16d'
* commit '6fe2641d6e410b7bc203138fa97e1118b411f16d':
  lavc: add profile define for DTS Express

Conflicts:
	doc/APIchanges
	libavcodec/version.h

See: 11fe56c8bb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 12:24:33 +02:00
Michael Niedermayer
268ff17cb7 Merge commit 'c48456166e95648719a8be8f8613f9dee98205c1'
* commit 'c48456166e95648719a8be8f8613f9dee98205c1':
  lavc: add MMAL hardware decoder wrapper

Conflicts:
	Changelog
	configure
	doc/APIchanges
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/version.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 11:32:24 +02:00
Hendrik Leppkes
72025ac36c lavc: add libdcadec decoder
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-29 10:15:09 +02:00
Hendrik Leppkes
6fe2641d6e lavc: add profile define for DTS Express
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-29 10:00:38 +02:00
wm4
c48456166e lavc: add MMAL hardware decoder wrapper
Based on a patch by Rodger Combs.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-29 09:55:20 +02:00
Matthieu Bouron
cf16b459a8 libavdevice/avfoundation: use pts/dts provided by the CMSampleBuffer API
Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 04:08:33 +02:00
Matthieu Bouron
021b023751 libavdevice/avfoundation: add capture_mouse_clicks option
Support mouse clicks capture while recording a screen on OSX >= 10.7.

Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 04:07:43 +02:00
Matthieu Bouron
c908cae74c libavdevice/avfoundation: add capture_cursor option
Add support for cursor capturing while recording a screen for OSX >=
10.8.

Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 03:50:31 +02:00
Matthieu Bouron
573a77a1b6 libavdevice/avfoundation: add framerate and video size options
Support framerate ands video size options on AVCaptureDevices for
OSX >= 10.7 and iOS >= 7.0.

For screen captures, only the framerate option is taken into account.

Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 03:49:38 +02:00
Michael Niedermayer
6a3833e141 ffmpeg_opt: Do not overwrite output if there is no input
Fixes Ticket4254

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 23:00:07 +01:00
Carl Eugen Hoyos
dcac15a84c lavc/dnxhd: Fix pix_fmt change.
Fixes ticket #4400.
2015-03-28 17:36:02 +01:00
Donny Yang
fe57514f8a png: Minor whitespace change and added missing comment
Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 17:16:55 +01:00
Donny Yang
5904d039ce png: Use av_freep() instead of av_free()
Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 17:16:55 +01:00
Michael Niedermayer
68bcc64f74 fate/filter-video: Use qp filter to generate non constant qp array for more throughout testing of the pp filter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 15:29:56 +01:00
Michael Niedermayer
2856634c67 vfilter/vf_qp: Support evaluating expression per MB
also add support for x/y/w/h parameters

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 15:18:58 +01:00
Michael Niedermayer
a8fb8f6112 avfilter/vf_qp: split expression parsing out of loop
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 15:17:36 +01:00
Marton Balint
625bd463cd af_channelmap: fix number of channels
Fixes segfaults with the following command:

ffmpeg -f lavfi -i aevalsrc=0:c=stereo:n=1920 -af 'channelmap=0' test.ac3

Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 11:16:26 +01:00
Michael Niedermayer
048b6331e0 avcodec/qsv_internal: Fix project name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 03:44:19 +01:00
Lukasz Marek
56b7aa2138 doc/examples: add directory listing example
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 03:13:44 +01:00
Tucker DiNapoli
303c3dada2 postproc: Removed unecessary if/else branch when getting QP.
There's still an if, as QP needs to be modified if isColor=0, but it
still removes a unecessary branch.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 01:49:12 +01:00
Michael Niedermayer
0a731e4596 Merge commit '72b7441a10f578a1d0be7083d8f5adf6a01921c2'
* commit '72b7441a10f578a1d0be7083d8f5adf6a01921c2':
  lavc: add Intel libmfx-based H.264 encoder

Conflicts:
	Changelog
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 01:33:27 +01:00
Michael Niedermayer
d985976e54 Merge commit '9ba27c2348d26000257e891e40a72facb0d916be'
* commit '9ba27c2348d26000257e891e40a72facb0d916be':
  qsvdec: add 'decode' to the non-static function names

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 01:25:20 +01:00
Michael Niedermayer
b12eacb383 Merge commit 'd0a63d8b989647ffdb5f40da8e1feaffe1a8e791'
* commit 'd0a63d8b989647ffdb5f40da8e1feaffe1a8e791':
  qsvdec: split off some code that will be shared with the encoder

Conflicts:
	libavcodec/Makefile
	libavcodec/qsvdec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 01:16:21 +01:00
Michael Niedermayer
151ae8ea5b Merge commit 'b04d009b0e1a34b717f3d3bbf407aef0c742aff1'
* commit 'b04d009b0e1a34b717f3d3bbf407aef0c742aff1':
  qsv: rename to qsvdec

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 01:03:23 +01:00
Michael Niedermayer
4ae7c37099 fate: Use a variable QP input for fate-filter-pp
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 00:43:31 +01:00
Michael Niedermayer
c664989803 fate: simplify filter-pp tests
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 00:26:12 +01:00
Anton Khirnov
72b7441a10 lavc: add Intel libmfx-based H.264 encoder 2015-03-27 22:02:10 +01:00
Anton Khirnov
9ba27c2348 qsvdec: add 'decode' to the non-static function names 2015-03-27 21:57:47 +01:00
Anton Khirnov
d0a63d8b98 qsvdec: split off some code that will be shared with the encoder 2015-03-27 21:57:28 +01:00
Anton Khirnov
b04d009b0e qsv: rename to qsvdec
This is to avoid conflicts with the upcoming QSV encoding support.
2015-03-27 21:56:36 +01:00
Michael Niedermayer
d03b998c48 avformat/avio: Document the end of list case in avio_read_dir()
This was mentioned in a previous review

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-27 21:34:23 +01:00
Himangi Saraogi
fff7871772 lavfi: add inverse telecine filter
Approved-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-27 21:34:03 +01:00
Lukasz Marek
184084c699 lavf: add directory listing API
API allows protocol implementations to provide API that
allows to list directory content.
API is similar to POSIX opendir/readdir/closedir.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-27 18:29:46 +01:00
Himangi Saraogi
dbce8cdacf avfilter/vf_telecine: Avoid floating point values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-27 15:52:59 +01:00
Michael Niedermayer
174330b18e avutil/timer: give each printed value of STOP_TIMER a fixed length
this makes the result easier to read

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-27 04:44:58 +01:00
Michael Niedermayer
0fee509cf5 avutil/timer: show histogram of cpu cycles each run took
The new information is printed at verbose log level and can thus be switched on and off
through the log level

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-27 04:20:13 +01:00
James Almer
1f5d1eed78 avutil/cpu: add missing check for mmxext to av_force_cpu_flags
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-26 22:54:15 -03:00
Himangi Saraogi
613483dcfb avfilter/vf_telecine: Fix loss of AVFrame properties in output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-27 02:12:10 +01:00
Michael Niedermayer
0245abc7c1 avcodec/x86/hpeldsp_init: Put CONFIG_* first in if()
This is more consistent and may fix a build failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-26 15:41:27 +01:00
Michael Niedermayer
cd5a48e549 avcodec/h264_slice: Put CONFIG_GRAY first in if()
This is more consistent

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-26 15:41:27 +01:00
Michael Niedermayer
47aee6f047 avcodec/arm/flacdsp_init_arm: Put CONFIG_FLAC_DECODER first in if()
This is more consistent

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-26 15:41:27 +01:00
Michael Niedermayer
71258e5d87 avcodec/ac3dec: Put CONFIG* first in if()
This may fix build failures with EAC3 disabled and is more consistent

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-26 15:41:27 +01:00
Michael Niedermayer
2139e58439 avformat/dv: fix used dimension variables
Fixes null pointer dereference during seeking
Fixes Ticket4395

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-26 03:10:27 +01:00
Michael Niedermayer
df43d03731 avformat/rmdec: fix support for 0 sized mdpr
Fixes Ticket4393

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-26 02:02:18 +01:00
Himangi Saraogi
1301aa55f6 avfilter/vf_telecine: Fix AV desync by using the first input timestamp
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-26 00:41:54 +01:00
Philip Langdale
21adb9964e avcodec/nvenc: Need a separate class for each encoder
The encoders can't share a class instance.

Signed-off-by: Philip Langdale <philipl@overt.org>
2015-03-25 15:32:09 -07:00
Stephen Hutchinson
9f91c5198f doc: remove the reference to supporting AviSynth 2.5
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-25 20:38:32 +01:00
Stephen Hutchinson
1492118c9d avisynth: drop support of AviSynth 2.5
If the user attempts to use AviSynth 2.5, an error message will
now tell them they need to upgrade.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-25 20:37:26 +01:00
Michael Niedermayer
bdcd36a4c8 swscale/output: Fix undefined shifts
Fixes: da14e86d8462be6493eab16bc2d40f88/asan_heap-oob_204cfd2_528_cov_340150052_COMPRESS.BMP

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-25 18:31:25 +01:00
Stephen Hutchinson
3a6df0b4bb avisynth: ifdef to avoid implicit function declaration errors
The demuxer doesn't use these functions, so it shouldn't affect
anything.  Investigate whether this can be fixed by how headers
are checked in configure.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-25 16:19:14 +01:00
Himangi Saraogi
b020a25df2 avcodec/j2kenc: Initialize variable to silence compiler warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-25 15:06:36 +01:00
Ronald S. Bultje
589a6042ea avutil: make AVFrameSideData buffers ref-counted.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-25 12:04:00 +01:00
Ronald S. Bultje
b8e36690e8 lavu/frame: move av_frame_copy_props() up in the file.
Preparation for following patch.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-25 12:03:53 +01:00
James Almer
23e1303c0a avcodec/nvenc_h265: add missing version bump and changelog entry
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-25 03:59:34 -03:00
James Almer
7c4910758a configure: add missing dependency for nvenc_h265
Should fix compilation of builds without nvenc

Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-25 03:51:10 -03:00
Philip Langdale
21175d8586 avcodec/nvenc: Add support for H.265 encoding
Sufficiently new nvenc hardware (GM20x or later) has support for H.265
encoding. This works the same as the H.264 encoder except the
codec parameters are different.

Due to the fact that common codec parameters are not shareable, there's
quite a bit of conditional logic you'd wish we could do without, but
such is life.

Signed-off-by: Philip Langdale <philipl@overt.org>
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
2015-03-24 21:42:07 -07:00
Michael Niedermayer
354db19ff4 avcodec/h264: Remove bits_per_raw_sample hacks
Fixes assertion failure

Fixes: f12c79769501ee471a5c731b8304ffcb/signal_sigabrt_7ffff6ac8cc9_3766_cov_4267830138_undemuxable_h264.ts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-25 04:14:38 +01:00
Stephen Hutchinson
e003a53452 avisynth: update headers against AviSynth+
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-25 00:22:15 +01:00
Giorgio Vazzana
62e2fae8e4 ffmpeg: fix option name in documentation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 23:41:01 +01:00
Michael Niedermayer
19321a295a avformat/utils: Terminate SPS in avci100_1080i_extradata to avoid warnings during parsing
Fixes: AVCI100_Test.mxf
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 18:20:40 +01:00
Michael Niedermayer
e5de6de8f0 avutil/pixfmt: Add missing AV_ prefix to PIX_FMT_YUV411P
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 17:36:39 +01:00
Timo Rothenpieler
48f7c30bf7 avcodec/nvenc: Drop support for old nvenc api
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 17:25:11 +01:00
Michael Niedermayer
c20eab5c85 avcodec/msrledec: More verbose error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 16:07:57 +01:00
Michael Niedermayer
f7e1367f58 avcodec/msrledec: restructure msrle_decode_pal4() based on the line number instead of the pixel pointer
Fixes out of array access
Fixes: da14e86d8462be6493eab16bc2d40f88/asan_heap-oob_204cfd2_528_cov_340150052_COMPRESS.BMP

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 16:07:26 +01:00
Jochen Strunk
0276b95242 avformat/mov: check color parameter type explicitly.
Fixes ticket #4387.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Note, Vittorio Giovara had submitted a very similar fix to me privately
a few hours before this, iam applying Jochens because it comes with a
commit message too and i had not yet applied Vittorios, but For sake
of credit, Vittorio independently solved this first
2015-03-24 14:06:03 +01:00
Michael Niedermayer
4a6096e481 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavf/matroskaenc: List subtitle codecs with fake codec_tags to allow remuxing.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 12:47:18 +01:00
Michael Niedermayer
d66ca43fc1 Merge commit '1188119624e42c1b2ce5be6137d2e6c6f4f03328'
* commit '1188119624e42c1b2ce5be6137d2e6c6f4f03328':
  avisynth: update documentation about the avisynth_c.h header

Conflicts:
	doc/general.texi

Not merged as FFmpeg provides the needed headers in compat/

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 12:04:21 +01:00
Michael Niedermayer
153073201c Merge commit 'a8c99205ca8703bd849efae13fcf844315c7147d'
* commit 'a8c99205ca8703bd849efae13fcf844315c7147d':
  avisynth: Fix compilation against current 2.6 header(s).

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 11:40:12 +01:00
Stephen Hutchinson
1188119624 avisynth: update documentation about the avisynth_c.h header
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-24 10:31:04 +01:00
Stephen Hutchinson
a8c99205ca avisynth: Fix compilation against current 2.6 header(s).
AviSynth 2.6 (and by extension, AviSynth+) moves these functions
into AVSC_API. This requires both adjusting their normal use,
and for AvxSynth, adjusting the position/use of the USING_AVISYNTH
ifdefs.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-24 10:31:04 +01:00
Carl Eugen Hoyos
b76df6efb6 lavf/matroskaenc: List subtitle codecs with fake codec_tags to allow remuxing.
Fixes remuxing of DVBSUB to mkv.
2015-03-24 10:07:18 +01:00
Carl Eugen Hoyos
c5d0148c7e doc: Remove non-existing decklink options.
Reported-by: Bostjan Hamler
2015-03-24 09:54:04 +01:00
Michael Niedermayer
a2dd2d7998 Merge commit '1ddd3e23a49b9eec11c62dca018238cf7349c90f'
* commit '1ddd3e23a49b9eec11c62dca018238cf7349c90f':
  vaapi_h264: fix slice data offset

See: aba3030a55
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 02:48:17 +01:00
Michael Niedermayer
70cf40f9eb Merge commit 'ae4f5d944cce431b1f4715c863122355e1d78007'
* commit 'ae4f5d944cce431b1f4715c863122355e1d78007':
  dxva2_h264: fix slice offset in long slice structs

See: cf1fba0fb8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 02:31:26 +01:00
Michael Niedermayer
2850131f2c Merge commit 'b21af32aed7e343f962753943e9f16baedfb1750'
* commit 'b21af32aed7e343f962753943e9f16baedfb1750':
  lavc: Prefer x264 over openh264 if both libraries are available

See: ddae03f69b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 02:23:29 +01:00
Michael Niedermayer
3e39956198 Merge commit '312a9ef04bf6b55e68e4a61694b169cd3cc69bb8'
* commit '312a9ef04bf6b55e68e4a61694b169cd3cc69bb8':
  pixfmt: Update documentation with prefixed pixel formats

Conflicts:
	libavutil/pixfmt.h

See: 231e33f050
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 01:56:11 +01:00
Michael Niedermayer
d280d43c26 Merge commit '592a04054e6423be5050efd2bceece48b10b9c1d'
* commit '592a04054e6423be5050efd2bceece48b10b9c1d':
  pixdesc: Replace a few leftover instances of non AV-prefixed flags

Conflicts:
	libavutil/pixdesc.c

See: c7c71f95f8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 01:47:01 +01:00
Michael Niedermayer
cceb737936 Merge commit '7419b34825c20d52f667da2fbe4dc710ec8398f8'
* commit '7419b34825c20d52f667da2fbe4dc710ec8398f8':
  fate: Add test for tscc2 in mov

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 01:24:13 +01:00
Michael Niedermayer
dfea1acb21 Merge commit 'e4fe535d12f4f30df2dd672e30304af112a5a827'
* commit 'e4fe535d12f4f30df2dd672e30304af112a5a827':
  mov: Write the display matrix in order

Conflicts:
	libavformat/mov.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 01:14:31 +01:00
Mark Reid
001b28b021 libavformat/mxfenc: add container duration and package name to primer pack
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 22:09:46 +01:00
Hendrik Leppkes
1ddd3e23a4 vaapi_h264: fix slice data offset 2015-03-23 20:53:29 +00:00
Hendrik Leppkes
ae4f5d944c dxva2_h264: fix slice offset in long slice structs 2015-03-23 20:53:29 +00:00
Michael Niedermayer
b21af32aed lavc: Prefer x264 over openh264 if both libraries are available 2015-03-23 20:53:29 +00:00
Vittorio Giovara
312a9ef04b pixfmt: Update documentation with prefixed pixel formats 2015-03-23 20:53:28 +00:00
Vittorio Giovara
592a04054e pixdesc: Replace a few leftover instances of non AV-prefixed flags 2015-03-23 20:53:28 +00:00
Vittorio Giovara
7419b34825 fate: Add test for tscc2 in mov
Rename the existing tscc2 test.
2015-03-23 20:53:28 +00:00
Vittorio Giovara
e4fe535d12 mov: Write the display matrix in order
This will allow to copy the matrix as is and it is just cleaner to keep
the matrix in the same order specified by the mov standard (which is
also explicitly described in the documentation).

In order to preserve compatibility, flip the angle sign in the display API
av_display_rotation_set() and av_display_rotation_get(), and improve the
documentation mentioning the rotation direction.
2015-03-23 20:53:28 +00:00
Michael Niedermayer
ad3c5ff347 Merge commit 'e0046bc9c96150fa06146ace9093f06857dd7b23'
* commit 'e0046bc9c96150fa06146ace9093f06857dd7b23':
  movenc: Write the make and model metadata keys for mov style files

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 20:33:09 +01:00
Michael Niedermayer
67ceb42d39 avfilter/vf_stereo3d: Change enum to int, which is accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 19:31:17 +01:00
Michael Niedermayer
744c9b49a5 avutil/frame: Add some very basic documentation for AVFrameSideData
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 18:46:26 +01:00
Timothy Gu
c3d0edd406 doc: Use @lisp where appropriate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 17:21:38 +01:00
Timothy Gu
ecba41bfd3 doc: More semantic markup using @samp and @var where appropriate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 17:08:08 +01:00
Hendrik Leppkes
aba3030a55 vaapi_h264: fix slice data offset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 16:12:08 +01:00
Hendrik Leppkes
cf1fba0fb8 dxva2_h264: fix slice offset in long slice structs
Fixes Ticket #4384

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 16:12:08 +01:00
Timothy Gu
641ef7d4f7 doc/fate: better formatting
The initial spaces get ignored anyway so let's be consistent with other docs.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 13:16:42 +01:00
Martin Storsjö
e0046bc9c9 movenc: Write the make and model metadata keys for mov style files
These are essential allowing QuickTime to keep detecting content
as slow-motion - this allows preserving them on stream copy.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-23 12:43:35 +02:00
Michael Niedermayer
83020f8978 postproc/postprocess_template: split 2nd blockgroup loop out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 00:41:41 +01:00
Michael Niedermayer
d9e3fe8c22 postproc/postprocess_template: split first part of block loop
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 00:33:16 +01:00
Michael Niedermayer
2a9b9579ab postproc/postprocess_template: Move QP initialization down
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 00:24:46 +01:00
Michael Niedermayer
330113b032 postproc/postprocess_template: Remove dead code and comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 00:22:43 +01:00
Michael Niedermayer
fc90d1502a bpostproc/postprocess_template: drop avoidable #ifdef
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 00:16:07 +01:00
Michael Niedermayer
93f4538363 postproc/postprocess_template: split loop in 2 (block groups of 4, blocks)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 00:15:58 +01:00
Michael Niedermayer
7517e932ff avcodec/snow: fix support for odd dimensions
Fixes Ticket3914

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 23:34:53 +01:00
Michael Niedermayer
a089d567f1 avcodec/jpeglsdec: support PAL1-PAL7
Fixes Ticket3933

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 20:31:03 +01:00
Michael Niedermayer
74097e0902 avfilter/vf_signalstats: Change enum to int, which is accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 17:31:34 +01:00
Michael Niedermayer
3a23ec0daa avfilter/vf_setfield: Change enum to int, which is accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 17:30:24 +01:00
Michael Niedermayer
14bc7aaa86 Revert "avformat/flvenc: Allow muxing video codecs which are not explicitly supported by the muxer"
This commit has no known use case ATM as there are no unsupported video codecs in flv and could
theoretically be use to generate broken files allthough that would be not entirely easy as
tags/codecs still get sanity checked

This reverts commit 76f4b11780.
2015-03-22 17:19:25 +01:00
Michael Niedermayer
76f4b11780 avformat/flvenc: Allow muxing video codecs which are not explicitly supported by the muxer
This allows stream copying video codecs before they are explicitly
supported. The same feature was in the past useful for audio codecs
in flv

This partly reverts the changes from 735ab7c5e0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 16:20:14 +01:00
Michael Niedermayer
797ba4d53b avcodec/h264_cavlc: Drop local_ref_count
This basically switches to the implementation from f6f7d15041
which seems faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 14:39:38 +01:00
Michael Niedermayer
563a8b4aac avcodec/h264_cabac: Drop local_ref_count
7966 -> 7897 decicycles

This basically switches to the implementation from f6f7d15041
which seems faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 14:39:32 +01:00
Michael Niedermayer
aa65ff2adf Merge commit 'cfe64613923a2d47644a87386146ada1f9f6b659'
* commit 'cfe64613923a2d47644a87386146ada1f9f6b659':
  avfilter: Document avfilter_graph_alloc return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 04:03:20 +01:00
Michael Niedermayer
cff55cfe17 Merge commit '27aa1ff35a13bc471c6e0a9cc496ec3f62f1574f'
* commit '27aa1ff35a13bc471c6e0a9cc496ec3f62f1574f':
  oggdec: Check memory allocation

Conflicts:
	libavformat/oggdec.c

See: 9b8152bf04 an others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 04:02:25 +01:00
Michael Niedermayer
c75681aba3 Merge commit '93c1b04abfc0dd31211a18bf2c0041d69cd16919'
* commit '93c1b04abfc0dd31211a18bf2c0041d69cd16919':
  mms: Check memory allocation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 03:52:37 +01:00
Michael Niedermayer
a821617b5a Merge commit 'd450cb07d91ef39ad1d39bd7ca0cfce4bd7b13e7'
* commit 'd450cb07d91ef39ad1d39bd7ca0cfce4bd7b13e7':
  avplay: Check memory allocation

Conflicts:
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 03:51:49 +01:00
Michael Niedermayer
a3f5a8c3e0 Merge commit 'd3aa307da076e8820298b2c59ec5d6ff01a5e374'
* commit 'd3aa307da076e8820298b2c59ec5d6ff01a5e374':
  rmenc: Check memory allocation

See: 5683810302
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 03:50:17 +01:00
Michael Niedermayer
324067d18b Merge commit '7ebb3022297aa00afda6800105684b8303f2608e'
* commit '7ebb3022297aa00afda6800105684b8303f2608e':
  swscale: Check memory allocation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 03:40:37 +01:00
Michael Niedermayer
0346783c98 avcodec/h264.h: Drop unused macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 00:29:01 +01:00
Michael Niedermayer
141b9d5c3b avcodec/h264_slice: update slice context linesizes when a new picture is allocated
previously they where only updated when decoding started and would thus have
been inconsistent for a longer period of time leaving more chances for
problems

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 23:45:46 +01:00
Federico Tomassetti
cfe6461392 avfilter: Document avfilter_graph_alloc return value
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-21 23:18:15 +01:00
Federico Tomassetti
27aa1ff35a oggdec: Check memory allocation
Bug-Id: CID 1257798 / CID 1257805

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-21 23:18:15 +01:00
Federico Tomassetti
93c1b04abf mms: Check memory allocation
Bug-Id: CID 1258462

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-21 23:18:15 +01:00
Federico Tomassetti
d450cb07d9 avplay: Check memory allocation
Bug-Id: CID 1288294

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-21 23:18:14 +01:00
Federico Tomassetti
d3aa307da0 rmenc: Check memory allocation
Bug-Id: CID 1257832

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-21 23:18:14 +01:00
Federico Tomassetti
7ebb302229 swscale: Check memory allocation
Bug-Id: CID 1267890
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-21 23:18:11 +01:00
Michael Niedermayer
fa7c08d5e1 Merge commit 'c28ed1d743443e783537d279ae721be3bbdf7646'
* commit 'c28ed1d743443e783537d279ae721be3bbdf7646':
  h264: move [uv]linesize to the per-slice context

Conflicts:
	libavcodec/h264_mb.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 23:16:36 +01:00
Michael Niedermayer
a6cb0534e2 Merge commit 'b53569e0681ff7bc99103ab4c961dbac3cc0fce6'
* commit 'b53569e0681ff7bc99103ab4c961dbac3cc0fce6':
  h264_cabac: remove now unnecessary H264Context function parameters

Conflicts:
	libavcodec/h264_cabac.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 23:13:25 +01:00
Michael Niedermayer
d8151a7e94 Merge commit 'a12d3188cbec15e22070e139fa5cc541da07e2c3'
* commit 'a12d3188cbec15e22070e139fa5cc541da07e2c3':
  h264: use a smaller struct for the ref lists

Conflicts:
	libavcodec/h264_direct.c
	libavcodec/h264_mb.c
	libavcodec/h264_picture.c
	libavcodec/h264_refs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 23:05:34 +01:00
Michael Niedermayer
e970b576d2 Merge commit '94295106d20b32666a8c4e0d028ef79b9d3f3b7a'
* commit '94295106d20b32666a8c4e0d028ef79b9d3f3b7a':
  h264_mb: remove an unused function parameter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 21:43:07 +01:00
Michael Niedermayer
8c6370afe3 Merge commit '2b4c38d3c647f409080606ef02b3363ada00be2c'
* commit '2b4c38d3c647f409080606ef02b3363ada00be2c':
  h264: drop some mpegvideo remnants from draw_horiz_band()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 21:42:14 +01:00
Michael Niedermayer
0f8bb0efc3 Merge commit '5bf3c0fa49afd5bbf43aa841ff78007d72c80736'
* commit '5bf3c0fa49afd5bbf43aa841ff78007d72c80736':
  h264: drop the now unused per-slice H264Contexts

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 21:41:17 +01:00
Michael Niedermayer
8bdcec3111 Merge commit '51d8725a6e4c7f989d6f0f38b59cb54a2d72846c'
* commit '51d8725a6e4c7f989d6f0f38b59cb54a2d72846c':
  h264: use the main H264Context as the parent for all slice contexts

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 21:33:27 +01:00
Michael Niedermayer
b1e6d8a226 Merge commit '92e0b7342c0490894cbcea4461380321e0569de2'
* commit '92e0b7342c0490894cbcea4461380321e0569de2':
  h264_slice: constify all the uses of H264Context during slice decoding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 21:32:33 +01:00
Ronald S. Bultje
1fd1f58bd6 vp9: make above buffer pointer 32-byte aligned.
Fixes ticket #4383

Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-21 17:13:46 -03:00
Michael Niedermayer
84ae7294cb Merge commit '3178f4d33ff62243f7cdddb081db516ea34396c9'
* commit '3178f4d33ff62243f7cdddb081db516ea34396c9':
  h264: move rbsp_buffer into the per-slice context

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 20:16:21 +01:00
Michael Niedermayer
830e548b9e Merge commit '582683b6ac798ed2a004a4e2121b7bd47892bbfd'
* commit '582683b6ac798ed2a004a4e2121b7bd47892bbfd':
  h264: move remaining ER stuff into the per-slice context

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 20:00:34 +01:00
Michael Niedermayer
44309dd294 avcodec/mpegvideo: support mbskip_table==NULL in ff_print_debug_info2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 19:28:56 +01:00
Michael Niedermayer
dd186b5825 avcodec/error_resilience: Fix mbskip_table==NULL codepath
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 19:24:03 +01:00
Michael Niedermayer
b37b0a58e3 Merge commit '5bc69f38c1af71fbcbfb4b5efa77d0aeb5424c04'
* commit '5bc69f38c1af71fbcbfb4b5efa77d0aeb5424c04':
  error_resilience: do not require mbintra/skip tables

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 19:03:10 +01:00
Michael Niedermayer
44e4a86c8a Merge commit 'c377e04d8aa74d030672e9a4788a700b0695fc14'
* commit 'c377e04d8aa74d030672e9a4788a700b0695fc14':
  h264: move top_borders into the per-slice context

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:58:59 +01:00
Michael Niedermayer
3d1d8e1f95 Merge commit '36d04801ba9d8622c2d759c172aea18561bac74d'
* commit '36d04801ba9d8622c2d759c172aea18561bac74d':
  h264: move the scratch buffers into the per-slice context

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:50:53 +01:00
Michael Niedermayer
2730163329 Merge commit '34d4c605e9a5116d5289b35633ade5b01cacab24'
* commit '34d4c605e9a5116d5289b35633ade5b01cacab24':
  h264_loopfilter: constify all uses of H264Context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:26:10 +01:00
Michael Niedermayer
e845b9573d Merge commit '7505c8dfba255f8e6c6dbb574d0cec91da16f24d'
* commit '7505c8dfba255f8e6c6dbb574d0cec91da16f24d':
  h264_cavlc: constify all uses of H264Context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:19:58 +01:00
Michael Niedermayer
eb058a8dc5 Merge commit 'ba7e165b864d69da4f0c79ec7757cb351535002f'
* commit 'ba7e165b864d69da4f0c79ec7757cb351535002f':
  h264_cabac: constify all uses of H264Context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:19:24 +01:00
Michael Niedermayer
9f2fad1af7 Merge commit '5c4b98de4d101ea715ef86847306a510afd0db0c'
* commit '5c4b98de4d101ea715ef86847306a510afd0db0c':
  h264.c: constify all uses of H264Context in slice and lower-level functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:18:40 +01:00
Michael Niedermayer
9d0450ae94 Merge commit 'e9b2383bf86b38ad18a001801aee20c8182e29bd'
* commit 'e9b2383bf86b38ad18a001801aee20c8182e29bd':
  h264: move mb_mbaff into the per-slice context

Conflicts:
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:07:01 +01:00
Michael Niedermayer
d511dc6530 Merge commit 'bc98e8c0e0a8babfea35c98855e366b29cbe1191'
* commit 'bc98e8c0e0a8babfea35c98855e366b29cbe1191':
  h264: move mb_field_decoding_flag into the per-slice context

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:03:54 +01:00
Michael Niedermayer
a0b39747b7 Merge commit '6490a0c0fbe0e55f765ea2aa2e8495181ea1f719'
* commit '6490a0c0fbe0e55f765ea2aa2e8495181ea1f719':
  h264_mb: constify all uses of H264Context

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:23:10 +01:00
Michael Niedermayer
06e5b331f5 Merge commit '51822879e7732ee8175dad98dde1a135f6e5c1a4'
* commit '51822879e7732ee8175dad98dde1a135f6e5c1a4':
  h264_mb: constify block_offset

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:22:15 +01:00
Michael Niedermayer
bc5383e6c4 Merge commit '3bea6409a1868354a1d29b34de424c3636c222b7'
* commit '3bea6409a1868354a1d29b34de424c3636c222b7':
  h264_mvpred: constify all uses of H264Context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:21:44 +01:00
Michael Niedermayer
a81a6dcb11 Merge commit '460176aa19acb8d8bdb52af1ec97891e0f65843c'
* commit '460176aa19acb8d8bdb52af1ec97891e0f65843c':
  h264.h: constify all uses of H264Context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:14:36 +01:00
Michael Niedermayer
48d00b527b Merge commit 'd27b8248a6ee7e64c68c46c23e00d703b9caa50c'
* commit 'd27b8248a6ee7e64c68c46c23e00d703b9caa50c':
  h264_direct: constify all uses of H264Context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:13:56 +01:00
Michael Niedermayer
55215383dc Merge commit 'f42485dbce614b3f63182845da43db690b427b7c'
* commit 'f42485dbce614b3f63182845da43db690b427b7c':
  h264: use a separate GetBitContext for slice data

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_parser.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:13:24 +01:00
Michael Niedermayer
727b202330 Merge commit '2ea00e35e4e0b58f7a306dd55d8f72a21c32c946'
* commit '2ea00e35e4e0b58f7a306dd55d8f72a21c32c946':
  h264: do not abuse the context as a temporary storage in get_last_needed_nal()

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:02:23 +01:00
Michael Niedermayer
eba2c2321b Merge commit '404a416d4b1fcbf9db5569481d8181f296c01ea9'
* commit '404a416d4b1fcbf9db5569481d8181f296c01ea9':
  h264: remove some remnants of data partitioning

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:00:51 +01:00
Michael Niedermayer
72bec029ee Merge commit '7bbc254d646ed9cf6deffc3fda75ae6729f95979'
* commit '7bbc254d646ed9cf6deffc3fda75ae6729f95979':
  h264: move resync_mb_{x,y} into the per-slice context

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:54:48 +01:00
Michael Niedermayer
d76559fb5f Merge commit 'd4d9068cdf8f4b2b87ae87a2ef880d243f77b977'
* commit 'd4d9068cdf8f4b2b87ae87a2ef880d243f77b977':
  h264: move mb_{x,y} into the per-slice context

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_mb.c
	libavcodec/h264_slice.c
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:46:15 +01:00
Michael Niedermayer
668c65e7e7 Merge commit '0edbe6faa7ef80daf0e84353cbe733389bf1a522'
* commit '0edbe6faa7ef80daf0e84353cbe733389bf1a522':
  h264: move mb_xy into the per-slice context

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_cabac.c
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:18:29 +01:00
Michael Niedermayer
db4234c500 Merge commit '07c5ca551b7327d3c4e33738cc0cd2d5ac2779fa'
* commit '07c5ca551b7327d3c4e33738cc0cd2d5ac2779fa':
  h264: move is_complex into the per-slice context

Conflicts:
	libavcodec/h264_slice.c
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:10:31 +01:00
Michael Niedermayer
70eec8f432 Merge commit '47a0d393504d6726c4a235951153bee0abb3f7d6'
* commit '47a0d393504d6726c4a235951153bee0abb3f7d6':
  h264: move mb_skip_run into the per-slice context

Conflicts:
	libavcodec/h264_cavlc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:09:14 +01:00
Michael Niedermayer
da7f4c32ab Merge commit '9951907f6fc37a8d41566dbee09f7c15ff587de6'
* commit '9951907f6fc37a8d41566dbee09f7c15ff587de6':
  h264: move redundant_pic_count into the per-slice context

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:07:53 +01:00
Michael Niedermayer
04d23cf1c5 Merge commit 'a9b201cacf85d710b102010cb4baef97f00ea39b'
* commit 'a9b201cacf85d710b102010cb4baef97f00ea39b':
  h264: move cabac_init_idc into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:06:57 +01:00
Michael Niedermayer
7d23931632 Merge commit 'e6c90ce94f1b07f50cea2babf7471af455cca0ff'
* commit 'e6c90ce94f1b07f50cea2babf7471af455cca0ff':
  h264: move loopfilter parameters into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:59:20 +01:00
Michael Niedermayer
ad6cee117e Merge commit 'bd3e460b73dd54a68dc253e010c239cefc8d8d55'
* commit 'bd3e460b73dd54a68dc253e010c239cefc8d8d55':
  h264: move direct_cache into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:58:50 +01:00
Michael Niedermayer
6a2e1ff02a Merge commit '6479c79f5517e2881bc881e737b2dbce69553878'
* commit '6479c79f5517e2881bc881e737b2dbce69553878':
  h264: move mvd_cache into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:58:05 +01:00
Michael Niedermayer
c9841c05be Merge commit 'a67f8ae9a2c8529bf6a635e8ca4e3483592708b1'
* commit 'a67f8ae9a2c8529bf6a635e8ca4e3483592708b1':
  h264: move mvd_table into the per-slice context

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:57:21 +01:00
Michael Niedermayer
a4952e7343 Merge commit '5c8280c3075dd54f26752c3a1185647578421703'
* commit '5c8280c3075dd54f26752c3a1185647578421703':
  h264: move last_qscale_diff into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:48:53 +01:00
Michael Niedermayer
4c5c913dd8 Merge commit 'e7226984ac13aacb84eae77a372df8ff7685848f'
* commit 'e7226984ac13aacb84eae77a372df8ff7685848f':
  h264: move [{top,left}_]cbp into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:48:13 +01:00
Michael Niedermayer
f5d4d61824 Merge commit '30da98adbda6de1f55188f9058a3a5c715049633'
* commit '30da98adbda6de1f55188f9058a3a5c715049633':
  h264: move cabac[_state] into the per-slice context

Conflicts:
	libavcodec/h264_cabac.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:45:44 +01:00
Michael Niedermayer
d86e8f235e avcodec/h264_slice: Merge 2 memcpy()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:37:05 +01:00
Michael Niedermayer
739edc1a7e Merge commit 'bf03a878a76dea29b36f368759e9f66102b39a5f'
* commit 'bf03a878a76dea29b36f368759e9f66102b39a5f':
  h264: move mb[_{padding,luma_dc}] into the per-slice context

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:36:57 +01:00
Michael Niedermayer
35a788d953 Merge commit 'b063582e0c4f775a8ba377488bd085595e0e7fae'
* commit 'b063582e0c4f775a8ba377488bd085595e0e7fae':
  h264: move intra_pcm_ptr into the per-slice context

Conflicts:
	libavcodec/h264.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:27:29 +01:00
Michael Niedermayer
cc2cfdc497 Merge commit '95eb35f30513e335990ad0d5dca6ddc318477291'
* commit '95eb35f30513e335990ad0d5dca6ddc318477291':
  h264: move the ref lists variables into the per-slice context

Conflicts:
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_direct.c
	libavcodec/h264_mb.c
	libavcodec/h264_picture.c
	libavcodec/h264_refs.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:18:10 +01:00
Michael Niedermayer
27b3522ba3 Merge commit '7747726667c86877feed30c9e18460cb8e63f551'
* commit '7747726667c86877feed30c9e18460cb8e63f551':
  h264: move map_col_to_list0[_field] into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:46:23 +01:00
Michael Niedermayer
bd76a4822f Merge commit 'ee0d774dfa94655e44707ff3e02f4a4d282c1963'
* commit 'ee0d774dfa94655e44707ff3e02f4a4d282c1963':
  h264: move dist_scale_factor[_field] into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:39:49 +01:00
Michael Niedermayer
20477a4ecb Merge commit 'be69f0a800903b7573b18d9287d18b2f368b8b11'
* commit 'be69f0a800903b7573b18d9287d18b2f368b8b11':
  h264: move col_{parity,fieldoff} into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:39:32 +01:00
Michael Niedermayer
a8ac4c9b06 Merge commit '066aafced4dc6c7c9e7b37082635472249f1e93e'
* commit '066aafced4dc6c7c9e7b37082635472249f1e93e':
  h264: move direct_spatial_mv_pred into the per-slice context

Conflicts:
	libavcodec/h264_mvpred.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:38:59 +01:00
Michael Niedermayer
4ffbeddd35 Merge commit 'ed451a08a46b2b07fd2dba3e55ffddd18ae6e3d6'
* commit 'ed451a08a46b2b07fd2dba3e55ffddd18ae6e3d6':
  h264: move sub_mb_type into the per-slice context

Conflicts:
	libavcodec/h264_cabac.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:37:55 +01:00
Michael Niedermayer
97c8ecaada Merge commit '56febc993b928ccc039a32158ca60b234c311875'
* commit '56febc993b928ccc039a32158ca60b234c311875':
  h264: move the slice type variables into the per-slice context

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:30:19 +01:00
Michael Niedermayer
2cc08cad9e Merge commit '5f390eef8ee2b8adab00c5d2923a52aa261eb999'
* commit '5f390eef8ee2b8adab00c5d2923a52aa261eb999':
  h264: move mb_[uv]linesize into the per-slice context

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:16:29 +01:00
Michael Niedermayer
892a6d0028 Merge commit '99a35d1ccbb6b6cd260ce5c8369a897a79fe6a3a'
* commit '99a35d1ccbb6b6cd260ce5c8369a897a79fe6a3a':
  h264: move neighbor_transform_size into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:14:05 +01:00
Michael Niedermayer
f1436a7f96 Merge commit 'e6287f077c3e8e4aca11e61dd4bade1351439e6b'
* commit 'e6287f077c3e8e4aca11e61dd4bade1351439e6b':
  h264: move {mv,ref}_cache into the per-slice context

Conflicts:
	libavcodec/h264_cabac.c
	libavcodec/h264_mb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:06:30 +01:00
Michael Niedermayer
b7e0356cc3 Merge commit 'f69574cf7aca4fe4d57a2155e925f37fc863474d'
* commit 'f69574cf7aca4fe4d57a2155e925f37fc863474d':
  h264: move non_zero_count_cache into the per-slice context

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:02:02 +01:00
Michael Niedermayer
6ec279b54c Merge commit '64c81b2cd0dcf1fe66c381a5d2c707dddcf35a7e'
* commit '64c81b2cd0dcf1fe66c381a5d2c707dddcf35a7e':
  h264: move *_samples_available into the per-slice context

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_mb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:59:16 +01:00
Michael Niedermayer
20f5be1038 avcodec/h264_cabac: Fix intra4x4_pred_mode_cache argument to av_dlog()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:46:32 +01:00
Michael Niedermayer
6abd1e901c Merge commit '7d8154edd594981e7891d57de91f2260f8a62939'
* commit '7d8154edd594981e7891d57de91f2260f8a62939':
  h264: move intra4x4_pred_mode[_cache] into the per-slice context

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:44:38 +01:00
Michael Niedermayer
61635c7a88 Merge commit '8b00f4df20f4a8ab0656fdaf7d00233a6515a052'
* commit '8b00f4df20f4a8ab0656fdaf7d00233a6515a052':
  h264: move some neighbour information into the per-slice context

Conflicts:
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:42:44 +01:00
Michael Niedermayer
a2740a060b Merge commit '4bd5ac200d15b4f458a50f66006549825f9fc865'
* commit '4bd5ac200d15b4f458a50f66006549825f9fc865':
  h264: move {chroma,intra16x16}_pred_mode into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:35:38 +01:00
Michael Niedermayer
c07b7e483a Merge commit '5355ed6b20e941430c4f8fb82644e87a65366d61'
* commit '5355ed6b20e941430c4f8fb82644e87a65366d61':
  h264: move {prev,next}_mb_skipped into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:35:05 +01:00
Michael Niedermayer
acd6b407c3 Merge commit '06789ad3b71296a9e2fbd0278632d97a5d9af8d7'
* commit '06789ad3b71296a9e2fbd0278632d97a5d9af8d7':
  h264: move qp_thresh into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:34:33 +01:00
Michael Niedermayer
c27f53b9fb Merge commit 'd231e84b06a9964c840cff4e228509f706165fb6'
* commit 'd231e84b06a9964c840cff4e228509f706165fb6':
  h264: move the quantizers into the per-slice context

Conflicts:
	libavcodec/dxva2_h264.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_loopfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:24:23 +01:00
Michael Niedermayer
cc31d9ce80 Merge commit 'd40ae0e595fe90b5583b9269f8bb000402bde5a6'
* commit 'd40ae0e595fe90b5583b9269f8bb000402bde5a6':
  h264: do not copy qscale when updating per-thread contexts

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:20:54 +01:00
Michael Niedermayer
756dc7bd18 Merge commit '92c6c2a605f9b077b8fbc25b7ed6625541232b87'
* commit '92c6c2a605f9b077b8fbc25b7ed6625541232b87':
  h264: split weighted pred-related vars into per-slice context

Conflicts:
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_mb.c
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:13:12 +01:00
Michael Niedermayer
06c70d4537 avcodec/hevc_ps: Check cropping parameters more correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 12:55:03 +01:00
Michael Niedermayer
665e0c10a6 Merge commit 'd8a45d2d49f54fde042b195f9d5859251252493d'
* commit 'd8a45d2d49f54fde042b195f9d5859251252493d':
  h264_ps: properly check cropping parameters against overflow

Conflicts:
	libavcodec/h264_ps.c

See: c3bd306e78
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 12:09:03 +01:00
Anton Khirnov
c28ed1d743 h264: move [uv]linesize to the per-slice context
While it is a per-frame variable, it is only really used in the
low-level decoding code, so it is more efficient to store it in the
slice context.
2015-03-21 11:27:16 +01:00
Anton Khirnov
b53569e068 h264_cabac: remove now unnecessary H264Context function parameters 2015-03-21 11:27:16 +01:00
Anton Khirnov
a12d3188cb h264: use a smaller struct for the ref lists
There is no need to store a whole H264Picture, with a full AVFrame
embedded in it. This should allow getting rid of the embedded AVFrame
later.
2015-03-21 11:27:16 +01:00
Anton Khirnov
94295106d2 h264_mb: remove an unused function parameter 2015-03-21 11:27:16 +01:00
Anton Khirnov
2b4c38d3c6 h264: drop some mpegvideo remnants from draw_horiz_band()
This code makes no sense for h.264.
2015-03-21 11:27:16 +01:00
Anton Khirnov
5bf3c0fa49 h264: drop the now unused per-slice H264Contexts 2015-03-21 11:27:16 +01:00
Anton Khirnov
51d8725a6e h264: use the main H264Context as the parent for all slice contexts
There is now no need to have per-slice copies of the H264Context.
2015-03-21 11:27:15 +01:00
Anton Khirnov
92e0b7342c h264_slice: constify all the uses of H264Context during slice decoding
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
3178f4d33f h264: move rbsp_buffer into the per-slice context 2015-03-21 11:27:15 +01:00
Anton Khirnov
582683b6ac h264: move remaining ER stuff into the per-slice context 2015-03-21 11:27:15 +01:00
Anton Khirnov
5bc69f38c1 error_resilience: do not require mbintra/skip tables
h264dec does not use them at all and only allocates them for ER.
2015-03-21 11:27:15 +01:00
Anton Khirnov
c377e04d8a h264: move top_borders into the per-slice context
Also change the method for allocating to the same one as used by
edge_emu_buffer.
2015-03-21 11:27:15 +01:00
Anton Khirnov
36d04801ba h264: move the scratch buffers into the per-slice context
Also change the method for allocating them. Instead of two possible
alloc calls from different places, just ensure they are allocated at the
start of each slice. This should be simpler and less bug-prone than the
previous method.
2015-03-21 11:27:15 +01:00
Anton Khirnov
34d4c605e9 h264_loopfilter: constify all uses of H264Context
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
7505c8dfba h264_cavlc: constify all uses of H264Context
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
ba7e165b86 h264_cabac: constify all uses of H264Context
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
5c4b98de4d h264.c: constify all uses of H264Context in slice and lower-level functions
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
e9b2383bf8 h264: move mb_mbaff into the per-slice context 2015-03-21 11:27:15 +01:00
Anton Khirnov
bc98e8c0e0 h264: move mb_field_decoding_flag into the per-slice context 2015-03-21 11:27:15 +01:00
Anton Khirnov
6490a0c0fb h264_mb: constify all uses of H264Context
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
51822879e7 h264_mb: constify block_offset
It is read-only in this code.
2015-03-21 11:27:15 +01:00
Anton Khirnov
3bea6409a1 h264_mvpred: constify all uses of H264Context
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
460176aa19 h264.h: constify all uses of H264Context
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
d27b8248a6 h264_direct: constify all uses of H264Context
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
f42485dbce h264: use a separate GetBitContext for slice data 2015-03-21 11:27:14 +01:00
Anton Khirnov
2ea00e35e4 h264: do not abuse the context as a temporary storage in get_last_needed_nal()
Use a local variable instead.
2015-03-21 11:27:14 +01:00
Anton Khirnov
404a416d4b h264: remove some remnants of data partitioning 2015-03-21 11:27:14 +01:00
Anton Khirnov
7bbc254d64 h264: move resync_mb_{x,y} into the per-slice context 2015-03-21 11:27:14 +01:00
Anton Khirnov
d4d9068cdf h264: move mb_{x,y} into the per-slice context 2015-03-21 11:27:14 +01:00
Anton Khirnov
0edbe6faa7 h264: move mb_xy into the per-slice context 2015-03-21 11:27:14 +01:00
Anton Khirnov
07c5ca551b h264: move is_complex into the per-slice context 2015-03-21 11:27:14 +01:00
Anton Khirnov
47a0d39350 h264: move mb_skip_run into the per-slice context 2015-03-21 11:27:14 +01:00
Anton Khirnov
9951907f6f h264: move redundant_pic_count into the per-slice context 2015-03-21 11:27:14 +01:00
Anton Khirnov
a9b201cacf h264: move cabac_init_idc into the per-slice context 2015-03-21 11:27:14 +01:00
Anton Khirnov
e6c90ce94f h264: move loopfilter parameters into the per-slice context 2015-03-21 11:27:14 +01:00
Anton Khirnov
bd3e460b73 h264: move direct_cache into the per-slice context 2015-03-21 11:27:14 +01:00
Anton Khirnov
6479c79f55 h264: move mvd_cache into the per-slice context 2015-03-21 11:27:14 +01:00
Anton Khirnov
a67f8ae9a2 h264: move mvd_table into the per-slice context 2015-03-21 11:27:14 +01:00
Anton Khirnov
5c8280c307 h264: move last_qscale_diff into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
e7226984ac h264: move [{top,left}_]cbp into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
30da98adbd h264: move cabac[_state] into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
bf03a878a7 h264: move mb[_{padding,luma_dc}] into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
b063582e0c h264: move intra_pcm_ptr into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
95eb35f305 h264: move the ref lists variables into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
7747726667 h264: move map_col_to_list0[_field] into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
ee0d774dfa h264: move dist_scale_factor[_field] into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
be69f0a800 h264: move col_{parity,fieldoff} into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
066aafced4 h264: move direct_spatial_mv_pred into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
ed451a08a4 h264: move sub_mb_type into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
56febc993b h264: move the slice type variables into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
5f390eef8e h264: move mb_[uv]linesize into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
99a35d1ccb h264: move neighbor_transform_size into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
e6287f077c h264: move {mv,ref}_cache into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
f69574cf7a h264: move non_zero_count_cache into the per-slice context 2015-03-21 11:27:12 +01:00
Anton Khirnov
64c81b2cd0 h264: move *_samples_available into the per-slice context 2015-03-21 11:27:12 +01:00
Anton Khirnov
7d8154edd5 h264: move intra4x4_pred_mode[_cache] into the per-slice context 2015-03-21 11:27:12 +01:00
Anton Khirnov
8b00f4df20 h264: move some neighbour information into the per-slice context 2015-03-21 11:27:12 +01:00
Anton Khirnov
4bd5ac200d h264: move {chroma,intra16x16}_pred_mode into the per-slice context 2015-03-21 11:27:12 +01:00
Anton Khirnov
5355ed6b20 h264: move {prev,next}_mb_skipped into the per-slice context 2015-03-21 11:27:12 +01:00
Anton Khirnov
06789ad3b7 h264: move qp_thresh into the per-slice context 2015-03-21 11:27:12 +01:00
Anton Khirnov
d231e84b06 h264: move the quantizers into the per-slice context 2015-03-21 11:27:12 +01:00
Anton Khirnov
d40ae0e595 h264: do not copy qscale when updating per-thread contexts
It's a per-slice quantity constructed when parsing the slice header.
2015-03-21 11:27:12 +01:00
Anton Khirnov
92c6c2a605 h264: split weighted pred-related vars into per-slice context 2015-03-21 11:27:09 +01:00
Michael Niedermayer
e4588e376a Merge commit '5127c00b971b674f72609369b39a9c0f7c36977d'
* commit '5127c00b971b674f72609369b39a9c0f7c36977d':
  hevc: zero the correct variables on invalid crop parameters

Conflicts:
	libavcodec/hevc_ps.c

See: 57e5812198
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 11:24:49 +01:00
Michael Niedermayer
0e69c16e96 Merge commit 'c929659bdd7d2d5848ea52e685a3164c7b901bb0'
* commit 'c929659bdd7d2d5848ea52e685a3164c7b901bb0':
  hevc: make the crop sizes unsigned

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 11:11:17 +01:00
Anton Khirnov
d8a45d2d49 h264_ps: properly check cropping parameters against overflow
CC: libav-stable@libav.org
2015-03-21 09:35:23 +01:00
Anton Khirnov
5127c00b97 hevc: zero the correct variables on invalid crop parameters
It's the output_window that is applied to the output frame, not
pic_conf_win
2015-03-21 09:35:19 +01:00
Anton Khirnov
c929659bdd hevc: make the crop sizes unsigned 2015-03-21 09:35:14 +01:00
Michael Niedermayer
294bb6cbd7 avcodec/hevc_refs: Silence "Could not find ref with POC" for CRA/BLA
Avoids error messages during seeking

Found-by: cousin_luigi
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 04:09:46 +01:00
Michael Niedermayer
3c5c6870a7 avformat/movenc: avoid using uninitialized display_matrix_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 00:24:31 +01:00
Martin Vignali
276a8666d2 avcodec/metasound_data: remove unused variable lsp16s
the table was duplicated

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 22:33:15 +01:00
Michael Niedermayer
215c2fe0ae Merge commit '22a6d48b0d7367b3a45dd6db245f8ffaaa364995'
* commit '22a6d48b0d7367b3a45dd6db245f8ffaaa364995':
  avconv: Print the avfilter errors

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 20:33:27 +01:00
Michael Niedermayer
50255b7a86 Merge commit '342fc46c69199b076b7c210f42208ce39a2bde1c'
* commit '342fc46c69199b076b7c210f42208ce39a2bde1c':
  cmdutils: Add a stream specifier to map usable streams

Conflicts:
	cmdutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 20:15:40 +01:00
James Almer
60b9373dbd libavutil: add bmi2 optimized av_mod_uintp2
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-20 15:47:43 -03:00
James Almer
d13e521cc8 libavutil: add av_mod_uintp2
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-20 15:47:31 -03:00
Michael Niedermayer
2a8198b32f avcodec/libvpxenc: Set min/max quantizer to 0 for lossless mode
Fixes Ticket4246

Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 19:22:33 +01:00
Michael Niedermayer
d6dba15b97 avfilter/vf_mcdeint: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 19:12:57 +01:00
Michael Niedermayer
1a79850a8f avfilter/vf_overlay: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 19:11:58 +01:00
Michael Niedermayer
59c06902e8 avfilter/vf_phase: Change enum to int, which is accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 19:09:38 +01:00
Luca Barbato
22a6d48b0d avconv: Print the avfilter errors
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-20 18:42:26 +01:00
Luca Barbato
342fc46c69 cmdutils: Add a stream specifier to map usable streams
It drops everything that cannot be used for re-encoding and/or
streamcopy.
2015-03-20 16:10:20 +01:00
Michael Niedermayer
e8446a6850 configure: Silence warnings about constant unsigned overflows in MSVC
unsigned overflows are well defined in C and used for example in crypto
and various other places.
None of the affected warnings currently shown points to an actual defect

untested

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 15:53:44 +01:00
arwa arif
9015ca359f lavfi/eq: rework expression evaluation
In particular, add support for t, pos, n, r parameters, and add an eval
mode option.

Also, partially reword option documentation.

With several major edit by Stefano Sabatini.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2015-03-20 09:41:32 +01:00
Stefano Sabatini
e6547cce72 lavfi/eq: factorize code in process_command() 2015-03-20 09:41:32 +01:00
James Almer
6b940b8c99 x86/xvididct: add some yasm guards
Should fix compilation on compilers with less-than-ideal dead code elimination

Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-20 02:38:20 -03:00
James Almer
b0fea4ad7e x86/xvididct: remove obsolete function prototypes
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-20 02:38:14 -03:00
Martin Vignali
7fb186784a avcodec/dv: remove unused var dvquantareas
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 04:39:10 +01:00
Martin Vignali
5f9d30ae8f avcodec/dv: remove unused var dv100qstep
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 04:39:01 +01:00
Martin Vignali
57e8047972 avfilter/vf_pp7: remove unused var
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 04:38:52 +01:00
James Almer
03e9b1931b avcodec/libdcadec: add missing version bump and changelog entry 2015-03-19 21:09:42 -03:00
Kacper Michajłow
4f3c31df3f avcodec: Fix libdcadec include dir
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 02:17:31 +01:00
Michael Niedermayer
85cc76050c Merge commit '30e6abd1a8cc4fd5daf2e23ad2e768862c39e975'
* commit '30e6abd1a8cc4fd5daf2e23ad2e768862c39e975':
  webp: ensure that each transform is only used once

See: c089e720c1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 01:49:31 +01:00
Michael Niedermayer
750cf4e537 Merge commit 'cf18e777aed9f73011c7ab7cbab8003189d4b9d8'
* commit 'cf18e777aed9f73011c7ab7cbab8003189d4b9d8':
  movenc: write the display transform matrix

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 01:10:06 +01:00
Hendrik Leppkes
519868de7d avcodec: add libdcadec decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 00:25:50 +01:00
Hendrik Leppkes
11fe56c8bb avcodec: add profile define for DTS Express
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 00:12:32 +01:00
Michael Niedermayer
77bd35d76d avcodec/dnxhddec: reset cur_field for non interlaced frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 23:56:31 +01:00
Michael Niedermayer
d3bd943108 avcodec/dnxhddec: Reset is_444 if format is not 444
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 23:33:36 +01:00
Michael Niedermayer
2c660e34cf avcodec/dnxhddec: Check that the frame is interlaced before using cur_field
Fixes Ticket4227

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 23:28:39 +01:00
Andreas Cadhalpun
30e6abd1a8 webp: ensure that each transform is only used once
According to the WebP Lossless Bitstream Specification
"each transform is allowed to be used only once".

If a transform is more than once this can lead to memory
corruption.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-19 21:03:13 +01:00
Anton Khirnov
cf18e777ae movenc: write the display transform matrix 2015-03-19 21:02:59 +01:00
Michael Niedermayer
bbcc09518e avformat/avienc: Expand master ODML index when its end is reached
Fixes 256Gb limit
Fixes Ticket4225

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 18:17:16 +01:00
Michael Niedermayer
adfde9a646 avformat/avienc: Fix wrongly placed comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 17:30:28 +01:00
Michael Niedermayer
81a6b075bd avformat/avidec: also print frame_num in debug output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 16:36:29 +01:00
Michael Niedermayer
01775c8858 avformat/avienc: factor out update_odml_entry()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 16:33:50 +01:00
Michael Niedermayer
c3a6d179fb avformat/avienc: factor write_odml_master() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 16:33:49 +01:00
Michael Niedermayer
5440d4b68b Merge commit '30a041887f89cd97c372ad6a516da6e012f2c88b'
* commit '30a041887f89cd97c372ad6a516da6e012f2c88b':
  ismindex: Calculate the pts duration of trun atoms, not the dts duration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 14:00:39 +01:00
Michael Niedermayer
b5448e66b0 Merge commit '67a2912307c3c08f2725ccae162cfe3426b80184'
* commit '67a2912307c3c08f2725ccae162cfe3426b80184':
  movenc: Don't assume that fragment durations in pts is equal to duration in dts

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 13:38:25 +01:00
Michael Niedermayer
25d7e3ad59 Merge commit '5c337353a2546416631a87de4881850d99141c39'
* commit '5c337353a2546416631a87de4881850d99141c39':
  movenc: Move sidx edit list timestamp adjustment into a block

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 13:26:47 +01:00
Michael Niedermayer
3602782429 Merge commit 'eee13d653953083553cceadbbedf6222ef78a006'
* commit 'eee13d653953083553cceadbbedf6222ef78a006':
  movenc: Only adjust the cts offset at the start of fragments if necessary

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 12:47:19 +01:00
Michael Niedermayer
4631d4bec3 Merge commit '5cf892d6946b19a87bcd00d6b76ce81f45960fdb'
* commit '5cf892d6946b19a87bcd00d6b76ce81f45960fdb':
  movenc: Write pts timestamps in tfxd, instead of dts timestamps

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 12:38:51 +01:00
Michael Niedermayer
00ad3432e1 Merge commit 'b81b0cc22b22413760423e239ea644c9afdbfa2d'
* commit 'b81b0cc22b22413760423e239ea644c9afdbfa2d':
  movenc: Set the last packet duration based on the next packet when autoflushing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 12:38:29 +01:00
Michael Niedermayer
09585e377c Merge commit '3041183677bda0a431b36e96a2c76617abaa8183'
* commit '3041183677bda0a431b36e96a2c76617abaa8183':
  dashenc: Heuristically fill in the duration of packets that need it

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 12:18:05 +01:00
Michael Niedermayer
76fef5cd27 Merge commit '2889c5e16711770437f380f1bead5f72c6a0b17a'
* commit '2889c5e16711770437f380f1bead5f72c6a0b17a':
  movenc: Heuristically set the duration of the last sample in a fragment if not set

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 12:09:51 +01:00
Michael Niedermayer
4f8540ba40 Merge commit '8dc72eeaf647736c287b59a3856a11904bedd58b'
* commit '8dc72eeaf647736c287b59a3856a11904bedd58b':
  udp: Fix crashes after adding AVOptions

See: aefed6ca87
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 11:22:39 +01:00
Martin Storsjö
30a041887f ismindex: Calculate the pts duration of trun atoms, not the dts duration
Since the duration is compared to the tfra durations/intervals which
are expressed in pts, calculate that here as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-19 10:27:22 +02:00
Martin Storsjö
67a2912307 movenc: Don't assume that fragment durations in pts is equal to duration in dts
For strict CFR, they should be pretty much equal, but if the stream
is VFR, there can be a sometimes significant difference.

Calculate the pts duration separately, used in sidx atoms and for
tfrf/tfxd boxes in smooth streaming ismv files.

Also make sure to reduce the duration of sidx entries according to
edit lists.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-19 10:27:20 +02:00
Martin Storsjö
5c337353a2 movenc: Move sidx edit list timestamp adjustment into a block
When reading these values from track->frag_info, the same adjustment
has already been done.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-19 10:27:17 +02:00
Martin Storsjö
eee13d6539 movenc: Only adjust the cts offset at the start of fragments if necessary
Adjusting it is only necessary when a sidx/tfrf/tfxd atom already has
been written for the previous fragment (since the sidx/tfrf/tfxd atoms
include the duration between the first pts of the previous fragment, to
the first pts of the new fragment).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-19 10:27:15 +02:00
Martin Storsjö
5cf892d694 movenc: Write pts timestamps in tfxd, instead of dts timestamps
This matches what we write in tfra and tfrf since 9cbf70fa0e.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-19 10:27:12 +02:00
Martin Storsjö
b81b0cc22b movenc: Set the last packet duration based on the next packet when autoflushing
When automatically flushing fragments based on set conditions
(fragmentation on keyframes, after some interval or byte size),
we already have the next packet for one stream - use this for setting
the duration of the last packet in the flushed fragment correctly.

This avoids having to adjust the timestamp of the first packet in
the new fragment since the last duration was unknown.

Unfortunately, this only works for automatic flushing (not for
caller-triggered flushing, like in the dash muxer), and only for the
one single track that triggered the flushing. The duration of the
last sample in all other tracks still is dependent on AVPacket
duration (or heuristics).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-19 10:27:07 +02:00
Martin Storsjö
3041183677 dashenc: Heuristically fill in the duration of packets that need it
This avoids that the mp4 muxer does a similar heuristic, adjusting
the timestamps in a way that the dash muxer doesn't know the actual
timestamps written to the file in the end. By making sure that the
mp4 muxer internal heuristic isn't applied, we know the exact
timestamps written to file, so that the timestamps in manifest match
the files.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-19 10:27:03 +02:00
Martin Storsjö
2889c5e167 movenc: Heuristically set the duration of the last sample in a fragment if not set
Even if this is a guess, it is way better than writing a zero duration
of the last sample in a fragment (because if the duration is zero,
the first sample of the next fragment will have the same timestamp
as the last sample in the previous one).

Since we normally don't require libavformat muxer users to set
the duration field in AVPacket, we probably can't strictly require
it here either, so don't log this as a strict warning, only as info.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-19 10:26:52 +02:00
Martin Storsjö
8dc72eeaf6 udp: Fix crashes after adding AVOptions
Add a missing AVClass member, check whether localaddr is null.
(Previously, localaddr was always a local stack buffer, while it
now also can be an avoption string which can be null.)

This fixes crashes when not passing any localaddr parameter, since
66028b7ba.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-19 10:25:22 +02:00
Andreas Cadhalpun
b61cb61ab8 mxfenc: don't try to write footer without header
This fixes a crash, when trying to mux h264 into mxf_opatom.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Previous version reviewed-by: tomas.hardin@codemill.se
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 02:20:30 +01:00
Michael Niedermayer
c5c09501f9 avformat/aiffdec: do not fail if header parser hits EOF
Based on patch by Martin Vignali <martin.vignali@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 01:44:14 +01:00
Michael Niedermayer
ae81e8a9c5 avformat/aiffdec: Stop header parsing once a non header packet is reached
Fix Ticket3530

Based-on debuging work by Martin Vignali <martin.vignali@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 01:39:47 +01:00
Clément Bœsch
d2009c77fb avfilter/vf_colormatrix: fix yuv420p threading, second try
Now seems to work fine with different combinations of odd/even heights
and odd/even number of threads.
2015-03-19 00:03:29 +01:00
Michael Niedermayer
b1fbe29e51 avcodec/mjpegdec: Support 31111100 sampling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-18 23:28:43 +01:00
Michael Niedermayer
e15455891b avcodec/mjpegdec: Change upscale_* to an array instead of a bitmask
This allows storing integer factors instead of just 0 and 1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-18 23:13:44 +01:00
Michael Niedermayer
ee648903f5 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavf/mkv: Ignore ff_isom_write_hvcc() return value as the mov muxer does.
  lavc/dts: Do not set bitrate for DTS-HD Master and High Resolution.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-18 21:24:35 +01:00
Michael Niedermayer
b3818c47d8 Merge commit '8692d74b7364b405d7939c0ed347e8a2815193a7'
* commit '8692d74b7364b405d7939c0ed347e8a2815193a7':
  mov: Add option to keep exact packet sequence after seeking

Conflicts:
	libavformat/isom.h
	libavformat/mov.c
	libavformat/version.h

See: 414d6547f3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-18 21:15:18 +01:00
Carl Eugen Hoyos
7a5356c728 lavf/mkv: Ignore ff_isom_write_hvcc() return value as the mov muxer does.
This change allows remuxing hevc from mpeg-ts to Matroska.
2015-03-18 20:35:26 +01:00
Carl Eugen Hoyos
7f1ea38868 lavc/dts: Do not set bitrate for DTS-HD Master and High Resolution.
Fixes ticket #4375.

Reviewed-by: Hendrik Leppkes
2015-03-18 20:34:35 +01:00
Micah Galizia
c59654d67d avformat/http: replace cookies with updated values instead of appending forever
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-18 19:53:26 +01:00
James Cowgill
f8323744a0 mips/float_dsp: fix vector_fmul_window_mips on mips64
Commit dfa9208074 ("mips/float_dsp: fix a bug in vector_fmul_window_mips")
fixed vector_fmul_window_mips by unrolling the loop only 4 times, but also
removed the outer C loop and replaced it with assembly branches and pointer
arithmetic. When submitting my 64-bit porting patch I missed this new
assembly which also needed porting.

This patch fixes a bus error in the fate-float-dsp test when run on 64-bit
mips.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Reviewed-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-18 19:08:02 +01:00
Derek Buitenhuis
414d6547f3 mov: Add option to keep exact packet sequence after seeking
The current behavior may produce a different sequence of packets
after seeking, compared to demuxing linearly from the beginning.
This is because the MOV demuxer seeks in each stream individually,
based on timestamp, which may set each stream at a slightly different
position than if the file would have been read sequentially.

This makes implementing certain operations, such as segmenting,
quite hard, and slower than need be.

Therefore, add an option which retains the same packet sequence
after seeking, as when a file is demuxed linearly.
2015-03-18 14:30:07 +00:00
Derek Buitenhuis
8692d74b73 mov: Add option to keep exact packet sequence after seeking
The current behavior may produce a different sequence of packets
after seeking, compared to demuxing linearly from the beginning.
This is because the MOV demuxer seeks in each stream individually,
based on timestamp, which may set each stream at a slightly different
position than if the file would have been read sequentially.

This makes implementing certain operations, such as segmenting,
quite hard, and slower than need be.

Therefore, add an option which retains the same packet sequence
after seeking, as when a file is demuxed linearly.
2015-03-18 14:28:56 +00:00
Michael Niedermayer
fbb9ef5b17 avfilter/vf_lut3d: Change enum to int, which is accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-18 12:32:56 +01:00
Michael Niedermayer
ee17295d10 avfilter/vf_il: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-18 12:32:56 +01:00
Michael Niedermayer
67e1562228 avfilter/vf_histogram: Change enum to int, which is accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-18 12:32:56 +01:00
Clément Bœsch
304fdfe9f3 lavfi: add showwavespic filter
This is a variant of showwaves. It is implemented as a different filter
so that the user is not allowed to use meaningless options which belong
to showwaves (such as rate).

Major edits done by Stefano Sabatini, from a patch by ubitux.

See thread:
From: Clément Bœsch <u@pkh.me>
To: ffmpeg-devel@ffmpeg.org
Date: Wed, 24 Dec 2014 15:03:26 +0100
Subject: [FFmpeg-devel] [PATCH] avfilter/showwaves: add single_pic option
2015-03-18 12:19:08 +01:00
Michael Niedermayer
0f16dfda50 Replace PixelFormats which sneaked in over time or where forgotten by AVPixelFormats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-18 01:18:40 +01:00
Michael Niedermayer
4fae556322 Merge commit '58a840e21577a2168843487a98cb2cea44b5a94a'
* commit '58a840e21577a2168843487a98cb2cea44b5a94a':
  Replace a few leftover instances of enum PixelFormat with enum AVPixelFormat

See: ac627b3d38
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-18 01:09:35 +01:00
James Almer
bf2bd5b807 avcodec/ac3dec_fixed: fix compilation when ac3dec is disabled
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-17 19:25:55 -03:00
Michael Niedermayer
0b961423ee avcodec/aacsbr: Replace impossible condition by assert
bits can have a value of 0 or 1 they are never -1 or otherwise negative

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 22:55:59 +01:00
Martin Storsjö
58a840e215 Replace a few leftover instances of enum PixelFormat with enum AVPixelFormat
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-17 23:53:33 +02:00
Michael Niedermayer
ae3d2afd46 Merge commit '6289706b35d1b030258bba54cc27bb6d2c04bc9b'
* commit '6289706b35d1b030258bba54cc27bb6d2c04bc9b':
  fate: Move tdsc to the appropriate screen capture file

Conflicts:
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 21:58:16 +01:00
Michael Niedermayer
c7e1e4c48a Merge commit '423f5d50e499ab972f507115700c8f31ed8993e4'
* commit '423f5d50e499ab972f507115700c8f31ed8993e4':
  mov: Fix little endian audio detection

Conflicts:
	libavformat/mov.c

See: d2549ba9df
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 21:46:10 +01:00
Michael Niedermayer
45f62c74dd Merge commit 'cdce9e8025fff1dee2fd3d6bc28aebc0a330c5a0'
* commit 'cdce9e8025fff1dee2fd3d6bc28aebc0a330c5a0':
  aacsbr: Fix type for index variable

See: a15adabdd3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 21:30:36 +01:00
Michael Niedermayer
66de11b064 Merge commit '7c60c124c8dfaebfafa2b3c11b316db549617732'
* commit '7c60c124c8dfaebfafa2b3c11b316db549617732':
  hqx: Drop unused offsets table

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 21:18:25 +01:00
Michael Niedermayer
07ca090e81 Merge commit '4326bc364b58e97fc3d89417054a6b7610179a00'
* commit '4326bc364b58e97fc3d89417054a6b7610179a00':
  lavf: Do not list mov-only codecs in riff tags

Conflicts:
	libavformat/Makefile
	libavformat/avidec.c

See: 2e0b5f5c90
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 21:09:43 +01:00
Michael Niedermayer
de732a82b6 Merge commit 'cf9861dea5d42d0b5a6cf0609b9624525d96c1e0'
* commit 'cf9861dea5d42d0b5a6cf0609b9624525d96c1e0':
  isom: Add X-Com Radvision FourCC

See: ac494e5a66
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 20:58:43 +01:00
Michael Niedermayer
59f687b73c Merge commit '02d76141d68e38c80f9a205a56b9af10d74f0995'
* commit '02d76141d68e38c80f9a205a56b9af10d74f0995':
  riff: Add 'tshd' FourCC for H.264

Conflicts:
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 20:48:39 +01:00
Michael Niedermayer
182499be72 Merge commit 'c0f504e947cc0a3c73770419bf7d1af98288fc59'
* commit 'c0f504e947cc0a3c73770419bf7d1af98288fc59':
  libx264: Allow full-range yuv422 and yuv444 pixel formats

See: 79209f5d6c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 20:41:04 +01:00
Michael Niedermayer
6d57da9aa4 Merge commit 'c9ed48e80ef807ab0c1bb946ac8db5f34d83d9c9'
* commit 'c9ed48e80ef807ab0c1bb946ac8db5f34d83d9c9':
  dca: Read params->pancABIT0[param_index] only if part0 is set

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 20:32:57 +01:00
Michael Niedermayer
1eb28479da Merge commit '48aef27f5232794e70ecef0d347b9f65e27a9bad'
* commit '48aef27f5232794e70ecef0d347b9f65e27a9bad':
  x86: Put COPY3_IF_LT under HAVE_6REGS

Conflicts:
	libavcodec/x86/mathops.h

See: b38910c979
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 20:25:47 +01:00
Clément Bœsch
09f057170e avfilter/vf_colormatrix: make sure the number of threads is even for yuv420p
Fix crash with for example:
  ffmpeg -f lavfi -i testsrc=568x320 -threads 3 -vf format=yuv420p,colormatrix=bt709:smpte170m -f null -
2015-03-17 20:19:54 +01:00
Michael Niedermayer
2cfa1fdb08 Merge commit '96dd04427fc46e5e25a5ac1f00753207e3aedb0c'
* commit '96dd04427fc46e5e25a5ac1f00753207e3aedb0c':
  isom: Add support for TSCC2

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 20:05:53 +01:00
Michael Niedermayer
33a79e443b Merge commit '91894f27dce531c13d7e1be20253877f2e1e9e66'
* commit '91894f27dce531c13d7e1be20253877f2e1e9e66':
  configure: Disable shift operator precedence warnings with MSVC

Conflicts:
	configure

See: 9e208ce6dd
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 19:58:02 +01:00
Michael Niedermayer
13f8bbfb70 avformat/mov: fix mis-detection of jpeg2000
Fixes demuxer choice for Ticket 2792

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 19:05:44 +01:00
Michael Niedermayer
6cd079a4e7 avfilter/vf_histeq: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 17:13:38 +01:00
Michael Niedermayer
7363889771 avfilter/vf_fieldmatch: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 17:11:42 +01:00
Michael Niedermayer
e6140e7822 avfilter/vf_field: Change enum to int, which is accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 16:52:10 +01:00
Andreas Cadhalpun
39ddda12f1 mxfenc: fix memleaks in mxf_write_footer
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Reviewed-by: tomas.hardin@codemill.se
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 15:05:41 +01:00
Tobias Rapp
5be04f9789 doc/protocols: Fixed missing example section marker
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 15:04:22 +01:00
Vittorio Giovara
6289706b35 fate: Move tdsc to the appropriate screen capture file 2015-03-17 13:36:10 +00:00
Vittorio Giovara
423f5d50e4 mov: Fix little endian audio detection
Set this field to TRUE if the audio component is to operate on
little-endian data, and FALSE otherwise.

However TRUE and FALSE are not defined. Since this flag is just a boolean,
interpret all values except for 0 as little endian.

Sample-Id: 64bit_FLOAT_Little_Endian.mov
2015-03-17 13:34:23 +00:00
Vittorio Giovara
cdce9e8025 aacsbr: Fix type for index variable
Prevents unsigned overflow and variable truncation.

Bug-Id: CID 603186
2015-03-17 13:34:23 +00:00
Vittorio Giovara
7c60c124c8 hqx: Drop unused offsets table
This is a leftover from the static to dynamic vlc table conversion.
2015-03-17 13:34:23 +00:00
Carl Eugen Hoyos
4326bc364b lavf: Do not list mov-only codecs in riff tags
Instead check for all mov code-points when demuxing avi
and print a warning if a video codec is found like this.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-17 13:34:22 +00:00
Paul B Mahol
cf9861dea5 isom: Add X-Com Radvision FourCC
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-03-17 13:34:22 +00:00
Vittorio Giovara
02d76141d6 riff: Add 'tshd' FourCC for H.264 2015-03-17 13:34:22 +00:00
Carl Eugen Hoyos
c0f504e947 libx264: Allow full-range yuv422 and yuv444 pixel formats
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-17 13:34:22 +00:00
Niels Möller
c9ed48e80e dca: Read params->pancABIT0[param_index] only if part0 is set
Prevent a spurious read from uninitialized memory.
2015-03-17 12:31:07 +01:00
Luca Barbato
48aef27f52 x86: Put COPY3_IF_LT under HAVE_6REGS
It uses 6 registers, unbreaks building on hardened x86 system.

Bug-Id: gentoo/541930
CC: libav-stable@libav.org
2015-03-17 12:31:04 +01:00
Luca Barbato
96dd04427f isom: Add support for TSCC2
As produced by Camtasia 4.
2015-03-17 12:21:23 +01:00
Diego Biurrun
91894f27dc configure: Disable shift operator precedence warnings with MSVC 2015-03-17 11:59:31 +01:00
Michael Niedermayer
d24af7044d avcodec/vc1_pred: Fix undefined shifts
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 01:51:59 +01:00
Clément Bœsch
b17620b81b avcodec/libx264: use AVERROR_EXTERNAL instead of AVERROR_UNKNOWN 2015-03-17 00:05:58 +01:00
Clément Bœsch
fd682b1892 avfilter: handle error in query_formats() of a bunch of random video filters 2015-03-16 23:43:12 +01:00
Clément Bœsch
545b0dd6aa avfilter/formats: proper error handling in ff_set_common_*() functions 2015-03-16 23:43:12 +01:00
Clément Bœsch
f861d9b2c6 avfilter/formats: proper error handling in ff_channel_layouts_ref() and ff_formats_ref()
Also make sure the allocation and its check are properly done.
2015-03-16 23:43:12 +01:00
Clément Bœsch
93d9ce7cec avfilter/formats: use av_realloc_array in ADD_FORMAT() 2015-03-16 23:43:12 +01:00
Clément Bœsch
38fb183b12 avfilter/formats: remove unused COPY_INT_LIST() macro
This macro is unused since 247fa6c27c.
2015-03-16 23:43:12 +01:00
Michael Niedermayer
ae65cc7ed3 Merge commit '2cb9c2fc59c9267ad2631c07c81c188058502259'
* commit '2cb9c2fc59c9267ad2631c07c81c188058502259':
  movenc: Allow interleaving samples when writing fragmented files

Conflicts:
	libavformat/movenc.c
	libavformat/movenc.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 23:30:13 +01:00
srikanth
730f3c49e0 OpenCL uninit bug fix - clear is_compiled flag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 22:52:19 +01:00
Michael Niedermayer
b425b81fd2 avformat/rtsp: Fix potential pointer overflow in sdp_probe()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 22:40:36 +01:00
Michael Niedermayer
1b3b018aa4 avformat/mpegts: Fix potential pointer overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 22:37:46 +01:00
Michael Niedermayer
29db8e45fc configure: Silence EMMS warnings in ICC
Real world MMX code does not put EMMS at the start and end of every function,
it would be incredibly inefficient to do that
thus do not warn about that

Tested-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 22:20:46 +01:00
Michael Niedermayer
312eb0d66f Merge commit '50ff0c05b691524d1fd044a2f2eefb706932fc98'
* commit '50ff0c05b691524d1fd044a2f2eefb706932fc98':
  movenc: Support writing multiple trun atoms

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 21:53:02 +01:00
Michael Niedermayer
1904704a48 Merge commit 'faab8f9fcb4ffeb967dc6872c0f1e9da719106ce'
* commit 'faab8f9fcb4ffeb967dc6872c0f1e9da719106ce':
  configure: move cross_compile checks after the toolchain section

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 21:46:02 +01:00
Michael Niedermayer
b37852c7d9 Merge commit '3e1b5cbc9ab0a61c9bec08a1df1404b9da6ed7ea'
* commit '3e1b5cbc9ab0a61c9bec08a1df1404b9da6ed7ea':
  configure: handle Apple's armv7s in probe_arm_arch()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 21:34:14 +01:00
Michael Niedermayer
6416dce490 Merge commit 'f01c77157789b8e3a59ed2c9646faf8299e41641'
* commit 'f01c77157789b8e3a59ed2c9646faf8299e41641':
  fate: add explicit support for the toolchain configure option

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 21:27:23 +01:00
Michael Niedermayer
7c9ad3c4ea Merge commit 'a9d60c390f35f3954821bd635fd31bbb5036b29d'
* commit 'a9d60c390f35f3954821bd635fd31bbb5036b29d':
  doc: fate: remove outdated SSH key fingerprint

Conflicts:
	doc/fate.texi

Not merged, this does not apply to our servers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 21:19:29 +01:00
Rainer Hochecker
786032cad8 hevc: avoid unnecessary calls to get_format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 20:48:14 +01:00
zhaoxiu.zeng
332776f6c5 avformat/cavsvideodec: use avpriv_find_start_code in cavsvideo_probe()
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 15:40:10 +01:00
Michael Niedermayer
d79f7bf0d6 avcodec/x86/cavsdsp: remove incorrect LOCAL_ALIGN tmp
This is faster and simpler as well

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 14:51:51 +01:00
Michael Niedermayer
12cf61c3b2 avcodec/hevc: Fix undefined shifts
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 14:27:11 +01:00
Michael Niedermayer
04c52389d8 avcodec/tdsc: Remove ;;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 13:04:47 +01:00
Micah Galizia
fca0851879 avformat/hls: refactor repeated HLS option updates
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 13:01:39 +01:00
Martin Storsjö
2cb9c2fc59 movenc: Allow interleaving samples when writing fragmented files
This is incompatible with the omit_tfhd_offset flag (writing
position independent fragments with interleaving requires the
default_base_moof flag).

This makes the moof atoms slightly bigger, but can be better for
playback (improving locality of sample data in the mdat).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-16 13:23:19 +02:00
Martin Storsjö
50ff0c05b6 movenc: Support writing multiple trun atoms
This is needed if all the data for one track isn't continuous
within the mdat. Normally we make sure all the data for one
track is continuous, but in new cases we will need to have
the samples interleaved.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-16 13:23:19 +02:00
Janne Grunau
faab8f9fcb configure: move cross_compile checks after the toolchain section 2015-03-16 11:55:47 +01:00
Janne Grunau
3e1b5cbc9a configure: handle Apple's armv7s in probe_arm_arch() 2015-03-16 11:55:47 +01:00
Janne Grunau
f01c771577 fate: add explicit support for the toolchain configure option 2015-03-16 11:55:47 +01:00
Janne Grunau
a9d60c390f doc: fate: remove outdated SSH key fingerprint 2015-03-16 11:55:47 +01:00
Michael Niedermayer
18a9647996 Merge commit '66a0ac0a802dd794acc1ab8559d3db9e98755b57'
* commit '66a0ac0a802dd794acc1ab8559d3db9e98755b57':
  mkv: Add support for DVB subtitles

See: 4789c25d83
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 11:44:26 +01:00
Stefano Sabatini
83ee820a16 lavfi/sendcmd: improve error reporting and robustness in case of missing commands
In particular, fix crash with -vf sendcmd, when no arguments are provided.
2015-03-16 10:49:25 +01:00
James Almer
e8374d7202 x86/proresdsp: remove ff_prores_idct_put_10_sse4
It's exactly the same as the sse2 version.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-16 01:52:44 -03:00
James Almer
bdd179c8cb x86/proresdsp: remove unused macro
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-16 01:49:34 -03:00
Michael Niedermayer
1e4d0498df avformat/mov: Disallow ".." in dref unless use_absolute_path is set
as this kind of allows to circumvent it to some extend.
We also could add a separate parameter or value to choose this

Found-by: ramiro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 03:47:56 +01:00
Mark Reid
e575589378 libavformat/mxfdec: fix MXFPackage->comment_refs memory leak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 03:37:44 +01:00
Micah Galizia
7859618aff avformat/hls: store cookies returned in HLS key response
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 01:57:01 +01:00
Michael Niedermayer
e802abd6e3 avcodec/dcadec: if XLL is enabled use xll channels
Fixes outputting 14 channels instead of 7

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 01:19:18 +01:00
Michael Niedermayer
21d25441c6 avcodec/dcadec: Only upsample as much data as is there
Found-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 00:44:54 +01:00
Michael Niedermayer
3e48616226 Merge commit '9a60b1fad02cb783b895b2145c3dafc01f7b337c'
* commit '9a60b1fad02cb783b895b2145c3dafc01f7b337c':
  libswscale: fix compiler warnings enumerated type mixed with another type

Conflicts:
	libswscale/swscale_unscaled.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 00:15:16 +01:00
Michael Niedermayer
4f3f5ee1ac Merge commit '66028b7ba6b411ba12ef553e9c8f1f4a4fe27710'
* commit '66028b7ba6b411ba12ef553e9c8f1f4a4fe27710':
  udp: Use AVOptions

Conflicts:
	libavformat/udp.c

See: aefed6ca87
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 00:10:09 +01:00
Luca Barbato
66a0ac0a80 mkv: Add support for DVB subtitles
Bug-Id: 833
2015-03-15 23:49:17 +01:00
Michael Niedermayer
54db7df34b Merge commit 'a4c5801070198c1f2af32fa5cf850c330615ac24'
* commit 'a4c5801070198c1f2af32fa5cf850c330615ac24':
  sctp: Update to match tcp

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 22:43:10 +01:00
Michael Niedermayer
96bd032193 Merge commit 'acbe15a99f158dbb0edb837fb6557171dc4376d4'
* commit 'acbe15a99f158dbb0edb837fb6557171dc4376d4':
  fate: Add test for DCA XLL

Conflicts:
	tests/fate/audio.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 22:20:15 +01:00
Michael Niedermayer
209001073a Merge commit '217e4ff4d1f845b76e44634e29371cd09313d1c2'
* commit '217e4ff4d1f845b76e44634e29371cd09313d1c2':
  dca: Support for XLL (lossless extension)

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/Makefile
	libavcodec/dca.h
	libavcodec/dca_exss.c
	libavcodec/dcadata.h
	libavcodec/dcadec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 22:18:41 +01:00
Michael Niedermayer
e46a7fdc87 Merge commit '4da5aacc7eba274a4f18411120de539d39c5151e'
* commit '4da5aacc7eba274a4f18411120de539d39c5151e':
  dca: Mark syncword constants unsigned; they do not fit in 32-bit signed int

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 21:14:46 +01:00
Michael Niedermayer
de41d5372f avcodec/dvbsub_parser: Fix potential pointer overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 20:26:08 +01:00
Clément Bœsch
84da9339c2 avfilter/palettegen: make sure at least one frame was sent to the filter
Fix FPE.
2015-03-15 19:09:20 +01:00
Himangi Saraogi
9a60b1fad0 libswscale: fix compiler warnings enumerated type mixed with another type
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-15 18:29:22 +01:00
Luca Barbato
66028b7ba6 udp: Use AVOptions
Add AVOptions for options currently available as url parameters.
2015-03-15 18:29:11 +01:00
Luca Barbato
a4c5801070 sctp: Update to match tcp
Use AVOption and fallback over multiple addresses
2015-03-15 18:29:11 +01:00
Michael Niedermayer
0a4808741e avcodec/h264dsp_template: Fix undefined shifts
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 17:30:10 +01:00
Mark Reid
8d54850f33 libavformat/mxfenc: write user comment metadata
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 17:17:38 +01:00
Stefano Sabatini
6a63d0d826 lavfi/eq: clarify error message in case of expression parsing error 2015-03-15 14:55:13 +01:00
Diego Biurrun
acbe15a99f fate: Add test for DCA XLL 2015-03-15 14:51:44 +01:00
Niels Möller
217e4ff4d1 dca: Support for XLL (lossless extension)
Cleanup and integration by Diego Biurrun.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-03-15 14:51:36 +01:00
Michael Niedermayer
2cda1a16d0 avformat/dvbsub: Fix hypothetical pointer overflow in dvbsub_probe()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 13:45:31 +01:00
Michael Niedermayer
32c4b504b4 avformat/mpegvideodec: fix hypothetical pointer overflow in mpegvideo_probe()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 13:39:56 +01:00
zhaoxiu.zeng
84d8b4fb81 avformat/mpegvideodec: use avpriv_find_start_code in mpegvideo_probe()
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 13:28:44 +01:00
zhaoxiu.zeng
213ddcb029 avformat/avidec: cleanup include
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 13:03:26 +01:00
zhaoxiu.zeng
bf696e265a avformat/avidec: use avpriv_find_start_code in avi_read_packet()
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 13:02:57 +01:00
Michael Niedermayer
e3f5b6f16d avcodec/ac3: Fix undefined shift in ff_ac3_bit_alloc_calc_mask()
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 11:21:50 +01:00
Michael Niedermayer
94ccbad488 avcodec/ac3dec: Fix undefined shifts
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 04:30:41 +01:00
Michael Niedermayer
3b63819dfb avcodec/vc1: Fix undefined shifts
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 02:57:24 +01:00
Michael Niedermayer
b8535b273f Revert "ppc: lavc: use LOCAL_ALIGNED instead of DECLARE_ALIGNED"
This broke build, note, LOCAL_ALIGNED_16() does not work either

Found-by: James Almer <jamrial@gmail.com>
This reverts commit 98cccdd91c.
2015-03-15 02:02:21 +01:00
Michael Niedermayer
a994fc39b3 avcodec/utils: mark codec argument as const in ff_lock_avcodec()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 23:33:31 +01:00
Mark Reid
43cafb956e libavformat/mxfdec: export user comments metadata
Previous-revision-reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 22:46:18 +01:00
Michael Niedermayer
8003816e16 avformat/mov: Check for string truncation in mov_open_dref()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 21:57:04 +01:00
Michael Niedermayer
21a53dd08d avformat/mov: Use sizeof(filename) instead of a literal number
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 21:56:46 +01:00
Christophe Gisquet
3814f92fd7 lavc: use LOCAL_ALIGNED instead of DECLARE_ALIGNED
The later may yield incorrect code for on-stack variables.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 20:36:43 +01:00
Christophe Gisquet
238db7cc56 x86: lavc: use LOCAL_ALIGNED instead of DECLARE_ALIGNED
The later may yield incorrect code for on-stack variables.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 20:06:47 +01:00
Christophe Gisquet
98cccdd91c ppc: lavc: use LOCAL_ALIGNED instead of DECLARE_ALIGNED
The later may yield incorrect code for on-stack variables.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 19:07:27 +01:00
Christophe Gisquet
5d38c628b0 ppc: libswscale: use LOCAL_ALIGNED instead of DECLARE_ALIGNED
The later may yield incorrect code for on-stack variables.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 18:39:28 +01:00
Michael Niedermayer
a48b24e5eb avcodec/wmadec: Fix undefined shift in wma_decode_block()
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 17:32:12 +01:00
Christophe Gisquet
73ebbfdff0 ac3dec: cosmetics
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 15:25:42 +01:00
Christophe Gisquet
0c3339f4bd eac3dec: fix scaling
This is the remaining error, the output on the SPX samples,
respectively csi_miami_stereo_128_spx.eac3 and
csi_miami_5.1_256_spx.eac3, goes from:
stddev:    8.71 PSNR: 77.52 MAXDIFF:  235
stddev:24270.51 PSNR: 22.17 MAXDIFF:47166
to:
stddev:    0.12 PSNR:114.12 MAXDIFF:    1
stddev:    0.12 PSNR:114.73 MAXDIFF:    1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 14:05:25 +01:00
Christophe Gisquet
c4bf3833f4 ac3_fixed: fix computation of spx_noise_blend
It was set to 1 instead of sqrt(3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 14:05:22 +01:00
Christophe Gisquet
b083440060 ac3_fixed: fix out-of-bound read
Should also improve decoding, but actually doesn't...

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 14:05:18 +01:00
Christophe Gisquet
15ce160183 x86: xvid_idct: SSE2 merged add version
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 13:36:47 +01:00
Christophe Gisquet
decd5193e1 x86: xvid_idct: merged idct_put SSE2 versions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 13:36:29 +01:00
Christophe Gisquet
8200575d84 x86: dct-test: evaluate prores idct avx version
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 13:23:27 +01:00
Christophe Gisquet
4eb4451be1 x86: dct-test: fix compilation for prores
When the decoder is deactivated, the x86-optimized versions are
not compiled, resulting in a link error.

The C version is unaffected, as it is part of the idctdsp
subsystem.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 13:23:06 +01:00
Christophe Gisquet
c3bf52713a x86: xvid_idct: port MMX iDCT to yasm
Also reduce the table duplication with SSE2 code, remove duplicated
macro parameters.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 11:45:11 +01:00
Andreas Cadhalpun
7b05b5093e ac3dec_fixed: always use the USE_FIXED=1 variant of the AC3DecodeContext
The AC3DecodeContext has a float (USE_FIXED=0) and an integer
(USE_FIXED=1) variant, both of which can be present in the same binary.
This is not only very confusing, but it also breaks horribly, when one
variant is used by code expecting the other.

This currently happens, because eac3dec.c is only compiled for the float
variant, but also used from ac3dec_fixed.c, which uses the integer
variant.

The result is memory corruption, leading to crashes.

So compile eac3dec.c once for each variant and adapt it, so that it
works with the integer variant.

A loss of precission and scaling bug has been fixed by the committer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 04:27:06 +01:00
Michael Niedermayer
e16592c42e swresample/resample: Fix undefined shifts
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 01:15:37 +01:00
Michael Niedermayer
b14de8e689 avcodec/utils: use atomic operations on entangled_thread_counter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 23:59:07 +01:00
Michael Niedermayer
b910c6ca56 configure: fix zlib dependancy of tdsc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 23:45:27 +01:00
Michael Niedermayer
88ddcfa37f avcodec/tdsc: use ff_codec_open2_recursive()
Fixes assertion failure and race conditions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 23:23:16 +01:00
Michael Niedermayer
e1f37c48e5 Merge commit '247e370e2a913db52ca079b347a174c8d393b171'
* commit '247e370e2a913db52ca079b347a174c8d393b171':
  TDSC decoder

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/version.h
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 23:23:01 +01:00
Michael Niedermayer
fa4bb7c5b2 Merge commit '5a0e953c2465be9d449d5f523c3d3e2b886910b2'
* commit '5a0e953c2465be9d449d5f523c3d3e2b886910b2':
  mjpeg: Mark decoder family as thread safe

Conflicts:
	libavcodec/mjpegbdec.c
	libavcodec/mjpegdec.c
	libavcodec/mxpegdec.c
	libavcodec/sp5xdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 22:48:54 +01:00
Michael Niedermayer
a048bd44b2 Merge commit '117b432748ca87de4cd0f09d9b1495545e264733'
* commit '117b432748ca87de4cd0f09d9b1495545e264733':
  lavc: Introduce AVCodec internal capabilities

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 22:38:53 +01:00
Michael Niedermayer
79f013a206 Merge commit '9993a067f6c8c7e7838052ac3146aa6b80dd7e81'
* commit '9993a067f6c8c7e7838052ac3146aa6b80dd7e81':
  lavc: Improve thread locking error message

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 22:02:19 +01:00
Diego Biurrun
4da5aacc7e dca: Mark syncword constants unsigned; they do not fit in 32-bit signed int 2015-03-13 21:20:37 +01:00
Vittorio Giovara
247e370e2a TDSC decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-13 19:48:14 +00:00
Vittorio Giovara
5a0e953c24 mjpeg: Mark decoder family as thread safe
No global variables are used and the VLC tables are allocated without
static elements. This will allow using a JPEG decoding context within
other decoders.
2015-03-13 19:48:07 +00:00
Vittorio Giovara
117b432748 lavc: Introduce AVCodec internal capabilities
This field is designed for marking codec properties useful to lavc internals.
Two internal capabilities are added:
 - FF_CODEC_CAP_INIT_THREADSAFE: codec can be opened without locks;
 - FF_CODEC_CAP_INIT_CLEANUP: codec frees memory if initialization fails.
2015-03-13 19:47:47 +00:00
Vittorio Giovara
9993a067f6 lavc: Improve thread locking error message 2015-03-13 19:47:34 +00:00
Zhang Rui
3f375950f3 avformat/http: support auto reconnect
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 19:07:28 +01:00
Michael Niedermayer
3727cd5416 avformat/flvdec: add support for OnCaption 2015-03-13 16:25:27 +01:00
Michael Niedermayer
1df64d6c46 avformat/flvdec: re enable flv_data_packet()
Found-by: kurosu
Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 16:24:12 +01:00
Michael Niedermayer
7869b2959d avformat/flvdec: Change subtitle stream type to subtitle type
Previous-version-reviewed-by: Andreas Cadhalpun
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 16:03:28 +01:00
Michael Niedermayer
7b0daec233 avcodec/svq1dec: Fix undefined shifts
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 11:55:45 +01:00
Carl Eugen Hoyos
3cd823e46f lavc: Print number of reference frames if debug level >= verbose. 2015-03-13 08:52:36 +01:00
Carl Eugen Hoyos
2e0b5f5c90 lavf: Do not list mov-only codecs in riff.c.
Instead check for all mov code-points when demuxing avi
and print a warning if a video codec is found like this.
Fixes a regression similar to the one described in ticket #4307.
2015-03-13 08:49:03 +01:00
Carl Eugen Hoyos
a47c2a1d5f doc: Fix alphabetic ordering for decklink input device. 2015-03-13 01:57:42 +01:00
Christophe Gisquet
2999bd7da2 x86: xvid_idct: port SSE2 iDCT to yasm
The main difference consists in renaming properly labels, and
letting yasm select the gprs for skipping 1D transforms.

Previous-version-reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 01:04:52 +01:00
Michael Niedermayer
8f8c31f4c7 Merge commit '913aa9a4874418724183a3ec862cdc63b829367d'
* commit '913aa9a4874418724183a3ec862cdc63b829367d':
  libx264: Return more meaningful error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 00:02:27 +01:00
Michael Niedermayer
b0112019f9 Merge commit '6bdae41d3ef74a0865e8f87896e649f93b2f39bd'
* commit '6bdae41d3ef74a0865e8f87896e649f93b2f39bd':
  matroskadec: Check memory allocations

Conflicts:
	libavformat/matroskadec.c

See: 3e2a5b33f0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 23:51:44 +01:00
Michael Niedermayer
9f8f2bcab6 Merge commit 'c3bd1d60af97e8d2568dac9fcce7bdabb4ff93c8'
* commit 'c3bd1d60af97e8d2568dac9fcce7bdabb4ff93c8':
  formats: Check memory allocations

Conflicts:
	libavfilter/formats.c

See: 527ca3985c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 22:40:56 +01:00
Michael Niedermayer
8b3a681aaa Merge commit '5a2645cafeca1c2207ac55cc831c3349572a82ed'
* commit '5a2645cafeca1c2207ac55cc831c3349572a82ed':
  nutdec: Prevent leaks on memory error

Conflicts:
	libavformat/nutdec.c

See: 269845db86
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 22:01:57 +01:00
Michael Niedermayer
98c387c9c1 Merge commit 'edca1dd552efa1ebef016ca9eff4ce6757605819'
* commit 'edca1dd552efa1ebef016ca9eff4ce6757605819':
  xcbgrab: Check av_strdup() allocation

Conflicts:
	libavdevice/xcbgrab.c

See: db442c8736
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 21:51:15 +01:00
Michael Niedermayer
a91c175db2 Merge commit '17c45d4d056d0e10ecb88b424ec9e68be398da5e'
* commit '17c45d4d056d0e10ecb88b424ec9e68be398da5e':
  libtheora: Check frame allocation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 21:41:55 +01:00
Michael Niedermayer
9ecfe0b878 Merge commit 'a72d93daa09ffbad2771f1450820941055eaf210'
* commit 'a72d93daa09ffbad2771f1450820941055eaf210':
  mpegvideo_enc: Check AVCodecContext allocation

Conflicts:
	libavcodec/mpegvideo_enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 21:30:37 +01:00
Michael Niedermayer
0bc2da6dcf Merge commit '78c892284150e12f6b08b287bdf7e62307c6985f'
* commit '78c892284150e12f6b08b287bdf7e62307c6985f':
  dca: Document the permuted order in the lfe_fir_64 and lfe_fir_128 tables

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 21:20:24 +01:00
James Almer
d5addf1555 hevcdsp: fix compilation for arm and aarch64
Also add av_cold to ff_hevcdsp_init_arm.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 20:01:01 +01:00
Himangi Saraogi
913aa9a487 libx264: Return more meaningful error codes
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-12 19:09:22 +01:00
Vittorio Giovara
6bdae41d3e matroskadec: Check memory allocations
CC: libav-stable@libav.org
2015-03-12 17:48:14 +00:00
Vittorio Giovara
c3bd1d60af formats: Check memory allocations 2015-03-12 17:46:47 +00:00
James Cowgill
a251aa1a35 mips/asmdefs: use _ABI64 as defined by gcc
Unfortunately android < api 21 (lollipop) doesn't have the sgidefs.h header,
the easiest way around this is to just use the preprocessor definitions from
gcc / clang.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 16:45:31 +01:00
Vittorio Giovara
5a2645cafe nutdec: Prevent leaks on memory error
Bug-Id: CID 205122 / CID 205123
2015-03-12 15:29:59 +00:00
Vittorio Giovara
edca1dd552 xcbgrab: Check av_strdup() allocation
Bug-Id: CID 1274038
2015-03-12 15:29:59 +00:00
Vittorio Giovara
17c45d4d05 libtheora: Check frame allocation 2015-03-12 15:29:59 +00:00
Vittorio Giovara
a72d93daa0 mpegvideo_enc: Check AVCodecContext allocation 2015-03-12 15:29:59 +00:00
Michael Niedermayer
27191b82de avcodec/vp9: Fix undefined shifts in decode_frame_header()
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 15:31:41 +01:00
Michael Niedermayer
b7cb8b3d43 avcodec/h264_mb: Fix undefined shifts
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 15:16:46 +01:00
Rainer Hochecker
31816eae32 hevc: delay ff_thread_finish_setup for hwaccel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 14:49:41 +01:00
Niels Möller
78c8922841 dca: Document the permuted order in the lfe_fir_64 and lfe_fir_128 tables 2015-03-12 13:28:42 +01:00
Michael Niedermayer
22af79a9c8 Merge commit 'b97f427fb56bdbf7de8e2d4b72d01114aa6eceda'
* commit 'b97f427fb56bdbf7de8e2d4b72d01114aa6eceda':
  lavf: Explicitly convert types at function pointer assignment

Conflicts:
	libavformat/avio.c
	libavformat/aviobuf.c
	libavformat/swfenc.c

See: a76a2ffe9d and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 12:38:20 +01:00
Michael Niedermayer
7d63f10c37 Merge commit '9c8074050745184a61059ad56045ad711299e33d'
* commit '9c8074050745184a61059ad56045ad711299e33d':
  configure: Mark qsv subsystem as not selectable on the command line

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 12:25:39 +01:00
Yayoi
d5232d4717 avfilter/colormatrix:add slice threading
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 03:45:42 +01:00
Michael Niedermayer
26d81b5703 avutil/buffer: Avoid moving the AVBufferRef to a new place in memory in av_buffer_make_writable()
This allows making a AVBufferRef writable without the need to
update all pointers to it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 02:15:28 +01:00
Michael Niedermayer
35fad1e9c9 avutil/buffer: Avoid moving the AVBufferRef to a new place in memory in av_buffer_realloc()
This allows reallocating AVBufferRefs without the need to update
all pointers to it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 02:15:28 +01:00
Michael Niedermayer
3bedc99723 Merge commit '67142a8c721c7916c9ad2eb439c14d567aeb88c1'
* commit '67142a8c721c7916c9ad2eb439c14d567aeb88c1':
  roqvideoenc: set enc->avctx in roq_encode_init

See: cf82c426fa
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 00:32:03 +01:00
Michael Niedermayer
a277c545b2 Merge commit '72211a2af0470799c9611b9c1c7039ab14a34a0a'
* commit '72211a2af0470799c9611b9c1c7039ab14a34a0a':
  asfenc: fix leaking asf->index_ptr on error

See: 2c8cff2be4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 00:24:05 +01:00
Michael Niedermayer
e197dc04bb Merge commit '212556cd2144659dc6b9d121ddb38cd272bd10ae'
* commit '212556cd2144659dc6b9d121ddb38cd272bd10ae':
  qsv: Improve the log message of when initializing MFX_IMPL_HARDWARE{2, 3, 4}

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 00:15:58 +01:00
Diego Biurrun
b97f427fb5 lavf: Explicitly convert types at function pointer assignment
This fixes a number of "assignment from incompatible pointer type" warnings.
2015-03-11 23:53:13 +01:00
Diego Biurrun
9c80740507 configure: Mark qsv subsystem as not selectable on the command line 2015-03-11 23:40:41 +01:00
Michael Niedermayer
2ba0ef4b15 Merge commit '7a76c6c4df31d1ff65464ccf3171acd57ef004eb'
* commit '7a76c6c4df31d1ff65464ccf3171acd57ef004eb':
  configure: Enable colored output for gcc 4.9+

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 20:38:08 +01:00
Michael Niedermayer
693b8f11d7 Merge commit 'bacc92b59bfa5d6a1f631e63e46fc1d2fb934e51'
* commit 'bacc92b59bfa5d6a1f631e63e46fc1d2fb934e51':
  rtpdec_vp9: Drop extra sanity check for size of input packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 20:28:45 +01:00
Andreas Cadhalpun
67142a8c72 roqvideoenc: set enc->avctx in roq_encode_init
So far it is only set in roq_encode_frame, but it is used in
roq_encode_end to free the coded_frame. This currently segfaults if
roq_encode_frame is not called between roq_encode_init and
roq_encode_end.

CC:libav-stable@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-11 20:28:13 +01:00
Andreas Cadhalpun
72211a2af0 asfenc: fix leaking asf->index_ptr on error
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-11 20:24:59 +01:00
Michael Niedermayer
2d37c57f3e Merge commit 'fe99c52fa99e44961a09cd1324aefd492b797fc8'
* commit 'fe99c52fa99e44961a09cd1324aefd492b797fc8':
  mp3: Properly use AVCodecContext API

Conflicts:
	libavformat/mp3dec.c

See: 6ad42b3e15
See: b851bc20c6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 20:21:16 +01:00
Michael Niedermayer
e48ff13ba7 Merge commit '9272c965d9559a90ee64d46aebd99c117e07f7a3'
* commit '9272c965d9559a90ee64d46aebd99c117e07f7a3':
  matroskaenc: Fix type used for chapter timestamps

Conflicts:
	libavformat/matroskaenc.c

See: a4cd057bc7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 20:09:18 +01:00
Michael Niedermayer
f3a35e9d59 Merge commit 'dc2d0e06af459af9a7f91b65e0a3119acc4f1baa'
* commit 'dc2d0e06af459af9a7f91b65e0a3119acc4f1baa':
  mlpdec: support TrueHD streams with an Atmos substream

See: 36bf549b27
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 19:59:06 +01:00
Michael Niedermayer
7cc63c4bbc Merge commit 'f36f6a608b5b2c17f8876195c61621c8f8607cee'
* commit 'f36f6a608b5b2c17f8876195c61621c8f8607cee':
  mlpdec: support major sync headers with optional extension blocks

See: ff34b2d6d3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 19:51:48 +01:00
Yukinori Yamazoe
212556cd21 qsv: Improve the log message of when initializing MFX_IMPL_HARDWARE{2, 3, 4}
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-11 19:48:01 +01:00
Michael Niedermayer
fd4e17fcc2 avcodec/mpegvideo_motion: Fix undefined shifts in mpeg_motion_internal()
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 19:12:38 +01:00
Vittorio Giovara
7a76c6c4df configure: Enable colored output for gcc 4.9+ 2015-03-11 18:01:36 +00:00
Vittorio Giovara
bacc92b59b rtpdec_vp9: Drop extra sanity check for size of input packet
In this case len is always at least 1, since it is checked against
RTP_VP9_DESC_REQUIRED_SIZE + 1 and then it is reduced by
RTP_VP9_DESC_REQUIRED_SIZE before entering the has_pic_id check.

Bug-Id: CID 1270811
2015-03-11 18:01:25 +00:00
Vittorio Giovara
fe99c52fa9 mp3: Properly use AVCodecContext API
Rather than having an unitialized context on the stack, allocate it with
defaults and free it when unneeded.

CC: libav-stable@libav.org
2015-03-11 17:57:56 +00:00
Michael Niedermayer
c756b3fca2 avcodec/h264dsp_template: Fix undefined shift in biweight_h264_pixels and weight_h264_pixels
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 18:57:36 +01:00
Vittorio Giovara
9272c965d9 matroskaenc: Fix type used for chapter timestamps 2015-03-11 17:56:51 +00:00
Michael Niedermayer
2391e46430 avcodec/mpegvideo: Fix undefined shift in ff_mpv_lowest_referenced_row()
Also moves the shift out of the inner loop

Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 17:59:59 +01:00
Michael Niedermayer
9b2a964cee avcodec/vp8: Fix undefined shifts in vp8_mc_luma()
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 16:55:07 +01:00
Michael Niedermayer
8617bc6ffa avcodec/golomb: Fix undefined shifts in unsigned rice decoding code
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 16:47:13 +01:00
Michael Niedermayer
8c7a0932ab avcodec/amrnbde: Fix undefined shift in decode_pitch_vector()
This also simplifies the code

Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 16:29:40 +01:00
Hendrik Leppkes
dc2d0e06af mlpdec: support TrueHD streams with an Atmos substream
The fourth substream is being discarded, since its not raw audio data,
but an encoded Atmos stream which needs a specialized decoder.

Fixes decoding of the true hd stream from Transformers\ -\ Age\ of\ Extinction\ 2014\ 1080P-003.mkv

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-11 16:06:40 +01:00
Hendrik Leppkes
f36f6a608b mlpdec: support major sync headers with optional extension blocks
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-11 16:03:13 +01:00
Michael Niedermayer
fa74058dd3 swscale/utils: Fix undefined shift in initFilter()
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 15:40:28 +01:00
Michael Niedermayer
bd4c4c868c avcodec/wma: Fix undefined shift in ff_wma_run_level_decode()
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 15:27:54 +01:00
Michael Niedermayer
e5dfa43619 avcodec/vc1_pred: Fix undefined shift in ff_vc1_pred_mv()
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 13:16:47 +01:00
Michael Niedermayer
1932f7e2ee avcodec/mpeg12dec: Fix undefined shift
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 04:24:57 +01:00
Christophe Gisquet
2e5605f6fa x86: Makefile: fix DBG parameter evaluation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 01:54:07 +01:00
Florian Jacob
c5c4ca6bc8 lavf/libssh: support reading config from ~/.ssh/config
libssh provides a function for parsing ~/.ssh/config for ssh connection parameters like user, hostname, identity file
and port. This patch makes ffmpeg use this function to take parameters from the config file for everything that's not
explicitely set in the url. It also supports host aliases, i.e. using a shorthand in the url and replacing it with the
hostname / IP address specified for the shorthand in the config file.

Signed-off-by: Florian Jacob <projects+ffmpeg@florianjacob.de>
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-03-11 01:34:37 +01:00
Michael Niedermayer
48df30d36c avcodec/012v: redesign main loop
Fixes out of array accesses
Fixes: ffmpeg_012v_crash.ts

Found-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Reviewed-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 23:33:57 +01:00
Carl Eugen Hoyos
0637b59c2c lavfi/boxblur: Fix colourpsace list.
Fixes ticket #4363.
2015-03-10 22:55:30 +01:00
Michael Niedermayer
eb7960b2bd avcodec/h264: Fix undefined shifts in pack16to32() and pack8to16()
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 21:25:39 +01:00
Michael Niedermayer
111456682f avcodec/mpegvideo: Fix undefined shifts in ff_init_block_index()
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 21:25:33 +01:00
Michael Niedermayer
d3b25383da avcodec/012v: Check dimensions more completely
Fixes division by 0

Found-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 20:21:14 +01:00
Ole Andre Birkedal
c8372f8001 avfilter/aeval: Fixed a memory leak in EvalContext::channel_values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 14:40:08 +01:00
Carl Eugen Hoyos
dcddca934c Force -D__EXTENSIONS__ on Solaris.
This fixes compilation of libavformat/udp.o on some installations,
regression since 3a5cbc91
Reported by Cristian Dustinta for SunOS 5.10
2015-03-10 13:36:49 +01:00
Carl Eugen Hoyos
1d523ea89a lavc/hevcdsp: Fix compilation for arm with --disable-neon. 2015-03-10 12:14:16 +01:00
Carl Eugen Hoyos
88bf16895a lavd/avfoundation: Silence warnings when compiling for iOS.
Reviewed-by: Thilo Borgmann
2015-03-10 12:11:15 +01:00
Carl Eugen Hoyos
87b3c6e28b lavd/avfoundation: Silence c99 warnings when using gcc.
Reviewed-by: Thilo Borgmann
2015-03-10 12:11:15 +01:00
Carl Eugen Hoyos
732f46a675 lavd/qtkit: Silence deprecation warnings when using clang.
Reviewed-by: Thilo Borgmann
2015-03-10 12:11:15 +01:00
Michael Niedermayer
f8f324cc16 Merge commit '448c8cfe4c53e9e806effd8505b46d57fa707061'
* commit '448c8cfe4c53e9e806effd8505b46d57fa707061':
  movenc: Support setting fragment_index before the moov atom is written

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 11:42:44 +01:00
Michael Niedermayer
8d026861f5 Merge commit '0c5e380c2c266d2e8a13c000cc527529db837f10'
* commit '0c5e380c2c266d2e8a13c000cc527529db837f10':
  movenc: Don't rely on the fragment index for vc1 info gathering

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 11:28:24 +01:00
Michael Niedermayer
ebdae73125 Merge commit 'cf402d6fa88acd647cdff993429583bec8a34fdc'
* commit 'cf402d6fa88acd647cdff993429583bec8a34fdc':
  rtpenc_mpegts: Set chain->rtp_ctx only after avformat_write_header succeeded

Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 11:17:37 +01:00
Michael Niedermayer
967afad03b Merge commit 'c83dd2d2a458075a58895c384372f57c1ec26276'
* commit 'c83dd2d2a458075a58895c384372f57c1ec26276':
  rtpenc_mpegts: Free the right ->pb in the error path in the init function

Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 11:08:53 +01:00
Michael Niedermayer
14ab6f9a26 Merge commit '96a06dbaf278e8152487e08772946f63bd2a3843'
* commit '96a06dbaf278e8152487e08772946f63bd2a3843':
  FATE: add support for testing hwaccels

Conflicts:
	tests/Makefile
	tests/fate-run.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 10:58:44 +01:00
Michael Niedermayer
f063a0b33d Merge commit 'dc7536ca3d2dbe47f40cc0fcd0fc2555a84d5f56'
* commit 'dc7536ca3d2dbe47f40cc0fcd0fc2555a84d5f56':
  avconv: do not abort immediately if initializing hwaccel fails

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 10:49:48 +01:00
Martin Storsjö
448c8cfe4c movenc: Support setting fragment_index before the moov atom is written
This way, the caller doesn't need to coordinate setting the option
after the moov atom has been written. The downside is that it is
no longer possible to use the option for checking whether the moov
atom already has been written, but a caller is able to keep track
of that by other means anyway.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-10 10:41:06 +02:00
Martin Storsjö
0c5e380c2c movenc: Don't rely on the fragment index for vc1 info gathering
The previous use of the mov->fragments field, for determining whether
written packets were part of the first fragment or not, didn't
work as intended when using the empty_moov flag.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-10 10:41:03 +02:00
Martin Storsjö
cf402d6fa8 rtpenc_mpegts: Set chain->rtp_ctx only after avformat_write_header succeeded
By making sure we at each time only have one pointer set, either a
local variable or one in the context, we avoid potential double frees
in the cleanup routines. If chain->rtp_ctx is set, it is closed by
calling avformat_write_trailer, but that shouldn't be called unless
avformat_write_header succeeded.

This issue was pointed out by Andreas Cadhalpun.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-10 09:58:41 +02:00
Martin Storsjö
c83dd2d2a4 rtpenc_mpegts: Free the right ->pb in the error path in the init function
This fixes a typo from 8e32b1f096.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-10 09:58:37 +02:00
Anton Khirnov
96a06dbaf2 FATE: add support for testing hwaccels 2015-03-10 07:40:11 +01:00
Anton Khirnov
dc7536ca3d avconv: do not abort immediately if initializing hwaccel fails
exit_program() will try to free the decoders, which is not a good idea
from within get_format().
Return an error instead.
2015-03-10 07:40:11 +01:00
Michael Niedermayer
3170b33e57 avfilter/vf_fftfilt: increase RDFT length by 10%
This fixes artifacts when the dimensions are exact powers of 2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 03:32:38 +01:00
Mark Reid
399e31419a libavformat/mxfenc: write package name metadata
Previous-version-reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 01:00:38 +01:00
Andreas Cadhalpun
2c8cff2be4 asfenc: fix leaking asf->index_ptr on error
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 21:58:38 +01:00
Andreas Cadhalpun
cf82c426fa roqvideoenc: set enc->avctx in roq_encode_init
So far it is only set in roq_encode_frame, but it is used in
roq_encode_end to free the coded_frame. This currently segfaults if
roq_encode_frame is not called between roq_encode_init and
roq_encode_end.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 21:44:30 +01:00
Michael Niedermayer
cf714205bd avcodec/libvpxenc: Clear twopass_stats.sz on deallocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 21:18:43 +01:00
Michael Niedermayer
a11440c185 Merge commit '93f7948136fcda8ddbbc44a6c24418f11ca829b8'
* commit '93f7948136fcda8ddbbc44a6c24418f11ca829b8':
  libvpx: Fix mixed use of av_malloc() and av_reallocp()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 21:18:36 +01:00
Michael Niedermayer
e71dce5769 avformat/siff: Fix checks and variable types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 21:05:29 +01:00
Michael Niedermayer
8f92c0898d Merge commit 'ad94c6ca0b86c463f476b26606259a2041dcddc9'
* commit 'ad94c6ca0b86c463f476b26606259a2041dcddc9':
  siff: Use the correct type for packet size variables

Conflicts:
	libavformat/siff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 21:00:33 +01:00
Michael Niedermayer
2e8020c66c Merge commit '9f25a109922da43c1f81273a431d3b40cb5a785a'
* commit '9f25a109922da43c1f81273a431d3b40cb5a785a':
  matroskaenc: Also validate chapter end time

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 20:31:22 +01:00
Michael Niedermayer
d898482ae3 Merge commit 'bfeb83a8b7d3fcf09a54d8dbc9c521e10bb17530'
* commit 'bfeb83a8b7d3fcf09a54d8dbc9c521e10bb17530':
  rtpdec_hevc: Drop extra sanity check for size of input packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 20:00:11 +01:00
zhaoxiu.zeng
b3a56e60be avcodec/hevc_parser: use avpriv_find_start_code in hevc_split()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 18:19:10 +01:00
Michael Niedermayer
1f4088b285 avcodec/options_table: remove extradata_size from the AVOptions table
allowing access to the size but not the extradata itself is not useful
and could lead to potential problems if writing happens through this field

Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Reviewed-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 17:43:25 +01:00
Claudio Freire
374ec68139 tests/fate-run: Print more details on failure of stddev / filesize compares
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 17:06:07 +01:00
Andreas Cadhalpun
6b8263b03a ffmdec: limit the backward seek to the last resync position
If resyncing leads to the same position as previously, it will again
lead to a resync attempt, resulting in an infinite loop.

Thus don't seek back beyond the last syncpoint.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 15:19:34 +01:00
Arwa Arif
b4ec6afd3d Add dependencies to configure file for vf_fftfilt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 14:32:12 +01:00
Vittorio Giovara
93f7948136 libvpx: Fix mixed use of av_malloc() and av_reallocp()
This buffer is resized when vpx_codec_get_cx_data() returns a
VPX_CODEC_STATS_PKT packet.

CC: libav-stable@libav.org
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-09 12:58:18 +00:00
Vittorio Giovara
ad94c6ca0b siff: Use the correct type for packet size variables
The avio functions used here return an unsigned value.
Also reduce a variable scope.

CC: libav-stable@libav.org
Bug-Id: CID 1258461
2015-03-09 12:58:17 +00:00
Vittorio Giovara
9f25a10992 matroskaenc: Also validate chapter end time
This prevents it to be written as unsigned. Also add an error message.

CC: libav-stable@libav.org
Bug-Id: CID 1265717
2015-03-09 12:57:19 +00:00
Vittorio Giovara
bfeb83a8b7 rtpdec_hevc: Drop extra sanity check for size of input packet
In this case len is always at least 3, since it is checked against
RTP_HEVC_PAYLOAD_HEADER_SIZE + 1 before entering the switch block.

Bug-Id: CID 1238784
2015-03-09 12:57:01 +00:00
Andreas Cadhalpun
4c91d81be2 ffmdec: make sure the time base is valid
A negative time base can trigger assertions.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 13:40:20 +01:00
Michael Niedermayer
ba0198a767 Merge commit '46d4d8575979a24a8d026d9805039b724e0e3e5f'
* commit '46d4d8575979a24a8d026d9805039b724e0e3e5f':
  movenc: Avoid writing separate flags for the first sample if not necessary

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 11:27:29 +01:00
Michael Niedermayer
e8821e74bb Merge commit '00d751d4fc20ec88d2cc2c9f39ec8b9e9c8cdeba'
* commit '00d751d4fc20ec88d2cc2c9f39ec8b9e9c8cdeba':
  movenc: Set tfhd default sample flags based on actual samples, if possible

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 11:15:12 +01:00
Carl Eugen Hoyos
6453fddb58 doc: Clarify documentation for fade duration. 2015-03-09 10:57:58 +01:00
Carl Eugen Hoyos
4a94f7b22f doc: Improve video creation examples (from image2).
The examples used to drop frames in most cases which
was probably not what users expected.
2015-03-09 10:49:59 +01:00
Carl Eugen Hoyos
b69238d9ba Fix the intra_dc_precision API doc.
The mpegvideo decoder has set intra_dc_precision since forever.
2015-03-09 10:47:06 +01:00
Carl Eugen Hoyos
bf4bd427dd lavc/ffv1enc: Auto-select -coder 1 for >8bit also for yuv.
Reported-by: Christoph Gerstbauer
2015-03-09 10:40:16 +01:00
Martin Storsjö
46d4d85759 movenc: Avoid writing separate flags for the first sample if not necessary
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-09 10:36:12 +02:00
Martin Storsjö
00d751d4fc movenc: Set tfhd default sample flags based on actual samples, if possible
This avoids assuming that e.g. audio samples are marked as
sync samples.

This allows omitting the sample flags from trun, if the default
flags happen to be right for all the samples.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-09 10:36:02 +02:00
Andreas Cadhalpun
6fa98822eb ffmdec: fix infinite loop at EOF
If EOF is reached, while skipping bytes, avio_tell(pb) won't change
anymore, resulting in an infinite loop.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 03:14:16 +01:00
Andreas Cadhalpun
66879ee125 ffmdec: initialize f_cprv, f_stvi and f_stau
They are used in a switch statement, but it is not guaranteed that the
COMM case (where they are set to 0) is reached before the other cases.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 02:19:03 +01:00
Michael Niedermayer
b023230170 Merge commit '0ce3a0f9d9523a9bcad4c6d451ca5bbd7a4f420d'
* commit '0ce3a0f9d9523a9bcad4c6d451ca5bbd7a4f420d':
  utvideodec: Handle slice_height being zero

See: 3881606240
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 02:04:13 +01:00
Michael Niedermayer
0ce3a0f9d9 utvideodec: Handle slice_height being zero
Fixes out of array accesses.

CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Bug-Id: CVE-2014-9604
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-09 00:51:15 +01:00
Michael Niedermayer
fa14685a57 Merge commit '7b9cb7b36543c2a0e46d99b0e41824b9e7dd0c8f'
* commit '7b9cb7b36543c2a0e46d99b0e41824b9e7dd0c8f':
  avprobe: Export coded_{width,height} in -show_streams

Conflicts:
	avprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 23:58:18 +01:00
Michael Niedermayer
d5e9fc7821 avcodec/tiff: move bpp check to after "end:"
This ensures that all current and future code-pathes get bpp checked

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 23:36:46 +01:00
Michael Niedermayer
9889762a9b Merge commit 'ae5e1f3d663a8c9a532d89e588cbc61f171c9186'
* commit 'ae5e1f3d663a8c9a532d89e588cbc61f171c9186':
  tiff: Check that there is no aliasing in pixel format selection

See: e1c0cfaa41
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 23:19:30 +01:00
James Almer
1b47760bbe RELEASE: update to 2.6.git
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-08 18:59:57 -03:00
Reynaldo H. Verdejo Pinochet
e10b2a4dc0 ffserver: remove stale debug stanza
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-03-08 18:24:56 -03:00
Reynaldo H. Verdejo Pinochet
0002a22e0e ffserver: move assignment outside condition eval
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-03-08 18:24:56 -03:00
Reynaldo H. Verdejo Pinochet
923a244569 ffserver: break some too long lines
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-03-08 18:24:56 -03:00
Andreas Cadhalpun
10fd7ff814 doc: avoid the incorrect phrase 'allow to'
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 21:59:28 +01:00
Vittorio Giovara
7b9cb7b365 avprobe: Export coded_{width,height} in -show_streams 2015-03-08 20:41:50 +00:00
Michael Niedermayer
fa7084a065 avfilter/vf_edgedetect: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 21:10:31 +01:00
Michael Niedermayer
08880c1f71 avfilter/vf_curves: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 21:10:31 +01:00
Michael Niedermayer
ee7b5d4ef8 avfilter/vf_drawtext: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior
2015-03-08 21:10:31 +01:00
James Almer
0d1acb944c fate: add test for vp90-2-trac4359.webm
Regression test for the bug from trac ticket #4359 fixed in commit efff3854

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-08 17:03:42 -03:00
Michael Niedermayer
fd503e96ef Merge commit '6448f15af02f2c3cf0df8cb8237957e426041f2d'
* commit '6448f15af02f2c3cf0df8cb8237957e426041f2d':
  mxfdec: Fix the error handling for when strftime fails

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 19:59:30 +01:00
Michael Niedermayer
3360c6ac0c Merge commit '5f5b78aca35d07c771f5c4c73a984be9fe04a0b8'
* commit '5f5b78aca35d07c771f5c4c73a984be9fe04a0b8':
  xcbgrab: Free the host string after checking the connection

Conflicts:
	libavdevice/xcbgrab.c

No change as the bug was not in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 19:44:09 +01:00
Michael Niedermayer
acfb54c076 Merge commit '0025f7408a0fab2cab4a950064e4784a67463994'
* commit '0025f7408a0fab2cab4a950064e4784a67463994':
  vorbis: Check the vlc value in setup_classifs

Conflicts:
	libavcodec/vorbisdec.c

See: ae038c0914
See: 709cae2bcb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 19:31:25 +01:00
Anton Khirnov
ae5e1f3d66 tiff: Check that there is no aliasing in pixel format selection
Fixes possible issues with unexpected bpp/bppcount values.

CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Bug-Id: CVE-2014-8544
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-08 19:14:14 +01:00
Michael Niedermayer
10e3e3aa85 Merge commit '62de77ffcaebd42fe685b8426da56b89b2532318'
* commit '62de77ffcaebd42fe685b8426da56b89b2532318':
  vorbis: Use a local codebook variable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 18:59:06 +01:00
Martin Storsjö
6448f15af0 mxfdec: Fix the error handling for when strftime fails
The str variable is a char ** here.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-08 18:40:43 +02:00
Michael Niedermayer
8fabbd0dcf doc/filters: Add some random examples for fftfilt
Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 15:02:49 +01:00
Ronald S. Bultje
0b69c53a61 vp9: included uses_2pass member in vp9_ref_frame().
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 14:50:11 +01:00
Luca Barbato
5f5b78aca3 xcbgrab: Free the host string after checking the connection
Prevent an use after free in the error message.

Bug-Id: CID 1274040
CC: libav-stable@libav.org
2015-03-08 14:39:01 +01:00
Luca Barbato
0025f7408a vorbis: Check the vlc value in setup_classifs
The valid returned values are always at most 11bit.
Remove the previous check that assumed larger values plausible and
use a signed integer to check get_vlc2 return values.

CC: libav-stable@libav.org
2015-03-08 14:33:03 +01:00
Luca Barbato
62de77ffca vorbis: Use a local codebook variable
Makes the code a little simpler.
2015-03-08 14:33:02 +01:00
Ronald S. Bultje
4ba8f3273e vp9: split segmentation map / mvpair references.
This prevents a memcpy if segmentation.update_map == false.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 13:58:14 +01:00
Paul B Mahol
0c49cff117 avfilter/af_astats: redo zero channel handling
Suggested-by: Nicolas George
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-03-08 11:06:45 +00:00
Michael Niedermayer
fc9b407487 Merge commit '0f9f7969ef4df3661131cede3e8cc770e1ea3db8'
* commit '0f9f7969ef4df3661131cede3e8cc770e1ea3db8':
  rmdec: Improve message for demux error

See: 3880b4541a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 11:40:00 +01:00
Martin Vignali
65ba90eac6 avfilter/af_astats: Avoid Zero division in print part. 2015-03-08 08:47:27 +00:00
Carl Eugen Hoyos
0f9f7969ef rmdec: Improve message for demux error
Use correct context, reduce log level, don't assume it is a video stream,
and print the tag of the unknown stream.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-08 02:35:04 +00:00
zhaoxiu.zeng
9d7e42e65c avcodec/vc1_mc: optimize get_chroma_mv, and add get_luma_mv
Test results:

before:
  fate-suite/vc1/SA10091.vc1: 1062 decicycles in ff_vc1_mc_4mv_chroma's get mv, 4089 runs, 7 skips
  fate-suite/vc1/SA10143.vc1: 1112 decicycles in ff_vc1_mc_4mv_luma's get mv, 4096 runs, 0 skips
  fate-suite/vc1/SA20021.vc1: 991 decicycles in ff_vc1_mc_4mv_chroma get mv, 8192 runs, 0 skips

after:
  fate-suite/vc1/SA10091.vc1: 940 decicycles in ff_vc1_mc_4mv_chroma's get mv, 4096 runs, 0 skips
  fate-suite/vc1/SA10143.vc1: 786 decicycles in ff_vc1_mc_4mv_luma's get mv, 4096 runs, 0 skips
  fate-suite/vc1/SA20021.vc1: 876 decicycles in ff_vc1_mc_4mv_chroma get mv, 8189 runs, 3 skips

Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 03:04:32 +01:00
Michael Niedermayer
8849c4ceac avcodec/mpegvideo_motion: Fix off by 1 error in MV bounds checking in qpel, chroma_4mv and 8x8
No testcase available

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 01:46:50 +01:00
Michael Niedermayer
9f0eaf792a avcodec/mpegvideo_motion: Fix off by 1 error in MV bounds checking
Fixes Ticket4299

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 01:27:56 +01:00
Michael Niedermayer
6c583e9048 avcodec/opusdec: Fix delayed sample value
Fixes out of array access
Fixes: ffmpeg_opus_crash1.ogg

This solution is likely not optimal in terms of error concealment but
its simple and fixes the out of array access.

Found-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Tested-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 21:39:23 +01:00
Michael Niedermayer
1ae092587f avcodec/opusdec: Clear out pointers per packet
This is safer than to assume that all error pathes cleared them and
nothing will use uncleared pointers.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 21:39:20 +01:00
Michael Niedermayer
e3201c38d5 avcodec/utils: Align YUV411 by as much as the other YUV variants
Fixes out of array accesses
Fixes: ffmpeg_mjpeg_crash2.avi

Found-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Tested-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 21:39:09 +01:00
zhaoxiu.zeng
9870c03615 avcodec/vc1_mc: change the type of s_rndtblfield to uint8_t
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 21:35:14 +01:00
zhaoxiu.zeng
468defc57b avcodec/vc1_mc: Simplify v_edge_pos and src_y correction when fieldmv is true
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 21:06:21 +01:00
Zeng Zhaoxiu
02fc168c93 avcodec/golomb: cleanup
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 20:18:32 +01:00
Xiangyu Liu
b1e9634c10 ChangeLog: Remove the redundant VP9 RTP entry
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 20:14:39 +01:00
Michael Niedermayer
a75353e73b Merge commit 'b77e335e441040a40fc6156b8e4a134745d10233'
* commit 'b77e335e441040a40fc6156b8e4a134745d10233':
  configure: Move the .object_arch check to the right place

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 19:41:00 +01:00
Michael Niedermayer
9a1884a10e Merge commit 'dcae2e32f7d8a1ca5fb8c1e4aa81313be854dd73'
* commit 'dcae2e32f7d8a1ca5fb8c1e4aa81313be854dd73':
  arm: Suppress tags about used cpu arch and extensions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 19:30:51 +01:00
Martin Storsjö
b77e335e44 configure: Move the .object_arch check to the right place
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-07 18:12:58 +02:00
Zeng Zhaoxiu
1be6054261 avcodec/vc1_mc: remove useless variables
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 16:25:29 +01:00
Martin Storsjö
dcae2e32f7 arm: Suppress tags about used cpu arch and extensions
When all the codepaths using manually set .arch/.fpu code is
behind runtime detection, the elf attributes should be suppressed.

This allows tools to know that the final built binary doesn't
strictly require these extensions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-07 17:10:08 +02:00
Arwa Arif
48b5be65ae avfilter: Add FFT domain filter.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 13:07:10 +01:00
James Cowgill
3499a1c0a9 mips/asmdefs: change include guard to read AVUTIL_ instead of AVCODEC_
Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 11:28:03 +01:00
Michael Niedermayer
ebd59d271c Revert "avutil/opencl: is_compiled flag not being cleared in av_opencl_uninit"
Fixed build with opencl enabled
Found-by:  WJ Liu

This reverts commit 0f2359b869.
2015-03-07 09:59:27 +01:00
Ronald S. Bultje
efff3854f0 vp9: fix segmentation map retention with threading enabled.
Fixes ticket 4359.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 03:30:37 +01:00
Michael Niedermayer
6f51cb514b avfilter/vf_colormatrix: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 02:51:02 +01:00
Michael Niedermayer
b0662a943c avfilter/f_perms: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 02:45:49 +01:00
Michael Niedermayer
2a34b5099b avfilter/avf_showwaves: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 02:44:04 +01:00
Michael Niedermayer
665d47f435 Merge commit 'cecf45b2bfbb85e9e59f355428fbd4d8cbc652a8'
* commit 'cecf45b2bfbb85e9e59f355428fbd4d8cbc652a8':
  doc: Add -list_formats all example for video4linux2

Conflicts:
	doc/indevs.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 01:16:17 +01:00
Jonas Lindgren
cecf45b2bf doc: Add -list_formats all example for video4linux2
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-06 23:06:20 +01:00
Peter Tissen
79f83523f7 configure: Make compilable with VS2015 (missing hunk)
This hunk was missing in the github pull request when i downloaded it,
but is needed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 22:45:56 +01:00
Peter Tissen
42493843dc configure: Make compilable with VS2015
So Visual Studio 2015 has some breaking changes regarding the C
runtime. In short, they made C99 compatable runtime.
Refer to http://blogs.msdn.com/b/vcblog/archive/2014/06/18/crt-features-fixes-and-breaking-changes-in-visual-studio-14-ctp1.aspx

Made-Seriously-Happy: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 21:49:00 +01:00
Andreas Cadhalpun
482c86f231 fix spelling errors
opttimizations -> optimizations
 grabing        -> grabbing
 many resource  -> many resources
 isnt           -> isn't
 silcense       -> silence

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 21:35:00 +01:00
Michael Niedermayer
1468ff49df Merge commit '9731cf4001377fa2f75c279072cc2b0cbd57bf8e'
* commit '9731cf4001377fa2f75c279072cc2b0cbd57bf8e':
  movenc: Keep writing zero-entry stts atoms as intended

Conflicts:
	libavformat/movenc.c

See: 95165f7c1b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 20:57:11 +01:00
Clément Bœsch
70082a1e53 avcodec/samidec: make sure to properly restore parsing context after a tag 2015-03-06 20:39:45 +01:00
Michael Niedermayer
b4d89139fb Changelog: Add back "version next"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 19:34:05 +01:00
Michael Niedermayer
0bcb6ac150 Add 2.6 to maintained releases
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 17:42:36 +01:00
Michael Niedermayer
0b48ddc5f2 doc/APIchanges: Fill in the xx
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 16:39:50 +01:00
Michael Niedermayer
34300866a8 doc/APIchanges: Add 2.6 cut marker
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 16:20:52 +01:00
Michael Niedermayer
4034e146ba Changelog: rename next to 2.6
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 16:19:58 +01:00
Srikanth G
0f2359b869 avutil/opencl: is_compiled flag not being cleared in av_opencl_uninit
When OpenCL kernels are compiled, is_compiled flag is being set for each
kernel. But, in opencl uninit, this flag is not being cleared.
This causes an error when an OpenCL kernel is tried on different OpenCL
devices on same platform.

Here is the patch with a fix

Reviewed-by; Wei Gao <highgod0401@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 15:20:12 +01:00
Martin Storsjö
9731cf4001 movenc: Keep writing zero-entry stts atoms as intended
a876585215 had the unintended side effect of returning AVERROR(ENOMEM)
when track->entry is zero, while the code intentionally wants to
continue in that case.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-06 16:17:48 +02:00
James Cowgill
d6f5b3eee3 changelog: add mips 64-bit port
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 14:38:20 +01:00
James Cowgill
157d6f0d5b mips: port optimizations to mips n64
This mainly consists of replacing all the pointer arithmatic 'addiu'
instructions with PTR_ADDIU which will handle the differences in pointer
sizes when compiled on 64 bit mips systems.

The header asmdefs.h contains the PTR_ macros which expend to the correct mips
instructions to manipulate registers containing pointers.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 14:37:44 +01:00
James Cowgill
eae13eae9d configure, mips: remove MIPS32R2, merging it with MIPSFPU
There are no independant uses of mips32r2 instructions except for the
FPU parts. Due to the heavy use of mips32r2 specifc fpu extensions, I
am guessing the original author intended MIPSFPU to imply MIPS32R2 anyway.

Since these fpu instructions are available on mips64 (non-r2), enable them
there as well.

Also remove the last occurence of HAVE_MIPS32R2 (which is coupled to
HAVE_MIPSFPU anyway).

mips32r2 is left in the list of options form compatability so that using
--disable-mips32r2 doesn't break anything.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 14:01:31 +01:00
James Cowgill
a99de50ec7 mips/aacdec: remove uses of mips32r2 specific ext instructions
Removing these removes the dependency of this code on mips32r2 which would
allow it to be used on processors which have FPU instructions, but not r2
instructions (like the mips64el debian port for instance).

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 13:59:39 +01:00
Claudio Freire
6dbbb981b5 AAC: Add support for 7350Hz sampling rates, no error on too hight bitrate.
Instead, warn that bitrate will be clamped down to the maximum allowed.

Patch is mostly work of Kamendo2 in issue #2686, quite tested within that issue.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 13:36:25 +01:00
Michael Niedermayer
b32cae1cc2 Merge commit '5aef535a64350b7bc06c5bdda8c26c9efec9443b'
* commit '5aef535a64350b7bc06c5bdda8c26c9efec9443b':
  dashenc: Update extradata for mov muxer

See: f5668e614b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 12:13:25 +01:00
Michael Niedermayer
c3f64a2233 Merge commit '6cf7f30655e95e27fd0394b5a80970d6f9517015'
* commit '6cf7f30655e95e27fd0394b5a80970d6f9517015':
  dashenc: Simplify code by using a local variable

See: f5668e614b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 11:58:08 +01:00
Michael Niedermayer
39becc949c Merge commit '25c29d32835f38cdc5f0c84fa27dfc489a228770'
* commit '25c29d32835f38cdc5f0c84fa27dfc489a228770':
  libopenh264enc: Add support for building with OpenH264 1.4

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 11:31:29 +01:00
Michael Niedermayer
dbd6ba24a8 MAINTAINERS: Remove 1.2 from the maintained releases
The only distribution which still uses it according to
https://trac.ffmpeg.org/wiki/Downstreams is "gentoo stable", but
http://packages.gentoo.org/package/media-video/ffmpeg lists stable as shipping 1.2.6 which is 6 point
releases behind. Also gentoos ffmpeg maintainer stated "don't worry about gentoo: we're in the process
of moving to latest 2.2 for stable."

CC: Alexis Ballier <aballier@gentoo.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 11:24:45 +01:00
Timo Rothenpieler
5aef535a64 dashenc: Update extradata for mov muxer
The mov muxer already supports picking up extradata that wasn't
present during the avformat_write_header call - we just need to
propagate it. Since the dash muxer uses delay_moov, we have time
up until the first segment is written to get extradata filled in.

Also update the codec description string when the extradata becomes
available.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-06 10:07:17 +02:00
Timo Rothenpieler
6cf7f30655 dashenc: Simplify code by using a local variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-06 10:07:11 +02:00
Martin Storsjö
25c29d3283 libopenh264enc: Add support for building with OpenH264 1.4
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-06 10:02:47 +02:00
Andreas Cadhalpun
c089e720c1 webp: ensure that each transform is only used once
According to the WebP Lossless Bitstream Specification
"each transform is allowed to be used only once".

If a transform is more than once this can lead to memory
corruption.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 03:45:42 +01:00
Michael Niedermayer
f455c8fdef Merge commit '88b160a457e491cb9e014630ef5387ad3500258e'
* commit '88b160a457e491cb9e014630ef5387ad3500258e':
  avfilter: Return more meaningful error codes

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 01:16:47 +01:00
John Robinson
98d19ca8f1 lavd/avfoundation: Add support for 24 and 32bit integer input.
Tested on Mac Mini soundflower and built-in line input.

Reviewed-by: Thilo Borgmann
2015-03-06 01:10:16 +01:00
Carl Eugen Hoyos
23e483269d lavd/avfoundation: Add support for 16bit integer input.
Reviewed-by: Thilo Borgmann
2015-03-06 01:06:57 +01:00
selsta
6c8a158989 hls: detect SAMPLE-AES encryption
SAMPLE-AES encryption is not commonly used yet, but without this patch
ffmpeg is thinking that the hls segments are not encrypted which
produces broken files.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 23:08:38 +01:00
Clément Bœsch
d75a73b5fc Drop outdated RELEASE_NOTES
A new RELEASE_NOTES specific to the release will be added.
2015-03-05 22:25:10 +01:00
Michael Niedermayer
22ad0546c8 Merge commit 'ad786dd450f26ecfbd35bb26e8b149664ecde049'
* commit 'ad786dd450f26ecfbd35bb26e8b149664ecde049':
  h264: remove a now redundant error check

Conflicts:
	libavcodec/h264_slice.c

See: 64591f8f86
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 20:55:56 +01:00
Michael Niedermayer
777179edb5 Merge commit 'c73c3c34fe72bb06966450207917ce902146b172'
* commit 'c73c3c34fe72bb06966450207917ce902146b172':
  avformat/adxdec: set avctx->channels in adx_read_header

See: 7faa40af98
See: 64ea4a0598
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 20:36:06 +01:00
Michael Niedermayer
be07270bca Merge commit 'bb4edddd9389cc1601db618ed3c1375b62628d04'
* commit 'bb4edddd9389cc1601db618ed3c1375b62628d04':
  rmenc: limit packet size

Conflicts:
	libavformat/rmenc.c

See: 08728f400b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 20:24:58 +01:00
Michael Niedermayer
6af5bf604c Merge commit '4f2ee9daeedec636fb4fe953a1e0990a7102d5eb'
* commit '4f2ee9daeedec636fb4fe953a1e0990a7102d5eb':
  webp: validate the distance prefix code

See: 5de2dab12b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 19:53:40 +01:00
Michael Niedermayer
31559723ab Merge commit '66624ed6319cb1a959256fe1a717fec5b748fbfa'
* commit '66624ed6319cb1a959256fe1a717fec5b748fbfa':
  rv10: check size of s->mb_width * s->mb_height

Conflicts:
	libavcodec/rv10enc.c

See: 2578a54618
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 19:43:25 +01:00
Michael Niedermayer
8c013a9e55 avformat/avidec: Check avio_read() return before using the results for meta-data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 19:38:20 +01:00
Himangi Saraogi
88b160a457 avfilter: Return more meaningful error codes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-03-05 19:36:39 +01:00
Michael Niedermayer
8a048fe6f8 avformat/avidec: initialize header array
Fixes use of uninitialized memory in case read fails

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 18:41:03 +01:00
Anton Khirnov
ad786dd450 h264: remove a now redundant error check
It was only relevant when data partitioning was in use.
2015-03-05 16:10:11 +01:00
Clément Bœsch
1cded1f8d7 avfilter/vf_paletteuse: indent fix after 7ccc5848 2015-03-05 16:04:20 +01:00
Michael Niedermayer
7ccc584824 avfilter/vf_paletteuse: Use int where AVERROR can be returned
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 16:00:44 +01:00
Andreas Cadhalpun
c73c3c34fe avformat/adxdec: set avctx->channels in adx_read_header
It is used in adx_read_packet, which currently depends on the
decoder/parser setting this value between reading the file header and
demuxing the first packet.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-05 15:57:48 +01:00
Andreas Cadhalpun
bb4edddd93 rmenc: limit packet size
The chunk size is limited to UINT16_MAX (written by avio_wb16), so make
sure that the packet size is not too large.

Such large frames need to be split into slices smaller than 64 kB, but
that is currently supported neither by the rv10/rv20 encoders nor the rm
muxer.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-05 15:51:05 +01:00
Andreas Cadhalpun
4f2ee9daee webp: validate the distance prefix code
According to the WebP Lossless Bitstream Specification the highest
allowed value for a prefix code is 39.

If prefix_code is too large, the calculated extra_bits has an invalid
value and triggers an assertion in get_bits.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-05 14:49:16 +01:00
Andreas Cadhalpun
66624ed631 rv10: check size of s->mb_width * s->mb_height
If it doesn't fit into 12 bits it triggers an assertion.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-05 14:49:16 +01:00
Michael Niedermayer
6d7e57e88b avutil/opt: Do not print inf in selftest
This fixes fate failures on windows

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 13:50:22 +01:00
Michael Niedermayer
d48c8540a2 fate-aac-aref-encode: increase FUZZ to 5, needed for ppc64be
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 13:41:51 +01:00
Nedeljko Babic
dfa9208074 mips/float_dsp: fix a bug in vector_fmul_window_mips
Loop was unrolled eight times although in heder there is assumption
that len is multiple of 4.
This is fixed, and assembly code is rewritten to be more optimal and
to simplify clobber list.

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 12:31:44 +01:00
Kevin Wheatley
45555a20c6 avformat/movenc: Add support for writing 'gama' atom to QuickTime .mov files.
As this is depricated it should not be on by default, it is only
supported for MOV containers, depends on avpriv_get_gamma_from_trc()

Enable by:

-movflags +write_gama

This will use the color_trc to supply a gamma value, if desired an
explicit value may be supplied using the -mov_gamma option supplying
a suitable floating point value, values <=1e-6 will not be written.

Signed-off-by: Kevin Wheatley <kevin.j.wheatley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 12:26:37 +01:00
Kevin Wheatley
86b59e6a50 avutil: Extract gamma determination from PNG encoder for future use. Adds private avpriv_get_gamma_from_trc() function to libavutil.
Signed-off-by: Kevin Wheatley <kevin.j.wheatley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 12:26:22 +01:00
Stefano Sabatini
6db20926c3 doc/protocols/tcp: fix units of listen_timeout option value, from microseconds to milliseconds
s->listen_timeout is passed to ff_listen_bind(), which accepts a timeout
value expressed in milliseconds.

The unit was incorrectly set in 1b4da43ce0.
2015-03-05 12:13:25 +01:00
Vilius Grigaliūnas
2af260e3a8 avformat/mxfdec: Detect XYZ pixel format for digital cinema files
While the native jpeg2000 decoder can determine pixel format correctly
from the codestream, libopenjpeg wrapper cannot. To make sure that
the output is correct when using libopenjpeg to decode digital
cinema files, we do detection from the metadata included in the MXF
wrapper.

If the container has "JPEG 2000 Coding Parameters" metadata element
with Rsiz value set to one of digital cinema profiles, we can safely
assume that the given input file is DCI compliant, therefore the
pixel format should be XYZ.

Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 11:47:11 +01:00
Timo Rothenpieler
f5668e614b avformat/dashenc: Update extradata for mov muxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 10:33:03 +01:00
Michael Niedermayer
63ea3a86b7 Merge commit '9c09fbd8053292267cdc4b542913ceced43ea3a9'
* commit '9c09fbd8053292267cdc4b542913ceced43ea3a9':
  rtpdec: experimental VP9 depacketizer (draft 0)

Conflicts:
	libavformat/rtpdec.c
	libavformat/rtpdec_vp9.c
	libavformat/version.h

See: e4a6486c17
See: f966ac2b6e
See: 629a03a912
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 10:12:53 +01:00
Thomas Volkert
9c09fbd805 rtpdec: experimental VP9 depacketizer (draft 0)
The code was tested with live555 server.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-05 10:05:44 +02:00
Michael Niedermayer
dcf7924f4d Merge commit 'f3b74d944bdef9bbe81f7690f8d837d843ec13a6'
* commit 'f3b74d944bdef9bbe81f7690f8d837d843ec13a6':
  pcxenc: Return more meaningful error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 02:17:01 +01:00
Michael Niedermayer
4574f11e4d Merge commit 'b72b212a4c43563f1b9fc3ce9a5ff91f89b857ac'
* commit 'b72b212a4c43563f1b9fc3ce9a5ff91f89b857ac':
  rdt: Use a separate variable to clarify the different value namespaces

Conflicts:
	libavformat/rdt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 01:40:03 +01:00
Michael Niedermayer
2eb890aab2 Merge commit 'c13ab42a0a3979b2c292b2315487f5f5e14ba26b'
* commit 'c13ab42a0a3979b2c292b2315487f5f5e14ba26b':
  rtpdec_qt: Use a local variable instead of RTP_FLAG_KEY

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 01:20:25 +01:00
Michael Niedermayer
9575d8a652 Merge commit '15621cbbe4ed88409ef40257afaf239487964e98'
* commit '15621cbbe4ed88409ef40257afaf239487964e98':
  rtpdec_asf: Don't set RTP_FLAG_KEY

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 01:12:19 +01:00
Reimar Döffinger
7c2e35d1d0 avformat/avformat: improve the text about headerless formats in avformat_flush()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 00:09:26 +01:00
wm4
cca44764b9 avformat: add avformat_flush()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 00:09:26 +01:00
Carl Eugen Hoyos
83808ee7e9 Allow AVFoundation compilation on OS X 10.7.
Fixes ticket #4238.

Reviewed-by: Thilo Borgmann
2015-03-04 23:54:10 +01:00
Carl Eugen Hoyos
63c9b6e431 lavf/mxf: Support ProRes decoding.
Fixes ticket #4349.
2015-03-04 23:48:41 +01:00
Himangi Saraogi
f3b74d944b pcxenc: Return more meaningful error codes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-03-04 23:44:01 +01:00
Martin Storsjö
b72b212a4c rdt: Use a separate variable to clarify the different value namespaces
The original flags variable contains rtpdec flags, while the
rmflags variable contains RM flag bits which have a completely
different definition.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-05 00:26:42 +02:00
Martin Storsjö
c13ab42a0a rtpdec_qt: Use a local variable instead of RTP_FLAG_KEY
The only case where RTP_FLAG_KEY actually is needed is
in RDT, where such a flag needs to be passed via the
rtpdec parse function's flags parameter.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-05 00:26:42 +02:00
Martin Storsjö
15621cbbe4 rtpdec_asf: Don't set RTP_FLAG_KEY
Nothing in the framework nor in the rest of the depacketizer actually
uses this flag - the chained demuxer sets the keyframe flag properly on
demuxed packets already.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-05 00:26:24 +02:00
Michael Niedermayer
4ad7b8f64a avformat/movenc: mark write_colr as experimental
This way the flag can be flipped to a nowrite_colr, if people prefer that

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 22:36:23 +01:00
Peter Cordes
46235f0e02 libx264: update AQ options help for x264 build 144
Regular autovariance is no longer "experimental", and a version of it with
bias towards dark scenes is now in mainline x264.

Signed-off-by: Peter Cordes <peter@cordes.ca>
2015-03-04 21:58:53 +01:00
Peter Cordes
9e5687adf2 pixelutils: Comment on (lack of) sad_8x8_sse2
Signed-off-by: Peter Cordes <peter@cordes.ca>
2015-03-04 21:58:53 +01:00
Peter Cordes
4da3a14f3c pixelutils: indent comments in pixdesc.h to be clearer
Signed-off-by: Peter Cordes <peter@cordes.ca>
2015-03-04 21:58:53 +01:00
Peter Cordes
44d3477264 vf_showinfo: minimum widths for some early fields
Depending on FPS, the pts_time string often changes length:
... pts_time:36.1 ...
... pts_time:36.1333 ...
etc.

 The length changes make the output bounce around horribly, making it
hard to scan down a column farther right than pts_time.

The solution is to set minimum widths for n, pts, pts_time, and pos.
This patch doesn't touch any of the fields in mean / stddev.

 The widths aren't intended to be wide enough that they're never
exceeded, but you'll see only an occasional ripple to a new alignment,
rather than bouncing.  (Some fields, like pos, increase monotonically,
which is why I left the minimum width for the field be smaller than it
often gets to.)

Signed-off-by: Peter Cordes <peter@cordes.ca>
2015-03-04 21:43:42 +01:00
Michael Niedermayer
735ab7c5e0 Merge commit 'e767c9e8f2eaa116b61b8b6881b401b54bd320f5'
* commit 'e767c9e8f2eaa116b61b8b6881b401b54bd320f5':
  flv: Validate and reject unsupported codecs

Conflicts:
	libavformat/flvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 20:47:14 +01:00
Michael Niedermayer
b5ca158935 Merge commit '87e85a133f3ce2f037b90e9c7bbca99951df6c15'
* commit '87e85a133f3ce2f037b90e9c7bbca99951df6c15':
  aac: Relax reserved_bit validation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 19:49:05 +01:00
Michael Niedermayer
87db7e7772 Merge commit '25f613f8be3b51e4396b93cda131e4631ba54302'
* commit '25f613f8be3b51e4396b93cda131e4631ba54302':
  dca: Move syncword definitions to a separate header

Conflicts:
	libavcodec/dca_parser.c
	libavformat/dtsdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 19:28:53 +01:00
Michael Niedermayer
634ce8ddad Merge commit '1dc19729e92a96620000e09eba8e58cb458c9486'
* commit '1dc19729e92a96620000e09eba8e58cb458c9486':
  rtpdec_asf: Don't free the payload context in the .close function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 19:14:48 +01:00
Michael Niedermayer
1c9f2ebdcd Merge commit '62139b14e621f096d0f8ed90920d042b92867e40'
* commit '62139b14e621f096d0f8ed90920d042b92867e40':
  fate: Specify the idct to use for the aic-oddsize test

Conflicts:
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 19:05:28 +01:00
Luca Barbato
e767c9e8f2 flv: Validate and reject unsupported codecs
And provide a more informative message in case of failure.

CC: libav-stable@libav.org
2015-03-04 18:28:40 +01:00
Vittorio Giovara
87e85a133f aac: Relax reserved_bit validation
Although the specification mandates this bit to zero, it may happen
that software tools incorrectly flip it to one, invalidating a possibly
valid stream.

Relax this restriction, by failing only when AV_EF_BITSTREAM is set.
This behaviour is similar to aac decoders in Firefox and Quicktime.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-04 16:36:16 +00:00
Diego Biurrun
25f613f8be dca: Move syncword definitions to a separate header 2015-03-04 13:29:33 +01:00
Mark Reid
ec5a4af560 libavformat/mxfdec: refactor reading strong ref array
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 12:14:19 +01:00
Martin Storsjö
1dc19729e9 rtpdec_asf: Don't free the payload context in the .close function
This was missed in bb4a310bb. This fixes a double free on close.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-04 13:12:09 +02:00
Martin Storsjö
62139b14e6 fate: Specify the idct to use for the aic-oddsize test
This fixes fate on all architectures that have an optimized
but not bitexact idct available.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-04 13:11:58 +02:00
Michael Niedermayer
5dce723715 Merge commit '2a66a580678dd9401f4d95e01e0958ca51864b6f'
* commit '2a66a580678dd9401f4d95e01e0958ca51864b6f':
  rtpdec_mpa_robust: Fix incrementing split_pos

Conflicts:
	libavformat/rtpdec_mpa_robust.c

See: ebf1f512e9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 11:31:55 +01:00
Martin Storsjö
2a66a58067 rtpdec_mpa_robust: Fix incrementing split_pos
This fixes an oversight in 96084251, in a refactoring done on top
of Gilles' original patch.

Pointed out by Gilles Chanteperdrix.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-04 09:34:14 +02:00
Michael Niedermayer
7da7d269b8 ffplay: Switch to show waves mode if allocation/init of RDFT fails
Fixes null pointer dereference

Found-by: Paweł <pantrombka@gmail.com>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 03:04:04 +01:00
Michael Niedermayer
f6f1e2b3be avcodec/pngenc: Remove outer () from macro
The macro is implemented as a do{}while()
enclosing this is () appears to be a GNU extension (6.1 Statements and Declarations in Expressions)
the () is also unneeded and wrong as the macro returns no
value

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 02:06:08 +01:00
Michael Niedermayer
0d20896775 Merge commit 'db5cc75f8b5620e7cd2d05762c3b087ab16d8c24'
* commit 'db5cc75f8b5620e7cd2d05762c3b087ab16d8c24':
  wma.h: #include "avcodec.h"

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 01:23:54 +01:00
Tobias Rapp
b4fbad2634 libavformat/avienc: Fix duration of audio segment in OpenDML master index
Fixes the duration field of the OpenDML master index "indx" chunk to
contain the number of samples instead of the number of packets for
(linear/PCM) audio streams.

This matches the OpenDML V1.02 standard text which states that the
duration field shall contain "time span in stream ticks".

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 00:08:53 +01:00
Vilius Grigaliūnas
ff6b08141a acvodec/lipopenjpeg: Fix pixel value shift for 12-bit pixel formats
This fixes pixel values not being properly shifted in
libopenjpeg_copyto16 and libopenjpeg_copy_to_packed16 methods.

Pixel formats like xyz12le need to be shifted by AVComponentDescriptor::shift
to get the correct values.

Reviewed-by: Michael Bradshaw <mjbshaw@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 23:20:51 +01:00
James Cowgill
37ffe7f90a mips/aaccoder: use variables instead of using register names directly
On mips64, the registers t[4-7] do not exist. Instead of using a lot of #ifdef
or defines to handle differing register names, use variables and let GCC
allocate the registers automatically (like in the other mips assembly files).

In get_band_cost_ESC_mips, t4 and t5 were renamed to t6 and t7 to avoid a
variable name conflict.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 21:58:36 +01:00
James Cowgill
de4f59b536 mips: use float* to hold pointer instead of int
This is obviously needed for 64-bit support.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 21:36:33 +01:00
Michael Niedermayer
0dd53e14f9 Merge commit '0af3b65880573aa9b3375362eaab4f84140c7dde'
* commit '0af3b65880573aa9b3375362eaab4f84140c7dde':
  asf: do not export XMP metadata by default

Conflicts:
	libavformat/asfdec.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 21:16:31 +01:00
Michael Niedermayer
b7d3fbc69b Merge commit '994d8f3095180ba1b2c6040a97718e931a782b34'
* commit '994d8f3095180ba1b2c6040a97718e931a782b34':
  fate: Add AIC test with odd sizes

Conflicts:
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 21:03:58 +01:00
Anton Khirnov
db5cc75f8b wma.h: #include "avcodec.h"
It's required for at least AVCodecContext.

Fixes make checkheaders.
2015-03-03 20:57:56 +01:00
Michael Niedermayer
75dbe4c1fa Merge commit 'e878ec0d47cd6228c367b2f3128b76d7523f7255'
* commit 'e878ec0d47cd6228c367b2f3128b76d7523f7255':
  aic: Fix decoding files with odd dimensions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 20:41:44 +01:00
Clément Bœsch
c285937ccc ffmpeg: comment mpeg4 hack
See 3734c3ea51
2015-03-03 20:25:28 +01:00
Mark Reid
81a91269a2 libavformat/avio: added avio_put_str16be
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 17:49:15 +01:00
Vittorio Giovara
0af3b65880 asf: do not export XMP metadata by default
Similarly to what has been done for MOV, display XMP metadata only when
users explicitly require it.

The Extensible Metadata Platform tag can contain various kind of data
which are not strictly related to the video file, such as history of
edits and saves from the project file.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-03 15:30:52 +00:00
Vittorio Giovara
994d8f3095 fate: Add AIC test with odd sizes 2015-03-03 15:08:45 +00:00
Vittorio Giovara
e878ec0d47 aic: Fix decoding files with odd dimensions
Normally the aic decoder finds the proper slice combination (multiple of
some number less than 32) but in case of odd width, it resorts to the
default values, which were actually swapped.
The number of slices is modified to account for such odd width cases.

CC: libav-stable@libav.org
2015-03-03 15:08:15 +00:00
Claudio Freire
6394acaf36 AAC: Fix M/S stereo encoding
This patch fixes a pointer arithmetic bug in adjust_frame_information that resulted in heavily corrupted audio when using M/S encoding. Also, a backup copy of untransformed coefficients has to be kept around or attempts at re-processing the frame (which happens when hevavily overspending bits during transients) will result in re-encoding of the coefficients and subsequent corruption of the resulting stream.

A/B testing shows the bug as corrected, but still cannot prove that M/S coding is a win at least in numbers. Limited listening tests do show improvement on M/S encoded samples in lower bitrates, but they're hidden among the other artifacts that remain to be corrected in the encoder.

Some of the regressions flagged in the report do show poor stereo image (but not buggy), so M/S encoding is clearly not good enough yet to be defaulted to auto.

In numbers, Patched against Unpatched, stereo_mode auto:

  Files: 114
  Bitrates: 6
  Tests: 683

  Serious Regressions: 0 (0%)
  Regressions: 0 (0%)
  Improvements: 227 (33%)
  Big improvements: 92 (13%)
  Worst regression - mybloodrusts.wv - 256k
    - StdDev: 28.61       pSNR: -0.43     maxdiff: 1372.00
  Best improvement - 60.wv - 384k
    - StdDev: -369.57     pSNR: 45.02     maxdiff: -13322.00
  Average          - StdDev: -80.56       pSNR: 2.49      maxdiff: -8858.00

Patched against Unpatched stereo_mode ms_off shows no difference.

Patched stereo_mode auto vs Unpatched stereo_mode ms_off shows a small average improvement, just not too significant:

  Serious Regressions: 0 (0%)
  Regressions: 10 (1%)
  Improvements: 45 (6%)
  Big improvements: 2 (0%)
  Worst regression - Illinois.wv - 256k
    - StdDev: 33.20       pSNR: -2.03     maxdiff: 477.00
  Best improvement - song_of_circomstances.flac - 384k
    - StdDev: -3.97       pSNR: 7.61      maxdiff: -826.00
  Average          - StdDev: -10.25       pSNR: 0.20      maxdiff: -281.00

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 13:57:42 +01:00
Steve Lhomme
4851db80a4 fix VP9 packet decoder returning 0 instead of the used data size
See https://trac.videolan.org/vlc/ticket/14022#comment:6

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 13:48:51 +01:00
Andreas Cadhalpun
2578a54618 avcodec/rv10: check size of s->mb_width * s->mb_height
If it doesn't fit into 12 bits it triggers an assertion.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 12:36:36 +01:00
Robert Krüger
618021ea58 avformat/mxfenc: adjust product name when opatom muxer is used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 12:13:21 +01:00
Andreas Cadhalpun
5de2dab12b avcodec/webp: validate the distance prefix code
According to the WebP Lossless Bitstream Specification the highest
allowed value for a prefix code is 39.

If prefix_code is too large, the calculated extra_bits has an invalid
value and triggers an assertion in get_bits.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 00:37:36 +01:00
Clément Bœsch
da2a49ac9a avcodec/proresenc_kostya: fix coded_frame handling 2015-03-02 22:52:49 +01:00
Michael Niedermayer
bf691e1d39 Merge commit '33d412eb4a2a083c1514ddbe69295b37e1918a8c'
* commit '33d412eb4a2a083c1514ddbe69295b37e1918a8c':
  dashenc: Simplify code by using a local variable

Conflicts:
	libavformat/dashenc.c

See: b86af8da31
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 21:53:14 +01:00
Timo Rothenpieler
6cfd536675 avformat/dashenc: Update codec_str on extradata_size change
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 21:40:26 +01:00
Timo Rothenpieler
b86af8da31 avformat/dashenc: Use local variable instead of duplicated dereferences
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 21:40:26 +01:00
Clément Bœsch
f5cbb2c55e avfilter/vf_tblend: use av_frame_free for freeing an AVFrame 2015-03-02 21:27:21 +01:00
Clément Bœsch
17cb05fe06 avfilter/lavfutils: use av_frame_free for freeing an AVFrame 2015-03-02 21:27:21 +01:00
Clément Bœsch
546d69eb43 avcodec: use av_frame_free() for coded_frame 2015-03-02 21:27:21 +01:00
Michael Niedermayer
cb39fe9336 Merge commit '91eee2af87278b3c2008f7a86d2cdfe6934e9f42'
* commit '91eee2af87278b3c2008f7a86d2cdfe6934e9f42':
  Revert "mov: Change DTS-based seek into CTS-based seek."

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 20:52:34 +01:00
Michael Niedermayer
82fe4072ea Revert "avformat/mov: Bypass av_add_index_entry()"
Next commit will revert the PTS seeking so this is not needed anymore

This reverts commit 38e641a060.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 20:46:17 +01:00
Michael Niedermayer
f2e01b693f Merge commit '9a26ba971387a348e14f363ddcdcb5bba0b413d1'
* commit '9a26ba971387a348e14f363ddcdcb5bba0b413d1':
  v4l2: Add support for h264

Conflicts:
	libavdevice/v4l2.c

See: 0fb79f30db
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 20:30:54 +01:00
Michael Niedermayer
cde6e328de Merge commit '619d5e7db88941cadb8136f805564e885c6c6434'
* commit '619d5e7db88941cadb8136f805564e885c6c6434':
  v4l2: Use the codec descriptor facility

Conflicts:
	libavdevice/v4l2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 20:16:22 +01:00
Michael Niedermayer
ada512f91d Merge commit 'dbc1163b203b175d246b7454c32ac176f84006d1'
* commit 'dbc1163b203b175d246b7454c32ac176f84006d1':
  prores: Extend the padding check to 16bit

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 20:01:28 +01:00
Martin Storsjö
33d412eb4a dashenc: Simplify code by using a local variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-02 20:34:43 +02:00
Christophe Gisquet
efd3f407e5 hevc/sao: use unaligned copy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 19:32:23 +01:00
Andreas Cadhalpun
08728f400b avformat/rm: limit packet size
The chunk size is limited to 0xFFFF (written by avio_wb16), so make
sure that the packet size is not too large.

Such large frames need to be split into slices smaller than 64 kB, but
that is currently supported neither by the rv10/rv20 encoders nor the rm
muxer.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>

See Ticket244

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 16:57:57 +01:00
Michael Niedermayer
7c9e7bd425 avcodec/pngenc: replace round by lrint()
Avoids passing double to AV_WB32()

Suggested-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 15:02:20 +01:00
Clément Bœsch
9b1755bce7 configure/help: consistently use "autodetect" 2015-03-02 14:56:05 +01:00
Claudio Freire
84f4be424d avcodec/aacpsy: Fix AAC Psy PE reduction calculation when multiple iterations are required
This is a small change, but it does have a big impact on bit allocation.

all the regressions marked in the report have no audible
difference (I didn't check them all though), but the improvements can
be heard.

This affects mostly high bit rates. It's related to issue #2686.

In the report, A is the patched version, B is unpatched, all
comparisons show deltas in the form (A-B), so a positive pSNR delta
means a better quality in the patched version, and negative a
regression. Regressions are only considered for pSNR deltas below
-1db, they're considered serious below -6db.

All measurements were done with tiny_psnr.

The summary of the report inline for quick reading:

Files: 58
Bitrates: 6
Tests: 347
Serious Regressions: 0 (0%)
Regressions: 10 (2%)
Improvements: 54 (15%)
Big improvements: 26 (7%)
Worst regression - sine_tester.flac - 384k
  - StdDev: 1.68        pSNR: -3.05     maxdiff: -178.00
Best improvement - 07 - Bound.flac - 384k
  - StdDev: -1700.05    pSNR: 20.64     maxdiff: -29595.00
Average          - StdDev: -55.67       pSNR: 1.20      maxdiff: -1593.00

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 13:31:31 +01:00
Martin Storsjö
91eee2af87 Revert "mov: Change DTS-based seek into CTS-based seek."
This reverts commit 4abfa387b8.

This commit broke playback of fragmented mp4 files with b-frames.
While investigating this, it turned out that the general framework
isn't ready for a PTS-based index yet. Revert this change until
a better thought out solution is in place.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-02 14:15:12 +02:00
Luca Barbato
9a26ba9713 v4l2: Add support for h264 2015-03-02 12:07:59 +01:00
Gilles Chanteperdrix
bfdd15c4e8 MAINTAINERS: add myself as rtpdec_mpa_robust maintainer
Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 11:58:49 +01:00
Gilles Chanteperdrix
ebf1f512e9 avformat/rtpdec_mpa_robust: fix commit 96084251e5
Commit 96084251e5 introduced a change in
the parser implementation which broke it. Restore the original
implementation.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 11:58:42 +01:00
Luca Barbato
619d5e7db8 v4l2: Use the codec descriptor facility
The encoder or decoder might be disabled but the format would be
supported for at least remuxing.
2015-03-02 11:27:57 +01:00
Luca Barbato
dbc1163b20 prores: Extend the padding check to 16bit
Some files produced by the official encoder have up to 16bit of
padding instead of the expected padding to the byte.

Use a self-explanatory macro instead of a simple number.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-02 11:27:57 +01:00
Michael Niedermayer
f27d5bd3d2 tests/fate: Add S302M test
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 11:09:08 +01:00
Michael Niedermayer
34b13dbadf avfilter/af_aphaser: Change type to int as its accessed as int via AVOptions
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 04:08:32 +01:00
Michael Niedermayer
e8c1eb09c7 avfilter/af_biquads: Change width_type to int as its accessed as int via AVOptions
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 04:08:26 +01:00
Michael Niedermayer
d545668e25 avfilter/af_volume: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 04:08:22 +01:00
Michael Niedermayer
27a5d09c6a avfilter/avf_avectorscope: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 04:08:18 +01:00
Michael Niedermayer
7ff296be9f avfilter/avf_showspectrum: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 04:08:14 +01:00
Michael Niedermayer
cf729b2489 avcodec/libfdk-aacdec: Change conceal_method to int, its accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 04:08:09 +01:00
Michael Niedermayer
fd8c3277c4 ffprobe: Change string_validation to int, its accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 04:06:39 +01:00
Michael Niedermayer
047fd986bf avfilter/vf_drawbox: Fix handling of max values
Fixes Ticket4332

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 02:32:55 +01:00
Michael Niedermayer
85108195c5 avutil/common: minor simplification in av_clip_intp2_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 01:07:50 +01:00
James Almer
5c8f747085 x86/hevc_sao: use unaligned movs for sao_{band,filter} with width 8
Suggested-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-01 20:02:43 -03:00
Michael Niedermayer
88ec5435bb avutil/opt: also test av_opt_show2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 17:45:32 +01:00
Michael Niedermayer
e9c85ae648 avutil/opt: Remove odd trailing whitespace bytes from flags help description
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 17:29:33 +01:00
Michael Niedermayer
c1e93cdc9e avutil/opt: Also test/compare the av_log output i the selftest
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 17:04:12 +01:00
Michael Niedermayer
e72f8ceabd avformat/mpegenc: Ignore max_delay if no other options remain
Fixes assertion failure
Fixes Ticket4335

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 16:47:36 +01:00
Michael Niedermayer
2b4041661a avcodec/mips/Makefile: Build fmtconvert_mips only if CONFIG_FMTCONVERT is set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 03:48:44 +01:00
Gilles Chanteperdrix
071f3e1c6e Revert "rtsp: Interpret the text media type as AVMEDIA_TYPE_DATA"
This reverts commit 26524e3581.

If we want the T.140 codec to have the AV_CODEC_ID_TEXT codec id,
its type needs to be AVMEDIA_TYPE_SUBTITLE, so, keep interpreting
the text media type as AVMEDIA_TYPE_SUBTITLE.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 03:40:20 +01:00
Gilles Chanteperdrix
c95c039ec3 avformat: map T.140 RTP codec to text
This makes more sense than mapping to AV_CODEC_ID_SUBRIP. Nothing
indicates that a T.140 track contains subrip sub-titles.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 03:40:10 +01:00
Michael Niedermayer
9564375dee avutil/ppc/intreadwrite: remove AV_??64 overriding code
The code has undefined behavior and makes no difference when optimizations
are enabled.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 03:15:19 +01:00
Gilles Chanteperdrix
dcf19008a6 avfilter/af_volume: fix precision=fixed and volume=0 case
When precision is fixed and volume is 0, filter_frame does not
perform any operation on the output buffer. This works if the
output buffer has been allocated and zeroed with ff_get_audio_buffer
but not if the input buffer is used as output buffer.

Fix this by not using the input buffer as output buffer if
precision is fixed and volume is 0.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 02:37:56 +01:00
Michael Niedermayer
5cb6b53050 Merge commit '4f6cd883f06f7893a2b60a41e7a4f8ae633dac2f'
* commit '4f6cd883f06f7893a2b60a41e7a4f8ae633dac2f':
  rtpenc: Don't set max_frames_per_packet based on the packet frame size or frame rate

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:31:49 +01:00
Michael Niedermayer
78c59f3f0c Merge commit 'bde2bba45c2f2df27a8534028bda09a6e7f835e2'
* commit 'bde2bba45c2f2df27a8534028bda09a6e7f835e2':
  rtpenc: Restructure if statements in packetizers to simplify adding more conditions

Conflicts:
	libavformat/rtpenc_xiph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:31:26 +01:00
Michael Niedermayer
769b473a41 Merge commit 'd4c7fc02f9f59e721e76debf4a595df529707545'
* commit 'd4c7fc02f9f59e721e76debf4a595df529707545':
  rtpenc: Skip redundant initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:24:27 +01:00
Michael Niedermayer
a2c4c30b5f Merge commit 'f8c01257f93ceda3e03bc4e540a51022d1e2bff2'
* commit 'f8c01257f93ceda3e03bc4e540a51022d1e2bff2':
  rtpenc: Always do the default initialization regardless of codecs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:23:37 +01:00
Michael Niedermayer
9e09931fb6 Merge commit '11edeaea3293c41ecf577a330422eabba35f76a2'
* commit '11edeaea3293c41ecf577a330422eabba35f76a2':
  rtpenc_xiph: Don't exclude headers from max_payload_size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:17:27 +01:00
Michael Niedermayer
7e53009588 Merge commit '7c1e2e64667421f931ab48141517f19d309c7eea'
* commit '7c1e2e64667421f931ab48141517f19d309c7eea':
  rtpenc_xiph: Use AV_WB16 instead of manual bitshifts

Conflicts:
	libavformat/rtpenc_xiph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:17:10 +01:00
Michael Niedermayer
41b8d154aa Merge commit 'd16c8d28d4e2fca3af1054ffbf635c8cee755fc8'
* commit 'd16c8d28d4e2fca3af1054ffbf635c8cee755fc8':
  rtpenc_aac: Use AV_WB16 instead of manual bitshifts

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:08:07 +01:00
Michael Niedermayer
635403e078 Merge commit '9c9b0218e85fcd969308632f75af48a4ce229541'
* commit '9c9b0218e85fcd969308632f75af48a4ce229541':
  rtpenc_aac: Merge a definition with a declaration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:07:46 +01:00
Michael Niedermayer
cfe33c98b7 Merge commit '1fc64e2e07787bbca82a72c146588e850e6d098a'
* commit '1fc64e2e07787bbca82a72c146588e850e6d098a':
  rtpenc: Write conditional statements on separate lines

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:01:01 +01:00
Michael Niedermayer
ba069e08bd Merge commit '0662440b991361fdb5e732712d997a73e4692e34'
* commit '0662440b991361fdb5e732712d997a73e4692e34':
  rtpenc_aac: Set a default value for max_frames_per_packet at init

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:00:44 +01:00
Michael Niedermayer
6f0a82966d Merge commit '12b3459979f5ea6481660cd2c99a0381e2b5ba37'
* commit '12b3459979f5ea6481660cd2c99a0381e2b5ba37':
  rtpenc_amr: Use s->num_frames instead of s->buf_ptr - s->buf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 00:48:28 +01:00
Michael Niedermayer
f6f1e1a7a1 Merge commit '98563953442560dd83aab938f86de3e5a22a891f'
* commit '98563953442560dd83aab938f86de3e5a22a891f':
  rtpenc_aac: Fix sending fragmented frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 00:48:04 +01:00
Michael Niedermayer
e73b3dba3e Merge commit '990e4a6639d0714198583c2812b1074b5751898f'
* commit '990e4a6639d0714198583c2812b1074b5751898f':
  Add a QSV decoding example.

Conflicts:
	configure
	doc/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 00:30:20 +01:00
Michael Niedermayer
2ab3088dda Merge commit 'ea1d0b7ece1881c2f1360f8c1e2116791105af21'
* commit 'ea1d0b7ece1881c2f1360f8c1e2116791105af21':
  avcodec/utils: use correct printf specifier in ff_set_sar

See: 732c3ebffa
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 00:18:38 +01:00
Michael Niedermayer
8a77672645 Merge commit '802987f8c7033ec8b82b35438d3822cf7f761166'
* commit '802987f8c7033ec8b82b35438d3822cf7f761166':
  x11grab: Unbreak building

Conflicts:
	libavdevice/x11grab.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 00:17:36 +01:00
Michael Niedermayer
7fce8c752d Merge commit '71f1ad37d858b810b71a4af1c25771beaa50b27b'
* commit '71f1ad37d858b810b71a4af1c25771beaa50b27b':
  lavc: do not compile fmtconvert unconditionally

Conflicts:
	configure
	libavcodec/ppc/Makefile
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 00:06:42 +01:00
Michael Niedermayer
5c17377e28 Merge commit 'd74a8cb7e42f703be5796eeb485f06af710ae8ca'
* commit 'd74a8cb7e42f703be5796eeb485f06af710ae8ca':
  fmtconvert: drop unused functions

Conflicts:
	libavcodec/arm/fmtconvert_vfp_armv6.S
	libavcodec/x86/fmtconvert.asm
	libavcodec/x86/fmtconvert_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 23:58:29 +01:00
Michael Niedermayer
e82b0e6126 Merge commit 'ee964145b5d229571e00bf6883a44189d02babe2'
* commit 'ee964145b5d229571e00bf6883a44189d02babe2':
  lavc: remove unused traces of fmtconvert usage

Conflicts:
	libavcodec/aac.h
	libavcodec/aacdec.c
	libavcodec/atrac3.c
	libavcodec/vorbisdec.c
	libavcodec/wma.c
	libavcodec/wma.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 23:41:36 +01:00
Michael Niedermayer
ca6fee7606 Merge commit 'b9d2d6843a49f9df1d1ae1afe817d9b48c445919'
* commit 'b9d2d6843a49f9df1d1ae1afe817d9b48c445919':
  tls: Pass AVOptions dictionaries through to the chained protocol

Conflicts:
	libavformat/tls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 23:32:33 +01:00
Michael Niedermayer
c5c4e5839a Merge commit 'e14f98c62fdf8744b07419314095d1b3248cce75'
* commit 'e14f98c62fdf8744b07419314095d1b3248cce75':
  tcp: Clarify the units for the timeout avoptions

Conflicts:
	libavformat/tcp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 23:20:39 +01:00
Michael Niedermayer
1fb3642317 Merge commit 'c86d8aed748adc3ba8df96fb1fe14aa45da77a31'
* commit 'c86d8aed748adc3ba8df96fb1fe14aa45da77a31':
  avio: Rename avclass symbols relating to avio

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 23:02:42 +01:00
Andreas Cadhalpun
e8565d21c2 avformat/flvenc: check that the codec_tag fits in the available bits
flags is later written with avio_w8 and if it doesn't fit in one byte it
triggers an av_assert2.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 22:53:12 +01:00
Andreas Cadhalpun
732c3ebffa avcodec/utils: use correct printf specifier in ff_set_sar
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 22:40:40 +01:00
Michael Niedermayer
5705dc5276 avutil/imgutils: correctly check for negative SAR components
These could trigger assert failures previously

Found-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 21:57:11 +01:00
Martin Storsjö
4f6cd883f0 rtpenc: Don't set max_frames_per_packet based on the packet frame size or frame rate
Instead check the timestamps while muxing, to avoid buffering a
too long timestamp range into one single packet.

This makes the AMR and AAC packetization slightly less efficient,
since we set a possibly unnecessarily high max_frames_per_packet.
(These packetizers end up doing a memmove of the TOC bytes if
sending a packet before max_frames_per_packet is achieved, and
we end up setting max_frames_per_packet to a value that should
be high enough for most uses.)

All packetizers that use max_frames_per_packet now set it either
to a default value, or to a value calculated based on other
parameters, so none of them rely on the previous default setting.

For iLBC, copy one frame at a time, to allow checking the timestamp
range for each of them - basically doing potentially multiple
loops to simplify the code instead of trying to calculate the
number of frames to buffer while honoring s1->max_delay.

This is in preparation for reducing the coupling between libavformat
and libavcodec, by not having the muxers use the encoder field
frame_size (which may not be available during e.g. stream copy).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:31 +02:00
Martin Storsjö
bde2bba45c rtpenc: Restructure if statements in packetizers to simplify adding more conditions
Factorize out the s->num_frames check at the start of the if statements,
simplifying adding more alternative causes for sending the buffered
frames.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:26 +02:00
Martin Storsjö
d4c7fc02f9 rtpenc: Skip redundant initialization
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:22 +02:00
Martin Storsjö
f8c01257f9 rtpenc: Always do the default initialization regardless of codecs
This avoids having to jump to the defaultcase in the switch. Manually
override the stream time base back to 90 kHz for the few audio codecs
that don't use the sample rate as time base (mp2, mp3).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:11 +02:00
Martin Storsjö
11edeaea32 rtpenc_xiph: Don't exclude headers from max_payload_size
This makes things more consistent by using the variable in the same
way as in all other packetizers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:04 +02:00
Martin Storsjö
7c1e2e6466 rtpenc_xiph: Use AV_WB16 instead of manual bitshifts
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:00 +02:00
Martin Storsjö
d16c8d28d4 rtpenc_aac: Use AV_WB16 instead of manual bitshifts
This makes the code slightly more readable and understandable.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:53:57 +02:00
Martin Storsjö
9c9b0218e8 rtpenc_aac: Merge a definition with a declaration
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:53:54 +02:00
Martin Storsjö
1fc64e2e07 rtpenc: Write conditional statements on separate lines
Intentionally keeping some conditional statements on single lines
in rtpenc_h263.c.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:53:51 +02:00
Martin Storsjö
0662440b99 rtpenc_aac: Set a default value for max_frames_per_packet at init
This avoids having to conditionally set the default within the
packetizer function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:53:46 +02:00
Martin Storsjö
12b3459979 rtpenc_amr: Use s->num_frames instead of s->buf_ptr - s->buf
This doesn't fix any bug, but makes the code simpler for later
patches, and more straightforward to read as is.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:53:42 +02:00
Martin Storsjö
9856395344 rtpenc_aac: Fix sending fragmented frames
After sending a fragmented frame, len (s->buf_ptr - s->buf) isn't
zero, while s->num_frames is zero as intended. Using s->num_frames
makes it work as intended, and is less convoluted than keeping track
of (resetting) s->buf_ptr.

This avoids sending stray data after sending a fragmented aac packet.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:53:38 +02:00
Anton Khirnov
990e4a6639 Add a QSV decoding example. 2015-02-28 21:51:24 +01:00
Andreas Cadhalpun
ea1d0b7ece avcodec/utils: use correct printf specifier in ff_set_sar
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-28 21:51:24 +01:00
Christian Hujer
802987f8c7 x11grab: Unbreak building
The correct macro is DEC not D. Broken in
b31328d008

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-28 21:51:24 +01:00
Anton Khirnov
71f1ad37d8 lavc: do not compile fmtconvert unconditionally
Only ac3dec and dcadec use it.
2015-02-28 21:51:24 +01:00
Anton Khirnov
d74a8cb7e4 fmtconvert: drop unused functions 2015-02-28 21:51:24 +01:00
Anton Khirnov
ee964145b5 lavc: remove unused traces of fmtconvert usage
Those decoders have been switched to float output and so do not use
fmtconvert anymore.
2015-02-28 21:51:24 +01:00
Martin Storsjö
b9d2d6843a tls: Pass AVOptions dictionaries through to the chained protocol
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:08:19 +02:00
Martin Storsjö
e14f98c62f tcp: Clarify the units for the timeout avoptions
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:07:24 +02:00
Martin Storsjö
c86d8aed74 avio: Rename avclass symbols relating to avio
Don't prefix them ffio_url, which is misleading, sounding too
much like the urlprotocol layer (like ffurl_*).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:07:04 +02:00
Michael Niedermayer
5f1ea0bfc5 avcodec/ppc/fdctdsp: fix const warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 18:40:42 +01:00
zhaoxiu.zeng
94f5ac93d7 avcodec/vc1_block: Optimize vc1_decode_i_block_adv()
9127 -> 8936 decicycles (fate-suite/vc1/SA10143.vc1)
13855 -> 10976 decicycles  (fate-suite/vc1/SA20021.vc1)
tests done by the author over this function but with the whole
patchset applied not just this commit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 17:06:10 +01:00
zhaoxiu.zeng
21581182ca avcodec/vc1_block: Optimize vc1_decode_i_block()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 17:00:04 +01:00
zhaoxiu.zeng
80a0daa0f6 avcodec/vc1_block: cosmetics
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 15:51:35 +01:00
zhaoxiu.zeng
137fbab11b avcodec/vc1_block: move early exit code up in ff_vc1_pred_dc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 15:51:17 +01:00
zhaoxiu.zeng
9914502264 avcodec/vc1_block: Use av_clip_uintp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 15:29:51 +01:00
zhaoxiu.zeng
ec908ce427 avcodec/vc1_block: Optimize vc1_decode_ac_coeff()
Avoid branches in sign handling
Move local variables to where they are used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 15:25:03 +01:00
zhaoxiu.zeng
ccad34e3ca avcodec/vc1_block: Simplify dcdiff initialization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 15:14:36 +01:00
zhaoxiu.zeng
bd55f01c96 avcodec/vc1_block: Simplify dir_ptr / pred initialization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 15:09:57 +01:00
zhaoxiu.zeng
f6b195cfb9 avcodec/vc1: Simplify pred/mc loops
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 14:57:46 +01:00
zhaoxiu.zeng
d8e030c3cc avcodec/vc1: Simplify dmv_y initialization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 14:52:57 +01:00
zhaoxiu.zeng
751883c602 avcodec/vc1: Simplify code setting and using extend_x/y
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 14:42:15 +01:00
zhaoxiu.zeng
71de5542bb avcodec/vc1: Make init_block_index() inline
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 14:36:07 +01:00
zhaoxiu.zeng
e2edb10f8e avcodec/vc1: use uint8_t for size_table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 14:32:27 +01:00
zhaoxiu.zeng
53cb0babb4 avcodec/vc1: simplify offset table and access
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 14:31:40 +01:00
Michael Niedermayer
5ee3a40f1c ffmpeg: Fix -vstats when coded_frame is not set
There are several encoders which do not set coded_frame

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 12:33:44 +01:00
Niklas Haas
888a33c070 lavc/pngenc: Support writing colorspace tags.
These are defined in http://www.w3.org/TR/PNG/#11addnlcolinfo.
2015-02-28 03:34:57 +01:00
Michael Niedermayer
0a23129bfc avformat: Add prefix to get_codec_guid()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 19:25:27 +01:00
Michael Niedermayer
ae20682f6b swscale: Add prefix to updateMMXDitherTables()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 19:23:46 +01:00
Michael Niedermayer
4d00860ac7 swresample: Add prefix to soxr_resampler
also move declaration to header

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 19:20:43 +01:00
Michael Niedermayer
bf6102044d avcodec/dvdec: Make dv_iweight_720_c static
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 19:17:23 +01:00
Michael Niedermayer
23a90768a8 avcodec/v210dec: Add ff prefix to v210_x86_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 19:08:09 +01:00
Michael Niedermayer
b37c3396cd avcodec/h264: Add ff_ prefix to the shared h264_init_dequant_tables() function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 18:46:02 +01:00
Christophe Gisquet
60bdc868b9 lavf/mov: correct printf specifier
The type is int64_t.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 16:55:34 +01:00
Michael Niedermayer
0e699676f9 avcodec/snow: mark dwt init as av_cold
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 16:53:37 +01:00
Michael Niedermayer
22a80272ae avcodec/diracdsp: Mark ff_diracdsp_init() as av_cold
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 16:53:37 +01:00
Michael Niedermayer
f8b743b9e6 avcodec/mjpegenc: Mark ff_mjpeg_encode_close() as av_cold
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 16:53:25 +01:00
Michael Niedermayer
78cd9c5671 postproc: mark alloc/free context functions as av_cold
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 16:15:31 +01:00
Derek Buitenhuis
a22032281c movenc: Write 'colr' box correctly for MP4
This also restricts it to MOV and MP4, since it is only
defined for those formats.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-02-27 14:06:02 +00:00
Clément Bœsch
3e0ae19f86 avfilter/palettegen: fix frame mem leak 2015-02-27 14:18:53 +01:00
Michael Niedermayer
d490b26fcb avformat/ffmenc: Use ffio_free_dyn_buf()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 13:38:43 +01:00
Michael Niedermayer
629a03a912 avformat/rtpdec_vp9: Use ffio_free_dyn_buf()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 13:38:43 +01:00
Paul B Mahol
aa7a2fa58f avcodec/hqx: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-27 09:30:13 +00:00
Paul B Mahol
5440076303 avcodec/hqx: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-27 08:38:14 +00:00
Michael Niedermayer
007498fc1a swscale/utils: clear formatConvBuffer on allocation
Fixes use of uninitialized memory
Fixes: asan_heap-oob_35ca682_1474_cov_3230122439_aletrek_tga_16bit.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 03:13:14 +01:00
Andreas Cadhalpun
d0b8640f75 avformat/bit: only accept the g729 codec and 1 channel
Other codecs/channel numbers are not supported by this muxer.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 23:19:39 +01:00
Andreas Cadhalpun
eeda2c3de8 avformat/bit: check that pkt->size is 10 in write_packet
Ohter packet sizes are not supported by this muxer.

This avoids a null pointer dereference of pkt->data.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 23:19:31 +01:00
Michael Niedermayer
19dbe89f03 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  ffmpeg: notify when the thread message queue blocks.
  ffmpeg: allow to set the thread message queue size.
  lavd/alsa: set frame_size field.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 21:38:52 +01:00
Dyami Caliri
50833c9f7b Fix buffer_size argument to init_put_bits() in multiple encoders.
Several encoders were multiplying the buffer size by 8, in order to get
a bit size. However, the buffer_size argument is for the byte size of
the buffer. We had experienced crashes encoding prores (Anatoliy) at
size 4096x4096.
2015-02-26 20:14:00 +01:00
Michael Niedermayer
b851bc20c6 avformat/mp3dec: Check for avcodec_alloc_context3() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 20:11:19 +01:00
Michael Niedermayer
6ad42b3e15 avformat/mp3dec: properly allocate dummy AVCodecContext
Fixes (harmless) use of uninitialized variable

Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 20:02:23 +01:00
Michael Niedermayer
51b7ab2ee7 Merge commit '82b6e451161f19ab90bfb9565b710021caf5dcbd'
* commit '82b6e451161f19ab90bfb9565b710021caf5dcbd':
  configure: Move the cross_prefix setting after the toolchain one

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 19:36:28 +01:00
Vittorio Giovara
43e5e3c077 colormatrix: Accept bt601 aliases as input
As far as matrix coefficients are concerned, BT470BG and SMPTE170M
match BT601. This is similar to the check performed in vf_scale.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-26 19:26:05 +01:00
Nicolas George
d92c6d82c0 ffmpeg: notify when the thread message queue blocks.
This can help finding the source of A-V desync with live input.
2015-02-26 19:19:56 +01:00
Nicolas George
508d6a23b4 ffmpeg: allow to set the thread message queue size. 2015-02-26 19:19:56 +01:00
Nicolas George
a92193f247 lavd/alsa: set frame_size field.
The value tells the typical size of a packet from the demuxer.
2015-02-26 19:19:56 +01:00
James Cowgill
b9de1303a6 mips/acelp_filters: fix incorrect register constraint
Change register constraint on the v variable from = to +. This was causing GCC
to think that the v variable was never read and therefore not initialize it.

This fixes about 20 fate failures on mips64el.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 16:40:34 +01:00
James Cowgill
f6bf745c5c mips/aacdec: refactor out duplicated assembly code
The float_copy and fmul_and_reverse functions are refactored out from the
multiple copies in this file.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 16:14:41 +01:00
James Cowgill
83589e6918 mips/sbrdsp: remove sbr_neg_odd_64_mips
The optimized C version of this code actually runs faster than this
version, so remove it.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 16:13:06 +01:00
James Cowgill
d6f66aec50 mips/fft: remove some useless assembly
Remove some assembly that the compiler can easily handle optimally on its own.
GCC produces almost identical assembly.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 15:46:46 +01:00
James Cowgill
390771481a mips/aacpsdsp: fix definition of ps_decorrelate_mips
Q_fract should have be declared as 'const float*'.
Also fix the constness of some local variables affected by this.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 15:46:14 +01:00
James Cowgill
213e823dc6 mips/mathops: remove 64-bit code
GCC is perfectly happy generating optimized multiplication code on its own for
64-bit arches. GCC refuses to optimize the loongson code when in 32-bit mode,
so I've left that.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 15:44:35 +01:00
Luca Barbato
82b6e45116 configure: Move the cross_prefix setting after the toolchain one
Makes passing to configure
--toolchain=gcc-asan --cross-prefix=armv7a-hardfloat-linux-gnueabi-
work as intended.
2015-02-26 15:11:16 +01:00
Clément Bœsch
a6a2da2f32 tests: add paletteuse test 2015-02-26 14:20:03 +01:00
Clément Bœsch
e0f03de8f5 tests: add palettegen test 2015-02-26 14:20:02 +01:00
Clément Bœsch
4629993d99 avfilter/paletteuse: use AV_QSORT()
See previous commit for a rationale.
2015-02-26 14:20:02 +01:00
Clément Bœsch
321de03492 avfilter/palettegen: use AV_QSORT()
This makes the sorting of the colors along an axis (r, g or b)
predictible, and thus testable under FATE. The performance is not really
an issue here since the function is called only once at the end and will
need to sort very small number of entries, so an alternative would be to
make the sorting functions (see DECLARE_CMP_FUNC()) fallback on another
axis in case of equality. This approach was actually simpler.

I don't know if there is any advantage in using a multidimensional sort,
but it will affect the final palette one way or another.
2015-02-26 14:20:02 +01:00
Clément Bœsch
30f4e9d3d9 avfilter/palettegen: consistently use the same frame for dimensions 2015-02-26 14:20:02 +01:00
Clément Bœsch
4216968f85 avfilter/palettegen: use a logging context for the dupped color warning 2015-02-26 14:20:02 +01:00
Clément Bœsch
ab093bdeef avfilter/palettegen: export color quantization ratio 2015-02-26 14:20:02 +01:00
Andreas Cadhalpun
7faa40af98 avformat/adxdec: check avctx->channels for invalid values
This avoids a null pointer dereference of pkt->data.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 12:25:29 +01:00
Andreas Cadhalpun
64ea4a0598 avformat/adxdec: set avctx->channels in adx_read_header
It is used in adx_read_packet, which currently depends on the decoder/parser setting this value between reading the file header and demuxing the first packet.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 12:25:29 +01:00
Michael Niedermayer
111d79aa88 avformat/dss: implement seeking
This assumes CBR (which is true for all samples i have)

Previous version reviewed by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 02:06:10 +01:00
Michael Niedermayer
626904b777 avformat/dss: set bitrate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 01:29:28 +01:00
Michael Niedermayer
5634ca6d37 avformat/dss: set packet duration
Value taken from the decoder implementation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 01:03:12 +01:00
Michael Niedermayer
8064265a38 avformat/dss: correct sample rate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 00:54:10 +01:00
James Almer
bc65abc8d7 libavutil: add x86 optimized av_popcount
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-25 19:58:00 -03:00
Michael Niedermayer
701c965a76 avcodec/hevc_ps: Check that log2_ctb_size is not smaller than the bounds of all profiles
Fixes: unaligned memory access
Fixes: signal_sigsegv_3344165_576_cov_3406448105_DBLK_A_MAIN10_VIXS_2.bit

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Suggested-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 22:30:25 +01:00
Michael Niedermayer
dd369c9adb avcodec/snow: Initialize spatial_decomposition_count to a valid value
Fixes undefined behavior
Fixes: signal_sigsegv_24169e6_3445_cov_3778346427_snow_chroma_bug.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 21:30:08 +01:00
Michael Niedermayer
6d66e1a113 avutil/common: Fix integer overflow in av_clip_int8/16_c
Fixes: signal_sigsegv_30420a5_2388_cov_1489993561_integra_lavf.mp4

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 20:56:00 +01:00
Seppo Tomperi
63ca0fe828 avcodec/hevcdsp: ARM NEON optimized qpel functions
uses comma as macro parameter separator

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 18:39:51 +01:00
Michael Niedermayer
d1e2d59f23 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Allow muxing h264 into ts with startcode "001" instead of "0001".
  lavfi/fade: Do not overread input buffer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 17:49:36 +01:00
Michael Niedermayer
205b2ba3d6 avcodec/hevc_ps: Sanity checks for some log2_* values
log2 values which imply numeric overflow are not supported

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 17:40:47 +01:00
Clément Bœsch
5c11f5b4a2 avfilter/palettegen: move longest variable to a local scope
Also drop initialization since it is initialized later on before any
usage.
2015-02-25 17:25:27 +01:00
Carl Eugen Hoyos
56ffde3f61 Allow muxing h264 into ts with startcode "001" instead of "0001".
Fixes ticket #2220.
Fixes ticket #4324.
2015-02-25 15:08:33 +01:00
Carl Eugen Hoyos
ab3ff19f08 lavfi/fade: Do not overread input buffer. 2015-02-25 15:07:18 +01:00
Michael Niedermayer
bbbc8c6188 avformat/mov: Check ctts_count before use
Fixes out of array read
Fixes: asan_heap-oob_ae74b5_3610_cov_1739568095_test.3g2

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 13:31:34 +01:00
Michael Niedermayer
1f5c7781e6 avcodec/zmbv: Check len before reading in decode_frame()
Fixes out of array read
Fixes: asan_heap-oob_4d4eb0_3994_cov_3169972261_zmbv_15bit.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 12:30:04 +01:00
Michael Niedermayer
7296716e35 avcodec/h264: Clear last_pic_for_ec on seeks and reinits
Fixes out of array read
Fixes: asan_heap-oob_2ff30d2_3479_cov_3803648058_src13_hrc7_525_420_2.264

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 03:23:25 +01:00
Michael Niedermayer
390c57781f avcodec/arm/hevcdsp_idct_neon: drop ".code 32"
gas-preprocessor and armasm fail otherwise

Tested-by: Timotius Margo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 02:30:35 +01:00
Michael Niedermayer
a1b5cf0181 Merge commit '85b3b1c4ba7af9c2658442b0aafd27d613e1854b'
* commit '85b3b1c4ba7af9c2658442b0aafd27d613e1854b':
  xcbgrab: Unbreak parsing filename options

Conflicts:
	libavdevice/xcbgrab.c

See: db442c8736
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 01:44:49 +01:00
Michael Niedermayer
2fbdf30efe Merge commit 'b31328d008985f87f0a7c83c700847cef1a4f08c'
* commit 'b31328d008985f87f0a7c83c700847cef1a4f08c':
  xcbgrab: Provide better names for the y and x option

Conflicts:
	doc/indevs.texi
	libavdevice/x11grab.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 01:12:50 +01:00
Michael Niedermayer
53dd75e911 Merge commit 'da7e561964ee833678dc24fae0b0265358126d1e'
* commit 'da7e561964ee833678dc24fae0b0265358126d1e':
  matroskaenc: Allow writing track "forced" flag

See: d88d0b6db6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 01:09:00 +01:00
Michael Niedermayer
3130e5be92 Merge commit 'd594dbecce5f3af7f80bbf5bb1b516d740b69ccd'
* commit 'd594dbecce5f3af7f80bbf5bb1b516d740b69ccd':
  rtpdec: Rename the free method to close

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:58:39 +01:00
Michael Niedermayer
7f03f75ce7 Merge commit '8e32b1f0963d01d4f5d4803eb721f162e0d58d9a'
* commit '8e32b1f0963d01d4f5d4803eb721f162e0d58d9a':
  libavformat: Use ffio_free_dyn_buf where applicable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:48:50 +01:00
Michael Niedermayer
7d9b06eb17 Merge commit '199fb40278146c5bb162990c66ad3cd561abc780'
* commit '199fb40278146c5bb162990c66ad3cd561abc780':
  rtpdec: Use ffio_free_dyn_buf

Conflicts:
	libavformat/rtpdec_latm.c
	libavformat/rtpdec_svq3.c
	libavformat/rtpdec_xiph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:42:14 +01:00
Michael Niedermayer
6e9bbaca6c Merge commit '8a273a746061a112e5e35066a8fd8e146d821a62'
* commit '8a273a746061a112e5e35066a8fd8e146d821a62':
  avio: Add an internal utility function for freeing dynamic buffers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:33:09 +01:00
Michael Niedermayer
79052cd4ce Merge commit '078d43e23a7a3d64aafee8a58b380d3e139b3020'
* commit '078d43e23a7a3d64aafee8a58b380d3e139b3020':
  rtpdec: Free depacketizers if the init function failed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:32:06 +01:00
Michael Niedermayer
fa80b76b11 Merge commit 'bb4a310bb85f43e62240145a656b1e5285b14239'
* commit 'bb4a310bb85f43e62240145a656b1e5285b14239':
  rtpdec: Don't free the payload context in the .free function

Conflicts:
	libavformat/rtpdec_latm.c
	libavformat/rtpdec_mpeg4.c
	libavformat/rtpdec_mpegts.c
	libavformat/rtpdec_xiph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:25:12 +01:00
Michael Niedermayer
64f58d20b2 Merge commit 'f4b59334bd898c47c9ac30999a346176548630a8'
* commit 'f4b59334bd898c47c9ac30999a346176548630a8':
  rtpdec: Remove the now unused .alloc field

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:17:48 +01:00
Michael Niedermayer
f966ac2b6e avformat/rtpdec_vp9: remove alloc/free functions
Simplify code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:17:38 +01:00
Michael Niedermayer
d52bf89d21 Merge commit '78791c086bcaf9eb084c27555b31fea8bbb7624a'
* commit '78791c086bcaf9eb084c27555b31fea8bbb7624a':
  rtpdec: Use .init instead of .alloc to set default values

Conflicts:
	libavformat/rdt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:03:52 +01:00
Michael Niedermayer
99c76902cd Merge commit '88434f9725e7c9484dcbcf323566ae88a2904f32'
* commit '88434f9725e7c9484dcbcf323566ae88a2904f32':
  rtpdec: Remove unnecessary inline attributes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:44:45 +01:00
Michael Niedermayer
d2a5c6f210 Merge commit 'ec96a89c3e507cf0fb1f2b159b28a53f2bad9a74'
* commit 'ec96a89c3e507cf0fb1f2b159b28a53f2bad9a74':
  rtpdec: Don't pass non-const pointers to fmtp attribute parsing functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:44:25 +01:00
Michael Niedermayer
499da717b8 Merge commit 'ac0e54fda9305cc7d149007f5b512bb8619f7c78'
* commit 'ac0e54fda9305cc7d149007f5b512bb8619f7c78':
  rtpdec: Add const to string parameters in internal fmtp parsing functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:38:19 +01:00
Michael Niedermayer
1c5d9dd2b7 Merge commit '12251f997bbc0abb93be39c51021e6d404ca385f'
* commit '12251f997bbc0abb93be39c51021e6d404ca385f':
  rtpdec: Remove unnecessary checks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:37:54 +01:00
Michael Niedermayer
cf95877474 Merge commit 'c82bf15dca00f67a701d126e47ea9075fc9459cb'
* commit 'c82bf15dca00f67a701d126e47ea9075fc9459cb':
  rtpenc: Merge the h264 and hevc packetizers

Conflicts:
	libavformat/rtpenc_hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:30:51 +01:00
Michael Niedermayer
17773f49b7 Merge commit '3567b91e49c6ae101c9a35c90f46b8ad9890ac15'
* commit '3567b91e49c6ae101c9a35c90f46b8ad9890ac15':
  rtpdec_hevc: Share the implementation of fragmented packets with h264

Conflicts:
	libavformat/rtpdec_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:23:26 +01:00
Michael Niedermayer
0f8de2b5f1 Merge commit 'f3449062a8d100ac4f703647336c32b126aa99f1'
* commit 'f3449062a8d100ac4f703647336c32b126aa99f1':
  rtpdec_hevc: Reduce indentation level by returning early on errors

Conflicts:
	libavformat/rtpdec_hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:16:46 +01:00
Michael Niedermayer
29f9d82d23 Merge commit '8633fb47db2ec39eb8bd1bd65302af75a94ff5d0'
* commit '8633fb47db2ec39eb8bd1bd65302af75a94ff5d0':
  rtpdec_hevc: Share the implementation of parsing a=framesize with h264

Conflicts:
	libavformat/rtpdec_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:03:12 +01:00
Michael Niedermayer
df38883607 Merge commit '5956f489d0452ff6dea6b6b81b4fa8e596fc5684'
* commit '5956f489d0452ff6dea6b6b81b4fa8e596fc5684':
  rtpdec_hevc: Add asterisks at the start of each long comment line

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:55:55 +01:00
Michael Niedermayer
3804d73e46 Merge commit '5d8cae45737bed6239bd6b6e0698802dbe1463c8'
* commit '5d8cae45737bed6239bd6b6e0698802dbe1463c8':
  rtpdec: Get rid of all trivial .alloc/.free functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:55:20 +01:00
Michael Niedermayer
48e3cd4fcd Merge commit 'e72605f80bf5cbe32053a554ccc137e0a99cf3dd'
* commit 'e72605f80bf5cbe32053a554ccc137e0a99cf3dd':
  rtpdec: Allow allocating and freeing the private data without explicit functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:42:04 +01:00
Michael Niedermayer
11fb625858 Merge commit '2b982e92f42a6e661d90b12b6592cd13cae496d4'
* commit '2b982e92f42a6e661d90b12b6592cd13cae496d4':
  rtpdec: Set need_parsing via a handler field

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:34:08 +01:00
Michael Niedermayer
4c8a556a77 Merge commit 'b7a4c319fda22aa91ce29692d728ec6103b514f6'
* commit 'b7a4c319fda22aa91ce29692d728ec6103b514f6':
  rtpdec: Allow setting the need_parsing field in RTPDynamicProtocolHandler

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:33:49 +01:00
Luca Barbato
85b3b1c4ba xcbgrab: Unbreak parsing filename options
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-24 22:31:20 +01:00
Luca Barbato
b31328d008 xcbgrab: Provide better names for the y and x option
Incidentally `-y` also collides with avconv global options.

Update x11grab to match and document the option.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-24 22:31:20 +01:00
John Stebbins
da7e561964 matroskaenc: Allow writing track "forced" flag
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-24 22:28:51 +01:00
Michael Niedermayer
2bedcbf822 Merge commit 'b651c9139e1ab222d5aab9151dcd7d6e40e49885'
* commit 'b651c9139e1ab222d5aab9151dcd7d6e40e49885':
  rtpdec_mpa_robust: Move .enc_name to the start of the struct

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:26:42 +01:00
Michael Niedermayer
a51b192f3b Merge commit 'db158f0dd217cf839be8af195d66cf49a76537a8'
* commit 'db158f0dd217cf839be8af195d66cf49a76537a8':
  rtpdec: Remove unnecessary _if_needed suffixes on functions

Conflicts:
	libavformat/rtpdec_xiph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:26:15 +01:00
Michael Niedermayer
8c6651a14d Merge commit '353b492d0f2a21ae8eb829db1ac01b54b2a4d202'
* commit '353b492d0f2a21ae8eb829db1ac01b54b2a4d202':
  rtpdec: Change enc_name to a pointer instead of a fixed-size buffer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:19:33 +01:00
Michael Niedermayer
a4f50ec9dd Merge commit '0752f700d63f6b15ffd5369ac7615414cce71247'
* commit '0752f700d63f6b15ffd5369ac7615414cce71247':
  rtpdec_h264: Remove an unnecessary include

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:19:06 +01:00
Michael Niedermayer
ae2a8d8742 Merge commit '247764a592f83521f9c1ccdc900b00a8b84f3c87'
* commit '247764a592f83521f9c1ccdc900b00a8b84f3c87':
  rtpdec_h264: Remove unnecessary struct padding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:12:16 +01:00
Michael Niedermayer
5d06b6e984 Merge commit 'fe414059ec1fe8237574bed34cdaa8ac3893917b'
* commit 'fe414059ec1fe8237574bed34cdaa8ac3893917b':
  rtpdec_amr: Use the common indentation style

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:11:58 +01:00
Martin Storsjö
d594dbecce rtpdec: Rename the free method to close
Many of these functions were named foo_free_context, and since
the functions no longer should free the context itself, only
allocated elements within it, the previous naming was slightly
misleading.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:50 +02:00
Martin Storsjö
8e32b1f096 libavformat: Use ffio_free_dyn_buf where applicable
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:47 +02:00
Martin Storsjö
199fb40278 rtpdec: Use ffio_free_dyn_buf
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:44 +02:00
Martin Storsjö
8a273a7460 avio: Add an internal utility function for freeing dynamic buffers
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:41 +02:00
Martin Storsjö
078d43e23a rtpdec: Free depacketizers if the init function failed
This is different from how it is handled in codecs/demuxers/muxers
though (where the close function isn't called if the open function
failed), but since the number of depacketizers that have an .init
function is quite limited, this is easy to change.

The main point is that if the init function failed, we shouldn't
try to use that depacketizer at all - this makes sure that the
parse function doesn't need to check for the things that were
initialized in the init function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:39 +02:00
Martin Storsjö
bb4a310bb8 rtpdec: Don't free the payload context in the .free function
This makes it more consistent with depacketizers that don't have any
.free function at all, where the payload context is freed by the
surrounding framework. Always free the context in the surrounding
framework, having the individual depacketizers only free any data
they've specifically allocated themselves.

This is similar to how this works for demuxer/muxers/codecs - a
component shouldn't free the priv_data that the framework has
allocated for it.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:35 +02:00
Martin Storsjö
f4b59334bd rtpdec: Remove the now unused .alloc field
Always use the .priv_data_size field instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:32 +02:00
Martin Storsjö
78791c086b rtpdec: Use .init instead of .alloc to set default values
The ugly error handling in rdt gets improved in a later commit.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:28 +02:00
Martin Storsjö
88434f9725 rtpdec: Remove unnecessary inline attributes
These functions are far from performance critical, so there's no
point in marking them as inline.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:25 +02:00
Martin Storsjö
ec96a89c3e rtpdec: Don't pass non-const pointers to fmtp attribute parsing functions
This makes it clear that the individual parsing functions can't
touch the parsed out value.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:22 +02:00
Martin Storsjö
ac0e54fda9 rtpdec: Add const to string parameters in internal fmtp parsing functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:18 +02:00
Martin Storsjö
12251f997b rtpdec: Remove unnecessary checks
The free function of a depacketizer won't be called if data is NULL.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:14 +02:00
Michael Niedermayer
eb24186b45 Merge commit '74d318f138f2a3f1b2fe81aea826d80d1e60f54c'
* commit '74d318f138f2a3f1b2fe81aea826d80d1e60f54c':
  rtsp: Fix the indentation of a linewrapped statement

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:03:57 +01:00
Michael Niedermayer
30c863fdfa Merge commit '3cd5828fc0007e6d056067444de053a34ddedd02'
* commit '3cd5828fc0007e6d056067444de053a34ddedd02':
  rtpdec: Add missing trailing commas

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:03:19 +01:00
Michael Niedermayer
8c1c069371 Merge commit '04a1be8e28e81f3967eace7705343c450616cc95'
* commit '04a1be8e28e81f3967eace7705343c450616cc95':
  libavformat: add T.140 RTP depacketization (RFC 4103)

Conflicts:
	libavformat/rtpdec.c
	libavformat/version.h

See: af940e6cb1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 21:55:46 +01:00
Michael Niedermayer
c6792275f4 Merge commit '26524e358147aade6e9dd18fff42d61b966bbc70'
* commit '26524e358147aade6e9dd18fff42d61b966bbc70':
  rtsp: Interpret the text media type as AVMEDIA_TYPE_DATA

See: afb0e5a810
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 21:43:13 +01:00
Michael Niedermayer
c23a0e77dd avcodec/h264: Only reinit quant tables if a new PPS is allowed
Fixes null pointer dereference
Fixes: signal_sigsegv_3042097_3007_cov_1741463594_non_monotone_timestamps1.mkv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 21:21:22 +01:00
Tobias Rapp
f34aca8a16 doc/filters.texi: add reference link to video size syntax description
Update the filter option documentation text to link to ffmpeg-utils
documentation for video size syntax description.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2015-02-24 18:24:42 +01:00
Kevin Wheatley
3664703780 avformat/movenc: Fix writing ACLR atoms for DNxHD
Using the copy codec ACLR atoms where incorrectly written

During the creation of the ACLR atom we are assuming the vos_data
contains the DNxHD header. This change makes this explicit and
ensures we don't over write the stream with the extra_data.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 16:54:02 +01:00
Michael Niedermayer
847daac5c0 avformat/dss: Set packet position correctly
pos previously was set but then overwritten

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 15:41:02 +01:00
Martin Storsjö
c82bf15dca rtpenc: Merge the h264 and hevc packetizers
They share a great deal of common structure; only a few minor
bits in the headers differ.

This also fixes an off-by-one in sending of the last fragment
of large HEVC nals (where it previously sent len+2 bytes, even
if it should have been len+RTP_HEVC_HEADERS_SIZE aka len+3).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:25:43 +02:00
Martin Storsjö
3567b91e49 rtpdec_hevc: Share the implementation of fragmented packets with h264
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:25:28 +02:00
Martin Storsjö
f3449062a8 rtpdec_hevc: Reduce indentation level by returning early on errors
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:25:21 +02:00
Martin Storsjö
8633fb47db rtpdec_hevc: Share the implementation of parsing a=framesize with h264
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:24:36 +02:00
Martin Storsjö
5956f489d0 rtpdec_hevc: Add asterisks at the start of each long comment line
This is the common style for such comments.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:24:27 +02:00
Martin Storsjö
5d8cae4573 rtpdec: Get rid of all trivial .alloc/.free functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:24:19 +02:00
Martin Storsjö
e72605f80b rtpdec: Allow allocating and freeing the private data without explicit functions
This can reduce the amount of boilerplate in simple depacketizers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:23:37 +02:00
Martin Storsjö
2b982e92f4 rtpdec: Set need_parsing via a handler field
This avoids implementing a full function just to set this one
field.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:22:41 +02:00
Martin Storsjö
b7a4c319fd rtpdec: Allow setting the need_parsing field in RTPDynamicProtocolHandler
This allows getting rid of quite a bit of boilerplate in depacketizers.

The default value (initializing need_parsing to 0, aka
AVSTREAM_PARSE_NONE) is the same as it is initialized to by default
in AVStream.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:22:21 +02:00
Martin Storsjö
b651c9139e rtpdec_mpa_robust: Move .enc_name to the start of the struct
This makes it match the other depacketizers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:22:04 +02:00
Martin Storsjö
db158f0dd2 rtpdec: Remove unnecessary _if_needed suffixes on functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:21:54 +02:00
Martin Storsjö
353b492d0f rtpdec: Change enc_name to a pointer instead of a fixed-size buffer
This avoids allocating space for a too large buffer for all the
name strings.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:21:18 +02:00
Martin Storsjö
0752f700d6 rtpdec_h264: Remove an unnecessary include
Nothing in this file use any network functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:20:54 +02:00
Martin Storsjö
247764a592 rtpdec_h264: Remove unnecessary struct padding
There's no point in adding padding in the allocation of a depacketizer
specific context struct.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:20:44 +02:00
Martin Storsjö
fe414059ec rtpdec_amr: Use the common indentation style
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:20:23 +02:00
Martin Storsjö
74d318f138 rtsp: Fix the indentation of a linewrapped statement
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:20:10 +02:00
Martin Storsjö
3cd5828fc0 rtpdec: Add missing trailing commas
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:20:02 +02:00
Gilles Chanteperdrix
04a1be8e28 libavformat: add T.140 RTP depacketization (RFC 4103)
Map this to AV_CODEC_ID_TEXT.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:19:44 +02:00
Martin Storsjö
26524e3581 rtsp: Interpret the text media type as AVMEDIA_TYPE_DATA
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:19:37 +02:00
Paul B Mahol
418be7ceb4 avcodec/mss4: check return value of init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-24 13:17:34 +00:00
Christophe Gisquet
e87e20613b lavc/pthread_slice: release entries
When calling ff_alloc_entries, a number of entries are created.
They are never freed, as running fate with slice threading and
several frames on e.g. fate-hevc-conformance-ENTP_A_Qualcomm_1
would show.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 12:07:20 +01:00
Clément Bœsch
cc69ccb6d4 avformat/nutdec: fix isom and mpa build deps
Fixes the following link error:
  nutdec.c:(.text+0x2d47): undefined reference to `ff_codec_movvideo_tags'
  isom.c:(.text+0x332): undefined reference to `avpriv_mpeg4audio_get_config'
  isom.c:(.text+0x39e): undefined reference to `avpriv_mpa_freq_tab'
2015-02-24 11:22:47 +01:00
Michael Niedermayer
721c916dd5 avcodec/snow: Free all planes and bands independent of the last count
Fixes memleak
Fixes: signal_sigsegv_24169e6_3445_cov_3778346427_snow_chroma_bug.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 03:22:20 +01:00
Michael Niedermayer
8f4cbf9402 avcodec/snowdec: Fix ref value check
Fixes integer overflow and out of array read.
Fixes: signal_sigsegv_24169e6_3445_cov_3778346427_snow_chroma_bug.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 03:15:42 +01:00
Michael Niedermayer
fb8e5044b4 swscale/utils: add asserts to check filterpos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 01:00:24 +01:00
Michael Niedermayer
1895d414aa swscale/utils: More carefully merge and clear coefficients outside the input
Fixes out of array read
Fixes: asan_heap-oob_35ca682_1474_cov_3230122439_aletrek_tga_16bit.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 01:00:24 +01:00
Michael Niedermayer
4d1b017c38 avformat/mov: Check av_add_index_entry() return value
Fixes NULL pointer dereference
Fixes: signal_sigsegv_b060e0_3794_cov_1293954059_vc1-wmapro.ism

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 22:48:35 +01:00
James Almer
03616af2c9 Revert "takdec: pad filter coeff buffer for DSP functions"
This reverts commit e0c7ba40cf.

Valgrind complains about invalid reads, which generate segfaults in some
systems.
2015-02-23 18:22:37 -03:00
Michael Niedermayer
8f140a8ec3 Merge commit 'ce52869c22738ad584995d48103ce3aa2301736b'
* commit 'ce52869c22738ad584995d48103ce3aa2301736b':
  fate: Rename fate-dts test to fate-dca-core

Conflicts:
	tests/fate/audio.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 21:59:34 +01:00
Michael Niedermayer
9ad8f55eda Merge commit 'cb4cb7b0ea12b791dde587b1acd504dbb4ec8f41'
* commit 'cb4cb7b0ea12b791dde587b1acd504dbb4ec8f41':
  qsv: Skip qsv.h compilation if qsv is not enabled

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 21:49:51 +01:00
Michael Niedermayer
83f18410bd Merge commit 'cdcc370293a159c321e41af7f0eef141c62d698d'
* commit 'cdcc370293a159c321e41af7f0eef141c62d698d':
  rtsp: punch holes again after pause

See: 22bb5bd7a3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 21:43:18 +01:00
Michael Niedermayer
cce8f750d9 Merge commit '061c489895d29049a88dc6118e4b639a273b31d6'
* commit '061c489895d29049a88dc6118e4b639a273b31d6':
  eamad: check for out of bounds read

Conflicts:
	libavcodec/eamad.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 21:29:35 +01:00
Michael Niedermayer
92ec34707f Merge commit '161442ff2c4b0dd8a5072c6bbe6bf55303fffccf'
* commit '161442ff2c4b0dd8a5072c6bbe6bf55303fffccf':
  mdec: check for out of bounds read

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 21:19:00 +01:00
Michael Niedermayer
596f81c75b Merge commit 'fe208ca54b0d3b6bbe1c660d371bb2cc6cf40ffc'
* commit 'fe208ca54b0d3b6bbe1c660d371bb2cc6cf40ffc':
  rtpdec_hevc: Skip 1 byte (DOND) instead of 2 (DONL) between aggregation units

Conflicts:
	libavformat/rtpdec_hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 21:01:44 +01:00
Michael Niedermayer
34a8de866f avcodec/snowenc: Allocate and reference coded_frame correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 19:47:04 +01:00
Michael Niedermayer
96e7c9cbfc avcodec/roqvideoenc: Allocate and reference coded_frame correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 19:45:23 +01:00
Michael Niedermayer
6c9537b807 avformat/hlsenc: Warn if a non file protocol is used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 16:53:36 +01:00
Diego Biurrun
ce52869c22 fate: Rename fate-dts test to fate-dca-core
The codec is referred to as DCA in other parts of libav.
2015-02-23 16:26:32 +01:00
Diego Biurrun
cb4cb7b0ea qsv: Skip qsv.h compilation if qsv is not enabled 2015-02-23 16:26:32 +01:00
Paul B Mahol
665916ffa2 avcodec/hqx: remove superfluous log message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-23 15:04:15 +00:00
Gilles Chanteperdrix
cdcc370293 rtsp: punch holes again after pause
When a client behind a NAT issues a pause command, and stay paused for a
long time, the router may stop the RTP/RTCP port redirection. Resend the
hole punching packets before each PLAY command to cause the router to
restart the port redirection in that case.

Move the existing code for sending the packets from the SETUP phase
to the PLAY phase.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-23 16:55:56 +02:00
Federico Tomassetti
061c489895 eamad: check for out of bounds read
Bug-Id: CID 1257500
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-23 15:06:18 +01:00
Federico Tomassetti
161442ff2c mdec: check for out of bounds read
Bug-Id: CID 1257501
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-23 15:06:18 +01:00
Martin Storsjö
fe208ca54b rtpdec_hevc: Skip 1 byte (DOND) instead of 2 (DONL) between aggregation units
Only the first aggregation unit has 2 bytes (DONL) prepended, if
such a field is in use.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-23 15:33:20 +02:00
Clément Bœsch
c3d40e305c avfilter/palette{gen,use}: add Copyright 2015-02-23 14:00:13 +01:00
Michael Niedermayer
2cf521718d Merge commit '35c6ce76b107225a19eb33aea38857d2405882af'
* commit '35c6ce76b107225a19eb33aea38857d2405882af':
  Canopus HQX decoder

Conflicts:
	Changelog
	libavcodec/avcodec.h
	libavcodec/version.h
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 12:19:26 +01:00
Michael Niedermayer
c0f02b2201 Merge commit '36a6fb989b017898041703025ef20028146675a8'
* commit '36a6fb989b017898041703025ef20028146675a8':
  hevc_deblock: Fix compilation with nasm

See: c75fdee747
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 11:53:51 +01:00
Michael Niedermayer
96b495f443 Merge commit 'e570f895cdccf2535a71fec1c607751ddb94fd5a'
* commit 'e570f895cdccf2535a71fec1c607751ddb94fd5a':
  libschroedinger: Check memory allocations

Conflicts:
	libavcodec/libschroedinger.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 11:42:16 +01:00
Michael Niedermayer
0425e16d96 Merge commit '521979e6b1e7a89751aebc285a40d6508f8af48f'
* commit '521979e6b1e7a89751aebc285a40d6508f8af48f':
  configure: Properly fail when libcdio/cdparanoia is not found

Conflicts:
	configure

See: f514b5dff7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 11:26:49 +01:00
Michael Niedermayer
69c32456a0 Merge commit 'f7cc6627c01ad3f5bc6ea2d0e6f8adb3a0b490d7'
* commit 'f7cc6627c01ad3f5bc6ea2d0e6f8adb3a0b490d7':
  configure: Use pkg-config for libdc1394 discovery

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 11:10:56 +01:00
Clément Bœsch
92b7f56193 avfilter/paletteuse: add diff_mode 2015-02-23 09:56:22 +01:00
Clément Bœsch
b0f5227558 avfilter/paletteuse: fix error dithering accuracy 2015-02-23 09:56:22 +01:00
Michael Niedermayer
29bbc1be48 avcodec/a64multienc: Assert that the Packet size does not grow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 02:16:00 +01:00
Michael Niedermayer
4da351ff0c avcodec/a64multienc: simplify frame handling code
This also fixes a memleak

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 02:15:38 +01:00
Andreas Cadhalpun
87513d6545 avcodec/a64multienc: fix use of uninitialized values in to_meta_with_crop
Averaging over 2 pixels doesn't work correctly for the last pixel, because the
rest of the buffer is not initialized.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 01:49:23 +01:00
Andreas Cadhalpun
ab759f8f4a avcodec/a64multienc: initialize mc_meta_charset to zero
This fixes the use of uninitialized values in avpriv_do_elbg.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 01:49:23 +01:00
Michael Niedermayer
d96142e9af avcodec/a64multienc: don't set incorrect packet size
This fixes invalid reads of the packet buffer in av_dup_packet

Based on patch by Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 01:49:23 +01:00
Andreas Cadhalpun
39e4ed7c1d avcodec/a64multienc: use av_frame_ref instead of copying the frame
This fixes freeing the frame buffer twice on cleanup leading to a crash.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 00:46:00 +01:00
Michael Niedermayer
fab8b88a5e Merge commit 'a388e72d1a6b0888cc1591cb699f61a9c1089cf4'
* commit 'a388e72d1a6b0888cc1591cb699f61a9c1089cf4':
  rtpenc_hevc: Aggregate multiple NAL units into one RTP packet, if possible

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 00:29:50 +01:00
Michael Niedermayer
17c52d746c Merge commit 'e2220e734f3d01145ef9aefbd7b6ff29a89ae159'
* commit 'e2220e734f3d01145ef9aefbd7b6ff29a89ae159':
  rtpenc_h264: Aggregate multiple NAL units into one RTP packet, if possible

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 00:13:23 +01:00
Michael Niedermayer
db4a2976f6 Merge commit 'c99915f7c74ce1249d8633cb6fd09035b8d84db7'
* commit 'c99915f7c74ce1249d8633cb6fd09035b8d84db7':
  rtpdec: DV depacketizer (RFC 6469)

Conflicts:
	Changelog
	libavformat/Makefile
	libavformat/rtpdec_dv.c
	libavformat/version.h

See: cbe508553a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 23:54:34 +01:00
Vittorio Giovara
35c6ce76b1 Canopus HQX decoder
Based on work by Kostya Shishkov <kostya.shishkov@gmail.com>.
2015-02-22 22:42:27 +00:00
Carl Eugen Hoyos
36a6fb989b hevc_deblock: Fix compilation with nasm
CC: libav-stable@libav.org
Bug-Id: 795
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-22 22:34:20 +00:00
Vittorio Giovara
e570f895cd libschroedinger: Check memory allocations 2015-02-22 22:32:18 +00:00
Vittorio Giovara
521979e6b1 configure: Properly fail when libcdio/cdparanoia is not found 2015-02-22 22:31:54 +00:00
Vittorio Giovara
f7cc6627c0 configure: Use pkg-config for libdc1394 discovery
Since not all systems need the libraw1394 dependency, let pkg-config
provide the list of libraries actually needed.

The libdc1394-2.pc file has been included since version 2 (2008-01-05),
so it should be safe to use.
2015-02-22 22:30:35 +00:00
Michael Niedermayer
0a32a1b4bb tools/graph2dot: Check for av_malloc() failure
Fixes CID1271047

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 22:51:13 +01:00
Michael Niedermayer
704c980294 avcodec/aacenc: Fix sample rate check
Fixes out of array read
Fixes CID1257803, CID1257797, CID1257789, CID1257786

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 22:29:09 +01:00
Martin Storsjö
a388e72d1a rtpenc_hevc: Aggregate multiple NAL units into one RTP packet, if possible
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-22 23:27:03 +02:00
Martin Storsjö
e2220e734f rtpenc_h264: Aggregate multiple NAL units into one RTP packet, if possible
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-22 23:26:57 +02:00
Michael Niedermayer
a6baef6517 avcodec/mpegvideo: Fix memleak of mvs
Fixes CID1271053

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 22:18:26 +01:00
Thomas Volkert
c99915f7c7 rtpdec: DV depacketizer (RFC 6469)
(tested with live555 RTSP server)

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-22 23:01:55 +02:00
Michael Niedermayer
2234a1cd16 avcodec/vorbisdec: Fix memleak, call cleanup on memory allocation failure
Fixes CID1258478, CID1258476, CID1258475
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 21:27:09 +01:00
Michael Niedermayer
8559a71415 avcodec/wmaenc: Check extradata allocations
Fixes CID1257842

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 21:23:39 +01:00
Christophe Gisquet
e0c7ba40cf takdec: pad filter coeff buffer for DSP functions
Currently, a part of the loop has to be handled in plain C, because of DSP
function requirements of having batches of 16 elements to process.

Instead, pad the buffer with 0 where the DSP functions are overreading.

Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-22 16:35:32 -03:00
Michael Niedermayer
b7e7ee6231 avfilter/buffer: Check for qp_table allocation failure
Fixes CID1271048
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 20:27:11 +01:00
Michael Niedermayer
3518925a91 avformat/movenc: Check for memory allocation failures
Fixes CID1271049
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 20:20:13 +01:00
Michael Niedermayer
40adcf576f avformat/oggdec: Check for ost allocation failure
Fixes CID1257798
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 19:21:53 +01:00
Paul B Mahol
586ba24ff2 avcodec/exr: fix memset first arg in reverse_lut()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-22 17:30:50 +00:00
Michael Niedermayer
9b8152bf04 avformat/oggdec: Check for av_malloc() failure and forward the error code
Fixes CID1257805

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 17:53:35 +01:00
Michael Niedermayer
5683810302 avformat/rmenc: Check for av_malloc() failure
Fixes CID1257832

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 17:47:40 +01:00
Michael Niedermayer
ca86e91dd6 tools/trasher: Check fseek returns
Fixes CID733726

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 16:49:56 +01:00
Michael Niedermayer
c3b6454d80 avutil/fixed_dsp: Check for av_malloc() failure
Fixes CID1271051

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 16:27:28 +01:00
Gilles Chanteperdrix
22bb5bd7a3 avformat/rtsp: punch holes again after pause
When a client behind a NAT issues a pause command, and stay paused for a
long time, the router may stop the RTP/RTCP port redirection. Resend the
hole punching packets after each PLAY command to cause the router to
restart the port redirection in that case.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 14:09:26 +01:00
Michael Niedermayer
642c49c983 avcodec/libaacplus: Check for av_malloc() failure
Fixes CID1271046

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 14:00:53 +01:00
Michael Niedermayer
48214956b2 avcodec/jpeglsenc: Check for memory allocation failures
Fixes CID1271044

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 13:45:19 +01:00
Michael Niedermayer
f9d24ee1dc postproc/postprocess: Check for av_malloc() failure
Fixes CID1271052

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 03:19:05 +01:00
Michael Niedermayer
ac424b23e4 postproc/postprocess: Check for av_mallocz() failure
Fixes CID1271050

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 03:11:08 +01:00
Michael Niedermayer
45e0aa46ca postproc/postprocess: use av_mallocz()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 03:09:47 +01:00
Michael Niedermayer
066dc04373 avcodec/libx264: Check for av_malloc() failure
Fixes CID1257813
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 02:55:51 +01:00
Michael Niedermayer
21518f5a0a avcodec/libvpxenc: Check for av_malloc() failure
Fixes CID1271045

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 02:40:16 +01:00
Michael Niedermayer
67d4d5f5db avcodec/libtheoraenc: Check for av_fast_realloc() failure
Fixes CID1257799
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 02:18:35 +01:00
Michael Niedermayer
27216bf314 avcodec/libtheoraenc: Check for stats allocation failure
Fixes CID1257785

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 02:11:27 +01:00
Michael Niedermayer
20f5a17956 Merge commit '44dc138ed29c4dfbaf57ebc774da4c75ef113ca4'
* commit '44dc138ed29c4dfbaf57ebc774da4c75ef113ca4':
  rtpdec_mpeg4: reassemble fragmented AAC frames

Conflicts:
	libavformat/rtpdec_mpeg4.c

See: fee2cc39be
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 01:59:44 +01:00
Michael Niedermayer
abf357a9fb Merge commit 'dcf969e98d3f596006a0ddaf077870408b9c09c3'
* commit 'dcf969e98d3f596006a0ddaf077870408b9c09c3':
  rtpdec_mpeg4: add more verbose error logging

Conflicts:
	libavformat/rtpdec_mpeg4.c

See: fee2cc39be
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 01:49:37 +01:00
Michael Niedermayer
1186e7cf95 Merge commit '96084251e57d1738fde02a2b0d37ca609d9efd71'
* commit '96084251e57d1738fde02a2b0d37ca609d9efd71':
  libavformat: add robust MPEG audio depacketization (RFC 5219)

Conflicts:
	Changelog
	libavformat/version.h

See: 22470510d1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 01:30:17 +01:00
Michael Niedermayer
dedbefee60 Merge commit '5cbae5651d7c1ce9b0691dfbf2d474cb2b0ebb9a'
* commit '5cbae5651d7c1ce9b0691dfbf2d474cb2b0ebb9a':
  mpegaudio_parser: add MP3 ADU headers parser

Conflicts:
	libavcodec/mpegaudio_parser.c
	libavcodec/mpegaudiodecheader.c
	libavcodec/version.h

See: 8ca098f444
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 01:08:28 +01:00
Gilles Chanteperdrix
fee2cc39be avformat/rtpdec_mpeg4: reassemble fragmented AAC frames
Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 00:56:18 +01:00
Michael Niedermayer
17384b1719 Merge commit '5e5583efe41662294c5e1b76499ba338557f808d'
* commit '5e5583efe41662294c5e1b76499ba338557f808d':
  libavformat: add AC3 RTP depacketization (RFC 4184)

Conflicts:
	Changelog
	libavformat/rtpdec_ac3.c
	libavformat/version.h

See: 3eec775b21
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 00:48:27 +01:00
Michael Niedermayer
285eea0001 Merge commit '4438d1c6ede3190d7920513272fb9dc5371648f2'
* commit '4438d1c6ede3190d7920513272fb9dc5371648f2':
  rtsp: parse lang attribute in SDP

Conflicts:
	libavformat/rtsp.h
	libavformat/version.h

See: c7ad1f562b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 00:36:53 +01:00
Michael Niedermayer
1fa2d95f6b Merge commit '1ec28a66f2c853a7e4aeb21495c0b4d9478f17db'
* commit '1ec28a66f2c853a7e4aeb21495c0b4d9478f17db':
  rtpdec: fix issue with conversion from unsigned to signed

See: 73029abddc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 00:22:02 +01:00
Michael Niedermayer
b0b7571a52 Merge commit 'ff394ca087d41941d2157e7a4e356e3ad312494e'
* commit 'ff394ca087d41941d2157e7a4e356e3ad312494e':
  rtpdec_h264: Add a missing closing paren in a log message

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 00:15:10 +01:00
Michael Niedermayer
db3f6465a6 Merge commit '12655c48049f9a52e5504bde90fe738862b0ff08'
* commit '12655c48049f9a52e5504bde90fe738862b0ff08':
  libavresample: NEON optimized FIR audio resampling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 00:06:23 +01:00
Michael Niedermayer
52a1a55f30 Add coverity model file
The comments/header of the file are taken from qemu, they provide some
basic documentation
The code from the examples

Ive no means to test this except uploading to coverity for FFmpeg, so each
commit should stay simple, making it easy to revert.

Also please help making this a useful and effective file by contributing
changes/code to it and reviewing contributions.
I am happy to upload changes but i cannot really maintain this (alone) as
i cannot test changes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 23:45:08 +01:00
Gilles Chanteperdrix
44dc138ed2 rtpdec_mpeg4: reassemble fragmented AAC frames
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:38:07 +02:00
Gilles Chanteperdrix
dcf969e98d rtpdec_mpeg4: add more verbose error logging
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:58 +02:00
Gilles Chanteperdrix
96084251e5 libavformat: add robust MPEG audio depacketization (RFC 5219)
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:50 +02:00
Gilles Chanteperdrix
5cbae5651d mpegaudio_parser: add MP3 ADU headers parser
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:42 +02:00
Gilles Chanteperdrix
5e5583efe4 libavformat: add AC3 RTP depacketization (RFC 4184)
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:32 +02:00
Gilles Chanteperdrix
4438d1c6ed rtsp: parse lang attribute in SDP
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:24 +02:00
Gilles Chanteperdrix
1ec28a66f2 rtpdec: fix issue with conversion from unsigned to signed
When receiving an RTCP packet, the difference between the last RTCP
timestamp and the base timestamp may be negative. As these timestamps
are of the uint32_t type, the result becomes a large integer. Cast
the difference to int32_t to avoid this issue.

The result of this issue is very large start times for RTSP
streams, and difficulty to restart correctly after a pause.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:15 +02:00
Martin Storsjö
ff394ca087 rtpdec_h264: Add a missing closing paren in a log message
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:36:56 +02:00
Thomas Volkert
7a459be8e7 avformat/rtpdec_dv: fix bundled audio typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 22:36:18 +01:00
Peter Meerwald
12655c4804 libavresample: NEON optimized FIR audio resampling
modelled after aarch64 code

on Cortex-A8, s16 and s32 code is about 2x faster,
float code about 7x faster

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 22:08:39 +02:00
Michael Niedermayer
f848a66009 avcodec/adpcm: use av_clip_intp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 20:41:36 +01:00
Michael Niedermayer
d1c705087f avcodec/hevc_mvs: Use av_clip_intp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 20:40:17 +01:00
Michael Niedermayer
d74c8d3ada avcodec/adxenc: Use av_clip_intp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 20:38:13 +01:00
Michael Niedermayer
03f39fbb2a avcodec/x86/mlpdsp_init: Simplify mlp_filter_channel_x86()
Based on patch by Francisco Blas Izquierdo Riera
Commit message partly taken from carl

fixes a compilation
error in mlpdsp_init.c with -fstack-check and some gcc compilers (I
reproduced the issue with gcc 4.7.3) by simplifying the code.

See also https://bugs.gentoo.org/show_bug.cgi?id=471756

$ make libavcodec/x86/mlpdsp_init.o
libavcodec/x86/mlpdsp_init.c: In function ‘mlp_filter_channel_x86’:
libavcodec/x86/mlpdsp_init.c:142:5: error: can’t find a register in
class ‘GENERAL_REGS’ while reloading ‘asm’
libavcodec/x86/mlpdsp_init.c:142:5: error: ‘asm’ operand has impossible
constraints

4551 -> 4509 dezicycles

Reviewed-by: Ramiro Polla <ramiro.polla@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 16:05:41 +01:00
Michael Niedermayer
fbae0ac3e4 avcodec/ffv1enc: Use av_clip_uint8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 15:50:19 +01:00
Michael Niedermayer
114a2eb272 avcodec: Use av_clip_uintp2() where possible
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 15:50:03 +01:00
Michael Niedermayer
d301a13427 avcodec/snowenc: Use av_clip_uint8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 15:44:34 +01:00
Supraja Meedinti
daebe6319e tools: added twofish support
Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 14:59:30 +01:00
Michael Niedermayer
1f1ef843b5 avfilter/vf_perspective: Use av_clip_uint8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 14:51:07 +01:00
Michael Niedermayer
6660c598cd avfilter/vsrc_mptestsrc: Use av_clip_uint8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 14:50:23 +01:00
Michael Niedermayer
03bffb68f6 swscale: Use av_clip_uintp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 14:49:17 +01:00
Michael Niedermayer
b20426398c swscale/yuv2rgb: Use av_clip_uint8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 14:44:47 +01:00
Michael Niedermayer
2af5fb2f8c avformat/flacenc: Use av_clip_uintp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 14:43:28 +01:00
Gilles Chanteperdrix
73029abddc libavformat/rtpdec: fix issue with conversion from unsigned to signed
When receiving an RTCP packet, the difference between the last RTCP
timestamp and the base timestamp may be negative. As these timestamps
are of the uint32_t type, the result becomes a large integer. Cast
the difference to int32_t to avoid this issue.

The result of this issue is very large start times for RTSP
streams, and difficulty to restart correctly after a pause.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 14:18:52 +01:00
Michael Niedermayer
e3cc93aacf Merge commit 'cbdd1806ead8758949f22b4e4f214b035c78e2b9'
* commit 'cbdd1806ead8758949f22b4e4f214b035c78e2b9':
  rtpdec_hevc: Implement parsing of aggregated packets

Conflicts:
	libavformat/rtpdec_hevc.c

See: b6f577dbb2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 13:22:02 +01:00
Michael Niedermayer
2b2b6d1e3c Merge commit 'b878ba03e7e088777cc5083766e0b2a293e716ee'
* commit 'b878ba03e7e088777cc5083766e0b2a293e716ee':
  rtpdec_hevc: Initialize variables to silence false positive compiler warnings

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 13:09:24 +01:00
Michael Niedermayer
5402a22845 Merge commit '10e2d8b5562d8729e4eefbcec63a11eb8a0c502c'
* commit '10e2d8b5562d8729e4eefbcec63a11eb8a0c502c':
  rtpdec_hevc: Use a shared function for parsing parameter sets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 13:02:42 +01:00
Michael Niedermayer
a10529a319 Merge commit '0de07510844517b615ef2a2e2916f6391ad88687'
* commit '0de07510844517b615ef2a2e2916f6391ad88687':
  rtpdec_h264: Make reusable functions non-static

Conflicts:
	libavformat/rtpdec_formats.h
	libavformat/rtpdec_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 12:56:08 +01:00
Michael Niedermayer
7fd732b758 Merge commit '16163e6bf2d446c06d4dd053c0852074bb50508d'
* commit '16163e6bf2d446c06d4dd053c0852074bb50508d':
  rtpdec_h264: Fix nal type counting after refactoring

Conflicts:
	libavformat/rtpdec_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 12:44:09 +01:00
Michael Niedermayer
34c58618be Merge commit 'a3cc519d1f43bf93cc29fd53284a2b8aa6189a9a'
* commit 'a3cc519d1f43bf93cc29fd53284a2b8aa6189a9a':
  rtpdec_h264: Prepare h264_handle_packet_stap_a for sharing with hevc

Conflicts:
	libavformat/rtpdec_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 12:32:28 +01:00
Michael Niedermayer
621450e786 Merge commit '48183b3ad45c95e386a4cb02e1a68b53e6835ac5'
* commit '48183b3ad45c95e386a4cb02e1a68b53e6835ac5':
  rtpdec_h264: Generalize parse_sprop_parameter_sets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 12:25:09 +01:00
Michael Niedermayer
9b41bf5c3d Merge commit 'a982c5d74fbc7ff5bd2f2f73af61ae48e9b1bcc6'
* commit 'a982c5d74fbc7ff5bd2f2f73af61ae48e9b1bcc6':
  tests: drop bc dependency

Conflicts:
	tests/fate-run.sh

See: d47eeff274
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 12:08:31 +01:00
Michael Niedermayer
4b55a7e1ce Merge commit 'a06b0b1295c51d100101e0ca0434e199ad6de6b5'
* commit 'a06b0b1295c51d100101e0ca0434e199ad6de6b5':
  h264: initialize H264Context.avctx in init_thread_copy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 11:53:00 +01:00
Michael Niedermayer
6458e4750f Merge commit '0dea4c77ccf5956561bb8991311b3d834bb5fa40'
* commit '0dea4c77ccf5956561bb8991311b3d834bb5fa40':
  h264: only ref cur_pic in update_thread_context if it is initialized

Conflicts:
	libavcodec/h264_slice.c

See: 0fc01ae33c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 11:45:42 +01:00
Michael Niedermayer
66d79aa2e1 Merge commit '9abc80f1ed673141326341e26a05c3e1f78576d0'
* commit '9abc80f1ed673141326341e26a05c3e1f78576d0':
  libavcodec: Make use of av_clip functions

Conflicts:
	libavcodec/takdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 11:27:24 +01:00
Michael Niedermayer
1253091d6f Merge commit '76ce9bd8e26dcb3652240a1072840ff4011d7cdc'
* commit '76ce9bd8e26dcb3652240a1072840ff4011d7cdc':
  libavutil: Add ARM av_clip_intp2_arm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 11:15:32 +01:00
Michael Niedermayer
88d850ecb3 Merge commit 'bf07d813f6c88b5a76980f321cf7272d799c4216'
* commit 'bf07d813f6c88b5a76980f321cf7272d799c4216':
  libavutil: Add av_clip_intp2

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 11:13:34 +01:00
Thomas Volkert
cbdd1806ea rtpdec_hevc: Implement parsing of aggregated packets
With significant changes by Martin Storsjö, to use the shared
function instead of reimplementing it.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 11:32:50 +02:00
Martin Storsjö
b878ba03e7 rtpdec_hevc: Initialize variables to silence false positive compiler warnings
For some reason, clang didn't warn about this prior to using the
shared function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 11:32:47 +02:00
Martin Storsjö
10e2d8b556 rtpdec_hevc: Use a shared function for parsing parameter sets
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 11:32:44 +02:00
Martin Storsjö
0de0751084 rtpdec_h264: Make reusable functions non-static
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 11:32:41 +02:00
Martin Storsjö
16163e6bf2 rtpdec_h264: Fix nal type counting after refactoring
This fixes builds with -DDEBUG after f0a874799.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 11:32:38 +02:00
Martin Storsjö
a3cc519d1f rtpdec_h264: Prepare h264_handle_packet_stap_a for sharing with hevc
Add a parameter for skipping a number of bytes at the start of each nal.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 11:32:36 +02:00
Martin Storsjö
48183b3ad4 rtpdec_h264: Generalize parse_sprop_parameter_sets
Don't write directly into an AVCodecContext, write into given
pointers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 11:32:31 +02:00
Clément Bœsch
a982c5d74f tests: drop bc dependency
We already have a dependency on awk and bc is sometimes not found in the
base system.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 11:17:45 +02:00
Anton Khirnov
a06b0b1295 h264: initialize H264Context.avctx in init_thread_copy
This prevents using a wrong (first thread's) AVCodecContext if decoding
a frame in the first pass over all threads fails.
2015-02-21 09:29:48 +01:00
Anton Khirnov
0dea4c77cc h264: only ref cur_pic in update_thread_context if it is initialized
It may be empty if the previous thread's decode call did not contain a
valid frame.
2015-02-21 09:29:27 +01:00
Christophe Gisquet
3fdcb8ccdc Makefile: improve DBG option for asm
This improves the cleanup, dependency generation and DBG command issuing.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 03:23:55 +01:00
Michael Niedermayer
f56f0e091f Merge commit '3fe26bb60858951710a42065c8183cce100d632a'
* commit '3fe26bb60858951710a42065c8183cce100d632a':
  hlsenc: write playlist into a temp file and replace the original atomically

Conflicts:
	libavformat/hlsenc.c

See: da97e4c64a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 01:59:32 +01:00
Michael Niedermayer
e78a729163 avformat/hlsenc: Use ff_rename() only for local files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 01:50:26 +01:00
Hendrik Leppkes
da97e4c64a hlsenc: write playlist into a temp file and replace the original atomically
Reviewed-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 01:50:06 +01:00
Michael Niedermayer
0d6ae06766 Merge commit 'ff48ae94f90f6862dbe5b1e7397a1bda3150e200'
* commit 'ff48ae94f90f6862dbe5b1e7397a1bda3150e200':
  hlsenc: remove the AVIOContext for the playlist from the muxer context

Conflicts:
	libavformat/hlsenc.c

See: 28bf05e7b5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 01:07:58 +01:00
Peter Meerwald
9abc80f1ed libavcodec: Make use of av_clip functions
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-21 00:54:40 +01:00
Peter Meerwald
76ce9bd8e2 libavutil: Add ARM av_clip_intp2_arm
add ARM code for implementing av_clip_intp2 using the ssat instruction

on Cortex-A8, av_clip_intp2_arm() is faster than av_clip_intp2_c() and
the generic av_clip(), about -19%

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-21 00:54:40 +01:00
Peter Meerwald
bf07d813f6 libavutil: Add av_clip_intp2
there already is a function, av_clip_uintp2() that clips a signed integer
to an unsigned power-of-two range, i.e. 0,2^p-1

this patch adds a function av_clip_intp2() that clips a signed integer
to a signed power-of-two range, i.e. -(2^p),(2^p-1)

the new function can be used as a special case for av_clip(), e.g.
av_clip(x, -8192, 8191) can be rewritten as av_clip_intp2(x, 13)

there are ARM instructions, usat and ssat resp., which map nicely to these
functions (see next patch)

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-21 00:54:40 +01:00
Michael Niedermayer
c0e3b46118 swresample: add av_cold to init functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 00:33:09 +01:00
Lukasz Marek
e19d1840da lavf/ffmenc: do not fail on missing codec
ffm encoder fails when codec is not found.
It may happen when stream is being copied.
This commit allows to store such stream and provides
backward compatibility with version prior 2.5 release.

fixes #4266

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-02-21 00:23:37 +01:00
Hendrik Leppkes
3fe26bb608 hlsenc: write playlist into a temp file and replace the original atomically
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 23:55:28 +02:00
Hendrik Leppkes
ff48ae94f9 hlsenc: remove the AVIOContext for the playlist from the muxer context
Its only used in one function, having it in the context serves no purpose.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 23:55:27 +02:00
Michael Niedermayer
0a1146a59a Merge commit 'b8d18a94376c44dac9523dc3317259a30fc92f8b'
* commit 'b8d18a94376c44dac9523dc3317259a30fc92f8b':
  libavcodec: Don't use av_cold annotation in twinvq header file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 22:24:43 +01:00
Michael Niedermayer
7b7f8d3ed0 Merge commit 'df0891fc8f32db3ced797cd6ebff9492fda01b99'
* commit 'df0891fc8f32db3ced797cd6ebff9492fda01b99':
  libavresample: Annotate AARCH64 init function with av_cold

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 22:13:07 +01:00
Michael Niedermayer
dc6eadaa45 Merge commit '46ad9ac9641d1fe8292ec1f46bbd2e4456621ca7'
* commit '46ad9ac9641d1fe8292ec1f46bbd2e4456621ca7':
  rtpdec_h264: Move a leftover comment into h264_handle_packet_stap_a

Conflicts:
	libavformat/rtpdec_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 22:03:54 +01:00
Michael Niedermayer
d19ca4b2ea Merge commit 'a335ed767161c6da2815371177cfd5e40f78e5b7'
* commit 'a335ed767161c6da2815371177cfd5e40f78e5b7':
  rtpdec_h264: Remove an unnecessary check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:57:34 +01:00
Michael Niedermayer
ac7128a90f Merge commit '176903ce833ce7469f411640e9748a0d549b5285'
* commit '176903ce833ce7469f411640e9748a0d549b5285':
  rtpdec_h264: Return immediately on errors in h264_handle_packet_stap_a

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:48:32 +01:00
Michael Niedermayer
48e661b30b Merge commit 'bb8c6ac840afa69dd37860fdf85da9f4cf1e0ae4'
* commit 'bb8c6ac840afa69dd37860fdf85da9f4cf1e0ae4':
  rtpdec_h264: Make a parameter pointer const

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:40:17 +01:00
Michael Niedermayer
5346b57ee7 Merge commit '7650caf013f45ebebf128855735a0c6350836ea4'
* commit '7650caf013f45ebebf128855735a0c6350836ea4':
  rtpdec_h264: Use av_realloc instead of av_malloc+mempcy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:30:14 +01:00
Michael Niedermayer
2130ed3312 Merge commit '8bdbf49c6f4d9473183a3c45ec70d611eb6183cd'
* commit '8bdbf49c6f4d9473183a3c45ec70d611eb6183cd':
  rtpdec_h264: Include the right header for AV_RB16

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:23:16 +01:00
Michael Niedermayer
de4ae9fb64 Merge commit 'ba2e07909b848e583245856a59d0fe1dd08f917e'
* commit 'ba2e07909b848e583245856a59d0fe1dd08f917e':
  rtpdec_vp8: Set the keyframe flag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:15:28 +01:00
Michael Niedermayer
0f55bc29d4 avformat/omadec: Use 64bit for ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:01:54 +01:00
Michael Niedermayer
cb08687180 avformat/vqf: Use 64bit for ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:00:57 +01:00
Michael Niedermayer
d44e0d8b93 avformat/wtvdec: Use 64bit for ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 20:57:31 +01:00
Michael Niedermayer
26c0cc154e avformat/mvdec: Use 64bit for ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 20:41:35 +01:00
Michael Niedermayer
80a851aa5e avformat/apngdec: Use 64bit for ret to avoid overflow
Missed this hunk in first commit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 20:39:04 +01:00
Michael Niedermayer
12987f8900 avformat/gxf: Use 64bit for res to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 20:14:56 +01:00
Michael Niedermayer
d1923d15a3 avformat/idcin: Use 64bit for ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 20:13:06 +01:00
Michael Niedermayer
0e3d6e17de avformat/apngdec: Use 64bit ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 19:31:10 +01:00
Michael Niedermayer
d4936d28a1 avformat/asfdec: Use 64bit ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 19:30:09 +01:00
Rodger Combs
62e95757d5 wtvdec: fix integer overflow resulting in errors with large files
This fixes a regression in 9fbc613f0d

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 18:38:36 +01:00
Peter Meerwald
b8d18a9437 libavcodec: Don't use av_cold annotation in twinvq header file
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:32:37 +02:00
Peter Meerwald
df0891fc8f libavresample: Annotate AARCH64 init function with av_cold
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:32:37 +02:00
Martin Storsjö
46ad9ac964 rtpdec_h264: Move a leftover comment into h264_handle_packet_stap_a
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:30:05 +02:00
Martin Storsjö
a335ed7671 rtpdec_h264: Remove an unnecessary check
If src_len is too small for nal_size, we already print a warning
above, and the next step is to check the while loop condition
anyway, so this one serves no purpose.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:29:58 +02:00
Martin Storsjö
176903ce83 rtpdec_h264: Return immediately on errors in h264_handle_packet_stap_a
Previously, errors were only logged but the code kept on trying,
and never actually returning the error as a return value.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:29:39 +02:00
Martin Storsjö
bb8c6ac840 rtpdec_h264: Make a parameter pointer const
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:29:34 +02:00
Martin Storsjö
7650caf013 rtpdec_h264: Use av_realloc instead of av_malloc+mempcy
This is similar to what was done for rtpdec_hevc in ced7238cd0.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:29:29 +02:00
Martin Storsjö
8bdbf49c6f rtpdec_h264: Include the right header for AV_RB16
Including libavcodec/get_bits.h is superfluous for AV_RB16 - nothing
in this file uses any actual bitstream reader.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:28:44 +02:00
Martin Storsjö
ba2e07909b rtpdec_vp8: Set the keyframe flag
This allows the output to be used with stream copy, which discards
packet from the start until the first keyframe.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:28:28 +02:00
Michael Niedermayer
f015d3d539 MAINTAINERS: Add Oleksij as maintainer for DSS*
Also add a 2nd maintainer at the authors request (due to lack of time)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 16:17:46 +01:00
Hendrik Leppkes
28bf05e7b5 hlsenc: remove the AVIOContext for the playlist from the muxer context
Its only used in one function, having it in the context serves no purpose.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 13:13:19 +01:00
Kevin Wheatley
31c7c0e156 avformat/movenc: Move avid DNxHD padding to the correct spot
Outputting DNxHD into .mov containers 'corrupts' following atoms until end of stsd

ffmpeg and qtdump could not decode pasp/colr atoms in the files made by ffmpeg,
when outputting DNxHD due to the incorrect padding placement. Now we add the
padding in the correct place

Tidy up FATE changes due to padding changes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 12:17:14 +01:00
Michael Niedermayer
588361dd26 avcodec/dca: move remaining tables to dcadata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 11:11:33 +01:00
Michael Niedermayer
6c91afe497 avcodec/snowdec: Fix avmv_index increment
Fixes reading uninitialized memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 03:31:14 +01:00
Arwa Arif
627d2a7628 avfilter/vf_eq: Add process_command to eq.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 00:06:37 +01:00
Michael Niedermayer
b11edbd289 avcodec/dss_sp: Avoid a slow division and modulo in the pitch_lag calculation
Also check the combined_pitch for validity (which is needed to keep the behavior
identical in the error case)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 22:53:35 +01:00
Michael Niedermayer
31fb029f2d avcodec/dss_sp: de-obfuscate index inversion
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 22:41:41 +01:00
Michael Niedermayer
4f1c1b26f2 avcodec/dss_sp: Protect DSS_SP_FORMULA() with a set of outside brackets
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 22:29:02 +01:00
Michael Niedermayer
be0cb7e053 avformat/dss: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 22:15:22 +01:00
Michael Niedermayer
b2bbe8298b avformat/dss: Check sscanf() return value in dss_read_metadata_date()
Fixes writing uninitialized values into metadata without error in case
parsing fails

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 22:10:47 +01:00
Michael Niedermayer
29d2197d88 Merge commit 'b727b0eeb73cd78533a7fd387ceccd505e48fa6c'
* commit 'b727b0eeb73cd78533a7fd387ceccd505e48fa6c':
  fate: Add tests for DSS

Conflicts:
	tests/fate/audio.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 21:53:39 +01:00
Michael Niedermayer
e821910a21 Merge commit '062cd5a975ff7bd6fb91f9b4d1d9d102a7545499'
* commit '062cd5a975ff7bd6fb91f9b4d1d9d102a7545499':
  lavf: Add DSS demuxer

Conflicts:
	libavformat/Makefile
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 21:44:58 +01:00
Michael Niedermayer
dfe5a9f022 Merge commit 'c56b9b1eb278c5ef89d3f0832a56dfe4732cb68b'
* commit 'c56b9b1eb278c5ef89d3f0832a56dfe4732cb68b':
  lavc: Add DSS SP decoder

Conflicts:
	libavcodec/avcodec.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 21:31:26 +01:00
Michael Niedermayer
99bcfe6227 Merge commit '0fbb271318899a0fb1fbcbb3db8292e909b91e23'
* commit '0fbb271318899a0fb1fbcbb3db8292e909b91e23':
  qsv_api: fix building with libmfx disabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 21:12:33 +01:00
Michael Niedermayer
ac649bb775 Merge commit '11c22dfd495bbd3f38df639772aa4bb9a1be882d'
* commit '11c22dfd495bbd3f38df639772aa4bb9a1be882d':
  configure: add missing h264_qsv hwaccel deps

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 21:12:19 +01:00
Michael Niedermayer
841e9f431c Merge commit '4e08c821106fc1d6d358864abf0d8488b12f38c6'
* commit '4e08c821106fc1d6d358864abf0d8488b12f38c6':
  lavc: add an Intel libmfx-based H.264 decoder

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 21:12:04 +01:00
Michael Niedermayer
560eb7179a Merge commit '31d2039cb42668ebcf08248bc48bbad44aa05f49'
* commit '31d2039cb42668ebcf08248bc48bbad44aa05f49':
  h264_parser: export video format and dimensions

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 20:39:04 +01:00
Michael Niedermayer
e3755119fa Merge commit '5b1d9ceec715846a58fe029bc3889ed6fa62436a'
* commit '5b1d9ceec715846a58fe029bc3889ed6fa62436a':
  pixfmt: add a pixel format for QSV hwaccel

Conflicts:
	doc/APIchanges
	libavutil/pixfmt.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 20:23:48 +01:00
Vittorio Giovara
b727b0eeb7 fate: Add tests for DSS
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
2015-02-19 12:05:19 -05:00
Oleksij Rempel
062cd5a975 lavf: Add DSS demuxer
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-19 12:05:19 -05:00
Oleksij Rempel
c56b9b1eb2 lavc: Add DSS SP decoder
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-19 12:05:19 -05:00
Anton Khirnov
0fbb271318 qsv_api: fix building with libmfx disabled 2015-02-19 17:35:34 +01:00
Anton Khirnov
11c22dfd49 configure: add missing h264_qsv hwaccel deps 2015-02-19 17:32:55 +01:00
Michael Niedermayer
65da611d34 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  doc/faq: explain DAR/SAR preserving.
  doc: set documentencoding on toplevel texi files.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 16:37:46 +01:00
Kevin Wheatley
fb3fb1d0d4 avformat/mov: Add simple ACLR atom reading to set the color range of the incomming track for codec's like DNxHD that utilise AVID's proprietary atom.
On input ACLR will be used to set colour range no matter which codec
it is associated with.
No change for when it will be output.

Rework mov_read_extradata function to allow detection of truncated
atom reads by callers.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 15:42:55 +01:00
Anton Khirnov
4e08c82110 lavc: add an Intel libmfx-based H.264 decoder
Based on the code by Luca Barbato <lu_zero@gentoo.org> and Yukinori
Yamazoe <drocon11@gmail.com>.
2015-02-19 15:08:49 +01:00
Anton Khirnov
31d2039cb4 h264_parser: export video format and dimensions 2015-02-19 15:07:52 +01:00
Anton Khirnov
5b1d9ceec7 pixfmt: add a pixel format for QSV hwaccel 2015-02-19 15:07:21 +01:00
Nicolas George
c49c42a4a3 doc/faq: explain DAR/SAR preserving. 2015-02-19 11:30:30 +01:00
Nicolas George
b491751409 doc: set documentencoding on toplevel texi files.
Fix double UTF-8 encoding on output files.
makeinfo / texi2any does not seem to provide a way of setting
it globally for toplevel files.
2015-02-19 11:30:30 +01:00
Clément Bœsch
2280552057 avfilter/palettegen: raise cache size from 64k to 512k
(or 32k to 256k in 32-bit)

This is similar to a00bab3475
2015-02-19 11:17:45 +01:00
Michael Niedermayer
c1ff2cdbca Merge commit '0f532fd3f9b9ca974cea0feb8ddcaf4a7f3b23c5'
* commit '0f532fd3f9b9ca974cea0feb8ddcaf4a7f3b23c5':
  rv40: Return more meaningful error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 10:54:07 +01:00
Himangi Saraogi
0f532fd3f9 rv40: Return more meaningful error codes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-02-19 08:39:29 +01:00
Michael Niedermayer
f144e4ddff avcodec/wmalosslessdec: use sizeof() instead of a literal number
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 03:14:50 +01:00
Michael Niedermayer
9d88be6873 avfilter/vf_subtitles: Add () to protect the argument of the AA() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 01:51:54 +01:00
Michael Niedermayer
e0be5c4fbe avutil/sha: Protect macro arguments with ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 22:50:41 +01:00
Michael Niedermayer
80d278a981 ffmpeg_opt: Add missing MATCH_PER_TYPE_OPT() for data codecs
Fixes: CID1270809

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 22:13:35 +01:00
Michael Niedermayer
77c133f7ac Merge commit 'd617e77cecc5b363ef1860955b548f4ac007add6'
* commit 'd617e77cecc5b363ef1860955b548f4ac007add6':
  libx265: Add crf private option

See: 8b96e8dd28
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 20:45:18 +01:00
Michael Niedermayer
00acf38379 Merge commit '2de887e45b664f44b51686f5979fa8ce6dfe2ec2'
* commit '2de887e45b664f44b51686f5979fa8ce6dfe2ec2':
  libx265: Reduce the scope of some variables

See: b920db6731
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 20:26:29 +01:00
Supraja Meedinti
4b7c26843c tests: fate: adding fate-test for twofish
Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 17:57:43 +01:00
Michael Niedermayer
9e008ed1b4 avformat/movenc: Fix use of uninitialized variable (ret)
Fixed CID1270823

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 16:33:15 +01:00
Derek Buitenhuis
8b96e8dd28 libx265: Add crf private option
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-02-18 10:21:56 -05:00
Derek Buitenhuis
b920db6731 libx265: Reduce the scope of some variables
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-02-18 10:21:54 -05:00
Derek Buitenhuis
d617e77cec libx265: Add crf private option
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-02-18 10:18:12 -05:00
Derek Buitenhuis
2de887e45b libx265: Reduce the scope of some variables
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-02-18 10:16:50 -05:00
Michael Niedermayer
b68d902b6e avformat/ffmenc: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 14:31:11 +01:00
Michael Niedermayer
c8c10a5fc7 avformat/ffmenc: Fix memleak of buf
Fixes CID1257015

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 14:30:15 +01:00
Clément Bœsch
8087632027 avfilter/showpalette: fix leak in case of error
Fixes CID1270820
Fixes CID1270818
2015-02-18 14:04:10 +01:00
Clément Bœsch
80f44eafaa avfilter/palettegen: fix leak in case of error 2015-02-18 14:04:10 +01:00
Clément Bœsch
f40266560b avfilter/paletteuse: fix leak in case of error
Fixes CID1270819
2015-02-18 14:04:10 +01:00
Michael Niedermayer
9f6431c8f6 avfilter/af_channelmap: Move potential dereference after NULL check in get_channel_idx()
Fixes CID1270822

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 13:40:39 +01:00
Michael Niedermayer
bdb3194217 avfilter/vf_qp: Fix leak of out_qp_table_buf
Fixes CID1270821

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 13:12:06 +01:00
Michael Niedermayer
a76e91bf67 avfilter/avfiltergraph: assert that the heap_bubble index is valid
This might help coverity

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 12:31:02 +01:00
Michael Niedermayer
424ed1a83e avcodec/faxcompr: Fix memleak
Fixes CID1270816

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 11:38:00 +01:00
Paul B Mahol
956bd71eeb avcodec/opusdec: remove unused headers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-18 09:58:16 +00:00
Michael Niedermayer
8bc80016c1 avfilter/vf_removelogo: Add () to protect the argument of apply_mask_fudge_factor()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 01:56:19 +01:00
Michael Niedermayer
d501b986a9 swscale/bayer_template: Add () to protect the argument of BAYER_READ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 01:55:15 +01:00
Michael Niedermayer
0babb896b4 compat/avisynth/windowsPorts/windows2linux: Add () to protect macro arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 01:49:35 +01:00
Michael Niedermayer
b7c19aee6c avcodec/wavpack: Add () to protect the arguments of UPDATE_WEIGHT_CLIP()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 01:49:35 +01:00
Michael Niedermayer
dfc2a3982f avcodec/wmalosslessdec: Add () to protect the arguments of WMASIGN()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 01:49:28 +01:00
Supraja Meedinti
092ee6cd32 libavutil: optimize twofish cipher
before:
lavu       TWOFISH      size: 1048576  runs:   1024  time:   90.052 +- 4.630
after:
lavu       TWOFISH      size: 1048576  runs:   1024  time:   18.085 +- 0.241
gcrypt     TWOFISH      size: 1048576  runs:   1024  time:   25.666 +- 0.307
tomcrypt   TWOFISH      size: 1048576  runs:   1024  time:   18.428 +- 0.363

Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 00:59:55 +01:00
Michael Niedermayer
77ae94727f Merge commit '195942ed9b9b563ec86d34b73aa2c1ee8715d59d'
* commit '195942ed9b9b563ec86d34b73aa2c1ee8715d59d':
  riff: Support QT RLE Animation in avi ('rle ' FourCC)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 23:51:39 +01:00
Michael Niedermayer
97bd0e2a93 Merge commit 'c78dc12118cb5b2a69a17f38c69f77a42e89a9c4'
* commit 'c78dc12118cb5b2a69a17f38c69f77a42e89a9c4':
  riff: Support ProRes in avi (APCH fourcc)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 23:42:54 +01:00
Michael Niedermayer
d06dce21a4 Merge commit '42c8f92e2fa390fa17b03d37b4323ec0d721d4cd'
* commit '42c8f92e2fa390fa17b03d37b4323ec0d721d4cd':
  wmv2: Return meaningful error codes

Conflicts:
	libavcodec/wmv2dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 23:34:36 +01:00
Michael Niedermayer
41572ac698 Merge commit 'f3e045263e445c4ab54d85ecae359494cd96a3e2'
* commit 'f3e045263e445c4ab54d85ecae359494cd96a3e2':
  qdm2: Return meaningful error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 23:26:56 +01:00
Michael Niedermayer
d128794fbc Merge commit 'a1e2c47cd4fdaa64beda7e6dfa623b65c46f5012'
* commit 'a1e2c47cd4fdaa64beda7e6dfa623b65c46f5012':
  libxvid: Return meaningful error messages

Conflicts:
	libavcodec/libxvid.c
	libavcodec/libxvid_rc.c

See: 2a89afb376 and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 23:13:12 +01:00
Michael Niedermayer
2e786bc498 avcodec/aac_adtstoasc_bsf: Clear extradata_size on allocation failure
This keeps the fields consistent

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:58:31 +01:00
Michael Niedermayer
38e867f6c0 Merge commit '18f4fa251b0eb36392839f5bf6180f280dc04d8d'
* commit '18f4fa251b0eb36392839f5bf6180f280dc04d8d':
  aac_adtstoasc_bsf: Check extradata memory allocation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:55:27 +01:00
Michael Niedermayer
62aec0c2d5 Merge commit 'fe0f4e56577a2dbd373bb50b0ae2d49e69d822fc'
* commit 'fe0f4e56577a2dbd373bb50b0ae2d49e69d822fc':
  avpacket: Check buffer reference

Conflicts:
	libavcodec/avpacket.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:47:36 +01:00
Michael Niedermayer
7a7b77e6c9 Merge commit '31dc73e92a96f08d07650c0e7d31c0b9a1465d46'
* commit '31dc73e92a96f08d07650c0e7d31c0b9a1465d46':
  vorbisdec: Check memory allocations

Conflicts:
	libavcodec/vorbisdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:39:32 +01:00
Michael Niedermayer
3d5c0ba816 Merge commit 'ec17782e17de1e8501ca213e276dfe5412ff1d11'
* commit 'ec17782e17de1e8501ca213e276dfe5412ff1d11':
  dvdsubdec: Check memory allocations

Conflicts:
	libavcodec/dvdsubdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:31:26 +01:00
Michael Niedermayer
2a1b79d7e6 Merge commit 'e51f22122d23589e93ac4f0b3e570bb925755915'
* commit 'e51f22122d23589e93ac4f0b3e570bb925755915':
  swscale: Check memory allocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:22:17 +01:00
Michael Niedermayer
880cee0044 Merge commit '3035d21b5a77df0e9531df397fc06d59488996c7'
* commit '3035d21b5a77df0e9531df397fc06d59488996c7':
  nutdec: Check memory allocations

Conflicts:
	libavformat/nutdec.c

See: 55ae13e3de
See: 269845db86
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:09:29 +01:00
Michael Niedermayer
95165f7c1b avformat/movenc: Fix stts_entries allocation check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:51:35 +01:00
Michael Niedermayer
80c5dc5610 Merge commit 'a8765852158ecb2ae34895fa35ff51dc95c186f9'
* commit 'a8765852158ecb2ae34895fa35ff51dc95c186f9':
  movenc: Check memory allocations

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:50:08 +01:00
Michael Niedermayer
575ed4fe37 Merge commit 'da7e31a240f276836a0b90ca6c0714181b353cc4'
* commit 'da7e31a240f276836a0b90ca6c0714181b353cc4':
  rmdec: Check memory allocations from ff_rm_alloc_rmstream()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:42:36 +01:00
Michael Niedermayer
beae6ac5db Merge commit 'd89e58f53939d91a88aa7042c94d9d1cd364da52'
* commit 'd89e58f53939d91a88aa7042c94d9d1cd364da52':
  dct-test: Fix initialization syntax

See: 392b4b663c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:36:01 +01:00
Michael Niedermayer
563ed912ea Merge commit 'bb7701684c7170dfd5f33a3c7d827265844619f2'
* commit 'bb7701684c7170dfd5f33a3c7d827265844619f2':
  lavf: Document the codec context initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:26:04 +01:00
Michael Niedermayer
2980c8e7d3 Merge commit 'cb70a93ca1e7fae1b5dfb65ad149d311a65206a4'
* commit 'cb70a93ca1e7fae1b5dfb65ad149d311a65206a4':
  lavc: Document interaction between avcodec_open2() and decoding routines

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:25:07 +01:00
Michael Niedermayer
79216a189b Merge commit '733f4b05f0e120ddd0393b23f2b6d9106cf922e4'
* commit '733f4b05f0e120ddd0393b23f2b6d9106cf922e4':
  avplay: Check format allocation inside decode_thread()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:16:34 +01:00
Michael Niedermayer
32b2b7bd8c Merge commit '266f241193b2fa8c99bb8b1f007c66bedd3b7d97'
* commit '266f241193b2fa8c99bb8b1f007c66bedd3b7d97':
  avplay: Check frame allocation inside video_thread()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:09:11 +01:00
Michael Niedermayer
15cd2a93e7 Merge commit '81688e68f93f3142e2093f1a3d226edaeb179992'
* commit '81688e68f93f3142e2093f1a3d226edaeb179992':
  avconv: Check rc_override memory allocation

Conflicts:
	ffmpeg_opt.c

See: 7efabffc28
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:00:04 +01:00
Michael Niedermayer
9d5017a20c Merge commit '9d3b752fceb0f2a42cac7c2a1109b0629823c99f'
* commit '9d3b752fceb0f2a42cac7c2a1109b0629823c99f':
  graphparser: Check av_get_token() memory error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 20:48:22 +01:00
Michael Niedermayer
a4cd057bc7 avformat/matroskaenc: Use the correct data type for the chapter times
Fixes potential integer overflow

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 20:40:00 +01:00
Michael Niedermayer
d302853bca Merge commit '5dc47a2bd52e375ed742c45d08356b45098f458d'
* commit '5dc47a2bd52e375ed742c45d08356b45098f458d':
  matroskaenc: Validate chapter start and end times

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 20:25:47 +01:00
Michael Niedermayer
d2668ae472 Merge commit 'f8c1719771dc4ac2e13e6bc8bf741854a30e3a86'
* commit 'f8c1719771dc4ac2e13e6bc8bf741854a30e3a86':
  dca: Remove separate header for DCA ExSS

Conflicts:
	libavcodec/dca.h
	libavcodec/dca_exss.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 20:18:19 +01:00
Michael Niedermayer
03dab49a12 avcodec/vp56: Add () to protect TRANSPOSE()s arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 19:13:26 +01:00
Vittorio Giovara
195942ed9b riff: Support QT RLE Animation in avi ('rle ' FourCC)
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-17 12:18:20 -05:00
Vittorio Giovara
c78dc12118 riff: Support ProRes in avi (APCH fourcc)
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-17 12:18:20 -05:00
Himangi Saraogi
42c8f92e2f wmv2: Return meaningful error codes 2015-02-17 12:18:20 -05:00
Himangi Saraogi
f3e045263e qdm2: Return meaningful error codes 2015-02-17 12:18:20 -05:00
Himangi Saraogi
a1e2c47cd4 libxvid: Return meaningful error messages 2015-02-17 12:18:20 -05:00
Himangi Saraogi
18f4fa251b aac_adtstoasc_bsf: Check extradata memory allocation
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-17 12:18:10 -05:00
Vittorio Giovara
fe0f4e5657 avpacket: Check buffer reference
CC: libav-stable@libav.org
Bug-Id: CID 1267889
2015-02-17 12:16:43 -05:00
Vittorio Giovara
31dc73e92a vorbisdec: Check memory allocations 2015-02-17 12:16:43 -05:00
Vittorio Giovara
ec17782e17 dvdsubdec: Check memory allocations 2015-02-17 12:16:43 -05:00
Federico Tomassetti
e51f22122d swscale: Check memory allocations
CC: libav-stable@libav.org
Bug-Id: CID 1267888 / CID 1267890
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-17 12:16:43 -05:00
Hugo Beauzée-Luyssen
3035d21b5a nutdec: Check memory allocations
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-17 12:16:43 -05:00
Hugo Beauzée-Luyssen
a876585215 movenc: Check memory allocations
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-17 12:16:43 -05:00
Hugo Beauzée-Luyssen
da7e31a240 rmdec: Check memory allocations from ff_rm_alloc_rmstream()
Bug-Id: CID 1257835
2015-02-17 12:16:43 -05:00
Vittorio Giovara
d89e58f539 dct-test: Fix initialization syntax
Related to "warning: suggest braces around initialization of subobject".
2015-02-17 11:27:42 -05:00
Vittorio Giovara
bb7701684c lavf: Document the codec context initialization
During remuxing avcodec_copy_context() is discouraged as certain fields
(such as codec_tag) could reflect invalid values between input and
output contextes.
2015-02-17 11:27:42 -05:00
Vittorio Giovara
cb70a93ca1 lavc: Document interaction between avcodec_open2() and decoding routines 2015-02-17 11:27:42 -05:00
Vittorio Giovara
733f4b05f0 avplay: Check format allocation inside decode_thread()
CC: libav-stable@libav.org
Bug-Id: CID 1265718
2015-02-17 11:27:41 -05:00
Vittorio Giovara
266f241193 avplay: Check frame allocation inside video_thread()
CC: libav-stable@libav.org
Bug-Id: CID 1267893
2015-02-17 11:27:41 -05:00
Vittorio Giovara
81688e68f9 avconv: Check rc_override memory allocation
CC: libav-stable@libav.org
Bug-Id: CID 1265719
2015-02-17 11:27:41 -05:00
Vittorio Giovara
9d3b752fce graphparser: Check av_get_token() memory error
CC: libav-stable@libav.org
Bug-Id: CID 1267891
2015-02-17 11:27:41 -05:00
Vittorio Giovara
5dc47a2bd5 matroskaenc: Validate chapter start and end times
CC: libav-stable@libav.org
Bug-Id: CID 1265717
2015-02-17 11:27:41 -05:00
Clément Bœsch
a00bab3475 avfilter/paletteuse: raise cache size from 64k to 512k
(or 32k to 256k in 32-bit)
2015-02-17 17:20:42 +01:00
Christophe Gisquet
398f531915 x86: hevc_mc: fewer xmm regs used in epel h/v
11 xmm regs seem only required for avx2.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 15:19:19 +01:00
Carl Eugen Hoyos
a9dc94c39c Force linking against user32 if dxva2 is enabled.
Fixes compilation with vfwcap disabled.
Reported and tested by Bernhard Döbler, programmer bardware de

Reviewed-by: Matt Oliver
2015-02-17 13:25:23 +01:00
Christophe Gisquet
bc8e044d8c x86/doc/Makefile: DBG=1 to preprocess external asm
The macro hell sometimes make it difficult to trace the source of
an error, so it is easier to analyze the preprocessed output.

This patch makes this automatical by specifying DBG=1 on the
command line: a file ffmpeg/dir/file.asm gets preprocessed to
builddir/dir/file.dbg.asm, which is then compiled.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 13:08:04 +01:00
Christophe Gisquet
d9293c776e x86inc: Correctly warn on use of SSE2 instructions in SSE functions
SSE2 instructions that are XMM-implementations of pre-existing MMX/MMX2
instructions did not issue warnings when used in SSE functions. Handle
it by also checking the register type when such instructions are used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 12:35:58 +01:00
Michael Niedermayer
2bae7b3370 avfilter/vf_fieldmatch: Add () to protect the arguments of the HAS_FF_AROUND() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:49:32 +01:00
Michael Niedermayer
f15c734be1 avfilter/vf_phase: Add () to protect DIFF()s arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:47:47 +01:00
Michael Niedermayer
0cb95f9082 swresample/resample_template: Add () to protect the arguments of the OUT() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:36:35 +01:00
Michael Niedermayer
52d1929000 avutil/aes: Add () to protect the ROT() arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:22:42 +01:00
Michael Niedermayer
06309fc704 avutil/attributes: Add () to protect the AV_GCC_VERSION_AT_LEAST() arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:21:48 +01:00
Michael Niedermayer
f8607cfb0a avutil/intmath: Add () to protect the ff_log2() argument
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:20:49 +01:00
Michael Niedermayer
cdee0c9d5f avutil/murmur3: Add () to protect the ROT() arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:18:15 +01:00
Michael Niedermayer
9cde41cdb5 avutil/version: Add () to protect the AV_VERSION_INT() arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:17:47 +01:00
Michael Niedermayer
527f1d22a1 avformat/tedcaptionsdec: add () to protect the argument of ERR_CODE()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:05:51 +01:00
Michael Niedermayer
61eb602d27 avutil/log: add () to protect the argument of AV_LOG_C()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:04:22 +01:00
Michael Niedermayer
e3f7142306 avcodec/vc1dsp: add () to protect the arguments of the op* macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:02:40 +01:00
Michael Niedermayer
cb9d40451c avcodec/ac3: add () to protect the macro arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 23:59:39 +01:00
Michael Niedermayer
0b638b83c6 avformat/mpc8: Add () to protect MKMPCTAG()s arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 23:14:27 +01:00
Michael Niedermayer
235782260d avcodec/me_cmp: add () to protect avg*s arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 23:13:00 +01:00
Michael Niedermayer
17a62cbcb9 avcodec/bmvvideo: Add () to protect NEXT_BYTE() argument
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 23:09:09 +01:00
Michael Niedermayer
37013fd018 swresample/swresample-test: Add () to protect uint_rand() argument
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 23:09:09 +01:00
Michael Niedermayer
ced26a2c65 avformat/tls: add () to protect macro arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 23:09:08 +01:00
James Almer
6e3651983c avcodec/hevcdsp: add missing () to CMP macro
Found-by: Clément Bœsch <u@pkh.me>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-16 18:56:16 -03:00
Christophe Gisquet
89cb4995fa x86: hevc_mc: save 1 gpr in epel filter loading
The 3*stride value stored in r3src can be loaded much later,
so use r3src instead of a dedicated gpr when possible.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 21:53:51 +01:00
James Almer
22596383f3 avcodec/hevcdsp: optimize pixel comparison in sao_edge_filter
GCC 4.9.2 on a Core i5-4200U @ 1.60GHz, Linux x86_64

Before
715487 decicycles in sao_edge_filter_8, 262144 runs, 0 skips

After
672104 decicycles in sao_edge_filter_8, 262144 runs, 0 skips

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-16 17:47:47 -03:00
wm4
4bf3fab281 hls: fix a null pointer dereference
Not allocating the pls->ctx will crash in libavformat/hls.c:1410, where
it tries to dereference the field.

Sample: http://ec24.rtp.pt/liverepeater/rtpn.smil/playlist.m3u8

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 19:59:04 +01:00
zhaoxiu.zeng
bf99068089 avcodec/vc1_mc: factor out helper functions for scaling blocks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 19:44:46 +01:00
Kevin Wheatley
88868d81a5 avformat/rtpdec_h264: fix compile failure with -DDEBUG
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 18:31:59 +01:00
Clément Bœsch
f9240ec01a avcodec/gif: fix off by one in column offsetting finding 2015-02-16 17:47:35 +01:00
Seppo Tomperi
e40e446efd hevcdsp: HEVC deblocking ARM NEON register clobber fix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 13:27:41 +01:00
zhaoxiu.zeng
0f83415569 avcodec/vc1_mc: move median4() to mathops.h
Needed for architecture specific optimizations

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 11:41:00 +01:00
Diego Biurrun
f8c1719771 dca: Remove separate header for DCA ExSS
There is no point in having a separate header for a single declaration.
2015-02-16 10:44:56 +01:00
James Almer
03adafb318 x86/g722dsp: add ff_g722_apply_qmf_sse2
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-16 00:41:21 -03:00
Michael Niedermayer
e97a9666ef Merge commit '81ef46020fa654720e3beb4f5551ba634fae262a'
* commit '81ef46020fa654720e3beb4f5551ba634fae262a':
  bktr: Use av_strerror and propagate error codes

Conflicts:
	libavdevice/bktr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:56:17 +01:00
Michael Niedermayer
815daf1607 Merge commit '3a651f599a18b023602370b67a77eb0efa309b20'
* commit '3a651f599a18b023602370b67a77eb0efa309b20':
  dca: Move data tables from a header to an object file

Conflicts:
	libavcodec/Makefile
	libavcodec/dcadata.h
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:49:22 +01:00
Michael Niedermayer
9d4f836627 Merge commit '65df9904ceb5477a63e99e1e8fd8ace9a7cb8bda'
* commit '65df9904ceb5477a63e99e1e8fd8ace9a7cb8bda':
  dca: Add array sizes to array declarations

Conflicts:
	libavcodec/dcadata.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:29:41 +01:00
Michael Niedermayer
e86f754b1c Merge commit '702458538d4e52809bcef460d39baabf061b16b5'
* commit '702458538d4e52809bcef460d39baabf061b16b5':
  g722: Add ARM NEON implementation for g722_apply_qmf()

Conflicts:
	libavcodec/arm/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:16:29 +01:00
Michael Niedermayer
39b40be2a1 Merge commit '73ae0a9d12857852222363f9a7c14d07058ebfd3'
* commit '73ae0a9d12857852222363f9a7c14d07058ebfd3':
  g722: Split out computation of band->s_zero and unroll code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:07:42 +01:00
Michael Niedermayer
9e0a1bd2b9 Merge commit 'b16057b5fe9f02442c52388037891c2e381205fc'
* commit 'b16057b5fe9f02442c52388037891c2e381205fc':
  g722: Unroll g722_apply_qmf()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:00:53 +01:00
Michael Niedermayer
9f1792982e Merge commit '10f160768b824f00933f33bc69f1fae89a25dfc8'
* commit '10f160768b824f00933f33bc69f1fae89a25dfc8':
  g722: Reduce number of pointers passed to g722_apply_qmf() function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 01:54:19 +01:00
Michael Niedermayer
47df21e172 Merge commit '67690683130faf37dd9d969ced15eba2a1940ade'
* commit '67690683130faf37dd9d969ced15eba2a1940ade':
  g722: Split out g722_qmf_apply() function into g722dsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 01:46:35 +01:00
Michael Niedermayer
38e641a060 avformat/mov: Bypass av_add_index_entry()
The new mov code uses a temporally non sorted index since 4abfa387b8
and can thus no longer be filled with av_add_index_entry() which expects the index to be sorted.
Reverting 4abfa387b8 and this commit would be
a alternative fix as would be various other options.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 01:30:47 +01:00
Michael Niedermayer
f9e76d66e9 Merge commit '4abfa387b8234736f6e0e541951e3d5eb60eb843'
* commit '4abfa387b8234736f6e0e541951e3d5eb60eb843':
  mov: Change DTS-based seek into CTS-based seek.

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 01:28:02 +01:00
Himangi Saraogi
81ef46020f bktr: Use av_strerror and propagate error codes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-02-15 13:42:31 -08:00
Diego Biurrun
3a651f599a dca: Move data tables from a header to an object file
This allows sharing them with the DCA XLL extension w/o duplication.
2015-02-15 13:34:04 -08:00
Diego Biurrun
65df9904ce dca: Add array sizes to array declarations 2015-02-15 13:34:04 -08:00
Michael Niedermayer
7b564a4cbb Merge commit '51ca3cb604a7585a7cff35d4b954794508955c19'
* commit '51ca3cb604a7585a7cff35d4b954794508955c19':
  xcbgrab: Use the correct geometry for the region highlight

See: 0ae37e460c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 21:51:11 +01:00
Peter Meerwald
702458538d g722: Add ARM NEON implementation for g722_apply_qmf()
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:21 +02:00
Peter Meerwald
73ae0a9d12 g722: Split out computation of band->s_zero and unroll code
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:19 +02:00
Peter Meerwald
b16057b5fe g722: Unroll g722_apply_qmf()
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:16 +02:00
Peter Meerwald
10f160768b g722: Reduce number of pointers passed to g722_apply_qmf() function
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:14 +02:00
Peter Meerwald
6769068313 g722: Split out g722_qmf_apply() function into g722dsp.c
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:10 +02:00
Michael Niedermayer
2870b86c2a Merge commit 'e1a57cbb1c2752feb9315f748836dc44e58d2dc6'
* commit 'e1a57cbb1c2752feb9315f748836dc44e58d2dc6':
  ape: Use the proper variable type

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 21:43:28 +01:00
Michael Niedermayer
fa321cc0c8 Merge commit 'b4cda0a999facbddacb95861a67ff61074edc39b'
* commit 'b4cda0a999facbddacb95861a67ff61074edc39b':
  ogg: check memory allocations

Conflicts:
	libavformat/oggenc.c

See: 0f62982335
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 21:34:06 +01:00
Michael Niedermayer
f3b6a8f554 Merge commit '53367b34e1156614e82ef7af888928f322566f88'
* commit '53367b34e1156614e82ef7af888928f322566f88':
  rtp: h264: Drop the asserts

Conflicts:
	libavformat/rtpdec_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 21:20:25 +01:00
Michael Niedermayer
a848cf63dc Merge commit '3b33dfb23c5022a0cb2a7b13878e4a3492a996c7'
* commit '3b33dfb23c5022a0cb2a7b13878e4a3492a996c7':
  rtp: h264: Move FU-A NAL parsing to a function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 21:09:47 +01:00
Michael Niedermayer
2d2c744f8f Merge commit 'f0a87479960ce000f23f2beaf474707797b4b0d0'
* commit 'f0a87479960ce000f23f2beaf474707797b4b0d0':
  rtp: h264: Move STAP-A NAL parsing to a function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 21:03:47 +01:00
Michael Niedermayer
8f00d7f4b4 Merge commit 'a9a0b8d6c14ece1b4698c6ede9227aca980f6c5b'
* commit 'a9a0b8d6c14ece1b4698c6ede9227aca980f6c5b':
  rtp: h264: Move parse_sprop_parameter_sets parsing to a function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 20:57:49 +01:00
Michael Niedermayer
3773b6edea Merge commit 'b8df0b71c525e9fc9fbee790d093bae3aa62035c'
* commit 'b8df0b71c525e9fc9fbee790d093bae3aa62035c':
  rtp: h264: Move profile_level_id parsing to a function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 20:49:21 +01:00
Michael Niedermayer
3171ac209b Merge commit 'd40815a982c36ff9da09ae3edb5e3bd7d97b5d42'
* commit 'd40815a982c36ff9da09ae3edb5e3bd7d97b5d42':
  xcbgrab: Correctly make shm optional

Conflicts:
	libavdevice/xcbgrab.c

See: 8c0ae9015a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 20:42:52 +01:00
Michael Niedermayer
7d56aab2de Merge commit 'c23ccaf98827cffa651cec3bfa5e57457dfc9dff'
* commit 'c23ccaf98827cffa651cec3bfa5e57457dfc9dff':
  xcbgrab: Check for xcb-shape

Conflicts:
	configure

See: 792f0f2045
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 20:39:36 +01:00
Yusuke Nakamura
4abfa387b8 mov: Change DTS-based seek into CTS-based seek.
CTS-based seek is reasonable since player requests frames in output order
not coded order.

This change fixes seek to a keyframe within consecutive keyframes.
Let's say P[0|-1] and P[1|0], here x and y inside [x|y] are PTS and DTS
respectively, and both two frames are a keyframe. If you try to seek on
PTS=0, i.e. P[0|-1], you'll get P[1|0] if the demuxer is DTS based. This
is obviously undesirable.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 21:26:04 +02:00
Michael Niedermayer
fe03456cdc Merge commit 'e21d85309943a51b7808f5e01dd258b262e09148'
* commit 'e21d85309943a51b7808f5e01dd258b262e09148':
  FATE: add a test for the SVQ1 header byte swapping

Conflicts:
	tests/fate/qt.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 20:25:31 +01:00
Michael Niedermayer
8242946af2 Merge commit 'd3449ac938333d59955360b6cb8e7bc24a9b792e'
* commit 'd3449ac938333d59955360b6cb8e7bc24a9b792e':
  changelog: mention DXVA/HEVC and AAC ELD480

Conflicts:
	Changelog

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 20:08:21 +01:00
Michael Niedermayer
543e329a26 avformat/version: Bump version for "avformat/rtpdec: DV depacketizer (RFC 6469)"
Found-by: Loriker
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 19:51:05 +01:00
Thomas Volkert
cbe508553a avformat/rtpdec: DV depacketizer (RFC 6469)
Tested with live555 RTSP server

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 19:35:19 +01:00
Reynaldo H. Verdejo Pinochet
df4346c541 ffserver: fix wrong indentation
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-02-15 15:15:41 -03:00
Reynaldo H. Verdejo Pinochet
bd8e16f2e6 ffserver: decouple assignment and check
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-02-15 15:15:41 -03:00
Reynaldo H. Verdejo Pinochet
50c1cac432 ffserver: break too-long lines
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-02-15 15:15:41 -03:00
Reynaldo H. Verdejo Pinochet
8129ccec3a ffserver: reorder HTTP fwd decls
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-02-15 15:15:40 -03:00
Daniel Moran
51ca3cb604 xcbgrab: Use the correct geometry for the region highlight
The feature is implemented using a transparent window and drawing
inside it a rectangle filling the whole window to highlight it.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-15 18:20:54 +01:00
Luca Barbato
e1a57cbb1c ape: Use the proper variable type
Avoid an unsigned underflow.

Bug-Id: 1041122
CC: libav-stable@libav.org
2015-02-15 18:20:54 +01:00
Federico Tomassetti
b4cda0a999 ogg: check memory allocations
Bug-Id: CID 1257795
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-15 18:20:54 +01:00
Luca Barbato
53367b34e1 rtp: h264: Drop the asserts 2015-02-15 18:20:54 +01:00
Luca Barbato
3b33dfb23c rtp: h264: Move FU-A NAL parsing to a function 2015-02-15 18:20:54 +01:00
Luca Barbato
f0a8747996 rtp: h264: Move STAP-A NAL parsing to a function 2015-02-15 18:20:54 +01:00
Luca Barbato
a9a0b8d6c1 rtp: h264: Move parse_sprop_parameter_sets parsing to a function 2015-02-15 18:20:54 +01:00
Luca Barbato
b8df0b71c5 rtp: h264: Move profile_level_id parsing to a function 2015-02-15 18:20:54 +01:00
Luca Barbato
d40815a982 xcbgrab: Correctly make shm optional
The segment field in the struct has to be conditionally build
as well.
2015-02-15 18:20:54 +01:00
Luca Barbato
c23ccaf988 xcbgrab: Check for xcb-shape
It is required.
2015-02-15 18:20:54 +01:00
James Almer
f7ed997a6d x86/swr: make pack_8ch functions work with compilers without aligned stack
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-15 13:57:37 -03:00
zhaoxiu.zeng
38c619c1ed avcodec/vc1: cleanup and simplification
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 17:28:02 +01:00
Anton Khirnov
e21d853099 FATE: add a test for the SVQ1 header byte swapping 2015-02-15 15:30:29 +01:00
Anton Khirnov
d3449ac938 changelog: mention DXVA/HEVC and AAC ELD480 2015-02-15 15:30:21 +01:00
Thomas Volkert
e4a6486c17 rtpdec: experimental VP9 depacketizer (draft 0)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 14:54:45 +01:00
Anshul Maheshwari
bbb0634585 ffmpeg_opt: Creating new data stream for output format context
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>

if input codec Id match with expected data stream of output format context
then only new stream with same codec id is created.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 12:32:22 +01:00
Michael Niedermayer
8123e19e61 avcodec/dcadec: Move remaining tables to dcadata.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 11:35:40 +01:00
Michael Niedermayer
1567ec43a3 avfilter/vsrc_mandelbrot: fix indention of mis-indented block
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 01:53:21 +01:00
Zhaoxiu Zeng
2a72b1664d avcodec/h264: use avpriv_find_start_code() in h264_split()
This also allows replacing several literal numbers by named constants
And it should be faster, the function is not speed relevant though as it is
generally only called a few times at the streams start.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 01:13:32 +01:00
Michael Niedermayer
7d60baa8d9 avformat/matroskaenc: add allow_raw_vfw and disable it by default
Based on complaint by wm4

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 00:43:38 +01:00
Michael Niedermayer
64e0369808 avutil/fixed_dsp: Use av_clip_int16() instead of the non optimized av_clip_int16_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 00:43:32 +01:00
Michael Niedermayer
e33b084ee9 Merge commit 'ecbcebde344c9eaeb8877ba2c5d32eb3af621e7f'
* commit 'ecbcebde344c9eaeb8877ba2c5d32eb3af621e7f':
  vdpau: Adjust necessary #includes for vdpau_internal.h

Conflicts:
	libavcodec/vdpau_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:59:16 +01:00
Michael Niedermayer
dfa7cb646d Merge commit '36cf8eb4489f8709b5fb1cdb87e125ef53301c2f'
* commit '36cf8eb4489f8709b5fb1cdb87e125ef53301c2f':
  mov: Fix compilation with DEBUG enabled

See: 349a32c436
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:49:31 +01:00
Michael Niedermayer
d2223ec2bd Merge commit '2a9c6fae927964b5dd0b5d3d9292f5621bd21664'
* commit '2a9c6fae927964b5dd0b5d3d9292f5621bd21664':
  dca: Move all tables into dcadata.h

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:40:35 +01:00
Michael Niedermayer
6c44dd6c6e Merge commit '8a213179aff0174d81b3e889134a3b4f7d21f5c3'
* commit '8a213179aff0174d81b3e889134a3b4f7d21f5c3':
  dca: Remove trace debugging code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:32:23 +01:00
Michael Niedermayer
877c038a9d Merge commit 'a96f51f29ac4cd95650a8bcda6c3d5d87c6357fa'
* commit 'a96f51f29ac4cd95650a8bcda6c3d5d87c6357fa':
  dca: Return more informative error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:26:00 +01:00
Michael Niedermayer
ad0be70382 avcodec/dcaenc: rename DCA_SUBBANDS
Fixes "warning: DCA_SUBBANDS redefined"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:13:28 +01:00
Michael Niedermayer
d8901c2f01 Merge commit 'b339019de4e5f4d3c661bbdba98ae248ab77e2f0'
* commit 'b339019de4e5f4d3c661bbdba98ae248ab77e2f0':
  dca: Split code for handling the EXSS extension off into a separate file

Conflicts:
	libavcodec/Makefile
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:02:41 +01:00
Michael Niedermayer
6998400c61 Merge commit 'bf704132a51f5d838365158331d4e535e1df4c8e'
* commit 'bf704132a51f5d838365158331d4e535e1df4c8e':
  Don't anonymously typedef structs

Conflicts:
	avprobe.c
	libavutil/parseutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 21:27:44 +01:00
Michael Niedermayer
a94eba6f0c Merge commit '7f9f771eac0d37a632e0ed9bd89961d57fcfb7e0'
* commit '7f9f771eac0d37a632e0ed9bd89961d57fcfb7e0':
  avcodec: Don't anonymously typedef structs

Conflicts:
	libavcodec/alac.c
	libavcodec/cinepak.c
	libavcodec/cscd.c
	libavcodec/dcadec.c
	libavcodec/g723_1.c
	libavcodec/gif.c
	libavcodec/iff.c
	libavcodec/kgv1dec.c
	libavcodec/libopenjpegenc.c
	libavcodec/libspeexenc.c
	libavcodec/ra288.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 21:18:17 +01:00
Michael Niedermayer
a0fe1a25fa Merge commit 'daf8cf358a098a903d59adb6c0d0cc3262a8c93e'
* commit 'daf8cf358a098a903d59adb6c0d0cc3262a8c93e':
  avformat: Don't anonymously typedef structs

Conflicts:
	libavformat/adtsenc.c
	libavformat/aiffenc.c
	libavformat/avidec.c
	libavformat/gif.c
	libavformat/iff.c
	libavformat/img2dec.c
	libavformat/jvdec.c
	libavformat/matroskadec.c
	libavformat/udp.c
	libavformat/wtvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 21:07:40 +01:00
Clément Bœsch
4ab7eb0da2 avfilter: bump minor and Changelog document the new filters 2015-02-14 20:49:08 +01:00
Clément Bœsch
bab4fcebb1 avfilter: add paletteuse filter 2015-02-14 20:48:50 +01:00
Clément Bœsch
9b964690e3 avfilter: add palettegen filter 2015-02-14 20:48:50 +01:00
Clément Bœsch
3cab173e23 avcodec/gif: support crop and transparency with PAL8 2015-02-14 20:48:50 +01:00
Clément Bœsch
5f9986f597 avformat/gif: use first packet palette as global for PAL8
This will allow the payload in PAL8 packets to not contain 768B of local
palette (which is not LZW compressed).
2015-02-14 20:48:50 +01:00
Clément Bœsch
adb9b235b6 avformat/gif: simplify gif_image_write_header() prototype 2015-02-14 20:48:50 +01:00
Paul B Mahol
088dfd3ff1 avcodec/dxtory: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-14 19:45:23 +00:00
Michael Niedermayer
4177f501b4 Merge commit '7769be590c7aeb2aad26ca723d105cf5203e33d2'
* commit '7769be590c7aeb2aad26ca723d105cf5203e33d2':
  vp56: Return meaningful error codes

Conflicts:
	libavcodec/vp56.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 20:29:34 +01:00
Gilles Chanteperdrix
3eec775b21 avformat/rtpdec_ac3: add AC3 RTP depacketization (RFC 4184)
Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 20:13:52 +01:00
Diego Biurrun
ecbcebde34 vdpau: Adjust necessary #includes for vdpau_internal.h 2015-02-14 10:56:01 -08:00
Diego Biurrun
36cf8eb448 mov: Fix compilation with DEBUG enabled 2015-02-14 10:45:16 -08:00
Gilles Chanteperdrix
22470510d1 avformat/rtpdec_mpeg12: add robust MPEG audio depacketization (RFC 5219)
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 19:33:24 +01:00
Gilles Chanteperdrix
8ca098f444 avcocdec/mpegaudio_parser: add MP3 ADU headers parser
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 19:32:42 +01:00
Diego Biurrun
2a9c6fae92 dca: Move all tables into dcadata.h 2015-02-14 10:13:49 -08:00
Diego Biurrun
8a213179af dca: Remove trace debugging code 2015-02-14 10:13:49 -08:00
Diego Biurrun
a96f51f29a dca: Return more informative error codes 2015-02-14 10:13:49 -08:00
Diego Biurrun
b339019de4 dca: Split code for handling the EXSS extension off into a separate file 2015-02-14 10:13:49 -08:00
Diego Biurrun
bf704132a5 Don't anonymously typedef structs 2015-02-14 10:13:49 -08:00
Diego Biurrun
7f9f771eac avcodec: Don't anonymously typedef structs 2015-02-14 10:13:49 -08:00
Diego Biurrun
daf8cf358a avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
Himangi Saraogi
7769be590c vp56: Return meaningful error codes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-02-14 09:24:13 -08:00
Christophe Gisquet
b533949813 x86: hevc: remove a parameter to WP internals
The second stride is always the internal buffer one, MAX_PB_SIZE (times 2 to
get the value in bytes).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 17:22:50 +01:00
zhaoxiu.zeng
a196e0c66d avcodec/vc1_pred: few branchless optimizations
This is also simpler

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 17:13:16 +01:00
Zhaoxiu Zeng
3b5ad8fbf7 avcodec/parser: optimize ff_mpeg4video_split()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 14:54:39 +01:00
Paul B Mahol
ba22295e76 lavc: deprecate VIMA decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-14 12:48:41 +00:00
Michael Niedermayer
9ccc4eedd1 avformat/matroskaenc: Do not use native mode for raw RGB
This fixes generating totally unplayable files

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 13:02:30 +01:00
Michael Niedermayer
e2fb12b629 avformat/matroskaenc: fix handling of VFW style raw rgb
raw rgb uses 0 as codec tag in "VFW", the code assumed 0 means error

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 13:02:30 +01:00
Michael Niedermayer
ad1549aec3 avformat/mov: print a warning if parsing udta failed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 13:02:24 +01:00
zhaoxiu.zeng
ac7fc444ee avcodec/apedec: simplify sign conversion
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 01:09:44 +01:00
zhaoxiu.zeng
b11a187575 avcodec/golomb: simplify sign conversion
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 00:41:45 +01:00
zhaoxiu.zeng
0073c8e345 avcodec/apedec: move 'coeffs[256] and delay[256]' into, long_filter_high_3800
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 23:23:27 +01:00
zhaoxiu.zeng
9e6198f0a4 avcodec/wmalosslessdec: simplify
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 23:08:00 +01:00
zhaoxiu.zeng
80f1378005 avcodec/wmalosslessdec: optimize sign operation
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 18:34:29 +01:00
zhaoxiu.zeng
bc0a440e88 avcodec/wmalosslessdec: change type of acfilter_coeffs from int64_t to int16_t
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 18:20:46 +01:00
zhaoxiu.zeng
e4ea84e12e avcodec/wmv2: simplify cbp_table_index calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 15:55:12 +01:00
zhaoxiu.zeng
b4b9a64bdb avcodec/vc1: simplify vc1_split()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 14:47:58 +01:00
zhaoxiu.zeng
b39ac9d210 avcodec/vc1: simplify find_next_marker()
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 14:01:45 +01:00
Michael Niedermayer
3e2714992b Merge commit 'eea769df322fac2601a96db195fa7dc8d12a8fbc'
* commit 'eea769df322fac2601a96db195fa7dc8d12a8fbc':
  hevc: Use generic av_clip function, not C implementation

Conflicts:
	libavcodec/hevc.c
	libavcodec/hevc_filter.c
	libavcodec/hevc_mvs.c

See: 83976e40e8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 12:34:18 +01:00
Michael Niedermayer
c74b3983f9 Merge commit 'faa8ffda2c513573733624784f0a7d0a4959d33e'
* commit 'faa8ffda2c513573733624784f0a7d0a4959d33e':
  doc/APIchanges: fill in missing dates and hashes

Conflicts:
	doc/APIchanges

See: c651a1aaec
See: 8c8ee17e8d and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 11:54:38 +01:00
Paul B Mahol
8bb489fab5 fate: add wavpack encoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-13 09:22:18 +00:00
Peter Meerwald
eea769df32 hevc: Use generic av_clip function, not C implementation
hevc seems to be the only place where the C implementation
of the av_clip function is explicitly selected, precluding
platform-specific optimizations

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-13 08:37:13 +01:00
Anton Khirnov
faa8ffda2c doc/APIchanges: fill in missing dates and hashes
Also, move a misplaced block to the right position.
2015-02-13 08:35:15 +01:00
Michael Niedermayer
849ad5175b avformat/mov: Heuristically detect raw udta
Fixes tkhd+moov fragment provided by koda

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 04:30:29 +01:00
Gilles Chanteperdrix
c7ad1f562b avformat/rtsp: parse lang attribute in SDP
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 00:49:08 +01:00
Gilles Chanteperdrix
af940e6cb1 avformat/rtpdec: add T.140 RTP depacketization (RFC 4103)
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 00:11:59 +01:00
Gilles Chanteperdrix
afb0e5a810 avformat/rtsp: allow receiving subtitles via RTP
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 00:01:02 +01:00
Michael Niedermayer
33650e0e42 avformat/mpegtsenc: Do not create invalid files from annex b streams without SPS/PPS
use global headers to create SPS/PPS when they are available

Fixes Ticket4248

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 23:13:15 +01:00
Thomas Volkert
b6f577dbb2 rtpdec_hevc: correct parsing of aggregated packets
reported by tim dot yao at amlogic dot com

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 20:43:37 +01:00
James Almer
1679d68dbf x86/hevc_mc: optimize AVX2 mc functions
Before
40766 decicycles in ff_hevc_put_hevc_qpel_h64_8_avx2, 8192 runs, 0 skips

After
37975 decicycles in ff_hevc_put_hevc_qpel_h64_8_avx2, 8192 runs, 0 skips

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-12 13:21:58 -03:00
James Almer
14b44c1614 x86/hevc_sao: make sao_edge_filter_{10,12} work on x86_32
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-12 13:21:30 -03:00
wm4
7862325f80 avformat/matroskadec: fix IGNIDX handling
Just because the user requested the seek index to be ignored, we can't
just skip essential headers. At least tags are often located at the end
of the file, and the old code simply ignored the seekhead for all
elements, not just the cue index. Also, it looks like it used the index
even if IGNIDX was set if the cue index was located in the beginning of
the file.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 17:08:51 +01:00
Michael Niedermayer
cab6302534 avcodec/arm/videodsp_armv5te: Fix linking failure with "g++ -shared -D__STDC_CONSTANT_MACROS -o test.so ... libavcodec.a"
Tested-by: Andreas Haupt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 16:35:29 +01:00
wm4
cac2295b21 matroska: redo seekhead handling
In particular, this reads chained seekheads. This makes seeking faster
in files which have the index indirectly linked through 2 seekheads.

As a side-effect, this warns when reading level-1 (toplevel) elements
multiple times (other than seekheads, clusters, and void/crc). Such
elements are not valid and likely break everything.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 13:51:41 +01:00
Clément Bœsch
a5c9befbf4 README: add ffserver 2015-02-12 11:59:22 +01:00
Clément Bœsch
e1ca695d22 README: fix analisys/analysis typo 2015-02-12 11:57:34 +01:00
Robert Xiao
60bb893386 LICENSE.md: Formatting updates
Put filenames and configuration options in code for clarity, and fix some list formatting.

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 01:53:56 +01:00
Michael Niedermayer
9843746570 avcodec/mpegvideo_enc: correctly initialize chroma_intra_matrix for MPEG1/2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 00:19:22 +01:00
Michael Niedermayer
0bcb040a2e avcodec/mpegvideo_enc: Consider chroma_intra_matrix in dct_quantize_trellis_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 23:58:22 +01:00
Michael Niedermayer
7d24ccaf00 fate: mjpeg trellis test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 22:44:06 +01:00
Michael Niedermayer
7cac568b39 avcodec/mjpegenc: support trellis quantization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 21:52:55 +01:00
Michael Niedermayer
7366bb38f1 avcodec/mpegvideo_enc: Add intra_chroma_ac_vlc_length, it will be needed for mjpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 21:35:53 +01:00
Jean Delvare
194165aed8 cmdutils: fix success path
Since commit 934f2d2f5c,
cmdutils_read_file() prints a confusing message on success:

IO error: Success

This is because the error message is printed on the success path as
well. Add the missing condition so that it is only printed on error.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Cc: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 17:28:11 +01:00
Paul B Mahol
edf217ebb7 avfilter: add dcshift filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-11 14:58:35 +00:00
Alexey Titov
a05a737316 avfilter/unsharp: OpenCL unsharpen filter optimization: substitute N^2 filter computation with 2N+C
i7-4770K luma 21% faster, chroma 18% faster A10-7850K luma 42% faster, chroma 37% faster on 1920x1080 res

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 13:51:58 +01:00
Paul B Mahol
ac494e5a66 avformat/isom: add X-Com Radvision fourcc
Fixes bug #4303.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-11 11:47:01 +00:00
Paul B Mahol
3a8801eb8d Changelog: mention more ported filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-11 11:46:34 +00:00
Michael Niedermayer
2384933985 ffmpeg: Print negative times like "-00:05:01.22" instead of "00:-5:-1.-22"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 11:22:27 +01:00
Michael Niedermayer
08509c8f86 avcodec/mjpegdec: Skip blocks which are outside the visible area
Fixes out of array accesses
Fixes: ffmpeg_mjpeg_crash.avi

Found-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 03:53:30 +01:00
Michael Niedermayer
2924514721 Merge commit '9deaec782810d098bca11c9332fab2d2f4c5fb78'
* commit '9deaec782810d098bca11c9332fab2d2f4c5fb78':
  lavf: move internal fields from public to internal context

Conflicts:
	libavformat/avformat.h
	libavformat/internal.h
	libavformat/mux.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 02:47:54 +01:00
Michael Niedermayer
b61170f51d Merge commit '1509c018bd5b054a2354e20021ccbac9c934d213'
* commit '1509c018bd5b054a2354e20021ccbac9c934d213':
  mpegts: relax restrictions on matching the packet start in read_header

Conflicts:
	libavformat/mpegts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 01:59:14 +01:00
Michael Niedermayer
702cf8d0de Merge commit '6a5b8ca4329039fad44ad50b6496948f4bfacb4c'
* commit '6a5b8ca4329039fad44ad50b6496948f4bfacb4c':
  lavf: remove unused code

Conflicts:
	libavformat/seek.c
	libavformat/seek.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 01:43:00 +01:00
Michael Niedermayer
1cca124886 Merge commit '0232ba62a28527579e34d44700b48017cc727e5f'
* commit '0232ba62a28527579e34d44700b48017cc727e5f':
  frame: clarify buf documentation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 01:32:30 +01:00
Michael Niedermayer
26db9d3b77 doc/ffmpeg: Document frame_drop_threshold 2015-02-10 15:10:56 -09:00
Michael Niedermayer
838c755f62 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: factorize thread starting and stopping code into decoder
  ffplay: make eof part of videostate and signal it when opening a stream
  ffplay: update frame timer based on last updated clock time when toggling pause

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 23:45:57 +01:00
Michael Niedermayer
133d81535d avutil/error: list most common error code in error_entries when strerror_r() is unavailable
Fixes Ticket4267

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 23:02:24 +01:00
Clément Bœsch
d47eeff274 tests: drop bc dependency
We already have a dependency on awk and bc is sometimes not found in the
base system.
2015-02-10 22:34:39 +01:00
wm4
9deaec7828 lavf: move internal fields from public to internal context
This is not an API change; the fields were explicitly declared private
before.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-10 21:45:04 +01:00
Anton Khirnov
1509c018bd mpegts: relax restrictions on matching the packet start in read_header
analyze() is currently called both when probing and from read_header().
It determines the packet start by looking for the sync byte, followed by
unset Transport Error Indicator and valid adaptation_field_control.

This makes sense to do when probing, but once we already know the format
is MPEG-TS, it is counterproductive to be so strict -- e.g. in some
files the TEI might be set and analyze() might get called with a smaller
buffer than the one used for probing, resulting in a failure.
2015-02-10 21:43:44 +01:00
Marton Balint
ef1ccea945 ffplay: factorize thread starting and stopping code into decoder
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-02-10 20:50:48 +01:00
Marton Balint
d6910c4b5e ffplay: make eof part of videostate and signal it when opening a stream
Otherwise we may not flush a decoder when a new stream is opened during an
already eof condition.

Signed-off-by: Marton Balint <cus@passwd.hu>
2015-02-10 20:50:48 +01:00
Marton Balint
68850090b6 ffplay: update frame timer based on last updated clock time when toggling pause
It is better than using simply video clock, because video clock may be NAN.

Signed-off-by: Marton Balint <cus@passwd.hu>
2015-02-10 20:50:48 +01:00
Paul B Mahol
8b77c4dd42 avfilter: Add repeatfields filter (Port of mp=softpulldown)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 19:07:20 +01:00
Supraja Meedinti
8d5a850119 libavutil: camellia: remove unwanted memory loads
lavu       CAMELLIA     size: 1048576  runs:   1024  time:   21.549 +- 0.17

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 17:15:36 +01:00
Kevin Wheatley
7fc33dca39 libavformat: DNxHD in .mov, switch unspecified color_range to mpeg
Avid prefers mpeg range [16-235] by default this change brings
ffmpeg into line with that. To obtain the old behaviour use
'-color_range jpeg' on the command line prior to the ouput
filename.

Signed-off-by: Kevin Wheatley <kevin.j.wheatley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 16:46:12 +01:00
wm4
c247fc63e4 pixdesc: clarify AV_PIX_FMT_FLAG_ALPHA doxygen
Also make clear that PAL8 can have alpha.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 16:03:04 +01:00
wm4
92e3a6fdac avutil: check pixdescs in a different place
Doing this check in avutil_version() is not appropriate. Also, this code
is by default disabled (--assert-level is by default 0). A FATE run with
defaults will never execute the checks.

Move it to the pixelutils test program. Whatever reason there was in
avutil_version() not to run this test by default, it should be fine in
this test program. This means FATE will run the test by default. (Yes,
pixelutils is not strictly the best place for it either, but it's
better.)

(pixdesc.c also has a small test program, but it's never run by FATE.)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 15:45:02 +01:00
wm4
3e18dc235e avutil: move internal function out of public header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 15:24:46 +01:00
Paul B Mahol
392d975efe avcodec: fix clobbered ff_get_buffer()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-10 14:20:32 +00:00
Mark Reid
9b22e460ad test/fate: added mxf_opatom regression tests
Reviewed-by: tomas.hardin@codemill.se
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 11:28:53 +01:00
Paul B Mahol
e4eba9e21d avcodec/mss4: use av_malloc_array()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-10 09:35:23 +00:00
Paul B Mahol
fd6768a4b8 avcodec/huffman: check if map was allocated too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-10 09:35:23 +00:00
Paul B Mahol
a5398aa56c avcodec/hevc_parser: check for av_mallocz() failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-10 09:35:23 +00:00
Andreas Cadhalpun
078be09dd7 examples/demuxing_decoding: abort decoding when width, height or pix_fmt change
This is necessary, because avcodec_decode_video2 can change
width, height and/or pixel format of the AVCodecContext. Since
video_dst_data and video_dst_linesize are not updated by calling
av_image_alloc again, av_image_copy[_plane] asserts, because the
destination buffer is too small.

In this case, creating a useable rawvideo is not possible anyway, since
it has fixed width/height/pix_fmt.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 02:43:47 +01:00
James Almer
06fe6dfe12 x86/hevc_sao: make sao_band_filter work on x86_32
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-09 20:41:21 -03:00
Michael Niedermayer
f5d32acc37 avutil/camellia: Remove redundant casts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 22:45:01 +01:00
Michael Niedermayer
54eac5195d avutil/camellia: Fix indention & whitespace
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 22:44:14 +01:00
Supraja Meedinti
9a18247ec0 libavutil: optimize camellia cipher
Before the changes :
lavu       CAMELLIA     size: 1048576  runs:   1024  time:   32.541 +- 0.044

After the changes:
lavu       CAMELLIA     size: 1048576  runs:   1024  time:   24.589 +- 0.066

Tested with crypto_bench on a Linux x86_64 OS with Intel Core i5-3210M CPU.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 22:33:14 +01:00
wm4
6938a095cb matroska: don't complain about unknown elements
Matroska is an extensible format - unknown elements must be expected. It
shouldn't complain about such elements to the user either; it'll just
generate noise. The "error_recognition & AV_EF_EXPLODE" is completely,
wrong why would it explode on valid files?

It's still useful for debugging, so the message is left in place with a
higher log level.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 21:33:33 +01:00
Michael Niedermayer
e8f814a907 avformat/utils: Fix division by 0
Fixes: signal_sigsegv_14999ef_1188_cov_2888512890_SVA_CL1_E.264

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 21:15:27 +01:00
Paul B Mahol
238247b622 avcodec/sgienc: return meaningful error code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-09 14:07:54 +00:00
Michael Niedermayer
5763f67502 avformat/mov: Check dimensions before setting aspect
Fixes division by 0
Fixes: asan_heap-uaf_143f420_728_cov_1441472032_HDV_0113.MP4

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 14:52:15 +01:00
Michael Niedermayer
b74ecb82fa swresample/x86/rematrix_init: Check av_malloc* return codes, forward errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 10:15:56 +01:00
Michael Niedermayer
48ffaaaaef swresample/x86/rematrix_init: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 10:15:56 +01:00
Michael Niedermayer
d80fe5d4bc avcodec/vb: Check for av_mallocz() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 09:27:16 +01:00
Michael Niedermayer
694671bc9a avfilter/f_sendcmd: consider it an error if there are no commands
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 07:13:48 +01:00
Georg Lippitsch
c0367f78d5 doc/indevs: Docs for Blackmagic high bit depth video/audio
Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 01:18:58 +01:00
Seppo Tomperi
03cecf45c1 hevcdsp: ARM NEON optimized transforms
cherry picked from commit b153f55935969c794de4640f8d34e01c58e027ae

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 23:29:35 +01:00
Christophe Gisquet
b61b9e4919 x86: hevc_mc: remove lea in EPEL_LOAD
The second parameter to the macro is always an immediate address,
so no lea is needed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 22:19:35 +01:00
Christophe Gisquet
4919b38421 x86: hevc_mc: fewer gpr autoloads for _v filters
In that case, it's just to load my, but mx/r3src is not used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 22:19:34 +01:00
wm4
6a5b8ca432 lavf: remove unused code
Nothing uses it, and it provides no public API.

Archeological finds:

Commit 101036adb9 added the API.
Commit a8dd8dc6e9 made mpegts.c use it.
Commit af8aae3fa3 disabled it by default in mpegts.c.
Commit ae2bb52cd2 removed all uses of this from mpegts.c.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-08 21:34:05 +01:00
Anton Khirnov
0232ba62a2 frame: clarify buf documentation
Mention explicitly that the array must be filled contiguously.
2015-02-08 21:28:31 +01:00
Anshul Maheshwari
1df841f154 doc/APIchanges: updated Data stream changes in APIChange
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 18:39:22 +01:00
Michael Niedermayer
162f344971 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix standalone compilation of the mov muxer with --disable-optimizations.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 17:31:31 +01:00
Clément Bœsch
55feff57ce avfilter/hqdn3d: an invalid bit depth means a bug, not invalid read data
This code looks clumsy, and an assert would probably be more welcome.
2015-02-08 17:16:51 +01:00
Clément Bœsch
4b60bd1aac avformat/internal: fix av_interleaved_write_frame typo reference 2015-02-08 17:09:12 +01:00
Carl Eugen Hoyos
a2bc8c5601 Fix standalone compilation of the mov muxer with --disable-optimizations.
Reported-by: Bernhard Döbler
2015-02-08 15:48:26 +01:00
Clément Bœsch
eb7efaa924 avfilter/dctdnoiz: fix slice_h computation
ceilf() can only work if the reminder of the division is not 0.

This fixes memory errors with for instance:
  ffmpeg -f lavfi -i testsrc=s=800x500 -threads 3 -vf dctdnoiz -frames:v 1 -f null -
2015-02-08 14:31:29 +01:00
Michael Niedermayer
009a57b479 avformat/mxfenc: Remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 13:02:35 +01:00
Eejya Singh
40b198e987 lavfi/subtitles: add force_style option
Signed-off-by: Eejya Singh <singh.eejya@gmail.com>
Signed-off-by: Clément Bœsch <u@pkh.me>
2015-02-08 11:36:49 +01:00
Michael Niedermayer
5ae140c04f avdevice/decklink_common: Use defined(__APPLE__) instead of __APPLE__
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 04:52:52 +01:00
James Almer
92d903afaa x86/vp9dsp: fix clobbering of xmm6 on IDCT sse2 functions
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-08 00:50:39 -03:00
Georg Lippitsch
62ea5ae2b5 avdevice/decklink_common: Fix Decklink for Mac
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 04:43:54 +01:00
Georg Lippitsch
97a27065c8 avdevice/decklink: 10 Bit support for Decklink input device
Example to capture video clip at 1080i50 10 bit:
ffmpeg -bm_v210 1 -f decklink -i 'UltraStudio Mini Recorder@11' -acodec copy -vcodec copy output.avi

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 04:31:27 +01:00
Mark Reid
6a8a3bfb87 libavformat/mxfenc.c: added mxf opatom muxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 03:53:37 +01:00
Michael Niedermayer
7c148f30f3 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Support decoding yuv dpx images.
  Do not use -mdynamic-no-pic on OSX x86_64.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 02:36:23 +01:00
Michael Niedermayer
2048126ea7 avcodec/utils: Assert that dst->progress is clear before ff_thread_ref_frame()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 02:27:27 +01:00
Michael Niedermayer
de6df46120 avcodec/h264: Setup decoder to have matching reference to the EC code
Also move EC ref initialization to where the EC code is called.
Fixes out of array read
Fixes: asan_heap-uaf_143f420_142_20110805_112659_ch0.mkv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 02:27:27 +01:00
Michael Niedermayer
ecfd48dc06 avcodec/h264: Move COPY_PICTURE() to h264.h so it can be used from other parts of the h264 decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 02:27:27 +01:00
Carl Eugen Hoyos
2efaaf9476 Support decoding yuv dpx images. 2015-02-08 00:12:46 +01:00
Carl Eugen Hoyos
ea329b60f5 Do not use -mdynamic-no-pic on OSX x86_64.
Fixes default compilation with icc.
2015-02-08 00:11:13 +01:00
Michael Niedermayer
29fd3032cc avformat/omadec: Subtract headersize in timestamp calculation
Fixes pts/dts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 21:16:20 +01:00
Michael Niedermayer
7c2fa13df9 avformat/omadec: only compute timestamps based on bitrate if its set
Fixes division by zero

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 21:12:56 +01:00
Michael Niedermayer
7474ea7495 Merge commit 'e352520e3ed7f08f19e63cd60e95da6bb6f037c1'
* commit 'e352520e3ed7f08f19e63cd60e95da6bb6f037c1':
  oma: Report a timestamp

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 21:01:52 +01:00
Michael Niedermayer
89c7332b38 Merge commit '8029af586fd5a5f2a0803001f9eff386e5545fe2'
* commit '8029af586fd5a5f2a0803001f9eff386e5545fe2':
  dxva2_hevc: properly fill the scaling list structure

See: b11994593a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 20:54:11 +01:00
Christophe Gisquet
626d6184ce x86: lavc/hevc_mc: fix comments
The width parameter is now completely at the back, and actually
never used. This helps understanding the actual parameter list.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 20:52:03 +01:00
Paul B Mahol
134e8c73ea avcodec/faxcompr: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-07 17:16:14 +00:00
Christophe Gisquet
97996eff4f hevc/sao: do in-place band filtering when possible
The copies are only needed when data must be restored, so skip them
when it must not be.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 18:04:25 +01:00
Christophe Gisquet
ed450d4acf x86: lavc: share more constant through defines
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 17:48:14 +01:00
Carl Eugen Hoyos
ac923ed470 lavf/mlv: Only add streams that are supposed to contain frames.
Fixes ticket #4296.

Reviewed-by: Peter Ross
2015-02-07 16:23:36 +01:00
Paul B Mahol
ec8ec999f4 avcodec/twinvqdec: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-07 15:19:03 +00:00
Luca Barbato
e352520e3e oma: Report a timestamp
Reported-By: jb@videolan.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-07 15:36:15 +01:00
Christophe Gisquet
691b7f5e9e lavc/lossless_audiodsp: revert various commits
Their intent was to make the DSP work with wmalossless pro.
The later was fixed to work with the DSP.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 15:15:19 +01:00
Christophe Gisquet
46e2afa4dc wmalossless: reset lms_update
It may contain garbage at the end, and zeroing allows using DSP
with longer loops.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 15:14:32 +01:00
Hendrik Leppkes
8029af586f dxva2_hevc: properly fill the scaling list structure
The scaling list can be specified in either the SPS or PPS.
Additionally, compensate for the diagonal scan permutation applied
in the decoder.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-07 14:33:29 +01:00
Timothy Gu
1de742145f pixdesc: Include more functions in FF_DISABLE_DEPRECATION_WARNINGS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 14:27:13 +01:00
Michael Niedermayer
be1cb1e63a avutil/pixfmt: Clarify meaning of the A/X bit in RGB555 / remove wording about significant bit
Found-by:wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 13:46:04 +01:00
Michael Niedermayer
dbab5f5984 avutil/pixfmt: Clarify the meaning of the alpha bits in rgb444 and similar formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 13:20:53 +01:00
Michael Niedermayer
088dd0fd4c avutil/pixfmt: Clarify the meaning of the "alpha" bit in rgb555/bgr555
Found-by: wm4
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 13:14:58 +01:00
Michael Niedermayer
c02b8c4527 avutil/pixfmt: Clarify the meaning of the alpha byte in RGB0 and similar formats
Found-by: wm4
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 13:04:23 +01:00
Anshul Maheshwari
f05efd42af avcodec/ccaption_dec: Added Debug logs
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 06:01:31 +01:00
Anshul Maheshwari
5647286e67 avcodec/ccaption_dec: handle error from ass_sub api
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 05:51:17 +01:00
Anshul Maheshwari
bf30161a8d avcodec/ccaption_dec: Added Roll up functionality
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 05:51:10 +01:00
Michael Niedermayer
a40de9ac07 Merge commit '9295d10ea9d138462b7f67d16bf95ae9ca76aca6'
* commit '9295d10ea9d138462b7f67d16bf95ae9ca76aca6':
  fate: Add a test for AAC ELD480.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 04:54:39 +01:00
Michael Niedermayer
2fd9ce92af avcodec/h264_slice: assert that reinit does not occur after the first slice
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 03:59:45 +01:00
Michael Niedermayer
38d5241b7f avcodec/h264_slice: ignore SAR changes in slices after the first
Fixes race condition and null pointer dereference
Fixes: signal_sigsegv_1472ac3_468_cov_2915641226_CABACI3_Sony_B.jsv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 03:59:45 +01:00
Michael Niedermayer
f111831ed6 avcodec/h264_slice: Check picture structure before setting the related fields
This might fix a hypothetical race condition

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 03:59:45 +01:00
Alex Converse
9295d10ea9 fate: Add a test for AAC ELD480.
The source is er_eld_2100np_48_ep0.mp4 from the official test set.
2015-02-06 18:56:22 -08:00
Michael Niedermayer
f906982c94 avcodec/h264_slice: Do not change frame_num after the first slice
Fixes potential race condition
Fixes: signal_sigsegv_1472ac3_468_cov_2915641226_CABACI3_Sony_B.jsv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 02:20:14 +01:00
Christophe Gisquet
9dc45d1f42 x86: lavc: share more constants
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 23:35:02 +01:00
Michael Niedermayer
bfb988b1fa Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavc/tscc: Make 32bit output opaque.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 22:31:32 +01:00
Michael Niedermayer
1750b45cdf avutil/opt: Fix type used to access AV_OPT_TYPE_SAMPLE_FMT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 22:16:08 +01:00
Michael Niedermayer
a0640e6346 avutil/opt: Fix types used to access AV_OPT_TYPE_PIXEL_FMT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 22:15:20 +01:00
Mickaël Raulet
6ecc3fd612 x86/hevc_mc: use aligned loads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 21:38:00 +01:00
James Almer
383fddeec6 x86/lossless_audiodsp: fix compilation with --disable-yasm
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-06 17:30:17 -03:00
Carl Eugen Hoyos
d45fadb6df lavc/tscc: Make 32bit output opaque.
Found-by: wm4
2015-02-06 21:02:08 +01:00
Timothy Gu
510b39c213 nutdec: Remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 20:44:36 +01:00
Timothy Gu
e66a187638 img2dec: Remove dead code
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 20:44:36 +01:00
Michael Niedermayer
9bc7ee8a98 avcodec/avfft: Add simple self test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 19:07:29 +01:00
Timothy Gu
23659fdb81 generate_wave_table: Add include for AVSampleFormat
Fixes warning in `make checkheaders`.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 19:07:29 +01:00
Timothy Gu
5081012eb8 audioconvert: Add missing include for FF_API_AUDIO_CONVERT
Fixes warning in `make checkheaders`.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 19:07:29 +01:00
James Almer
aea29a891f x86/hevc_sao: fix loading of RIP address
pb_eo must be handled as a rip relative address for MSVC64, so an
intermediate register is needed. Should fix link failures.

Suggested by Hendrik Leppkes and Christophe Gisquet.

Tested-By: Hendrik Leppkes <h.leppkes@gmail.com>
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-06 15:06:15 -03:00
Mickaël Raulet
bcb0925115 x86/hevc: use CLIPW macro when possible
Conflicts:
	libavcodec/x86/hevc_mc.asm

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 17:38:47 +01:00
Christophe Gisquet
5eedd36df1 x86: hevc_mc: use epel_hv 16-wide function
The epel_hv functions were still relying on only epel_hv 8-wide
being the maximum width instanciated.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 17:37:56 +01:00
Pierre Edouard Lepere
a0d1300f71 x86: hevc_mc: add AVX2 optimizations
before
33304 decicycles in luma_bi_1, 523066 runs, 1222 skips
38138 decicycles in luma_bi_2, 523427 runs, 861 skips
13490 decicycles in luma_uni, 516138 runs, 8150 skips
after
20185 decicycles in luma_bi_1, 519970 runs, 4318 skips
24620 decicycles in luma_bi_2, 521024 runs, 3264 skips
10397 decicycles in luma_uni, 515715 runs, 8573 skips

Conflicts:
	libavcodec/x86/hevc_mc.asm
	libavcodec/x86/hevcdsp_init.c

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 17:20:47 +01:00
Paul B Mahol
f968166439 avformat/rpl: check av_get_packet() for failure
Also make ret signed as it should be from start.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-06 16:07:16 +00:00
Michael Niedermayer
6fafc62b0b avcodec/h264: Be more strict on rejecting pps/sps changes
Fixes race condition
Fixes: signal_sigsegv_1472ac3_468_cov_2915641226_CABACI3_Sony_B.jsv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 15:22:51 +01:00
Michael Niedermayer
31cc9c04ca avcodec/h264: Be more strict on rejecting pps_id changes
Fixes race condition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 15:22:51 +01:00
Paul B Mahol
dc3c3758ce avformat/thp: check av_get_packet() for failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-06 09:42:53 +00:00
Michael Niedermayer
69aa79365c avcodec/h264_ps: More completely check the bit depths
Fixes out of array read
Fixes: asan_static-oob_30328b6_719_cov_3325483287_H264_artifacts_motion.h264

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 04:32:14 +01:00
James Almer
15a88468ae avformat/tta: only check for header and seek table crc if requested
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-05 23:20:40 -03:00
Michael Niedermayer
a6c2c8fe3f Revert "avcodec/x86/lossless_audiodsp: Make scalarproduct_and_madd_int16 prototypes more similar"
This reverts commit 3b4ffba3af.

Unbreaks the SSSE3 code on mingw32

Conflicts:

	libavcodec/x86/lossless_audiodsp.asm

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 02:31:45 +01:00
Michael Niedermayer
f1214763af avcodec/x86/lossless_audiodsp: Move order&8 fallback into C code
This is simpler and more robust, and fixes mismatching XMM save restore
mismatches

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 02:18:54 +01:00
Michael Niedermayer
d41b66a1a2 avcodec/vp3: pass correct context to av_log()
Fixes null pointer dereference
Fixes: signal_sigsegv_000_3694_cov_1050071691_theora.mkv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 00:34:09 +01:00
Michael Niedermayer
3b4ffba3af avcodec/x86/lossless_audiodsp: Make scalarproduct_and_madd_int16 prototypes more similar
This is needed as the mmx code is used as fallback from the ssse3 code

Suggested-by: jamrial
Tested-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 00:20:59 +01:00
Michael Niedermayer
43b1fd5bb4 avcodec/hevc: drop redundant ifs()
Found-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 22:29:55 +01:00
Seppo Tomperi
0c494114cc hevcdsp: ARM NEON optimized deblocking filter
cherry picked from commit 1b9ee47d2f43b0a029a9468233626102eb1473b8

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 22:01:52 +01:00
Christophe Gisquet
9a2f5d825a hevc: free sao buffers when receiving a new SPS
The buffer pointers would be otherwise overwritten, causing a
leak on e.g. PERSIST_RPARAM_A_RExt_Sony_1.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 21:50:35 +01:00
wm4
a83b6b077c vp9: assign PTS to visible instead of invisible frames
All the webm/vp9 files I have seen so far can have packets that contain
1 invisible and 1 visible frame. The vp9 parser separates them. Since
the invisible frame is always (?) the first sub-packet, the new packet
is assigned the PTS of the original packet, while the packet containing
the visible frame has no PTS.

This patch essentially reassigns the PTS from the invisible to the
visible frame.

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 21:16:26 +01:00
James Almer
15574c505b x86/hevcdsp: add ff_hevc_sao_edge_filter_{10,12}_{sse2,avx2}
Original x86 intrinsics code by Pierre-Edouard Lepere.
Yasm port, refactoring and optimizations by James Almer.

Benchmarks of BQTerrace_1920x1080_60_qp22.bin with an Intel Core i5-4200U

Width 32
342694 decicycles in sao_edge_filter_10, 16384 runs, 0 skips
29476 decicycles in ff_hevc_sao_edge_filter_32_10_ssse3, 16384 runs, 0 skips
13996 decicycles in ff_hevc_sao_edge_filter_32_10_avx2, 16381 runs, 3 skips

Width 64
581163 decicycles in sao_edge_filter_10, 8192 runs, 0 skips
59774 decicycles in ff_hevc_sao_edge_filter_64_10_ssse3, 8192 runs, 0 skips
28383 decicycles in ff_hevc_sao_edge_filter_64_10_avx2, 8191 runs, 1 skips

Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-05 15:02:33 -03:00
James Almer
042c1159fc x86/hevcdsp: add ff_hevc_sao_edge_filter_8_{ssse3,avx2}
Original x86 intrinsics code and initial yasm port by Pierre-Edouard Lepere.
Refactoring and optimizations by James Almer.

Benchmarks of BQTerrace_1920x1080_60_qp22.bin with an Intel Core i5-4200U

Width 32
158583 decicycles in edge, sao_edge_filter_8 runs, 0 skips
5205 decicycles in ff_hevc_sao_edge_filter_32_8_ssse3, 32767 runs, 1 skips
2942 decicycles in ff_hevc_sao_edge_filter_32_8_avx2, 32767 runs, 1 skips

Width 64
705639 decicycles in sao_edge_filter_8, 262144 runs, 0 skips
19224 decicycles in ff_hevc_sao_edge_filter_64_8_ssse3, 262111 runs, 33 skips
10433 decicycles in ff_hevc_sao_edge_filter_64_8_avx2, 262115 runs, 29 skips

Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-05 15:02:27 -03:00
James Almer
1f1c7c8a57 hevcdsp: remove compilation-time-fixed parameter from sao_edge_filter
The stride_src parameter is always 2 * MAX_PB_SIZE + FF_INPUT_BUFFER_PADDING_SIZE.

Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-05 15:02:22 -03:00
Michael Niedermayer
e09ad5bd0d avcodec/h264_refs: set last_pic_for_ec only if it has not been set previously
This ensures we do not loose the frame in case or multiple clears
Fixes out of array read
Fixes: asan_heap-oob_2fa47ea_2100_cov_1278768963_ff_add_pixels_clamped_mmx.m2ts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 14:57:42 +01:00
Michael Niedermayer
7dad2f7bb9 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix compilation with --disable-protocol=udp

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 13:26:07 +01:00
Paul B Mahol
dccd648f9f avcodec/alsdec: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-05 09:48:54 +00:00
Paul B Mahol
57bca64b3f avcodec/cllc: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-05 09:48:54 +00:00
Carl Eugen Hoyos
afada9ac67 Fix compilation with --disable-protocol=udp 2015-02-05 10:07:03 +01:00
Michael Niedermayer
7801a54ec3 avfilter/vf_fps: update frame drop comment
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 06:03:11 +01:00
Michael Niedermayer
f2579dbb4b avformat/thp: Check av_get_packet() for failure not only for partial output
Fixes null pointer dereference
Fixes: signal_sigsegv_db2c1f_3108_cov_163322880_pikmin2_opening1_partial.thp

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 04:14:42 +01:00
Lukasz Marek
21051af218 lavf/avc: add buffer padding to extradata allocation
ff_avc_write_annexb_extradata() allocates extradata, but don't add
FF_INPUT_BUFFER_PADDING_SIZE value

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-02-05 03:27:55 +01:00
Philip Langdale
d20df2601f avcodec/nvenc: De-compensate aspect ratio compensation of DVD-like content.
For reasons we are not privy to, nvidia decided that the nvenc encoder
should apply aspect ratio compensation to 'DVD like' content, assuming that
the content is not bt.601 compliant, but needs to be bt.601 compliant. In
this context, that means that they make the following, questionable,
assumptions:

1) If the input dimensions are 720x480 or 720x576, assume the content has
an active area of 704x480 or 704x576.

2) Assume that whatever the input sample aspect ratio is, it does not account
for the difference between 'physical' and 'active' dimensions.

From, these assumptions, they then conclude that they can 'help', by adjusting
the sample aspect ratio by a factor of 45/44. And indeed, if you wanted to
display only the 704 wide active area with the same aspect ratio as the full
720 wide image - this would be the correct adjustment factor, but what if you
don't? And more importantly, what if you're used to ffmpeg not making this kind
of adjustment at encode time - because none of the other encoders do this!

And, what if you had already accounted for bt.601 and your input had the
correct attributes? Well, it's going to apply the compensation anyway!
So, if you take some content, and feed it through nvenc repeatedly, it
will keep scaling the aspect ratio every time, stretching your video out
more and more and more.

So, clearly, regardless of whether you want to apply bt.601 aspect ratio
adjustments or not, this is not the way to do it. With any other ffmpeg
encoder, you would do it as part of defining your input paramters or
do the adjustment at playback time, and there's no reason by nvenc
should be any different.

This change adds some logic to undo the compensation that nvenc would
otherwise do.

nvidia engineers have told us that they will work to make this
compensation mechanism optional in a future release of the nvenc
SDK. At that point, we can adapt accordingly.

Signed-off-by: Philip Langdale <philipl@overt.org>
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 02:32:33 +01:00
Michael Niedermayer
692b22626e swscale/utils: Limit filter shifting so as not to read from prior the array
Fixes out of array read
Fixes: asan_heap-oob_1fb2f9b_3780_cov_3984375136_usf.mkv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 00:33:50 +01:00
Michael Niedermayer
fd52d2d3d1 avcodec/mpegvideo_motion: Fix gmc chroma dimensions
Fixes integer overflow and out of array read
Fixes: asan_heap-oob_1fb2f9b_3780_cov_3984375136_usf.mkv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 00:33:50 +01:00
James Almer
7457afc64d hevcdsp: replace the SAOParams struct parameter from sao_edge_filter
As with sao_band_filter, pass instead the two variables from the struct needed in the function.
This simplifies writing asm optimized versions.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-04 17:53:04 -03:00
James Almer
121ccc3365 hevcdsp: further simplify sao_edge_filter
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-04 17:52:59 -03:00
Seppo Tomperi
4386e1fd94 hevcdsp: simplified sao_edge_filter
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
2015-02-04 17:52:54 -03:00
Seppo Tomperi
74d7faf400 hevcdsp: separated sao edge filter and pixel restore funcs
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
2015-02-04 17:52:49 -03:00
Michael Niedermayer
fabbfaa095 avcodec/mjpegdec: Check number of components for JPEG-LS
Fixes out of array accesses
Fixes: asan_heap-oob_1c1a4ea_1242_cov_2274415971_TESTcmyk.jpg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 20:49:12 +01:00
Michael Niedermayer
afa92907f3 avcodec/mjpegdec: Check escape sequence validity
Fixes assertion failure
Fixes: asan_heap-oob_1c1a4ea_1242_cov_2274415971_TESTcmyk.jpg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 20:14:18 +01:00
Michael Niedermayer
7f02fcd917 avfilter/vf_fps: Do not drop a random subset of frames
This also avoids droping the frame which is closest to the target timestamp

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 18:52:14 +01:00
Hendrik Leppkes
b11994593a dxva2_hevc: properly fill the scaling list structure
The scaling list can be specified in either the SPS or PPS.
Additionally, compensate for the diagonal scan permutation applied in the decoder.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 16:31:49 +01:00
Michael Niedermayer
05e1619529 avformat/mpc8: Use uint64_t in *_get_v() to avoid undefined behavior
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 14:55:42 +01:00
Paul B Mahol
9f1a5dbc26 avcodec/cdxl: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 13:40:04 +00:00
Michael Niedermayer
85a8069d23 Merge commit '8c1ce7787ad7af8fc321b4a145e9dc965f6d0e86'
* commit '8c1ce7787ad7af8fc321b4a145e9dc965f6d0e86':
  aacsbr: silence message for SBR extension "padding".

See: 1ac606bae6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 14:20:32 +01:00
Paul B Mahol
469a170135 avformat/siff: fix if_( style
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 13:10:53 +00:00
Michael Niedermayer
ba4fba8f48 Merge commit 'd615187f74ddf3413778a8b5b7ae17255b0df88e'
* commit 'd615187f74ddf3413778a8b5b7ae17255b0df88e':
  aacdec: Support for ER AAC ELD 480.

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 13:49:17 +01:00
Michael Niedermayer
dd72e26d0c Merge commit '7640c4a371a97899dfb443d980fd0bf8ac587754'
* commit '7640c4a371a97899dfb443d980fd0bf8ac587754':
  aacdec: Tables for length 480 AAC ELD.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 13:40:23 +01:00
Michael Niedermayer
f53aa3f4f3 Merge commit '0ee2573347ecdb9cb5656001f7201d819eec16d8'
* commit '0ee2573347ecdb9cb5656001f7201d819eec16d8':
  aacdec: Support for ER AAC in LATM

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 13:31:24 +01:00
Michael Niedermayer
5348d7b605 Merge commit 'edd9ea3ffba1d5873dead1c57c74b1e3cc912167'
* commit 'edd9ea3ffba1d5873dead1c57c74b1e3cc912167':
  aacdec: Refactor aac_er_decode_frame.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 13:18:51 +01:00
Stefano Sabatini
fd242b468d lavf/utils: fix if_( style 2015-02-04 13:17:30 +01:00
Liviu Oniciuc
d2330e5844 doc/muxers/image2: remove the non-negative number requirement for start_number
Update after b37858eae1.
2015-02-04 13:17:30 +01:00
Michael Niedermayer
0afc26d330 Merge commit '82bd8a57692d8f3643ad0903c97e4a0f84393f53'
* commit '82bd8a57692d8f3643ad0903c97e4a0f84393f53':
  aacdec: Refactor decode_ics_info.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 13:09:52 +01:00
Carl Eugen Hoyos
adfe89bc48 Fix standalone compilation of the tblend filter. 2015-02-04 11:09:14 +01:00
Paul B Mahol
cecc4ea1fc avcodec/evrcdec: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:42 +00:00
Paul B Mahol
63cb546f0a avcodec/wnv1: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Paul B Mahol
1634d2bcd1 avcodec/on2avc: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Paul B Mahol
49f8257135 avcodec/tak_parser: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Paul B Mahol
c93a7b264f avcodec/ac3dec: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Paul B Mahol
e9eb94ac5a avcodec/qcelpdec: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Paul B Mahol
6e7ac5ee55 avcodec/webp: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Reimar Döffinger
8c1ce7787a aacsbr: silence message for SBR extension "padding".
Some files contain a few additional, all-0 bits.
Check for that case and don't print incorrect "not supported"
message.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2015-02-03 20:32:16 -08:00
Alex Converse
d615187f74 aacdec: Support for ER AAC ELD 480.
Based in part on work from Niel van der Westhuizen <espes@pequalsnp.com>.
2015-02-03 20:32:16 -08:00
Niel van der Westhuizen
7640c4a371 aacdec: Tables for length 480 AAC ELD. 2015-02-03 20:32:16 -08:00
Niel van der Westhuizen
0ee2573347 aacdec: Support for ER AAC in LATM 2015-02-03 20:32:16 -08:00
Alex Converse
edd9ea3ffb aacdec: Refactor aac_er_decode_frame. 2015-02-03 20:32:15 -08:00
Alex Converse
82bd8a5769 aacdec: Refactor decode_ics_info. 2015-02-03 20:32:15 -08:00
Michael Niedermayer
77f326dc36 ffmpeg: Make CFR frame drop threshold user adjustable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 02:40:41 +01:00
Christophe Gisquet
52f2adc015 avcodec/hevc: Update the USE_SAO_SMALL_BUFFER case for the alignment requirements in FFmpeg
Use edge emu buffers
And enable the code unconditionally

Speed difference without USE_SAO_SMALL_BUFFER and with the new code:
Decicycles: 26772->26220 (BO32),  83803->80942 (BO64)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 01:54:22 +01:00
Christophe Gisquet
00fe77855b avcodec/hevc: Do not zero is_pcm on allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 01:54:13 +01:00
Fabrice Bellard
da81cc38e8 avcodec/hevc: reduce memory for SAO
cherry picked from commit 5d9f79edef2c11b915bdac3a025b59a32082f409

SAO edge filter uses pre-SAO pixel data on the left and top of the ctb, so
this data must be kept available. This was done previously by having 2
copies of the frame, one before and one after SAO.

This commit reduces the storage to just that, instead of the previous whole
frame.

Commit message taken from patch by Christophe Gisquet <christophe.gisquet@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 01:54:01 +01:00
wm4
b737a2c528 avformat/mpc8: fix broken pointer math
This could overflow and crash at least on 32 bit systems.

Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 00:55:47 +01:00
wm4
56cc024220 avformat/mpc8: fix hang with fuzzed file
This can lead to an endless loop by seeking back a few bytes after each
attempted chunk read. Assuming negative sizes are always invalid, this
is easy to fix. Other code in this demuxer treats negative sizes as
invalid as well.

Fixes ticket #4262.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 00:39:56 +01:00
Christophe Gisquet
e93d3a22cb x86: lavu/x264asm: fix ymm register instantiation
This mimicks what is done for the other instruction sets.

Tested-by: James Almer <jamrial@gmail.com>
Tested-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 00:18:29 +01:00
Michael Niedermayer
d304cb49eb Merge commit '898276c16b1683ac77723e97574a3bfdb29507fd'
* commit '898276c16b1683ac77723e97574a3bfdb29507fd':
  r3d: Fix pos type

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 00:04:49 +01:00
Michael Niedermayer
bd12634d6b Merge commit 'ec524ed12aa1aeb37125203f1adf5aa10dfcb0de'
* commit 'ec524ed12aa1aeb37125203f1adf5aa10dfcb0de':
  tta: Fix framepos and start_offset types

Conflicts:
	libavformat/tta.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 23:49:14 +01:00
Michael Niedermayer
1dc1c4e7a8 Merge commit 'a6653787a4b1e89170ff7962312dd110769c83a3'
* commit 'a6653787a4b1e89170ff7962312dd110769c83a3':
  libopencv: Check kernel_str life cycle

Conflicts:
	libavfilter/vf_libopencv.c

See: f16a6f667c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 23:35:08 +01:00
Michael Niedermayer
741b56fcee avcodec/svq1dec: Add assert to ensure "stages >= 0"
This is currently always true, the assert protects against
future changes to the code breaking this assumtation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 23:03:38 +01:00
Michael Niedermayer
cba3a46e93 Merge commit '9b8c8a9395c849639aea0f6b5300e991e93c3a73'
* commit '9b8c8a9395c849639aea0f6b5300e991e93c3a73':
  svq1dec: Validate the stages value strictly

Not merged, this is wrong, the condition is not possible

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 23:03:19 +01:00
Michael Niedermayer
acfb4ede2f Merge commit '6f7a32839d1b913be8170e91c3ac9816b314da21'
* commit '6f7a32839d1b913be8170e91c3ac9816b314da21':
  svq1enc: correctly handle memory error and allocations

Conflicts:
	libavcodec/svq1enc.c

See: 79888388e7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 22:40:46 +01:00
Michael Niedermayer
94337f8c2d Merge commit '67e9f3907d6d438a413df72d72c1339a0c11a290'
* commit '67e9f3907d6d438a413df72d72c1339a0c11a290':
  isom: Decode Prores 4444 XQ with the existing Prores decoder

See: fe47cba7e8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 22:29:04 +01:00
Michael Niedermayer
e005dc621a avformat: fix mode of img2dec.c and utils.c
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 22:27:23 +01:00
Michael Niedermayer
a83e0639c0 Merge commit 'e3528d2a7bf29ba148d7ac1678552ce0089cd14f'
* commit 'e3528d2a7bf29ba148d7ac1678552ce0089cd14f':
  mov: Implement parsing of the "HandlerName" from the MP4 HDLR atom

Conflicts:
	libavformat/mov.c

See: b76bc01034
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 22:19:46 +01:00
Michael Niedermayer
deeba777ad Merge commit '27b99d929fe3440b4bba8e5d970c2802f274f328'
* commit '27b99d929fe3440b4bba8e5d970c2802f274f328':
  siff: Return more meaningful error values

Conflicts:
	libavformat/siff.c

See: 29c3ebf56e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 22:05:00 +01:00
Michael Niedermayer
46a16ca15a Merge commit '75439bb31b3ab76f9a4d30c5de4ff9f407ec8128'
* commit '75439bb31b3ab76f9a4d30c5de4ff9f407ec8128':
  siff: K&R formatting cosmetics

Conflicts:
	libavformat/siff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 21:53:29 +01:00
Liviu Oniciuc
b37858eae1 avformat/img2dec: remove the non-negative number requirement for start_number option
industrial cameras usually mark the trigger frame as frame number 0
all frames saved before trigger frame receive a negative sequence number

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 18:57:23 +01:00
Luca Barbato
898276c16b r3d: Fix pos type
avio_tell can return a negative number.

Bug-Id: CID 1265715
CC: libav-stable@libav.org
2015-02-03 15:23:22 +00:00
Vittorio Giovara
ec524ed12a tta: Fix framepos and start_offset types
Also propagate errors.

CC: libav-stable@libav.org
Bug-Id: CID 1238812
2015-02-03 15:23:21 +00:00
Luca Barbato
a6653787a4 libopencv: Check kernel_str life cycle
The string might or might not be set depending if there
are args and in case of error it must be freed nonetheless.

CC: libav-stable@libav.org
Bug-Id: CID 739878 / CID 739882
2015-02-03 15:23:21 +00:00
Luca Barbato
9b8c8a9395 svq1dec: Validate the stages value strictly
It can be less than -1.

Bug-Id: CID 1194397 / CID 1194398
CC: libav-stable@libav.org
2015-02-03 15:23:21 +00:00
Michael Niedermayer
6f7a32839d svq1enc: correctly handle memory error and allocations
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-03 15:23:21 +00:00
Carl Eugen Hoyos
67e9f3907d isom: Decode Prores 4444 XQ with the existing Prores decoder
The frames seem to contain a higher bitrate which our decoder is
able to handle.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-03 15:23:21 +00:00
Hendrik Leppkes
e3528d2a7b mov: Implement parsing of the "HandlerName" from the MP4 HDLR atom
This atom typically is used for a track title. The handler name is stored
as a Pascal string in the QT specs (first byte is the length of the string),
so do not export it.

A second length check based on the first character is added to avoid
overwriting an already specified handler_name (it happens with YouTube
videos for instance, the handler_name get masked), or specifying an
empty string metadata.

The Pascal string fix and the second length check are written
by Clément Bœsch <clement.boesch@smartjog.com>.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-03 15:15:12 +00:00
wm4
6a0cd529a3 avformat/tta: fix crash with corrupted files
av_add_index_entry() can fail, for example because the parameters are
invalid, or because memory allocation fails. Check this; it can actually
happen with corrupted files.

The second hunk is just for robustness. Just in case functions like
ff_reduce_index() remove entries. (Not sure if this can actually
happen.)

Fixes ticket #4294.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 16:02:32 +01:00
Diego Biurrun
27b99d929f siff: Return more meaningful error values 2015-02-03 14:55:40 +00:00
Diego Biurrun
75439bb31b siff: K&R formatting cosmetics 2015-02-03 14:53:44 +00:00
Matt Oliver
22504396fe avformat/mpegtsenc: Fix build with msvc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 15:15:50 +01:00
Michael Niedermayer
63186ac5f1 avutil/mem: replace remaining void **/*** casts by memcpy()
This is similar to 6039248018

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 14:28:56 +01:00
Michael Niedermayer
ed91c8651a avformat/mov: simplify pasp value before setting SAR
This avoids a 65536:65536 SAR

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 14:11:20 +01:00
Rong Yan
fc35df8931 avcodec/ppc/idctdsp.c: POWER LE support in idct_add_altivec()
also add GET_TMP2() macro

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 06:16:39 +01:00
Michael Niedermayer
7620d48f2e avformat/network: Check for av_malloc* failures in ff_tls_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 02:21:55 +01:00
Michael Niedermayer
9d7ae72725 swresample: Use int instead of enum for fields which are accessed through AVOptions as int
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 23:27:26 +01:00
Michael Niedermayer
c348a42dcc Revert "avformat/mpegtsenc: Change the service_type field to enum"
This isnt safe due to AVOption accessing this field as int
i just realized a moment after pushing

This reverts commit 0935453e84.
2015-02-02 22:30:56 +01:00
Michael Niedermayer
0935453e84 avformat/mpegtsenc: Change the service_type field to enum
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 22:15:39 +01:00
dhead666
48e36f8a12 libavformat/mpegtsenc: allow to set service_type in sdt
This adds an option to set the service type in mpegts as defined in ETSI 300 468.

I added what I believe are the most useful service types as pre defined values,
the others can be sent by using their hexdecimal form directly (e.g. -mpegts_service_type digital_radio, -mpegts_service_type 0x07).

I've been using this patch in order to pipe internet radio stream (originally as HLS/m3u8) from ffmpeg to tvheadend,
when the service type set right tvheadend recognize the mpegts stream as a radio channel.

The patch in its original form was written by linuxstb from freenode's hts channel which allowed me pushing it upstream.

This close issue 4118.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 22:02:26 +01:00
Michael Niedermayer
8f79cd4764 Merge commit '11e05533170485b593974cf90916425a0188e7bd'
* commit '11e05533170485b593974cf90916425a0188e7bd':
  Ignore generated file tools/sidxindex.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 21:16:15 +01:00
Michael Niedermayer
7b32b35bf5 Merge commit '3d5d46233cd81f78138a6d7418d480af04d3f6c8'
* commit '3d5d46233cd81f78138a6d7418d480af04d3f6c8':
  opus: Factor out imdct15 into a standalone component

Conflicts:
	configure
	libavcodec/opus_celt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 20:43:13 +01:00
Michael Niedermayer
aab902e646 Merge commit '28df0151b6618226b05ee52e031af0b11ca531b0'
* commit '28df0151b6618226b05ee52e031af0b11ca531b0':
  configure: Add a dependency on vc1_decoder from vc1_parser

See: 6ac3c8c6a0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 20:32:05 +01:00
Diego Biurrun
11e0553317 Ignore generated file tools/sidxindex. 2015-02-02 20:09:27 +01:00
Michael Niedermayer
d525b45fde avcodec/hevc_filter: Fix indention
Found-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 19:56:44 +01:00
Mickaël Raulet
7cf6a67ef9 avcodec/hevc: adding support for monochrome sequences in hevc
cherry picked from commit 8e50557707d2ec11ccad657470b2e140f314348e

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 18:10:57 +01:00
Jean First
ecc92ee717 lavc/libopenjpegenc: move opj_create_compress, opj_cio_open and opj_set_event_mgr to libopenjpeg_encode_frame
libopenjpegenc crashes with "pointer being freed was not allocated" when threading
 is enabled with:
 ffmpeg -i tests/vsynth1/01.pgm -vcodec libopenjpeg file.j2k
 this appears to be a bug in libopenjpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 17:54:05 +01:00
Jean First
6d1d036e2c lavc/libopenjpegenc: factorize cinema parameters to it's own function
Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 17:32:54 +01:00
Diego Biurrun
3d5d46233c opus: Factor out imdct15 into a standalone component
It will be reused by the AAC decoder.
2015-02-02 16:07:33 +01:00
Martin Storsjö
28df0151b6 configure: Add a dependency on vc1_decoder from vc1_parser
This fixes builds with vc1_parser enabled without vc1_decoder. All
the vc1_decoder object files were included in the vc1_parser line
in libavcodec/Makefile before, but architecture specific object files
for vc1_decoder were not.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-02 15:30:54 +02:00
Michael Niedermayer
6e95c67330 avcodec/wavpackenc: remove unneeded L suffixes
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 13:34:31 +01:00
Stefano Sabatini
7b35a01ff0 doc/ffprobe.xsd: drop build_date and build_time from programVersionType
Update schema after commit:
103e4c5863
2015-02-02 10:08:22 +01:00
Andreas Cadhalpun
aa2c75e9ad doc/doxy-wrapper.sh: autodetect version
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 05:04:14 +01:00
Andreas Cadhalpun
103e4c5863 stop embedding the build date
Theis makes the build binary reproducible.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 05:04:14 +01:00
James Almer
aa945dc112 x86/hevcdsp: add missing vzeroupper in ff_hevc_sao_band_filter_48_*_avx2
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-02 00:01:35 -03:00
Ben Boeckel
1fe94ea79e vorbis: parse out setup headers as well
Prevents an 'Invalid packet' message. Currently mid-stream setup packets
are ignored. Theoretically, they could, based on the specification, be used to
reinitialize the stream if parameters change, but I don't expect that to be
common (and no one seems to have asked for it).

Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 03:11:49 +01:00
Michael Niedermayer
17d87571c8 ffplay: Fallback to dts if pts is unavailable in pkt_in_play_range calculation
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 02:50:33 +01:00
James Almer
71e2cb4706 x86/hevcdsp: add missing guards to ff_hevc_sao_band_filter_avx2
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-01 21:45:52 -03:00
James Darnley
12120174ce lavu/x86/x86inc: deprecate INIT_AVX
The same can be done with INIT_XMM avx

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 01:09:16 +01:00
Christophe Gisquet
6a6aeb538b hevc/sao: use aligned copies
For band filter, source and destination are aligned (except for 16x16 ctbs),
and otherwise, they are most often aligned. Overall, the total width is also
too small for amortizing memcpy.

Timings (using an intrinsic version of edge filters):
          B/32     B/64     E/32     E/64
Before:  32045    93952    38925    126896
After:   26772    83803    33942    117182
2015-02-01 20:23:03 -03:00
Christophe Gisquet
bff7feb328 x86: hevc/sao: aligned source buffers
Usefull for at least band filter, for which:
- Band filter call only:
           32      64
Before:  16556    54015
After:   16497    52355
- Whole case:
           32      64
Before:  37031   103008
After:   32045    93952
2015-02-01 20:22:54 -03:00
James Almer
fa3eccb4f9 x86/hevc: add ff_hevc_sao_band_filter_{8,10,12}_{sse2,avx,avx2}
Original x86 intrinsics code and initial 8bit yasm port by Pierre-Edouard Lepere.
10/12bit yasm ports, refactoring and optimizations by James Almer

Benchmarks of BQTerrace_1920x1080_60_qp22.bin with an Intel Core i5-4200U

width 32
40338 decicycles in sao_band_filter_0_8, 2048 runs, 0 skips
8056 decicycles in ff_hevc_sao_band_filter_8_32_sse2, 2048 runs, 0 skips
7458 decicycles in ff_hevc_sao_band_filter_8_32_avx, 2048 runs, 0 skips
4504 decicycles in ff_hevc_sao_band_filter_8_32_avx2, 2048 runs, 0 skips

width 64
136046 decicycles in sao_band_filter_0_8, 16384 runs, 0 skips
28576 decicycles in ff_hevc_sao_band_filter_8_32_sse2, 16384 runs, 0 skips
26707 decicycles in ff_hevc_sao_band_filter_8_32_avx, 16384 runs, 0 skips
14387 decicycles in ff_hevc_sao_band_filter_8_32_avx2, 16384 runs, 0 skips

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-01 20:22:35 -03:00
Anton Mitrofanov
a1684311b3 x264asm: warn when inappropriate instruction used in function with specified cpuflags
Requested-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Requested-by: "Ronald S. Bultje" <rsbultje@gmail.com>
2015-02-02 00:06:14 +01:00
Michael Niedermayer
36adfa3274 tests/utils: Remove unneeded L suffix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 22:38:11 +01:00
Michael Niedermayer
4531e2c489 avcodec/mpegvideo_enc: Fix number suffixes in rc_buffer_size calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00
Michael Niedermayer
592ba6ec10 avcodec/h264_cabac: use int instead of long for mbb_xy
The mb address fits in int

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00
Michael Niedermayer
f1f7f5903a avformat/omadec: fix number suffix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00
Michael Niedermayer
465f3705b1 avformat/smacker: Fix number suffix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00
Michael Niedermayer
fc3cdb00d0 avformat/matroskadec: Fix number suffixes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00
Michael Niedermayer
b4ad2853c5 avcodec/dxtory: Use LL instead of L number suffix
This is probably unneeded and normal int would be fine, but its
safer to use LL and this isnt speed relevant

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00
Michael Niedermayer
c77cc2c176 swresample/dither: Cleanup number suffixes
The <<31 case needs LL

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00
James Almer
2929e56006 hevcdsp: replace the SAOParams struct parameter from sao_band_filter
Pass instead the two variables from the struct needed in the function.
This simplifies writing asm optimized versions of the function

Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-01 15:45:20 -03:00
James Almer
65e6ab0c5a hevcdsp: remove unused parameter from sao_band_filter
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-01 15:45:14 -03:00
Michael Niedermayer
4b15bba2ae avformat/utils: Fix number suffixes in tb_unreliable()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 19:19:25 +01:00
Michael Niedermayer
0ff8fe10f2 avcodec/h261enc: Fix number suffix
Found-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 19:13:38 +01:00
Michael Niedermayer
61aca123fb avcodec/h261dec: Fix exported MVs for skipped MBs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 18:48:23 +01:00
Michael Niedermayer
0182e5a740 avcodec/nellymoserenc: replace assert by av_assert1()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 17:56:01 +01:00
Paul B Mahol
d0045312c3 avfilter/vf_dctdnoiz: Use av_malloc_array()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-01 16:47:36 +00:00
Carl Eugen Hoyos
f018b1f3a0 Support YA16 in jpeg 2000. 2015-02-01 16:18:39 +01:00
Michael Niedermayer
e912f45b81 avformat/oggenc: Simplify by using OFFSET and PARAM
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 14:35:15 +01:00
Michael Niedermayer
fa73358c9b Merge commit '60392480181f24ebf3ab48d8ac3614705de90152'
* commit '60392480181f24ebf3ab48d8ac3614705de90152':
  mem: fix pointer pointer aliasing violations

Conflicts:
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 13:52:22 +01:00
Michael Niedermayer
9bacb576bc Merge commit 'f726fc21ef76a8ba3445448066f7b2a687fbca16'
* commit 'f726fc21ef76a8ba3445448066f7b2a687fbca16':
  ogg: Provide an option to offset the serial number

Conflicts:
	libavformat/oggenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 13:22:21 +01:00
Paul B Mahol
021c0c5f52 avcodec/motion_est: remove unneeded #include, there are no assert() only av_assert*
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-01 11:15:20 +00:00
Paul B Mahol
01a3c5dae0 avcodec/put_bits: remove unneeded #include, there are no assert()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-01 11:15:20 +00:00
Rémi Denis-Courmont
6039248018 mem: fix pointer pointer aliasing violations
This uses explicit memory copying to read and write pointer to pointers
of arbitrary object types. This works provided that the architecture
uses the same representation for all pointer types (the previous code
made that assumption already anyway).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-01 02:28:40 +01:00
Luca Barbato
f726fc21ef ogg: Provide an option to offset the serial number
The ogg serial number doubles as codec id and sequence
value for concatenated samples.
2015-02-01 02:28:40 +01:00
Christophe Gisquet
cb335b3af2 dvenc: fix 2x4x8 (interlaced) weight table
Since the decoder has been fixed to output something similar to
other implementations, the encoder weight table needed this fix.

Reference PSNR values on a progressive sequence (from tiny_psnr)
from a chained encoding and decoding:
Full progressive: stddev:    0.74 PSNR: 50.69 MAXDIFF:   19
Before:           stddev:    1.43 PSNR: 44.97 MAXDIFF:   17
This patch:       stddev:    0.76 PSNR: 50.44 MAXDIFF:   14

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 02:01:55 +01:00
Andreas Cadhalpun
2a3b7a55b5 examples/demuxing_decoding: set stream_idx in open_codec_context only if no error occured
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 21:54:36 +01:00
Michael Niedermayer
b80106169a avcodec/motion_est: Set subcmp consistently for H261
Fixes Ticket3150

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 21:14:08 +01:00
Michael Niedermayer
3aefa1eb69 avcodec/h261enc: More specific return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 19:59:53 +01:00
Michael Niedermayer
b9c3f041e0 avcodec/h261enc: Avoid casts, Simplify code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 19:59:26 +01:00
Zhang Rui
ca2e3e47fc avformat/cache: pass options to the underlying protocol via the url_open2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 18:55:46 +01:00
Michael Niedermayer
958836f8c5 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavc/arm: Use the neon vertical chroma loop filter also for H.264 4:2:2.
  lavc/aarch64: Do not use the neon horizontal chroma loop filter for H.264 4:2:2.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 14:29:15 +01:00
Paul B Mahol
b47ab04c40 configure: remove mp_filter leftover
Pointed out by: ubitux
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 12:57:36 +00:00
Michael Niedermayer
b288f67434 avfilter/avfilter: Remove CONFIG_MP_FILTER case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 13:47:17 +01:00
Paul B Mahol
a34f4e2fd2 avfilter: remove vf_mp.c
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 12:43:03 +00:00
Paul B Mahol
e7e0005cc6 remove libmpcodecs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 12:01:54 +00:00
Stefano Sabatini
f422f474df doc/indevs/libcdio: apply minor spell fixes, extend documentation 2015-01-31 11:32:05 +01:00
Stefano Sabatini
c8bec255ef lavd/libcdio: add more paranoia mode constants 2015-01-31 11:32:05 +01:00
Stefano Sabatini
fbccbd6832 lavd/libcdio: apply minor fixes to options documentation 2015-01-31 11:32:05 +01:00
Carl Eugen Hoyos
f9f9ae1b77 lavc/arm: Use the neon vertical chroma loop filter also for H.264 4:2:2. 2015-01-31 10:05:24 +01:00
Carl Eugen Hoyos
4faea46bd9 lavc/aarch64: Do not use the neon horizontal chroma loop filter for H.264 4:2:2. 2015-01-31 10:05:10 +01:00
Paul B Mahol
f705b1287b avformat/movenc: remove unneeded #include, there are no assert() only av_assert*
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 08:57:07 +00:00
Paul B Mahol
cc1357a173 avformat/mov: remove unneeded #include, there are no assert()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 08:57:07 +00:00
Paul B Mahol
41456c7d15 avformat/mux: remove unneeded #include, there are no assert() only av_assert*
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 08:57:07 +00:00
Paul B Mahol
12c5addebc avformat/asfenc: remove unneeded #include, there are no assert() only av_assert*
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 08:57:07 +00:00
Paul B Mahol
ca8617a04d avformat/mpeg: remove unneeded #include, there are no assert() only av_assert*
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 08:57:06 +00:00
Paul B Mahol
43630c82f1 avformat/utils: remove unneeded #include, there are no assert() only av_assert*
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 08:57:06 +00:00
Paul B Mahol
bc74f946bc avcodec/vc1: remove unneeded #includes, there are no assert() only av_assert*
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 08:57:06 +00:00
Paul B Mahol
335c150ba1 avcodec/svq1dec: remove unneeded #include, there are no assert()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 08:57:06 +00:00
Michael Niedermayer
9f73b88c62 avcodec/h261enc: fix dquant encoding
Fixes Ticket4111

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 04:57:50 +01:00
Michael Niedermayer
f5722ba276 libavcodec/h264: replace assert() by av_assert0()
also remove the now unneeded #include <assert.h>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 02:37:19 +01:00
Michael Niedermayer
be2ebc723d avcodec/ratecontrol: replace asserts by av_asserts
Also remove the now unneeded #include <assert.h>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 01:48:21 +01:00
Paul B Mahol
2ff7e81b3c avcodec/vp3: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 19:15:01 +00:00
Michael Niedermayer
dffc16d523 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Respect horizontal differencing predictor for 16bit gray tiff images.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 19:01:56 +01:00
Paul B Mahol
9fd925dee5 lavfi: remove mp=softpulldown
It is supposed to work correctly with MEncoder only.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 16:10:11 +00:00
Michael Niedermayer
d0f315ab6c avcodec/ppc/h264qpel_template: Change if DEBUG assert() to av_assert2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 16:44:00 +01:00
Michael Niedermayer
3531594017 ppc/mpegvideo_altivec: Change assert to av_assert2()
And move it to where the variable is used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 16:43:14 +01:00
Paul B Mahol
be128c1e34 avcodec/videodsp_template: remove unneeded #include, there are no assert() only av_assert*
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 15:32:11 +00:00
Paul B Mahol
3db9960e0a avcodec/qdm2: remove unneeded #include, there are no assert()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 15:32:11 +00:00
Paul B Mahol
5274860fe2 ffmpeg: remove unused header
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 15:32:11 +00:00
Paul B Mahol
80cbf13725 avformat/rtpdec_qdm2: change assert to av_assert0()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 15:32:10 +00:00
Christophe Gisquet
1fa637d2ef ffmpeg: free_input_threads requires HAVE_PTHREADS
Hide behind that macro to avoid warning on systems with
!HAVE_PTHREADS.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 14:47:08 +01:00
Carl Eugen Hoyos
50144b91ea Respect horizontal differencing predictor for 16bit gray tiff images.
Fixes ticket #4291.
2015-01-30 14:12:55 +01:00
Stefano Sabatini
40b026b1d0 doc/muxers/segment: document strftime option
It was added in commit 202947a066.
2015-01-30 11:52:37 +01:00
Paul B Mahol
64815d1f0c avformat/nut: support WavPack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 09:33:49 +00:00
Paul B Mahol
b5004f3213 avformat/nut: add GIF[0]
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 08:58:33 +00:00
Michael Niedermayer
a73c411809 avcodec/aacdec: remove unneeded #include, theres no assert() in aacdec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 02:29:38 +01:00
Michael Niedermayer
305cbe76d3 avcodec/wma: remove unneeded #includes, there are no assert() only av_assert*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 02:26:17 +01:00
Michael Niedermayer
2b215b7f5a avcodec/hevc: Check for av_malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 00:44:51 +01:00
Michael Niedermayer
5008605bf2 avcodec/hevc: Replace more mallocs by av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 00:44:50 +01:00
Anshul Maheshwari
93fac23b80 avcodec/ccaption_dec: Adding color and fonts for future use in screen
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 00:04:51 +01:00
Lou Logan
961f2e3aac doc/indevs: add some XCB info to x11grab
Signed-off-by: Lou Logan <lou@lrcd.com>
2015-01-29 13:12:13 -09:00
Michael Niedermayer
ccccfb59b1 Merge commit '22b985d59c007c4422aefe3ef3fca0aa0daafa9f'
* commit '22b985d59c007c4422aefe3ef3fca0aa0daafa9f':
  hqdn3d: check memory allocations and propagate errors

Conflicts:
	libavfilter/vf_hqdn3d.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 22:43:36 +01:00
Michael Niedermayer
89c35b1130 Merge commit '70d246d5cc3d214da11f711d997d8cbd8c3a23d1'
* commit '70d246d5cc3d214da11f711d997d8cbd8c3a23d1':
  flacenc: initialize sums matrix

Conflicts:
	libavcodec/flacenc.c

No change, the table does not exist in FFmpeg in this form anymore

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 22:34:54 +01:00
Michael Niedermayer
c16896f525 Merge commit 'c01ccccbb13f464e74bb8498a8c573a66c430ca0'
* commit 'c01ccccbb13f464e74bb8498a8c573a66c430ca0':
  ituh263dec: use macro instead of #if

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 22:02:22 +01:00
Michael Niedermayer
c2ad22ff99 Merge commit '08fa34bf75942f66796d770ff42a3721b2e3d2d4'
* commit '08fa34bf75942f66796d770ff42a3721b2e3d2d4':
  yuv4mpegdec: initialize field_order in yuv4_read_header()

Conflicts:
	libavformat/yuv4mpegdec.c

See: 52a17972de
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 21:55:02 +01:00
Michael Niedermayer
e18e5ae62c Merge commit '302ca6b20ed01ac584f5b15d5bca3d3a92b7a77a'
* commit '302ca6b20ed01ac584f5b15d5bca3d3a92b7a77a':
  mpegvideo_enc: initialize the encoding context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 21:36:20 +01:00
Michael Niedermayer
56252a5e09 Merge commit '1a07df31128da3a0020b66502399989b91770d44'
* commit '1a07df31128da3a0020b66502399989b91770d44':
  DNxHD: Add support for id 1258 (DNx100 960x720@8)

Conflicts:
	Changelog
	libavcodec/dnxhddata.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 21:21:49 +01:00
Michael Niedermayer
64e7cf1253 Merge commit '598f7d046cbf306706623210c5baafa3b7cd1df3'
* commit '598f7d046cbf306706623210c5baafa3b7cd1df3':
  DNxHD: Simplify pixel format detection

Conflicts:
	libavcodec/dnxhddec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 20:54:25 +01:00
Michael Niedermayer
e5b7e2224f Merge commit '41e03e284ee7b0d4caa3a5d28681ad46e3105d65'
* commit '41e03e284ee7b0d4caa3a5d28681ad46e3105d65':
  DNxHD: More verbose error messages

Conflicts:
	libavcodec/dnxhddec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 20:38:35 +01:00
Michael Niedermayer
bcadf5d940 Merge commit '1279221cc4d63bc4449df86ae7a98e633f8be425'
* commit '1279221cc4d63bc4449df86ae7a98e633f8be425':
  lavu: Check av_dict_set allocations

Conflicts:
	libavutil/dict.c

See: a963fdb0ea
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 20:28:24 +01:00
Vittorio Giovara
22b985d59c hqdn3d: check memory allocations and propagate errors 2015-01-29 17:33:38 +00:00
Vittorio Giovara
70d246d5cc flacenc: initialize sums matrix
CC: libav-stable@libav.org
Bug-Id: CID 703821
2015-01-29 17:33:38 +00:00
Vittorio Giovara
c01ccccbb1 ituh263dec: use macro instead of #if 2015-01-29 17:33:34 +00:00
Vittorio Giovara
08fa34bf75 yuv4mpegdec: initialize field_order in yuv4_read_header()
CC: libav-stable@libav.org
Bug-Id: CID 1265721
2015-01-29 15:26:33 +00:00
Vittorio Giovara
302ca6b20e mpegvideo_enc: initialize the encoding context
This prevents several uninitialized variable uses that take
place towards the end of encoding.

CC: libav-stable@libav.org
Bug-Id: CID 700760
2015-01-29 15:26:33 +00:00
Vittorio Giovara
1a07df3112 DNxHD: Add support for id 1258 (DNx100 960x720@8)
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-29 15:04:57 +00:00
Vittorio Giovara
598f7d046c DNxHD: Simplify pixel format detection
Error out in case of unknown values.
2015-01-29 15:04:46 +00:00
Vittorio Giovara
41e03e284e DNxHD: More verbose error messages 2015-01-29 15:04:35 +00:00
Luca Barbato
1279221cc4 lavu: Check av_dict_set allocations
Bug-Id: CID 1257772
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-29 14:59:57 +00:00
Zhang Rui
038f3a173f avformat/concatdec: avoid NULL dereference when failed to open file.
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 14:25:04 +01:00
Michael Niedermayer
d39fa69dfc Merge commit '6996fd204a7f28b46a8c3c97bcf223998218c743'
* commit '6996fd204a7f28b46a8c3c97bcf223998218c743':
  libopenh264: Log debug messages to a non-null context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 14:13:25 +01:00
Stefano Sabatini
d43c1ec684 examples/filtering: extend comments about setting the filter graph endpoints
That part is a constant source of confusions for readers, this should
help clarify the apparently inverted logic.
2015-01-29 11:12:39 +01:00
Stefano Sabatini
af7b89e08b lavfi: document assumptions about the input and output labels of a filter graph description 2015-01-29 10:12:34 +01:00
Stefano Sabatini
d11fcf735f doc/filters: apply some updates to the Filtergraph syntax section 2015-01-29 10:12:34 +01:00
Martin Storsjö
6996fd204a libopenh264: Log debug messages to a non-null context
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-29 09:16:35 +02:00
Arwa Arif
a21acd554a Fix frame-alignment in PP7
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 04:38:48 +01:00
Michael Niedermayer
4155f2d7cc Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Add an ARES atom to extradata when encoding avui.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 03:02:09 +01:00
Supraja Meedinti
6ad749b533 libavutil: Added twofish symmetric block cipher
Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Reviewed-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 01:56:11 +01:00
Carl Eugen Hoyos
3ea97767e4 Add an ARES atom to extradata when encoding avui.
Allows playback with QuickTime and the original codec.

Tested by Olaf Matthes, olaf matthes gmx de
2015-01-29 01:07:08 +01:00
Michael Niedermayer
72db3c79df Merge commit '61928b68dc28e080b8c8191afe5541123c682bbd'
* commit '61928b68dc28e080b8c8191afe5541123c682bbd':
  h264: Do not share rbsp_buffer across threads

Conflicts:
	libavcodec/h264.c

See: ecbf838c7d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 22:44:09 +01:00
Michael Niedermayer
58ed152857 avformat/aviobuf: Allow seeking to the end of the buffer for read only buffers
This undoes the effect of 3c18a7b188 for reading

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 20:56:50 +01:00
Michael Niedermayer
0b4fc4bacd Merge commit '3c18a7b18807de81566381a1bcbe9f6103c0296b'
* commit '3c18a7b18807de81566381a1bcbe9f6103c0296b':
  avio: Do not consider the end-of-buffer position valid

Conflicts:
	libavformat/aviobuf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 20:37:28 +01:00
Michael Niedermayer
37984ca133 Merge commit '6a808f5ae17f1fcdbcfb18055872c12aef70ffff'
* commit '6a808f5ae17f1fcdbcfb18055872c12aef70ffff':
  libdc1394: Add support for MONO8 (gray) video mode

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 20:29:29 +01:00
Paul B Mahol
c099783316 avformat/nsvdec: remove case which is no longer possible
Check of channels !=0 is right above.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-28 17:57:48 +00:00
Michael Niedermayer
a6f9a5d0f6 avfilter/x86/vf_fspp: Fix loop condition for column_fidct()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 17:23:27 +01:00
Michael Niedermayer
375a0273ce avfilter/vf_fspp: check count before calling row_idct()
Fixes crash with odd widths

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 17:23:27 +01:00
Arwa Arif
622936424c avfilter/vf_fspp: Fix frame-alignment in FSPP
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 17:22:54 +01:00
Michael Niedermayer
61928b68dc h264: Do not share rbsp_buffer across threads
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>

CC: libav-stable@libav.org
2015-01-28 16:28:58 +01:00
Luca Barbato
3c18a7b188 avio: Do not consider the end-of-buffer position valid
Trigger a refill if the seek action moves the pointer
at the end of the buffer.

Before this patch the read action following the seek would trigger
the refill, while write action would write outside the buffer.

In the Libav codebase few muxers seek forward outside of what
already has been written so it is quite unlikely to experience
the problem with the default buffer size.

CC: libav-stable@libav.org
2015-01-28 16:28:10 +01:00
Clay McClure
6a808f5ae1 libdc1394: Add support for MONO8 (gray) video mode
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-28 16:10:24 +01:00
Paul B Mahol
fca50464dc avfilter/vf_colorchannelmixer: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-28 14:39:15 +00:00
Paul B Mahol
67aaa7056d avfilter/avf_avectorscope: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-28 14:34:11 +00:00
Paul B Mahol
6121968a9e avfilter/af_biquads: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-28 14:30:27 +00:00
Paul B Mahol
f27cda48ec avfilter/vf_extractplanes: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-28 14:26:13 +00:00
Paul B Mahol
abcf8610b8 avfitler/vf_il: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-28 14:22:26 +00:00
Paul B Mahol
231bf4d1c2 avfilter/vf_colorbalance: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-28 14:11:30 +00:00
Paul B Mahol
87577f5508 avfilter/vf_telecine: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-28 13:51:18 +00:00
Michael Niedermayer
0d37ca150c avutil/aes: Rename crypt()
This avoids a potential conflict with the equally named function from XOPEN
It also could reduce confusion in debugger backtraces

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 13:12:02 +01:00
Michael Niedermayer
ccaa5dcb31 avcodec/h264_parser: Rename close()
This avoids a potential conflict with the equally named function for closing files
It also could reduce confusion in debugger backtraces

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 13:11:03 +01:00
Maneesh Gupta
1600f85cbc doc/fftools-common-opts: update/extend documentation for -opencl_bench option
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2015-01-28 10:00:30 +01:00
Timo Rothenpieler
fb34c580bb avcodec/nvenc: Handle non-square pixel aspect ratios
Reviewed-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 06:10:40 +01:00
Mark Reid
a181169868 tests/fate: added mxf tests for essencegroups and missing index
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 05:45:32 +01:00
Carl Eugen Hoyos
449b8cf04b avformat/mxfdec: Fix cleanup in mxf_free_metadataset()
Fixes Ticket4256

Found-by: tholin
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 05:26:01 +01:00
Michael Niedermayer
840570d27b avfilter/vf_mcdeint: avoid uninitilaized fields in AVPacket
This is also simpler

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 00:58:03 +01:00
Reimar Döffinger
6efd0ba977 swresample_internal.h: Move struct declaration before first use.
It seems more logical and works with more restricted C compilers
like tinycc.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2015-01-27 21:29:51 +01:00
Reimar Döffinger
d96090e7b6 Support BMP files that do not properly align lines.
Quite a few programs missed that detail of the spec
(including old versions of FFmpeg I believe) and when
we would otherwise fail anyway it seems worth a try
to use a simple byte-aligned stride instead.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2015-01-27 21:29:42 +01:00
Michael Niedermayer
d3d4d98764 Merge commit '8805589b803fab5f362008306319336ac79a3fa7'
* commit '8805589b803fab5f362008306319336ac79a3fa7':
  libopencv: Rework error handling in parse_iplconvkernel()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 20:31:51 +01:00
Michael Niedermayer
c5b6b711b2 Merge commit '607ad990d31e6be52980970e5ce8cd25ab3de812'
* commit '607ad990d31e6be52980970e5ce8cd25ab3de812':
  dvbsubdec: check memory allocations and propagate errors

Conflicts:
	libavcodec/dvbsubdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 20:25:40 +01:00
Michael Niedermayer
f955abe333 Merge commit 'e71149a7a5b10ed7baa5a06f47d0313c7bd8df52'
* commit 'e71149a7a5b10ed7baa5a06f47d0313c7bd8df52':
  nuv: validate image size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 20:13:07 +01:00
Michael Niedermayer
b04cbbe255 Merge commit '7c51d79ca7badfb370c410b8f44c9142b938e2e6'
* commit '7c51d79ca7badfb370c410b8f44c9142b938e2e6':
  nsvdec: validate channels and samplerate

See: d633e15d7d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 19:53:50 +01:00
Michael Niedermayer
4ce67c961c Merge commit 'a536a4e4bc52d05f59869761337452fb1f1977f6'
* commit 'a536a4e4bc52d05f59869761337452fb1f1977f6':
  lavc: support extracting audio service type from side data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 18:50:47 +01:00
Michael Niedermayer
6d34665c76 Merge commit '32125781487411ed3b1b28b32063d6cd4024d4fc'
* commit '32125781487411ed3b1b28b32063d6cd4024d4fc':
  mov: export audio service type as side data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 18:32:23 +01:00
Michael Niedermayer
0bdcc27d95 Merge commit '4227e4fe7443733fb906f6fb6c265105e8269c74'
* commit '4227e4fe7443733fb906f6fb6c265105e8269c74':
  lavf: add a convenience function for adding side data to a stream

Conflicts:
	libavformat/internal.h
	libavformat/replaygain.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 18:16:42 +01:00
Michael Niedermayer
62a82c66cd Merge commit '728685f37ab333ca35980bd01766c78d197f784a'
* commit '728685f37ab333ca35980bd01766c78d197f784a':
  Add a side data type for audio service type.

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/version.h
	libavutil/frame.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 18:03:43 +01:00
Michael Niedermayer
b44456c908 Merge commit '80a11de7dca315505bf203ce9c8c016e71724fd2'
* commit '80a11de7dca315505bf203ce9c8c016e71724fd2':
  nutenc: do not use has_b_frames

Conflicts:
	libavformat/nutenc.c
	tests/ref/lavf/nut
	tests/ref/seek/lavf-nut

Mostly not merged, this is simply not correct

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 17:52:06 +01:00
Michael Niedermayer
3c831fba08 Merge commit 'e44b58924fe7b180bf8b0c277c15d1a58210a0e9'
* commit 'e44b58924fe7b180bf8b0c277c15d1a58210a0e9':
  lavc: deprecate unused AVCodecContext.stream_codec_tag

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 17:08:40 +01:00
Michael Niedermayer
a764402394 avcodec/h263dec: Try to use codec_tag instead of the stream_codec_tag
If this causes problems then the stream_codec_tag should be enabled again

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 17:03:42 +01:00
Vittorio Giovara
8805589b80 libopencv: Rework error handling in parse_iplconvkernel()
Fix 'values' memory leak in case of error.

CC: libav-stable@libav.org
Bug-Id: CID 739879
2015-01-27 15:26:37 +00:00
Vittorio Giovara
607ad990d3 dvbsubdec: check memory allocations and propagate errors 2015-01-27 15:26:37 +00:00
Vittorio Giovara
e71149a7a5 nuv: validate image size
Avoid a division by zero.

CC: libav-stable@libav.org
Bug-Id: CID 717750
2015-01-27 15:26:37 +00:00
Vittorio Giovara
7c51d79ca7 nsvdec: validate channels and samplerate
Avoid a division by zero.

CC: libav-stable@libav.org
Bug-Id: CID 717749
2015-01-27 15:26:37 +00:00
Michael Niedermayer
be023405a7 Merge commit 'f771b3ab5d3c0b763ee356152be550f4121babd0'
* commit 'f771b3ab5d3c0b763ee356152be550f4121babd0':
  avidec: do not export stream_codec_tag

Conflicts:
	libavformat/avidec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 16:17:42 +01:00
Michael Niedermayer
392080cbe5 Merge commit '167e004e1aca7765686ed95d7cd8ea5064d4f6f6'
* commit '167e004e1aca7765686ed95d7cd8ea5064d4f6f6':
  h264: drop any pretense of support for data partitioning

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 16:03:23 +01:00
Michael Niedermayer
f25f15b6e1 Merge commit '58ae8d595724150c407ca2c2df3aa4bd5580397c'
* commit '58ae8d595724150c407ca2c2df3aa4bd5580397c':
  h264_parser: restore a comment lost in 0268a54

Conflicts:
	libavcodec/h264_parser.c

No change, the code that is commented is no longer there in the form to
which the comment applied

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 15:24:08 +01:00
Michael Niedermayer
ad3412d028 Merge commit 'ecab21ac47d0d4ca604bebf494017ae5090853a8'
* commit 'ecab21ac47d0d4ca604bebf494017ae5090853a8':
  h264: do not reset the ref lists in flush_change()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 15:15:18 +01:00
Michael Niedermayer
6e57d2da90 Merge commit '9404a47a2d1df418946a338938eb6cdb3afed474'
* commit '9404a47a2d1df418946a338938eb6cdb3afed474':
  h264: move parser-only variables to their own context

Conflicts:
	libavcodec/h264_parser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 15:08:17 +01:00
Michael Niedermayer
3d04117078 Merge commit 'cf1e0786ed64e69614760bfb4ecd7adbde8e6094'
* commit 'cf1e0786ed64e69614760bfb4ecd7adbde8e6094':
  error_resilience: move the MECmpContext initialization into ER code

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 14:56:52 +01:00
Michael Niedermayer
a1cdd1f08e Merge commit 'a7e0380497306d9723dec8440a4c52e8bf0263cf'
* commit 'a7e0380497306d9723dec8440a4c52e8bf0263cf':
  avconv_dxva2: add hevc support

See: 5f2cdf9c3c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 14:46:02 +01:00
Michael Niedermayer
b6938c94d6 Merge commit '7e850fa67e32ebe98581c2e4ca4a4655dee7f116'
* commit '7e850fa67e32ebe98581c2e4ca4a4655dee7f116':
  Add DXVA2 HEVC HWAccel

Conflicts:
	configure
	libavcodec/allcodecs.c
	libavcodec/dxva2_hevc.c

See: 36962ad233
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 14:25:02 +01:00
Michael Niedermayer
2d4b8af4f6 Merge commit 'b82722df9b2911bd41e0928db4804067b39e6528'
* commit 'b82722df9b2911bd41e0928db4804067b39e6528':
  hevc: reindent after previous commit

Conflicts:
	libavcodec/hevc.c

See: f8ecffa9b7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 14:22:35 +01:00
Michael Niedermayer
4e40e61287 Merge commit 'e72e8c5a1df61447ac7af750531e96e8b62d02ba'
* commit 'e72e8c5a1df61447ac7af750531e96e8b62d02ba':
  hevc: add hwaccel hooks

Conflicts:
	libavcodec/hevc.c
	libavcodec/hevc_refs.c

See: b2e9b0f5d4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 14:13:18 +01:00
Michael Niedermayer
2b5fa0e0be Merge commit '4b95e95dbae58c9b60891284bf8b5bbd83e5293a'
* commit '4b95e95dbae58c9b60891284bf8b5bbd83e5293a':
  hevc: store the short term rps flag and size in the context

See: 06894f1a04
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 14:03:26 +01:00
Michael Niedermayer
f35c4f4a17 Merge commit '36779a84051eae6744cc936d91b1d428143665ba'
* commit '36779a84051eae6744cc936d91b1d428143665ba':
  hevc: store the escaped/raw bitstream in HEVCNAL

See: 2af82a1ad9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 13:56:11 +01:00
Michael Niedermayer
183bffb3a3 Merge commit 'b0593a4bca138f1f026d8c21e8c3daa96800afe2'
* commit 'b0593a4bca138f1f026d8c21e8c3daa96800afe2':
  hevc: pass the full HEVCNAL struct to decode_nal_unit

Conflicts:
	libavcodec/hevc.c

See: 77140279d3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 13:55:15 +01:00
Michael Niedermayer
e5c28d4f9a Merge commit '3a70c0c95feacb3844d05eebd579fc8189a77eee'
* commit '3a70c0c95feacb3844d05eebd579fc8189a77eee':
  examples/transcode_aac: generate proper PTS and set the muxer timebase

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 13:35:31 +01:00
Michael Niedermayer
d078d57fb7 Merge commit 'c9b19ac8928c6c9b7f25c3988177204f110d5e0e'
* commit 'c9b19ac8928c6c9b7f25c3988177204f110d5e0e':
  examples/transcode_aac: fix a typo

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 13:29:46 +01:00
Michael Niedermayer
010311d673 Merge commit '749a89d1b8bb73b4d4f14c48f33259a1300c1761'
* commit '749a89d1b8bb73b4d4f14c48f33259a1300c1761':
  examples/transcode_aac: properly select the output sample format

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 13:21:02 +01:00
Michael Niedermayer
a7fa1b9aa1 Merge commit '443b71928b2f36362e805c037751e6c3c79ea4e8'
* commit '443b71928b2f36362e805c037751e6c3c79ea4e8':
  hevc: unref the current frame if frame_start() fails

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 13:15:06 +01:00
Michael Niedermayer
74e5a5a849 Merge commit '1dd021929f8157b88529ce1e6ab6351dd2899e89'
* commit '1dd021929f8157b88529ce1e6ab6351dd2899e89':
  hevc: clear unused refs on failure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 13:02:36 +01:00
Michael Niedermayer
ed8de1570d Merge commit 'f9f883af4fe615a832407a657752e248a96c6280'
* commit 'f9f883af4fe615a832407a657752e248a96c6280':
  h264: simplify code in flush_dpb()

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 12:55:21 +01:00
Hendrik Leppkes
5f2cdf9c3c ffmpeg_dxva2: add hevc support
Reviewed-by: compn <tempn@mi.rr.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 12:37:34 +01:00
Hendrik Leppkes
36962ad233 Add DXVA2 HEVC HWAccel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 12:37:34 +01:00
Hendrik Leppkes
f8ecffa9b7 hevc: reindent after previous commit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 12:37:34 +01:00
Hendrik Leppkes
b2e9b0f5d4 hevc: add hwaccel hooks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 12:37:34 +01:00
Hendrik Leppkes
06894f1a04 hevc: store the short term rps flag and size in the context
For future use by hardware accelerators.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 12:37:34 +01:00
Hendrik Leppkes
2af82a1ad9 hevc: store the escaped/raw bitstream in HEVCNAL
Hardware Accelerators require access to the escaped bitstream.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 12:37:34 +01:00
Stefano Sabatini
afa3c996fe lavfi/lut: apply minor compute_gammaval709() doxy fix 2015-01-27 11:22:45 +01:00
Anton Khirnov
a536a4e4bc lavc: support extracting audio service type from side data 2015-01-27 09:22:33 +01:00
Anton Khirnov
3212578148 mov: export audio service type as side data 2015-01-27 09:21:28 +01:00
Anton Khirnov
4227e4fe74 lavf: add a convenience function for adding side data to a stream 2015-01-27 09:18:32 +01:00
Anton Khirnov
728685f37a Add a side data type for audio service type.
Currently, audio service type is a field in AVCodecContext. However,
side data is more appropriate for this kind of information.
2015-01-27 09:17:48 +01:00
Anton Khirnov
80a11de7dc nutenc: do not use has_b_frames
It is unreliable, especially when the stream codec context is not the
encoding context. Use the codec descriptor properties instead.
2015-01-27 09:15:07 +01:00
Anton Khirnov
e44b58924f lavc: deprecate unused AVCodecContext.stream_codec_tag 2015-01-27 09:14:39 +01:00
Anton Khirnov
f771b3ab5d avidec: do not export stream_codec_tag
Handle its only existing use case internally.
2015-01-27 09:13:45 +01:00
Anton Khirnov
167e004e1a h264: drop any pretense of support for data partitioning
It does not work correctly and apparently never did. There is no
indication that this (mis)feature is ever used in the wild or even that
any software other than the reference supports it.

Since the code that attempts to support it adds some nontrivial
complexity and has resulted in several bugs in the past, it is better to
just drop it.
2015-01-27 09:10:12 +01:00
Anton Khirnov
58ae8d5957 h264_parser: restore a comment lost in 0268a54 2015-01-27 09:09:56 +01:00
Anton Khirnov
ecab21ac47 h264: do not reset the ref lists in flush_change()
They are always constructed anew when needed, so there is no need to
reset them explicitly.
2015-01-27 09:09:29 +01:00
Anton Khirnov
9404a47a2d h264: move parser-only variables to their own context 2015-01-27 09:08:31 +01:00
Anton Khirnov
cf1e0786ed error_resilience: move the MECmpContext initialization into ER code
Currently, it needs to be initialized by the ER caller (which is
currently either a mpegvideo decoder or h264dec). However, since none of
those decoders use MECmpContext for anything except ER, it makes more
sense to handle it purely inside ER.
2015-01-27 09:07:59 +01:00
Hendrik Leppkes
a7e0380497 avconv_dxva2: add hevc support
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:06:05 +01:00
Hendrik Leppkes
7e850fa67e Add DXVA2 HEVC HWAccel
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:05:31 +01:00
Hendrik Leppkes
b82722df9b hevc: reindent after previous commit
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:05:25 +01:00
Hendrik Leppkes
e72e8c5a1d hevc: add hwaccel hooks
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:05:08 +01:00
Hendrik Leppkes
4b95e95dba hevc: store the short term rps flag and size in the context
For future use by hardware accelerators.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:04:59 +01:00
Hendrik Leppkes
36779a8405 hevc: store the escaped/raw bitstream in HEVCNAL
Hardware Accelerators require access to the escaped bitstream.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:04:44 +01:00
Hendrik Leppkes
b0593a4bca hevc: pass the full HEVCNAL struct to decode_nal_unit
This enables decode_nal_unit to access additional fields added in
subsequent commits.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:04:29 +01:00
Andreas Unterweger
3a70c0c95f examples/transcode_aac: generate proper PTS and set the muxer timebase
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:03:08 +01:00
Andreas Unterweger
c9b19ac892 examples/transcode_aac: fix a typo
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:00:23 +01:00
Andreas Unterweger
749a89d1b8 examples/transcode_aac: properly select the output sample format
Makes the example work with all the supported AAC encoders.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 08:58:47 +01:00
Anton Khirnov
443b71928b hevc: unref the current frame if frame_start() fails
Prevents DPB from filling up with damaged input.
2015-01-27 08:34:56 +01:00
Anton Khirnov
1dd021929f hevc: clear unused refs on failure 2015-01-27 08:34:46 +01:00
Anton Khirnov
f9f883af4f h264: simplify code in flush_dpb()
There is no point in clearing reference explicitly, since that will be
done as a part of ff_h264_unref_picture() right below.
2015-01-27 08:34:24 +01:00
Michael Niedermayer
aa508a9c5f fate: Fix bitexactness for vsynth3-dnxhd-1080i-colr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 03:45:14 +01:00
Michael Niedermayer
f5b3257c50 avfilter/vf_eq: mark src as const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 01:46:08 +01:00
Andreas Cadhalpun
f8716d1e56 configure: use ar and ranlib in deterministic mode if available
this makes the static libraries binary reproducible

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 01:15:09 +01:00
Michael Niedermayer
530bf8ece6 avfilter/vf_eq: Fix clipping code
Found-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 23:46:44 +01:00
Michael Niedermayer
5a1e524ba7 Revert "configure: use ar and ranlib in deterministic mode"
This breaks on BSDs

This reverts commit 7e857cd571.
2015-01-26 23:02:01 +01:00
Andreas Cadhalpun
7e857cd571 configure: use ar and ranlib in deterministic mode
this makes the static libraries binary reproducible

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 19:56:40 +01:00
Kevin Wheatley
7b6f419176 avformat/movenc: Add simplistic 'colr' tag writing support to mov container
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 17:49:50 +01:00
James Almer
b8f3b0703c tools/crypto_bench: add Camellia support
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-26 13:37:57 -03:00
Timo Rothenpieler
914fd42b8a avcodec/nvenc: Fix b-frame parameter handling
This should behave similar to x264 and other encoders, as it handles a
gop_size of 0 as Intra-Only, while it's still possible to control how
many B-Frames it inserts.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 15:39:01 +01:00
Michael Niedermayer
fcb18ab8d0 Merge remote-tracking branch 'rdp/dshow_tv_tuner'
* rdp/dshow_tv_tuner:
  dshow: tweak logging
  dshow: crossbar dialog was frequently being displayed twice, split up option so it can be just once
  dshow: alert as to ramifications of switching crossbar routing
  dshow: add properties dialog for tv tuners

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 14:39:25 +01:00
Paul B Mahol
e44a4c1f5f avfitler/vf_fieldmatch: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-26 13:04:53 +00:00
Paul B Mahol
5a919ced0d avfilter/libmpcodecs: remove unused headers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-26 12:14:16 +00:00
Carl Eugen Hoyos
fe47cba7e8 Decode Prores 4444 XQ with the existing Prores decoder.
The frames are said to contain a higher bit-depth but
users report that our decoder shows visually correct output.
Requested by forum user gregba and Christoph Gerstbauer.
2015-01-26 12:05:14 +01:00
Stefano Sabatini
0ca5c4dade lavfi/mp: drop mp=eq and mp=eq2
mp=eq2 was ported to a native libavfilter filter in commit
4c38e960d0.
2015-01-26 11:09:02 +01:00
Paul B Mahol
7ccd625a46 avfilter/vf_eq: fix leak of input frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-26 09:43:51 +00:00
rogerdpack
61974c7dcc dshow: tweak logging
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-26 02:04:30 -07:00
rogerdpack
7c2e262701 dshow: crossbar dialog was frequently being displayed twice, split up option so it can be just once
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-26 01:29:58 -07:00
rogerdpack
ce1bbb08f1 dshow: alert as to ramifications of switching crossbar routing
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-26 01:08:09 -07:00
rogerdpack
c55fa2f09b dshow: add properties dialog for tv tuners
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-26 00:28:26 -07:00
James Almer
f4f0619327 fate: add Camellia test
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-26 02:16:28 -03:00
Carl Eugen Hoyos
af39b8fec4 Fix creation of ffprobe-test.nut on remote targets.
This is not sufficient to run "make fate-ffprobe" on a remote system:
The ffprobe output contains the relative path to the testfile, it is
necessary to run the test from the build directory.
One solution is to use a script like the following as --target-exec:
ssh target "cd /remote/build/directory; $(printf "%q " "$@")"
2015-01-26 01:27:38 +01:00
Michael Niedermayer
f994000dc5 LICENSE.md: add vf_eq
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 00:36:17 +01:00
Arwa Arif
4c38e960d0 avfilter: Port mp=eq/eq2 to lavfi
Code adapted from James Darnley's port
Some fixes from Paul B Mahol <onemda@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 00:14:04 +01:00
Christophe Gisquet
7aeafacfd0 x86/sbrdsp: Use different mem moves
Before
2843 decicycles in ff_sbr_autocorrelate_sse3, 262086 runs, 58 skips

After
2693 decicycles in ff_sbr_autocorrelate_sse3, 262117 runs, 27 skips

Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-25 18:20:43 -03:00
James Almer
449b21bfab x86/sbrdsp: add ff_sbr_autocorrelate_{sse,sse3}
2 to 2.5 times faster.

Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-25 18:20:39 -03:00
Michael Niedermayer
961353d842 avfilter/vf_mcdeint: Set no_bitstream=1
This avoids unneeded writing of the bitstream

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 19:00:07 +01:00
Michael Niedermayer
ec28cdedde avfilter/vf_mcdeint: fix gop_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 16:00:46 +01:00
Michael Niedermayer
fd048e690b avfilter/vf_uspp: fix gop_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 15:58:28 +01:00
Michael Niedermayer
49456ed606 avfilter/vf_uspp: Use FF_CEIL_RSHIFT() correct rounding of odd w/h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 15:58:18 +01:00
Michael Niedermayer
da048c6d24 avformat/movenc: Check failure of allocation of ctts_entries and propagate error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 14:32:22 +01:00
Michael Niedermayer
47785b44b5 avformat/movenc: fix cleanup on insufficient reserved_moov_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 14:28:43 +01:00
Michael Niedermayer
c50ddc10b2 doc/APIchanges: fill in the remaining missing dates
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 14:16:31 +01:00
Michael Niedermayer
85d7e02e4a ffmpeg: allow overriding and amending AVStream->disposition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 01:27:21 +01:00
Michael Niedermayer
a1062e1437 avformat/matroskadec: Use av_malloc_array() for index_entries
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 00:26:53 +01:00
Michael Niedermayer
c1cdce5dcb avformat/matroskadec: Check av_mallocz() return values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 00:26:39 +01:00
Philip Langdale
ff0c559329 nvenc: Propagate desired number of reference frames.
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-24 22:59:54 +01:00
Michael Niedermayer
15848c623d avdevice/dshow_crossbar: Avoid mixing declarations and statements
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-24 18:44:40 +01:00
Hendrik Leppkes
77140279d3 hevc: pass the full HEVCNAL struct to decode_nal_unit
This enables decode_nal_unit to access additional fields added in
subsequent commits.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-24 17:49:27 +01:00
Michael Niedermayer
1296dc6025 avutil/pixdesc: rewrite AV_PIX_FMT_FLAG_PSEUDOPAL documentation
It seems many people do not understand its current documentation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-24 14:07:00 +01:00
Michael Niedermayer
c651a1aaec doc/APIchanges: Fill in remaining missing hashes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-24 13:18:15 +01:00
Christophe Gisquet
ba6888c0e3 ffmpeg_opt: expand format for strftime
While the shortened format specifiers are valid C99 ones, they are
not supported by e.g. some Visual Studio runtimes (and thus mingw).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-24 13:05:15 +01:00
Reynaldo H. Verdejo Pinochet
2699a37816 ffserver: reflow find_stream_in_feed()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-24 02:22:09 -03:00
Reynaldo H. Verdejo Pinochet
197acee767 ffserver: reindent handle_connection()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-24 02:22:04 -03:00
Reynaldo H. Verdejo Pinochet
eadd66a4af ffserver: reflow handle_connection()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-24 02:19:08 -03:00
Reynaldo H. Verdejo Pinochet
7d3857b7ab ffserver: reindent http_vlog()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-24 01:11:58 -03:00
Reynaldo H. Verdejo Pinochet
e97545646a ffserver: reflow http_vlog()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-24 01:10:35 -03:00
Jean First
1f13348f7d lavc/libopenjpegenc: move opj_setup_encoder to libopenjpeg_encode_frame
if the openjpeg parameter tcp_rates is not 0 ( using the ffmpeg compression_level option )
every 2nd image per thread is badly encoded. By moving the opj_setup_encoder function from
libopenjpeg_encode_init to libopenjpeg_encode_frame this can be prevented.

This fixes ticket #3754.

Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-24 00:40:08 +01:00
Michael Niedermayer
76241c9115 Merge remote-tracking branch 'rdp/dshow_crossbar'
* rdp/dshow_crossbar:
  dshow: fix docu escapes
  dshow: some devices only list themselves under "Video sources" but actually have both video and audio output pins, so make the audio pins accessible by video source name.
  dshow: add options for allowing filter popup configuration dialogs to be presented to the user
  dshow: introduce support for crossbar [multiple input selectable] devices
  dshow: drop initial audio packets with weird timestamps
  dshow: use non deprecated api
  dshow: miscellaneous tweaks
  dshow: allow selecting devices by an alternative name (workaround for devices with symbols in them), allow specifying capture pins by name and alternative (unique) name

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 23:52:37 +01:00
Michael Niedermayer
a915b1daee Merge commit '3a6dfec864d569c2d0a875e1a7466f51b00edb63'
* commit '3a6dfec864d569c2d0a875e1a7466f51b00edb63':
  segment: Check av_get_frame_filename() return value

Conflicts:
	libavformat/segment.c

No changes as there was no unchecked av_get_frame_filename() in segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 23:16:03 +01:00
Michael Niedermayer
0c00e734ef Merge commit '7915e6741dbe1cf3a8781cead3e68a7666de14f4'
* commit '7915e6741dbe1cf3a8781cead3e68a7666de14f4':
  hlsproto: Properly close avio buffer in case of error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 22:27:48 +01:00
Michael Niedermayer
da304c529b Merge commit '4c5fa628da099dbb598c93bc4555b8733d2c3035'
* commit '4c5fa628da099dbb598c93bc4555b8733d2c3035':
  mov: Do not compute negative SAR values

Conflicts:
	libavformat/mov.c

See: e32b07aea4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 22:21:12 +01:00
Michael Niedermayer
e40cdf8604 Merge commit '2a06c2a03e1205aaeede5af850b9271752ddd4cf'
* commit '2a06c2a03e1205aaeede5af850b9271752ddd4cf':
  mpegvideo_enc: Draw edges on input for non-multiple of 16 resolutions

Conflicts:
	libavcodec/mpegvideo_enc.c

See: 1e78679768
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 22:03:21 +01:00
Michael Niedermayer
72d99c8c26 avformat/dv: check av_malloc() return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 18:15:43 +01:00
Michael Niedermayer
d36e66bb26 avformat/librtmp: Fix build with --disable-network --enable-librtmp
Found-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 17:45:35 +01:00
rogerdpack
b587ec00f7 dshow: fix docu escapes
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-23 08:32:27 -07:00
Vittorio Giovara
3a6dfec864 segment: Check av_get_frame_filename() return value
CC: libav-stable@libav.org
Bug-Id: CID 1265713
2015-01-23 14:55:03 +00:00
Vittorio Giovara
7915e6741d hlsproto: Properly close avio buffer in case of error
Fix a memory leak.

CC: libav-stable@libav.org
Bug-Id: CID 717999
2015-01-23 14:55:03 +00:00
Vittorio Giovara
4c5fa628da mov: Do not compute negative SAR values
This partially reverts cf70ba37ba, since
it didn't take into account when rotation is 0, but there is another
valid operation (eg. translation) in the matrix.

Found-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 14:54:59 +00:00
Michael Niedermayer
8c8ee17e8d doc/APIchanges: fill in more missing hash values and dates
all values before 2.5 seem to be filled in now

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 15:11:13 +01:00
Michael Niedermayer
579795b204 avfilter/af_channelmap: Check for missing argument in get_channel_idx()
Fixes null pointer dereference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 15:03:40 +01:00
rogerdpack
a35da0920d dshow: some devices only list themselves under "Video sources" but
actually have both video and audio output pins, so make the audio pins
accessible by video source name.

Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-23 06:54:48 -07:00
rogerdpack
5d72cf0f64 dshow: add options for allowing filter popup configuration dialogs to be presented to the user
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-23 06:49:37 -07:00
rogerdpack
ec81ad21c1 dshow: introduce support for crossbar [multiple input selectable] devices
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-23 06:35:16 -07:00
rogerdpack
b76a0e24f9 dshow: drop initial audio packets with weird timestamps
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-23 06:13:33 -07:00
rogerdpack
8eb5b5ec6f dshow: use non deprecated api
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-23 06:07:24 -07:00
Michael Niedermayer
2a06c2a03e mpegvideo_enc: Draw edges on input for non-multiple of 16 resolutions
This improves motion estimation and avoids using uninitialized data
for resolutions that aren't a multiple of 16.

Prior to d2a25c40, the edges used to be initialized so that encoding
was deterministic, but after that commit it started using uninitialized
data (for non multiple of 16 resolutions).

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-23 15:05:49 +02:00
rogerdpack
e620eee88c dshow: miscellaneous tweaks
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-23 06:01:32 -07:00
rogerdpack
d01234419b dshow: allow selecting devices by an alternative name (workaround for devices with symbols in them), allow specifying capture pins by name and alternative (unique) name
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-23 05:38:14 -07:00
Jon Morley
47372caac5 libavformat/mov.c: Handle timecode from tmcd atom in counter mode
When the timecode value is in counter mode then it is important to use
the timescale and frameduration to calculate the timecode fps.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 13:14:15 +01:00
Michael Niedermayer
0982077be5 Merge commit '9108967513fcaff3d55514a7bca4c9fbba128c71'
* commit '9108967513fcaff3d55514a7bca4c9fbba128c71':
  rtspdec: Consistently use rtsp_hd_out for writing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 12:26:47 +01:00
Martin Storsjö
9108967513 rtspdec: Consistently use rtsp_hd_out for writing
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-23 10:33:00 +02:00
Michael Niedermayer
b4f5da2651 avutil/buffer: factor buffer_replace() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 04:45:05 +01:00
Michael Niedermayer
ecd39520b8 avcodec/h264: Partially decode and display single fields try #2
This like the previous attempt does not fully correctly decode this
type of non standard H.264, but it now works fully automatic
requiring no manual filters or flags to be used

See Ticket2254

Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 00:47:24 +01:00
Werner Robitza
4b46ce8e91 avformat: allow .264 as extension for raw H.264 stream
In addition to .h264, .264 is also commonly used by people to name raw H.264
streams. Enables automatic recognition of the h264 format for the .264
extension.

Signed-off-by: Werner Robitza <werner.robitza@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 23:13:08 +01:00
Michael Niedermayer
9353ed9e94 Merge commit '6341ab0ad3fde9583138e121f518e21cde15258e'
* commit '6341ab0ad3fde9583138e121f518e21cde15258e':
  libx265: Pass through user-set frame type

See: 41e983f1a6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 22:52:01 +01:00
Michael Niedermayer
e32b07aea4 avformat/mov: Stricter sanity checks on the display_matrix
Fixes "broken" tkhd
Found-by: koda
Tested-by: koda
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 19:52:52 +01:00
Derek Buitenhuis
41e983f1a6 libx265: Pass through user-set frame type
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-01-22 16:30:27 +00:00
Derek Buitenhuis
6341ab0ad3 libx265: Pass through user-set frame type
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-01-22 16:29:30 +00:00
Michael Niedermayer
a30fd828ab avfilter/avf_showcqt: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 13:56:30 +01:00
Michael Niedermayer
f77571f6bb avfilter/drawutils: Check for av_malloc* failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 13:54:26 +01:00
Michael Niedermayer
c90069c6ba avfilter/drawutils: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 13:50:30 +01:00
Michael Niedermayer
b942a71eaa avformat/flvenc: accept AVMEDIA_TYPE_SUBTITLE instead of DATA for subtitles
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 13:26:29 +01:00
Michael Niedermayer
bbdd940f36 doc/APIchanges: Fill in some more missing hash values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 13:09:21 +01:00
Michael Niedermayer
146a2c4e7f avcodec/mpegvideo: also export 0,0 motion vectors
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 12:36:45 +01:00
Michael Niedermayer
b7f8e6dd8c Merge commit '3a724a7f3ba7fa766c6a6f0924a15cc742031b8d'
* commit '3a724a7f3ba7fa766c6a6f0924a15cc742031b8d':
  dashenc: Use inttypes.h macros for format strings instead of %lld

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 12:06:47 +01:00
Michael Niedermayer
526f7ef211 Merge commit '1d8aa23794cc63e9517d5055a2d48040b843b1cf'
* commit '1d8aa23794cc63e9517d5055a2d48040b843b1cf':
  dashenc: Fix format string generation

See: 89684883af
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 11:55:56 +01:00
Rodger Combs
89684883af avformat/dashenc: fix format string generation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 11:55:21 +01:00
Martin Storsjö
3a724a7f3b dashenc: Use inttypes.h macros for format strings instead of %lld
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-22 08:49:41 +02:00
Rodger Combs
1d8aa23794 dashenc: Fix format string generation
Previously this always used the "lld" format for all parameters,
not only time parameters.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-22 08:49:39 +02:00
Carl Eugen Hoyos
6c559a0a9d lavc/pnm: Support decoding ya16. 2015-01-22 01:49:04 +01:00
Carl Eugen Hoyos
196dd72bcf lavc/pamenc: Support encoding ya16be. 2015-01-22 01:47:54 +01:00
Carl Eugen Hoyos
c2e36e07cd lavc/tiffenc: Support encoding ya16le. 2015-01-22 01:38:58 +01:00
Carl Eugen Hoyos
c6a36f6931 lavc/pngenc: Support encoding ya16be. 2015-01-22 01:33:05 +01:00
Brian Brice
f845ae0c8e librtmp: Allow changing the socket send buffer size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 22:24:28 +01:00
Christophe Gisquet
9a9b088d9e libavformat/img2dec: fix warning when !HAVE_GLOB
Variables are unused in this case.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 21:51:28 +01:00
Michael Niedermayer
5f764f43d2 Merge commit 'da9bffaf08a1173451da1b4e1ae50881e7093642'
* commit 'da9bffaf08a1173451da1b4e1ae50881e7093642':
  doc/platform: Reference only MSYS2 and MinGW-w64

Conflicts:
	doc/platform.texi

See: 6c906ded38
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 21:35:11 +01:00
Michael Niedermayer
f30798584f swscale/input: fix rgba64 alpha non native
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 21:21:00 +01:00
Michael Niedermayer
95d04690aa swscale/input: Fix alpha of YA16 input
Fixes Ticket4278

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 21:21:00 +01:00
Michael Niedermayer
fdb9399681 avfilter/vf_showinfo: show timebase & framerate too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 21:21:00 +01:00
Paul B Mahol
7849ce438e avfilter/vf_lenscorrection: support 8bit planar RGB formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-21 18:05:51 +00:00
Derek Buitenhuis
6c906ded38 doc/platform: Reference only MSYS2 and MinGW-w64
It's better to steer users at these, since they are both better
and more alive than the mingw.org versions.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-01-21 13:58:02 +00:00
Derek Buitenhuis
da9bffaf08 doc/platform: Reference only MSYS2 and MinGW-w64
It's better to steer users at these, since they are both better
and more alive than the mingw.org versions.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-01-21 13:57:03 +00:00
Michael Niedermayer
0d64982828 doc/APIchanges: fill in and correct some values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 14:24:08 +01:00
Michael Niedermayer
f7a1c5e4d2 doc/APIchanges: Add av_find_best_pix_fmt_of_2() and av_get_pix_fmt_loss()
also add deprecation note for avcodec_get_pix_fmt_loss(), avcodec_find_best_pix_fmt_of_2()

Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 14:14:46 +01:00
agathah
dac91bb4c3 avcodec/nvenc: set repeatSPSPPS flag for streaming
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 13:59:35 +01:00
Michael Niedermayer
47111d366d ffprobe: fix memleaks on errors
Found-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 13:51:26 +01:00
Andreas Cadhalpun
840c3c0531 libavcodec/ppc/mpegvideoencdsp.c: fix stack smashing in pix_norm1_altivec() and pix_sum_altivec()
The vec_ste calls were mistakenly changed to vec_vsx_st in c5ca76a, which
caused stack smashing.

Changing them back fixes crashes on ppc64el, when configured with
--toolchain=hardened.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 03:20:41 +01:00
Michael Niedermayer
6c9dfa5a1b Merge commit '440119b18836887d98c9e337c5911563bb43588c'
* commit '440119b18836887d98c9e337c5911563bb43588c':
  libopenh264enc: Move a declaration of a variable into an ifdef

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 21:55:23 +01:00
Michael Niedermayer
87c4a80e56 Merge commit 'bba02479260d0e7dec8c530a7e75a1c7aa53c06e'
* commit 'bba02479260d0e7dec8c530a7e75a1c7aa53c06e':
  libopenh264enc: Remove a workaround for silencing warnings about unused variables in the OpenH264 header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 21:15:25 +01:00
Michael Niedermayer
9cbaf5849b Merge commit 'ea3fc9fe68752eb1b9078b28bea18a1e781d1c2c'
* commit 'ea3fc9fe68752eb1b9078b28bea18a1e781d1c2c':
  smoothstreamingenc: Add a missing "goto fail"

See: f2e12f8942
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 21:09:20 +01:00
Paul B Mahol
f191c98e4d avfilter/af_join: swap av_mallocz_array() args for consistency with the prototype
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-20 16:52:30 +00:00
Paul B Mahol
357c6a92bc avfilter/af_join: Use av_mallocz_array()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-20 16:45:19 +00:00
Michael Niedermayer
081e117bfe avfilter/af_ashowinfo: Use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 17:00:16 +01:00
Michael Niedermayer
48895a23fc avdevice/alsa-audio-common: Use *alloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 17:00:16 +01:00
Paul B Mahol
be1b8b4da5 fix Makefile: remove ilpack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-20 15:48:43 +00:00
Paul B Mahol
fd33658f86 lavfi: remove mp=ilpack
Filter does not work, asserts here.
scale=interl=1,format=yuv422p should be used instead.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-20 15:36:31 +00:00
Martin Storsjö
440119b188 libopenh264enc: Move a declaration of a variable into an ifdef
This avoids needing an attribute for silencing warnings about
it being unused.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-20 15:02:50 +01:00
Martin Storsjö
bba0247926 libopenh264enc: Remove a workaround for silencing warnings about unused variables in the OpenH264 header
The 1.3 release branch of OpenH264 (as well as the master branch)
have been updated so that GCC no longer warns about this variable
as being unused.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-20 15:02:38 +01:00
Anshul Maheshwari
1013c15f72 changed name of erase_display_memory to screen_changed
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 14:40:07 +01:00
Anshul Maheshwari
d6d354254f Initilaize array to known size
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 14:39:39 +01:00
Anshul Maheshwari
88ba88e887 CHAR_DEBUG to av_dlog
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 14:39:32 +01:00
Anshul Maheshwari
012559f2bb Cosmetic changes in cc_caption
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 14:39:15 +01:00
Michael Niedermayer
ff5b9a1cbe Revert "avcodec/h264: also show frames with missing fields when CODEC_FLAG2_SHOW_ALL is set"
Fixes regression
Fixes Ticket4274

Suggested-by: kierank

This reverts commit fe439c2069.
2015-01-20 02:51:33 +01:00
Michael Niedermayer
7873f9aa72 avcodec/snowdec: AVMotionVector support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 01:16:25 +01:00
Michael Niedermayer
e069a4bf20 avcodec/snowdec: set AVFrame.pict_type correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 01:10:37 +01:00
Michael Niedermayer
ea3fc9fe68 smoothstreamingenc: Add a missing "goto fail"
This goto wasn't necessary originally, but it should have been
added when the write_manifest call was added in 8e276378.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-19 22:31:08 +02:00
Michael Niedermayer
5c1a8d3b7d avfilter/vf_idet: factorize av_frame_free(&idet->prev)
Found-by: Pascal Massimino <pascal.massimino@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 20:24:03 +01:00
wm4
e0e33ebe6b h264: unref leaking error recovery picture
This leaked a frame on each avcodec_flush_buffers() call, if frame
threading was enabled. It caused severe memory usage in player if you
were seeking a lot.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 20:11:39 +01:00
Michael Niedermayer
f9a5a89bbf avcodec/xsubdec: Check av_mallocz() return codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 17:15:15 +01:00
Michael Niedermayer
438c0a665a avcodec/xan: Use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 17:12:09 +01:00
Michael Niedermayer
6c702c3c63 avfilter/avfilter: allow idet like scale to have parameter changes
Fixes assertion failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 06:03:57 +01:00
Michael Niedermayer
56a33b232c avfilter/vf_idet: flush internal buffers on parameter changes
This is needed to auto insert the filter by default

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 06:03:57 +01:00
Michael Niedermayer
723c37d3b7 avfilter/vf_idet: reduce noisyness if the filter has been auto inserted
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 05:14:15 +01:00
Michael Niedermayer
90c98994f6 ffmpeg: Reduce noisiness of frame clipping in rate convertion
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 03:51:43 +01:00
Michael Niedermayer
a582705d15 ffmpeg: Favor filter graph based duration over ost->frame_rate in fps code
The fate change adds a last frame with a subtitle not displayed in the previous

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 03:13:16 +01:00
Michael Niedermayer
bf8bcd3b2b avdevice/openal-dec: Check the return code of av_new_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 00:34:18 +01:00
Mark Reid
b396914c68 libavformat/mxfdec.c: support demuxing opatom audio without index
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 22:02:58 +01:00
Michael Niedermayer
79888388e7 avcodec/svq1enc: fix error handling/cleanup in case of ff_get_buffer() or scratchbuffer alloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 21:25:06 +01:00
Michael Niedermayer
2a3af77284 avcodec/svq1enc: Check memory allocations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 21:21:44 +01:00
Michael Niedermayer
65b83ce01b avformat/rmdec: Check the return value of av_get_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 20:55:49 +01:00
Michael Niedermayer
8d7ce5cdb7 avformat/nsvdec: Check the return value of av_get_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 20:53:25 +01:00
Muhammad Faiz
eba5cb2028 avfilter/showcqt: add gamma2 option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 05:15:15 +01:00
Michael Niedermayer
dff6c9250b avcodec/mpegvideo_parser: Check the ff_set_dimensions() return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 05:08:30 +01:00
Michael Niedermayer
741fa0493b avcodec/mpegvideo_parser: more robust dimension setup
Before this missing seq headers could have led to wrong dimensions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 04:52:28 +01:00
Clément Bœsch
14f3e8b821 avformat/sbgdec: remove double ;; 2015-01-18 00:36:56 +01:00
Clément Bœsch
fa6c9e54df avdevice/pulse_audio_dec: remove double ;; 2015-01-18 00:35:04 +01:00
Clément Bœsch
4d028bf202 avcodec/vp8: remove double ;; 2015-01-18 00:34:19 +01:00
Clément Bœsch
ca3c7be7c6 avcodec/tiffenc: remove double ;; 2015-01-18 00:33:06 +01:00
Michael Niedermayer
ab161bfa4b avformat/asfdec: Check the av_get_packet() return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 20:40:21 +01:00
Michael Niedermayer
4adf75cade avformat/rtpdec_hevc: Fix 2 "may be used uninitialized in this function" warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 20:40:21 +01:00
Timo Rothenpieler
bc3f76779b avcodec/nvenc: Add support for nvenc api version 5
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 18:24:34 +01:00
Michael Niedermayer
8de0990e9f avcodec/dvbsubdec: Check get_region() return value
Fixes null pointer dereference with DEBUG enabled

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 16:33:02 +01:00
Michael Niedermayer
edf1cb7aee avformat/nsvdec: Check av_get_packet() return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 16:27:18 +01:00
Michael Niedermayer
e0623953e1 avfilter/vf_frei0r: fix build with DEBUG enabled
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 15:41:23 +01:00
Michael Niedermayer
353cf95f94 avfilter/vf_frei0r: also set AVFilterLink.frame_rate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 14:46:21 +01:00
Michael Niedermayer
f8ff76199c avcodec/mss12: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 13:01:26 +01:00
Michael Niedermayer
1f4ef3ccae avcodec/libopusenc: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 12:58:56 +01:00
Michael Niedermayer
7532f0e14c avcodec/libmp3lame: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 12:56:19 +01:00
Michael Niedermayer
c4d85fc23c avcodec/flac_parser: fix handling EOF if no headers are found
Fixes assertion failure
Fixes Ticket4269

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 01:56:03 +01:00
Michael Niedermayer
040e5703e6 avcodec/flac_parser: print error messages in case of errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 01:40:39 +01:00
Michael Niedermayer
f96148913b Fix precission typos
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 22:42:42 +01:00
Michael Niedermayer
a46a23d30f avfilter/vf_framepack: Check and update frame_rate
The frame_rate update was missing leaving the output frame rate
wrong.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 22:02:52 +01:00
Michael Niedermayer
d3d9a00bcd ffmpeg: Use filter graph output frame rate also for frame duration estimation
Previously the duration was sometimes wrong, this addition
limits the value and improves which frames are choosen when
reducing the frame rate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 20:33:08 +01:00
Michael Niedermayer
7b32856011 ffmpeg: Maintain higher precision pts between video filter and fps code
This is a bit ugly as it attempts to keep most of the computation
in integers before the double based fps code. The use of integers
is to reduce the chances of rounding differences between platforms

Previously the timestamp was rounded to the encoder timebase
before being converted back to double precision which could cause loss
of precision

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 19:53:17 +01:00
Michael Niedermayer
261e8ccbd1 ffmpeg: drop redundant frame_pts value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 16:42:20 +01:00
Michael Niedermayer
2d0440f93f Merge commit '3941df546276b190cc9362fd093e6721e8e52f50'
* commit '3941df546276b190cc9362fd093e6721e8e52f50':
  aea: Return proper error code on invalid header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 14:20:37 +01:00
Michael Niedermayer
aee51ee8b9 Merge commit '2df7277711cbe3ca5415ff8e31228dcffa309211'
* commit '2df7277711cbe3ca5415ff8e31228dcffa309211':
  swscale: fix gbrap to gbrap alpha scaling

Conflicts:
	libswscale/input.c
	tests/ref/fate/filter-pixfmts-scale

Not merged, the code works fine as is and does not work with this
change

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 13:53:34 +01:00
Michael Niedermayer
a0aa3eaafc Merge commit '89df3fd49e9992441f680326902b4912d79f514f'
* commit '89df3fd49e9992441f680326902b4912d79f514f':
  swscale: fix warning about incompatible function pointer type

Not merged, this change is incorrect for FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 12:51:10 +01:00
Nidhi Makhijani
3941df5462 aea: Return proper error code on invalid header 2015-01-16 10:35:02 +01:00
Anshul Maheshwari
bb0344dc55 ffmpeg: improve data stream support
This adds data codec/stream handling where previously there was only
audio/video/subtitles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 02:52:04 +01:00
Vittorio Giovara
2df7277711 swscale: fix gbrap to gbrap alpha scaling 2015-01-16 02:47:15 +01:00
Vittorio Giovara
89df3fd49e swscale: fix warning about incompatible function pointer type 2015-01-16 02:47:10 +01:00
Anshul Maheshwari
a47c9331ef avformat: Improve data streams/codec support
This adds data codec/stream handling where previously there was only
audio/video/subtitles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 02:24:08 +01:00
Michael Niedermayer
ba97cf2c45 avdevice: Use av_format_get_control_message_cb()
This is required as the location of this field could change and is
specified in libavformat not avdevice

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 02:13:01 +01:00
raxon1s
4184d344af ffmpeg: Add bitrate value under -progress action
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 00:31:08 +01:00
Michael Niedermayer
2c22042aa0 avcodec/g2meet: Use av_mallocz_array() for framebuffer allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 23:04:59 +01:00
Michael Niedermayer
5989a2b24f avcodec/g722enc: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 23:02:43 +01:00
Michael Niedermayer
71bd6ea0fa avcodec/flashsv2enc: use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 23:00:52 +01:00
Michael Niedermayer
e7d85186d6 avcodec/parser: Check that the parser return code is valid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 20:58:58 +01:00
Michael Niedermayer
6c3cb02a74 avcodec/flac_parser: Check for av_malloc() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 17:09:39 +01:00
Michael Niedermayer
5f964c6027 avcodec/flac_parser: Use sizeof(variable) instead of sizeof(type)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 17:09:39 +01:00
Michael Niedermayer
ec9935b288 avutil/pixfmt: Support the AV_PIX_FMT_GBRAP* formats with AV_HAVE_INCOMPATIBLE_LIBAV_ABI
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 17:09:39 +01:00
Michael Niedermayer
46b0fce627 avutil/pixfmt: Document the duplicated AV_PIX_FMT_GBRAP* formats
This is similar to the other duplicated cases

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 17:09:39 +01:00
Michael Niedermayer
b0be6d8385 avformat/id3v2: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 17:09:39 +01:00
Clément Bœsch
a83398c8d2 doc: fix showpalette position 2015-01-15 16:40:02 +01:00
Clément Bœsch
f532603993 avfilter: add showpalette filter 2015-01-15 16:36:13 +01:00
agathah
72c61c272c avcodec/nvenc: fix b frame settings
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 16:29:25 +01:00
Michael Niedermayer
6e69bf4a7e Merge commit '024e5a2d5ff8a94adce48abb15ce2fb471f9d18e'
* commit '024e5a2d5ff8a94adce48abb15ce2fb471f9d18e':
  rtmppkt: Repeat the full 32 bit timestamp for chunking continuation packets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 14:45:29 +01:00
Michael Niedermayer
330e892c08 Merge commit 'def69553e745e007925147b2e7e4b32c57d08fdf'
* commit 'def69553e745e007925147b2e7e4b32c57d08fdf':
  h264_cabac: Break infinite loops

Conflicts:
	libavcodec/h264_cabac.c

See: cdf0877bc3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 14:32:33 +01:00
Michael Niedermayer
2bc841815c Merge commit '402fb5550e36dd994b13941ef5499f9087afd345'
* commit '402fb5550e36dd994b13941ef5499f9087afd345':
  opus_parser: drop unused variable

See: 74141f693d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 13:55:42 +01:00
Michael Niedermayer
c5eb725fd3 Merge commit '8a9641a652ed1546fedfda22584f79d3d423096e'
* commit '8a9641a652ed1546fedfda22584f79d3d423096e':
  bsf: check memory allocations

Conflicts:
	libavcodec/noise_bsf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 13:47:12 +01:00
Michael Niedermayer
9fb5a91c66 Merge commit '014b6b416fec89777cb9cff61bcf7896eaf7cf39'
* commit '014b6b416fec89777cb9cff61bcf7896eaf7cf39':
  vp8: improve memory allocation checks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 13:10:48 +01:00
Michael Niedermayer
eb215be9ce Merge commit '54bc15d5ebfd07fd468743ba29f709ea19e840b9'
* commit '54bc15d5ebfd07fd468743ba29f709ea19e840b9':
  id3v2: fix reading v2.2 attached pictures

Conflicts:
	libavformat/id3v2.c

See: 05c3c568dc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 13:01:40 +01:00
Michael Niedermayer
24c76bae5f Merge commit '932788be5af8dee062c77851b573ea47dd6d047a'
* commit '932788be5af8dee062c77851b573ea47dd6d047a':
  id3v2: add names to the parameters of ID3v2EMFunc.read

Conflicts:
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 12:53:53 +01:00
Michael Niedermayer
7eef45a76f avformat/id3v2: Fix incompatible pointer type warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 12:46:13 +01:00
Michael Niedermayer
06ec2f1d32 Merge commit '8809c974a3fb51f96e498a5556a4a5bbacc581ce'
* commit '8809c974a3fb51f96e498a5556a4a5bbacc581ce':
  id3v2: constify the 'tag' parameter to special metadata parsing callback

Conflicts:
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 12:45:20 +01:00
Clément Bœsch
3b3229aef3 avfilter/edgedetect: fix indent 2015-01-15 11:39:41 +01:00
Martin Storsjö
024e5a2d5f rtmppkt: Repeat the full 32 bit timestamp for chunking continuation packets
This fixes sending chunked packets (packets larger than the output
chunk size, which often can be e.g. 4096 bytes) with a timestamp delta
(or absolute timstamp, if it's a timestamp step backwards, or the
first packet of the stream) larger than 0xffffffff.

The RTMP spec explicitly says (in section 5.3.1.3.) that packets of
type 3 (continuation packets) should include this field, if the
previous non-continuation packet had it included.

The receiving code handles these packets correctly.

Pointed out by Cheolho Park.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-15 10:20:18 +02:00
Michael Niedermayer
def69553e7 h264_cabac: Break infinite loops
This fixes out of array reads and/or infinite loops.

30 is the maximum number of bits that can be read into
coeff_abs below.

CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-15 10:17:01 +02:00
Michael Niedermayer
3779973a9b Merge commit 'f86f39cb9b1fcd063d5e4812132a75c06cc7acd2'
* commit 'f86f39cb9b1fcd063d5e4812132a75c06cc7acd2':
  tiff: support decoding GBRP and GBRAP formats

Conflicts:
	libavcodec/tiff.c

See: 379ad9788b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 06:11:32 +01:00
Michael Niedermayer
27513846f6 Merge commit '928061670e873e816daa14827853b7e11221ff5f'
* commit '928061670e873e816daa14827853b7e11221ff5f':
  libswscale: GBRAP input & output and GBRAP16 input support

Conflicts:
	libswscale/input.c
	libswscale/swscale_internal.h
	libswscale/swscale_unscaled.c
	libswscale/utils.c
	tests/ref/fate/filter-pixdesc-gbrap
	tests/ref/fate/filter-pixfmts-copy
	tests/ref/fate/filter-pixfmts-null
	tests/ref/fate/filter-pixfmts-scale
	tests/ref/fate/filter-pixfmts-vflip

See: 5c057433cc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 05:47:25 +01:00
Michael Niedermayer
5edbd4f410 Merge commit '9a4aaae3b29392b6d74997e06be249d7d54a7394'
* commit '9a4aaae3b29392b6d74997e06be249d7d54a7394':
  lavc: add GBRAP to avcodec_align_dimensions2

See: 5c057433cc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 05:45:48 +01:00
Michael Niedermayer
ada0fc4efa Merge commit '0e6c7dfa650e8b0497bfa7a06394b7a462ddc33a'
* commit '0e6c7dfa650e8b0497bfa7a06394b7a462ddc33a':
  lavu: add planar 16 bit and 8 bit rgb with alpha

Conflicts:
	libavutil/pixdesc.c
	libavutil/pixfmt.h
	libavutil/version.h

See: e6d4e68755
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 05:24:01 +01:00
Michael Niedermayer
55dc253c24 Merge commit 'e2ad0b66fa273c5c823978e8f601f2c0d9ee42f8'
* commit 'e2ad0b66fa273c5c823978e8f601f2c0d9ee42f8':
  imgutils: create misc functions for dealing with buffers

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/avpicture.c
	libavutil/imgutils.c
	libavutil/imgutils.h
	libavutil/version.h

See: e6674e46ec
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 05:07:25 +01:00
Michael Niedermayer
cc18ea8de0 avformat/mov: Do not set aspect ratios that would contain zeros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 04:26:16 +01:00
Michael Niedermayer
47795505ac avformat/mov: rewrite aspect from matrix code
The original code was intended purely for rotation == 0
In cf70ba37ba the condition was
changed to use it only for rotation != 0
which broke the cases for which it was intended to be used
as well as breaking cases for which it was not intended to be
used.
This changes the code so it could work for the more general
case and fixes the regressions
If you have sample files that are not handled correctly
please open tickets or mail me!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 04:22:00 +01:00
Michael Niedermayer
89b6382bec Merge commit 'cf70ba37ba74089a18295b29e77dead0a3222c9e'
* commit 'cf70ba37ba74089a18295b29e77dead0a3222c9e':
  mov: Check angle rather than full matrix when updating SAR

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 04:00:51 +01:00
Michael Niedermayer
cd960c8a4f Merge commit '1e763454322f7fbc7799f6009bf2e11d7a3b9821'
* commit '1e763454322f7fbc7799f6009bf2e11d7a3b9821':
  png: improve signature check

Conflicts:
	libavcodec/pngdec.c

See: 8a08503b78
See: 0a3589bf2f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 02:54:04 +01:00
Michael Niedermayer
140dfd14fd Merge commit '456ffec35d55288d589aa1901919e038c3427f30'
* commit '456ffec35d55288d589aa1901919e038c3427f30':
  img2dec: correctly use the parsed value from -start_number

No change, start_number works fine without this change
and does not work with it

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 02:35:28 +01:00
Vittorio Giovara
402fb5550e opus_parser: drop unused variable 2015-01-15 01:25:16 +01:00
Vittorio Giovara
8a9641a652 bsf: check memory allocations 2015-01-15 01:25:16 +01:00
Vittorio Giovara
014b6b416f vp8: improve memory allocation checks
Check memory earlier, check one more allocation and clean up on error.

CC: libav-stable@libav.org
Bug-Id: CID 1257773
2015-01-15 01:25:07 +01:00
Michael Niedermayer
3cfd07a53f fate: add qp filter test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-14 20:45:50 +01:00
Paul B Mahol
baea14d860 avfilter: port qp filter from libmpcodecs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-14 18:46:38 +01:00
Anton Khirnov
54bc15d5eb id3v2: fix reading v2.2 attached pictures
In v2.2, the picture type is not a zero-terminated string, but has a
constant size of 3 bytes.
2015-01-14 17:17:24 +01:00
Anton Khirnov
932788be5a id3v2: add names to the parameters of ID3v2EMFunc.read
Some of them are not immediately obvious.
2015-01-14 17:17:24 +01:00
Anton Khirnov
8809c974a3 id3v2: constify the 'tag' parameter to special metadata parsing callback
Those functions should not ever modify it.
2015-01-14 17:17:24 +01:00
Paul B Mahol
f86f39cb9b tiff: support decoding GBRP and GBRAP formats
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-14 17:17:24 +01:00
Paul B Mahol
928061670e libswscale: GBRAP input & output and GBRAP16 input support
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-14 17:17:24 +01:00
Paul B Mahol
9a4aaae3b2 lavc: add GBRAP to avcodec_align_dimensions2 2015-01-14 17:17:24 +01:00
Paul B Mahol
0e6c7dfa65 lavu: add planar 16 bit and 8 bit rgb with alpha
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-14 17:17:24 +01:00
Stefano Sabatini
e2ad0b66fa imgutils: create misc functions for dealing with buffers
Move the lavc/imgconvert functions and rename them as follows:
  avpicture_get_size -> av_image_get_buffer_size()
  avpicture_fill     -> av_image_fill_arrays()
  avpicture_layout   -> av_image_copy_to_buffer()

The new functions have an align parameter, which allows to define the
linesize alignment assumed in the buffer (which is set or read).

The names of the functions are consistent with the lavu/samples API
(av_samples_get_buffer_size(), av_samples_fill_arrays()).

A redundant check has been dropped from av_image_fill_arrays().

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-14 17:17:24 +01:00
Vittorio Giovara
cf70ba37ba mov: Check angle rather than full matrix when updating SAR
When the display matrix is not the identity one, but the rotation angle
is zero, there is no need to update the sample aspect ratio.

Otherwise, it is possible to obtain negative values which interferes
with transcoding in later stages. This kind of behaviour is reproducible
on mov files with "major_brand: MSNV".

CC: libav-stable@libav.org
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-14 17:17:23 +01:00
Vittorio Giovara
1e76345432 png: improve signature check
Return proper error code, print an error message and add missing
parentheses.
2015-01-14 17:10:19 +01:00
Vittorio Giovara
456ffec35d img2dec: correctly use the parsed value from -start_number
Previously the image sequence was always starting from the minimum
number rather than the requested one.

CC: libav-stable@libav.org
2015-01-14 17:10:01 +01:00
Michael Niedermayer
c4f1abecb1 avcodec/sunrast: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-14 13:35:11 +01:00
Michael Niedermayer
e6f1601d6d avcodec/svq3: Use av_mallocz_array() for emu_edge_buffer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-14 13:23:57 +01:00
Michael Niedermayer
2493558a06 avcodec/svq3: Check av_mallocs return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-14 13:23:20 +01:00
Hendrik Leppkes
a9d700f212 mpegts: identify h264 mvc streams
This fixes missdetecting such streams as something else like AAC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-14 01:39:16 +01:00
Michael Niedermayer
f2e12f8942 avformat/smoothstreamingenc: Add missing "goto fail"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-14 00:17:52 +01:00
Michael Niedermayer
8d7d88135c avformat/mpeg: Avoid dead assignment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-14 00:06:43 +01:00
Michael Niedermayer
e172f5e53a avcodec/hevc: Fix handling of skipped_bytes() reallocation failures
Fixes CID1260704

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-13 20:10:21 +01:00
wm4
921706691a qpeg: avoid pointless invalid memcpy()
If refdata was NULL, the memcpy() ended up copying the same memory
block onto itself, which is not only pointless, but also undefined
behavior.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-13 17:27:45 +01:00
Michael Niedermayer
295b79b5d8 avcodec/roqvideoenc: Check for av_malloc_array() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-13 15:14:27 +01:00
Michael Niedermayer
88a46fa8c9 avcodec/snowenc-test: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-13 15:04:15 +01:00
Michael Niedermayer
482761b85a avcodec/snowenc-test: check for av_malloc*() failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-13 15:02:36 +01:00
Stefano Sabatini
c648879827 Changelog: mention the port of various mp PP filters 2015-01-13 13:13:04 +01:00
Arwa Arif
8c7e512ad9 lavfi: remove mp=pp7
The filter was ported to a native libavfilter filter in
a299cd5ab3.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2015-01-13 13:13:04 +01:00
Stefano Sabatini
57ede2a507 lavfi: use ff_norm_qscale(), factorize 2015-01-13 13:12:58 +01:00
Mark Reid
b23a866844 libavformat/mxfdec.c: export the full UMID as metadata
Previous version reviewed-by: tim nicholson

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-13 01:16:39 +01:00
Michael Niedermayer
fbe8672e15 avcodec/shorten: use av_reallocp_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 23:46:50 +01:00
Michael Niedermayer
56c7e1059a avcodec/snow: Fix av_malloc* failure checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 23:46:50 +01:00
Michael Niedermayer
13871a95d0 avcodec/snow: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 23:36:00 +01:00
Michael Niedermayer
24222cc1d5 avcodec/opus_imdct: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 23:36:00 +01:00
Mark Reid
b08b5f4be2 libavformat/mxfdec.c: read project_name metadata
MXF files generated by Media Composer or LibMXF can contain a
project name property in the Preface. Lots of existing samples have them.

http://samples.ffmpeg.org/MXF/issue2160/PW0805A0V01.4C5B5636.EFA330.mxf
project_name    : DNX145 PW Test

http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket3450/WriteAvidMXFgenerated/5502_0010_v1.mxf
project_name    : Rombus

http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket3100/1sec_mxf_test_Video5270C795.mxf
project_name    : NVB_DOOD

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 20:26:58 +01:00
James Almer
59ac93f6af x86/swr: add SSE/AVX unpack_6ch functions
int32/float only

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-12 15:40:03 -03:00
Lou Logan
e9f8780381 doc/general: update libilbc link
Signed-off-by: Lou Logan <lou@lrcd.com>
2015-01-12 09:32:06 -09:00
James Almer
3aaff80348 avutil/opencl: don't include config.h
It's not an installed header.

Tested-by: Thilo Borgmann <thilo.borgmann@mail.de>
Tested-by: Wei Gao <highgod0401@gmail.com>
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-12 13:49:56 -03:00
Michael Niedermayer
365ef88d5d avcodec/wma: Print more details in case of spectral RLE overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 13:56:13 +01:00
Michael Niedermayer
4f664d8aae avcodec/ccaption_dec: Fix typos and cosmetics
Found-by: ubitux
(rest of found stuff left to the author to decide which way to fix)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 13:43:53 +01:00
Michael Niedermayer
e2db9a736f avcodec/wmadec: fix 0 frame bit_reservoir
Fixes Ticket968
partly fixes Ticket691

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 03:33:16 +01:00
Michael Niedermayer
a8bc901033 avcodec/wmadec: also print the number of bits left in the nb_frames <= 0 case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 03:33:02 +01:00
Michael Niedermayer
843d93d286 doc/codecs: document nomc flag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 01:18:01 +01:00
Anshul Maheshwari
78e78f621b Adding Closed caption accessories
Signed-off-by: Anshul Maheshwari <anshul.ffmpeg@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 22:19:48 +01:00
Anshul Maheshwari
4b6262610b Adding Closed caption Support
Signed-off-by: Anshul Maheshwari <anshul.ffmpeg@gmail.com>

To test Closed caption use following command
ffmpeg -f lavfi -i "movie=input.ts[out0+subcc]" -map s output.srt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 22:19:48 +01:00
Lukasz Marek
f463df18bc cmdutils: use av_match_name to filter devices
Device name may be coma-separated list.
Use dedicated funtion to compare.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-01-11 18:58:33 +01:00
Lukasz Marek
ea0ac11f1b lavd/v4l2: implement list device callback
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-01-11 18:58:33 +01:00
Lukasz Marek
44e6eeb30d cmdutils: use helper functions for listing sinks/sources
List device callback must be able to return valid list without opening device.
This callback should return input values for open function, not vice-versa.
Read header funtion is very likey to fail without proper configuration provided.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-01-11 18:58:33 +01:00
Lukasz Marek
007c33df0a lavd/avdevice: introduce helper functions for sink/sources listing
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-01-11 18:58:26 +01:00
Lukasz Marek
9241e544ff lavd/avdevice: remove av_ prefix from private function
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-01-11 18:54:49 +01:00
Michael Niedermayer
8b13a4d6f0 avcodec/error_resilience: Remove special case for H.264 from is_intra_more_likely
This should not be needed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 17:30:02 +01:00
Michael Niedermayer
855463c007 avcodec/h264: Keep a reference to the last picture for EC
This and the next commit improve error concealment for
green-block-artifacts-from-canon-100-hs.MOV

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 17:30:02 +01:00
Michael Niedermayer
cba199b595 avcodec/options_table: add entries for MPEG4 video profiles
Fixes part of Ticket2901

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 14:55:28 +01:00
Michael Niedermayer
bcfd9f8d7f avcodec/proresdec_lgpl: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 13:42:06 +01:00
Michael Niedermayer
4207c5a4ce avcodec/pgssubdec: Use av_malloc*_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 13:41:14 +01:00
Michael Niedermayer
0f08b587fa avcodec/libvo-aacenc: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 13:32:55 +01:00
Carl Eugen Hoyos
a5334d4081 Handle r10k endianess atom DpxE.
Fixes playback and remuxing of r10k_full-range_big-endian.mov.

Reported, analyzed and tested by Olaf Matthes, olaf matthes gmx de
2015-01-11 12:15:03 +01:00
Michael Niedermayer
aa6545e1f3 avformat/hlsenc: more robust error tests
errors are negative throughout ffmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 05:17:44 +01:00
James Almer
6abf00d615 x86/swr: load constants outside the loop in pack_6ch functions
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-11 01:11:46 -03:00
Michael Niedermayer
c8f83a4c78 avformat/voc: add seeking support
Fixes Ticket1333

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 00:35:01 +01:00
Matt Oliver
87deebe11a avcodec/libvpxenc.c: Fix linking with codec interface with msvc.
Default libvpx msvc buils used module definition to export symbols.
These symbols are exported as pointers to data which dont link when
referenced directly.

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 21:10:02 +01:00
wm4
09b4ad1568 vp9: avoid infinite loop with broken files
With a certain fuzzed file, the parser will always return 0 consumed
bytes, which makes calling code call the parser infinitely. Return the
full packet size on error instead. (Here it would be nice if parsers
could return errors at all.)

Additionally, _if_ there's some data left, return that too, which might
help with somewhat broken but still somehow playable files.

Fixes ticket #4242.

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 20:12:36 +01:00
Michael Niedermayer
0898a6d4e4 avcodec/ratecontrol: Check for av_malloc*() failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 19:29:39 +01:00
Michael Niedermayer
1bf747ae84 avcodec/dvbsubdec: Return proper error codes from more functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 19:24:27 +01:00
Michael Niedermayer
ebe3a41ea3 avcodec/dvbsubdec: Add some av_malloc() failure checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 19:21:58 +01:00
Michael Niedermayer
a4d3cf10b2 avcodec/diracdec: Check slices malloc and propagate error code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 17:28:22 +01:00
Michael Niedermayer
0b52bdfb3b avfilter/vf_pp7: Add GBRP pixel format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 16:19:16 +01:00
Michael Niedermayer
1673436d85 avfilter/vf_pp7: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 16:19:16 +01:00
Paul B Mahol
241f858cf4 LICENSE.md: mention mpdecimate and not decimate to be GPL
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-10 13:32:55 +00:00
Michael Niedermayer
35e559ae32 avcodec/cavs: Check for av_malloc* failure in ff_cavs_init_top_lines()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 14:02:39 +01:00
Michael Niedermayer
6f838dee3c avformat/movenc: move variable to a more local block
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 04:50:50 +01:00
Andreas Cadhalpun
f97f2a3527 doc/examples: fix lib math dep for decoding_encoding
It uses at least sin().

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 04:50:42 +01:00
Andreas Cadhalpun
6108485cf7 configure: enable vsx together with altivec for ppc64el
The altivec optimizations on little endian ppc64 don't work without vsx.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 04:50:17 +01:00
Michael Niedermayer
7824dc5150 avformat/movenc: workaround bug in "PathScale EKOPath(tm) Compiler Suite Version 4.0.12.1"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 03:43:54 +01:00
Michael Niedermayer
bdb136d302 avfilter/internal: add fixme to ff_norm_qscale() to document obvious scaling issue
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 02:27:49 +01:00
Arwa Arif
4df01d5d44 avfilter: Factorize the use of norm_qscale in pp7
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 02:22:02 +01:00
wm4
aab74a38b8 rm: fix memory leak on init failure
AVInputFormat.read_close is not called if AVInputFormat.read_header
fails, so this needs to be handled separately.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 00:26:43 +01:00
Michael Niedermayer
11d8fa5e9d ffserver: Use av_malloc_array()
Reviewed-by: "Reynaldo H. Verdejo Pinochet" <reynaldo@osg.samsung.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 00:17:38 +01:00
James Almer
da02ee127a x86/vf_pp7: port dctB_mmx to yasm
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-09 20:02:27 -03:00
Michael Niedermayer
f95cd5a235 Merge commit '51da7d02748cc54b7d009115e76efa940b99a8ef'
* commit '51da7d02748cc54b7d009115e76efa940b99a8ef':
  matroskaenc: refuse to write AAC without valid extradata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 21:25:49 +01:00
Michael Niedermayer
1cf0f27985 Merge commit '7e4e010b80e76862e83afbd41c25d50e72f0b44c'
* commit '7e4e010b80e76862e83afbd41c25d50e72f0b44c':
  mpeg4audio: check the init_get_bits() return value

Conflicts:
	libavcodec/mpeg4audio.c

See: deefdf9788
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 20:51:17 +01:00
Michael Niedermayer
aefb99f2c0 avcodec/ass_split: use *alloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 20:33:53 +01:00
Michael Niedermayer
727cb2bda9 avcodec/ass: Use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 20:33:53 +01:00
Arwa Arif
a299cd5ab3 lavfi: port mp=pp7 to libavfilter
The only difference with mp=pp7 is that default mode is "medium", as stated
in the MPlayer docs, rather than "hard".

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2015-01-09 17:26:31 +01:00
Michael Niedermayer
b1d223301f avformat/hdsenc: Remove redundant NULL pointer checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 15:55:07 +01:00
Michael Niedermayer
0409155261 ffmpeg: remove unneeded NULL pointer check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 15:55:07 +01:00
Michael Niedermayer
323355413d tools/uncoded_frame: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 15:55:07 +01:00
Anton Khirnov
51da7d0274 matroskaenc: refuse to write AAC without valid extradata 2015-01-09 15:51:00 +01:00
Anton Khirnov
7e4e010b80 mpeg4audio: check the init_get_bits() return value
Fixes possible invalid reads.

CC:libav-stable@libav.org
2015-01-09 15:44:31 +01:00
Michael Niedermayer
ef3a6a48b5 avformat/tee: Simplify code by using avio_closep()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 13:40:09 +01:00
Michael Niedermayer
643dee846a avformat/sapenc: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 13:39:48 +01:00
Michael Niedermayer
2959a61232 avformat/utils: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 13:39:06 +01:00
wm4
b88e80589b vp9: fix parser return values in error case
The parser must always set the out_size and out_data pointers. The API
seems to require it, and the common code in parser.c also relies on it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 12:34:05 +01:00
Michael Niedermayer
d1c6b7b2d1 configure: fix convoluted shlib code
Fixes Ticket 4199

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 05:04:25 +01:00
Peter Ross
6243845036 avformat/aiffdec: improve readability
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 00:50:45 +01:00
Carl Eugen Hoyos
cd3405282c Skip Exif data when auto-detecting jpeg images. 2015-01-09 00:30:02 +01:00
Michael Niedermayer
6d1a2efb8a ffmpeg: Clear error message array at init.
This avoids printing uninitialized bytes if no error message is set

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 23:02:30 +01:00
Michael Niedermayer
d1d8f866b5 avformat/mlvdec: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 20:19:20 +01:00
Michael Niedermayer
edeaf6f3a4 avformat/mlvdec: Simplify code by using avio_closep()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 20:19:20 +01:00
Michael Niedermayer
07e4ed5637 avformat/mov: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 20:19:20 +01:00
Michael Niedermayer
f9ddaa35c7 avformat/rtpenc_chain: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 20:19:20 +01:00
Michael Niedermayer
e360d030b3 avformat/rtsp: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 20:19:20 +01:00
wm4
816577716b avcodec/dvdsubdec: fix accessing dangling pointers
dvdsub_decode() can call append_to_cached_buf() 2 times, the second time
with ctx->buf as argument. If the second append_to_cached_buf() reallocs
ctx->buf, the argument will be a pointer to the previous, freed block.
This can cause invalid reads at least with some fuzzed files - and
possibly with valid files.

Since packets can apparently not be larger than 64K (even if packets are
combined), just use a fixed size buffer. It will be allocated as part of
the DVDSubContext, and although some memory is "wasted", it's relatively
minimal by modern standards and should be acceptable.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 17:45:32 +01:00
Michael Niedermayer
3fd3647fdc Merge commit '2dbd35b00c6433e587d5f44d5dbc8972ebbaa88e'
* commit '2dbd35b00c6433e587d5f44d5dbc8972ebbaa88e':
  libfdk-aacdec: Make sure decoding doesn't add any extra delay in the latest version of fdk-aac

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 17:36:48 +01:00
Michael Niedermayer
93870f0a0b Merge commit '3852e2c926ddb166c7aa69c4644a86100ea144d9'
* commit '3852e2c926ddb166c7aa69c4644a86100ea144d9':
  libopenh264enc: Fix a typo and some nitpicks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 17:27:19 +01:00
Michael Niedermayer
de8f70b8e0 Merge commit '71ec3d36fa6122b3b6c5c68a21b9c70cb2e668e8'
* commit '71ec3d36fa6122b3b6c5c68a21b9c70cb2e668e8':
  doc: Add initial documentation about the OpenH264 encoder wrapper

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 17:13:38 +01:00
Carl Eugen Hoyos
26ac6d5435 lavfi/boxblur: Readd 8bit colour spaces on big-endian. 2015-01-08 15:24:59 +01:00
Michael Niedermayer
bf3126db6a avformat/hlsenc: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:51:04 +01:00
Michael Niedermayer
26c72d2941 avformat/img2dec: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:50:34 +01:00
Michael Niedermayer
50bb9b87ab avformat/img2enc: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:50:07 +01:00
Michael Niedermayer
b565fd4464 avformat/hdsenc: Simplify code by using avio_closep()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:13:36 +01:00
Michael Niedermayer
e5993aeb60 avdevice/lavfi: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:11:44 +01:00
Michael Niedermayer
eb3e661bab ffserver: Use avio_closep() to avoid leaving stale pointers in memor
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:11:12 +01:00
Michael Niedermayer
78cb3c069d ffmpeg: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:10:58 +01:00
Michael Niedermayer
558cef8860 ffmpeg_opt: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:10:23 +01:00
Martin Storsjö
2dbd35b00c libfdk-aacdec: Make sure decoding doesn't add any extra delay in the latest version of fdk-aac
The latest version added support for a new option for enabling
a signal level limiter, which adds some extra delay. In fdk-aac, this
is enabled by default, but disable it by default here since we'd rather
have zero-delay decoding.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-08 13:58:43 +02:00
Martin Storsjö
3852e2c926 libopenh264enc: Fix a typo and some nitpicks
Also move the .long_name entry to below the .name entry.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-08 13:53:25 +02:00
Martin Storsjö
71ec3d36fa doc: Add initial documentation about the OpenH264 encoder wrapper
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-08 13:53:15 +02:00
Michael Niedermayer
a85f033149 doc/examples/transcoding: Use avio_closep() in examples as it avoids leaving stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 05:29:10 +01:00
Michael Niedermayer
a63c17cec7 idoc/examples/remuxing: Use avio_closep() in examples as it avoids leaving stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 05:28:59 +01:00
Michael Niedermayer
c61b84ccfd doc/examples/transcode_aac: Use avio_closep() in examples as it avoids leaving stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 05:28:51 +01:00
Michael Niedermayer
1d2410639d doc/examples/muxing: Use avio_closep() in examples as it avoids leaving stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 05:28:15 +01:00
Lou Logan
919e038a95 doc: fix typos
Signed-off-by: Lou Logan <lou@lrcd.com>
2015-01-07 17:17:33 -09:00
wm4
bcaa9099b3 avcodec/dvdsubdec: error on bitmaps with size 0
Attemtping to decode them could lead to invalid writes with some fuzzed
samples.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 01:42:42 +01:00
Michael Niedermayer
3ed80bd95e Merge commit '5a1addd7c1d8ff218ed4b84f4f02fdb83980094c'
* commit '5a1addd7c1d8ff218ed4b84f4f02fdb83980094c':
  xsub: Support DXSA subtitles

Conflicts:
	libavcodec/xsubdec.c

See: d6f910ea47
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 00:09:13 +01:00
Michael Niedermayer
0e1bb03cb0 Merge commit '01168bf1405ddbf671f1074a927b951b8777adbb'
* commit '01168bf1405ddbf671f1074a927b951b8777adbb':
  mpeg: Remove unused field

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 22:48:24 +01:00
Michael Niedermayer
e2404096b0 avformat/segment: Clear contexts after deallocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 22:29:16 +01:00
Michael Niedermayer
2a741baeff Merge commit 'b3f04657368a32a9903406395f865e230b1de348'
* commit 'b3f04657368a32a9903406395f865e230b1de348':
  segment: Fix the failure paths

Conflicts:
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 22:15:45 +01:00
Michael Niedermayer
86e7d20ac2 avcodec/aic: Use av_malloc_array
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 19:46:16 +01:00
Michael Niedermayer
7efabffc28 ffmpeg_opt: Check for av_realloc_array() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 18:22:37 +01:00
Michael Niedermayer
2d7fd4cc33 ffmpeg_opt: Use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 18:22:37 +01:00
Michael Niedermayer
e00499eb4c avcodec/libxvid: fix potential integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 18:22:31 +01:00
Michael Niedermayer
dfffc4aadc avformat/dvbsub: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 17:21:31 +01:00
Alexandre Colucci
5a1addd7c1 xsub: Support DXSA subtitles
These have a DXSA tag and contain alpha in addition to
color values for palette.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-07 13:51:30 +01:00
Luca Barbato
01168bf140 mpeg: Remove unused field 2015-01-07 13:49:10 +01:00
Michael Niedermayer
ad465e7897 avcodec/mpeg12: Try to fetch pts/dts from both the packet associated with the picture start code as well as earlier start codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 13:25:09 +01:00
Luca Barbato
b3f0465736 segment: Fix the failure paths
A failure in segment_end() or segment_start() would lead to freeing
a dangling pointer and in general further calls to seg_write_packet()
or to seg_write_trailer() would have the same faulty behaviour.

CC: libav-stable@libav.org
Reported-By: luodalongde@gmail.com
2015-01-07 12:36:28 +01:00
Michael Niedermayer
69ee915e1c avcodec/parser: add fuzzy mode to ff_fetch_timestamp()
This will be needed for the following timestamp fix

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 11:52:08 +01:00
Michael Niedermayer
ddae03f69b avcodec/allcodecs: prefer x264 over openh264 if both are available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 01:15:57 +01:00
Michael Niedermayer
c09eeca546 Merge commit '8a3d9ca603f4d15ecaa9ca379cbaab4ecaec8ce4'
* commit '8a3d9ca603f4d15ecaa9ca379cbaab4ecaec8ce4':
  libavcodec: Add an OpenH264 encoder wrapper

Conflicts:
	Changelog
	configure
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 00:48:23 +01:00
Michael Niedermayer
cb03d29dec Merge commit '2a1500fb552364488cfbee3e29e296788a3a6bdd'
* commit '2a1500fb552364488cfbee3e29e296788a3a6bdd':
  movenc: Fix a typo in a comment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 00:46:47 +01:00
Michael Niedermayer
0d0a905152 Merge commit 'e581e88cbdb3323ca0026a54b39a9716a3686e9f'
* commit 'e581e88cbdb3323ca0026a54b39a9716a3686e9f':
  movenc: Readd an accidentally removed condition

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 00:39:44 +01:00
Michael Niedermayer
4009ee3ecc Merge commit '8e03ca2fff40ce065ea5a516200e777c96cd785e'
* commit '8e03ca2fff40ce065ea5a516200e777c96cd785e':
  isom: add 'mp1v' fourcc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 00:31:05 +01:00
Michael Niedermayer
89388cf60b Merge commit '1c6183233d56fb27a4a154e7e64ecab98bd877f1'
* commit '1c6183233d56fb27a4a154e7e64ecab98bd877f1':
  msmpeg4: check memory allocations and propagate errors

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 00:13:24 +01:00
Michael Niedermayer
40e123bc67 Merge commit 'ed97963bdbf3bb17fca4f9ea0aa1a97722dec907'
* commit 'ed97963bdbf3bb17fca4f9ea0aa1a97722dec907':
  ulti: invert the order of parameters of ulti_decode_frame()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 00:05:04 +01:00
Michael Niedermayer
f2f88b952d Merge commit '4438c256387a5845e5cdc5c14c43f4047b68301b'
* commit '4438c256387a5845e5cdc5c14c43f4047b68301b':
  vf_interlace: remove the warning tag in the message

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 00:03:10 +01:00
Michael Niedermayer
82b1bcd7f9 Merge commit '15ea222778caaec0877b3f9938140b707c931d96'
* commit '15ea222778caaec0877b3f9938140b707c931d96':
  vf_interlace: merge FIELD_LOWER check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 23:50:51 +01:00
Michael Niedermayer
6279cb3597 Merge commit '046f75a970701b4c947d38bfd2186dcc5f2ddae2'
* commit '046f75a970701b4c947d38bfd2186dcc5f2ddae2':
  vf_interlace: also assert for height

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 23:40:16 +01:00
Michael Niedermayer
ac3f6429ba vfilter/vf_tinterlace: Fix issues with linesize and cols
Based on patch by Vittorio Giovara <vittorio.giovara@gmail.com> from 696141e898

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 23:21:28 +01:00
Michael Niedermayer
f931b1ef45 Merge commit '696141e898193311c994b399a8dc60713709092f'
* commit '696141e898193311c994b399a8dc60713709092f':
  vf_interlace: use image width rather than linesize

Conflicts:
	libavfilter/vf_interlace.c

See: f043965cd5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 22:46:10 +01:00
Michael Niedermayer
30cf755548 Merge commit 'fe082998683334e7f573cfe3876810fb80c5249c'
* commit 'fe082998683334e7f573cfe3876810fb80c5249c':
  build: Use -Werror=format-security

Conflicts:
	configure

See: 97592faa51
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 22:34:08 +01:00
Michael Niedermayer
2ab6deb36f Merge commit '2cef68da69a17ed09c313ba3c3850ec1cc0a80e0'
* commit '2cef68da69a17ed09c313ba3c3850ec1cc0a80e0':
  vda: error out if decoded CVPixelBuffer is empty

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 22:13:39 +01:00
Michael Niedermayer
9198397115 avcodec/ffv1enc: Fix incompatible pointer type warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 22:05:13 +01:00
Michael Niedermayer
3b3782d74e Merge commit '0352ff102d62ee94e79e0baaf64d5ad4e66f907b'
* commit '0352ff102d62ee94e79e0baaf64d5ad4e66f907b':
  ffv1: const correctness for encode_rgb_frame()

Conflicts:
	libavcodec/ffv1enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 22:05:06 +01:00
Michael Niedermayer
f4cc19cdd0 Merge commit 'ca09effb01e126b0ac74ff3de70a475423ddee82'
* commit 'ca09effb01e126b0ac74ff3de70a475423ddee82':
  ffv1: Drop unnecessary casts and const qualifiers to match function signatures

Conflicts:
	libavcodec/ffv1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 21:54:26 +01:00
Michael Niedermayer
90de28befd Merge commit '1dd797e3c9f179f957316a0becbec048b42df8aa'
* commit '1dd797e3c9f179f957316a0becbec048b42df8aa':
  swscale: check memory allocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 21:44:50 +01:00
Michael Niedermayer
b20e79dbe9 Merge commit '07a0c0f0005072d115ace61e60f46be68582cc3a'
* commit '07a0c0f0005072d115ace61e60f46be68582cc3a':
  opt: check memory allocation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 21:37:48 +01:00
Michael Niedermayer
dede2f7fc4 tools/ismindex.c: Use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 21:08:33 +01:00
Michael Niedermayer
a0a7b154bb tools/ismindex: Keep count fields consistent with arrays in case of errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 21:07:50 +01:00
Martin Storsjö
8a3d9ca603 libavcodec: Add an OpenH264 encoder wrapper
Compared to existing, common opensource H264 encoders, this can be
useful since it has got a different license (BSD instead of GPL).

Performance- and qualitywise it is comparable to x264 in ultrafast
mode.

Hooking it up as an encoder in libavcodec also simplifies comparing
it against other common encoders.

This requires OpenH264 1.3 or newer. Since the OpenH264 API and ABI
changes frequently, only releases are supported.

To take advantage of the OpenH264 patent offer, the OpenH264 library
must not be redistributed, but downloaded at runtime at the end-user's
system.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-06 19:58:44 +02:00
Martin Storsjö
2a1500fb55 movenc: Fix a typo in a comment
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-06 19:47:18 +02:00
Martin Storsjö
e581e88cbd movenc: Readd an accidentally removed condition
This was removed accidentally as part of 847bf598. This could cause
groundless warning logging.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-06 19:47:09 +02:00
Michael Niedermayer
d2838f09d6 cmdutils.c: Use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 17:52:54 +01:00
Justin Ruggles
8e03ca2fff isom: add 'mp1v' fourcc
As referenced in the CoreMedia API docs.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-06 17:05:53 +01:00
Vittorio Giovara
1c6183233d msmpeg4: check memory allocations and propagate errors
Bug-Id: CID 1257781
2015-01-06 16:43:54 +01:00
Vittorio Giovara
ed97963bdb ulti: invert the order of parameters of ulti_decode_frame()
This is the order that the caller uses in the rest of the file.
Variables are modified to reflect the order above too and their
initialization is merged with their declarationt. No behavioral
change.

Bug-Id: CID 732286
2015-01-06 16:43:53 +01:00
wm4
ea7af58fc6 avformat/id3v2: support USLT tags
I think this turned out pretty terrible. There's no good way to add new
custom tags that write to AVFormatContext->metadata.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 16:39:52 +01:00
Michael Niedermayer
369b4cd412 cmdutils: Use 64bit for file size/offset related variable in cmdutils_read_file()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 15:27:17 +01:00
Michael Niedermayer
bbfca8e84b avformat/utils: Clear pointer in ff_alloc_extradata() to avoid leaving a stale pointer in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 15:07:50 +01:00
Michael Niedermayer
da0dadbee4 avfilter/buffer: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 15:07:50 +01:00
Michael Niedermayer
59ca6e2586 avformat/hlsproto: Use av_freep, to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 15:07:50 +01:00
Michael Niedermayer
6e70e4aca5 avformat/matroskadec: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 15:07:50 +01:00
Michael Niedermayer
383c6a3a07 avformat/mov: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 15:07:50 +01:00
Michael Niedermayer
62eafb6a0d avformat/mov: Clear array to prevent potential out of array read from av_dlog()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 15:07:50 +01:00
Paul B Mahol
145a84717b lavfi: check av_strdup() return value
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-06 10:02:11 +00:00
Dale Curtis
3ebd76a9c5 mov: Fix negative size calculation in mov_read_default().
The previous code assumed if an atom was marked with a 64-bit
size extension, it actually had that data available. The new
code verfies there's enough data in the atom for this to be
done.

Failure to verify causes total_size > atom.size which will
result in negative size calculations later on.

Found-by: Paul Mehta <paul@paulmehta.com>
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 05:23:45 +01:00
Michael Niedermayer
3859868c75 avformat/mov: fix integer overflow in mov_read_udta_string()
Found-by: Paul Mehta <paul@paulmehta.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 04:44:16 +01:00
Dale Curtis
db42d93a61 mov: Fix overflow and error handling in read_tfra().
Under abnormal conditions the item_count may exceed the max
allocation size on 32-bit systems, this causes the allocated
size to overflow and become too small for the given count.

Additionally, if av_reallocp() fails its allocation, the
fragment_index_count is not correctly decremented.

Ensuring further havoc may be wrought, the error code for
read_tfra() is not checked upon return.

Found-by: Paul Mehta <paul@paulmehta.com>

positive return code and use of _array functions by commiter

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 04:44:16 +01:00
Michael Niedermayer
a79ac73b63 avfilter/vf_idet: Add analyze_interlaced_flag mode
This should allow us to insert idet before scale and let scale have interl=-1 as default in that case

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 01:21:19 +01:00
Michael Niedermayer
42411a85b7 avfilter/vf_yadif: detect telecine content
Fixes: yadif with interlaced_flag_switch.mpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 00:31:37 +01:00
wm4
bd78010407 avformat/id3v1: strip trailing whitespace
ID3v1 fields have a fixed size, and they are padded either with zeros,
or with spaces. Handle the latter case, instead of putting strings with
trailing spaces into the AVDictionary.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 20:52:51 +01:00
James Almer
08810a8895 x86/flacdsp: remove unneeded ifdeffery
x86inc can translate r*m into a register or stack on its own

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-05 16:29:28 -03:00
Michael Niedermayer
d02d4d0457 avformat/dvbsub: increase probe score
Ive not found a single false positive after some moderate testing with
probetest

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 17:40:16 +01:00
Michael Niedermayer
b0826b8324 avformat/dvbsub: fix indent after previous commit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 17:40:16 +01:00
Michael Niedermayer
3bf2b376e6 avformat/dvbsub: check for 0xf0 earlier in probe, 30% faster
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 17:40:09 +01:00
Michael Niedermayer
0e1c827e84 Merge remote-tracking branch 'origin/master'
* origin/master:
  libavfilter/vf_blend: do not unconditionally compile both filters

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 15:55:47 +01:00
Vittorio Giovara
4438c25638 vf_interlace: remove the warning tag in the message
The log level is already a warning.
2015-01-05 15:35:46 +01:00
Vittorio Giovara
15ea222778 vf_interlace: merge FIELD_LOWER check 2015-01-05 15:35:46 +01:00
Vittorio Giovara
046f75a970 vf_interlace: also assert for height 2015-01-05 15:35:46 +01:00
Vittorio Giovara
696141e898 vf_interlace: use image width rather than linesize
Based on a patch by Michael Niedermayer <michaelni@gmx.at>.
2015-01-05 15:35:46 +01:00
Agostino Sarubbo
fe08299868 build: Use -Werror=format-security
Reduce the chance of introducing a class of bugs quite hard to track.
2015-01-05 15:35:39 +01:00
Stefano Pigozzi
2cef68da69 vda: error out if decoded CVPixelBuffer is empty
On some video samples, VDA silently fails to decode frames and returns
kVDADecoderNoErr. Error out in these cases to avoid producing AVFrames with
empty planes.

Signed-off-by: Stefano Pigozzi <stefano.pigozzi@gmail.com>
2015-01-05 15:35:39 +01:00
Diego Biurrun
0352ff102d ffv1: const correctness for encode_rgb_frame()
libavcodec/ffv1enc.c:922:53: warning: passing argument 5 of ‘encode_rgb_frame’ discards ‘const’ qualifier from pointer target type
2015-01-05 15:35:39 +01:00
Diego Biurrun
ca09effb01 ffv1: Drop unnecessary casts and const qualifiers to match function signatures
libavcodec/ffv1dec.c:898:36: warning: cast discards ‘const’ qualifier from pointer target type
2015-01-05 15:35:39 +01:00
Vittorio Giovara
1dd797e3c9 swscale: check memory allocations
CC: libav-stable@libav.org
Bug-Id: CID 1257779
2015-01-05 15:35:39 +01:00
Paul B Mahol
91bdb24400 libavfilter/vf_blend: do not unconditionally compile both filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-05 14:14:54 +00:00
Vittorio Giovara
07a0c0f000 opt: check memory allocation
CC: libav-stable@libav.org
Bug-Id: CID 1257771
2015-01-05 14:58:20 +01:00
wm4
c9151de7c4 avcodec/dvdsubdec: fix out of bounds accesses
The code blindly trusted buffer offsets read from the file in the RLE
decoder. Explicitly check the offset. Also error out on other RLE
decoding errors.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 05:03:49 +01:00
Werner Robitza
beedeb4399 doc/ffmpeg: mention both ffpreset/avpreset in documentation, remove superfluous example
ffmpeg looks for both .ffpreset and .avpreset files depending on whether the
-[avsf]pre or -pre option is used. Added two sections for each type of preset
including the rules according to which files are searched.

(Notably, the lookup order is swapped for avpreset files, because it first
looks for <codec>_<arg>.avpreset and then for <arg>.avpreset.)

This removes the section explaining -pre only, which was under "Examples",
where it did not really make sense.

Signed-off-by: Werner Robitza <werner.robitza@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 04:34:37 +01:00
Michael Niedermayer
fb22e5ae45 Merge commit '46808fdf04ab113df374157b90b506eb3110daf2'
* commit '46808fdf04ab113df374157b90b506eb3110daf2':
  movenc: Enable editlists by default if delay_moov is enabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 02:45:34 +01:00
Michael Niedermayer
e7521d9771 Merge commit '9f810a9b374e0ff8e2a19fd8a7347afe2933e229'
* commit '9f810a9b374e0ff8e2a19fd8a7347afe2933e229':
  libavformat: Check for malloc failures in avformat_new_stream

See: a66893ac94
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 02:37:17 +01:00
Michael Niedermayer
dd4de4a987 Merge commit 'c4aa0f865fb2c3b28a309d1bb27fd1c24b75ba28'
* commit 'c4aa0f865fb2c3b28a309d1bb27fd1c24b75ba28':
  libavformat: Remove a misleading/incorrect comment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 02:27:00 +01:00
Michael Niedermayer
1ed5912e81 Merge commit 'f4d4e66a24a5c9497a5b6d3c089ac58089a87428'
* commit 'f4d4e66a24a5c9497a5b6d3c089ac58089a87428':
  configure: Remap -L to -libpath for msvc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 02:20:06 +01:00
Michael Niedermayer
1d41571bbf Merge commit '3e160652219ff4da433f5672ae1e5f4956abb815'
* commit '3e160652219ff4da433f5672ae1e5f4956abb815':
  cmdutils: update copyright year to 2015.

Conflicts:
	cmdutils.c

See: b8db25a333
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 02:10:17 +01:00
Peter Ross
f1098eb97d avformat/aiffdec: only read codec tag when there is space in header
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Michael Niedermayer
ce1e10aa24 avformat/utils: add dvbsub to set_codec_from_probe_data()
Fixes part of ticket 4221

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Michael Niedermayer
e313735d7d avformat: add dvbsub demuxer
This is needed for probing some dvbsub streams in mpegts

Fixes part of ticket4221

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Michael Niedermayer
d1781fd786 avformat/rawdec: Add FF_DEF_RAWSUB_DEMUXER
This is similar to the corresponding audio and video macros

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Michael Niedermayer
dc265e2b6b avformat/rawdec: Make ff_raw_data_read_header() non static
This is similar to the raw video read header

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Michael Niedermayer
58721388b8 avformat/flvenc: omit more metadata elements with specific meaning
Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Michael Niedermayer
0f931b29f7 Factorize avpriv_mirror() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Michael Niedermayer
9bff052b51 avfilter/vf_sab: fix filtering tiny images
Fixes out of array reads

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 00:49:42 +01:00
Martin Storsjö
46808fdf04 movenc: Enable editlists by default if delay_moov is enabled
Being able to write editlists properly is one of the main points
in the delay_moov flag.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-04 20:04:36 +02:00
Martin Storsjö
9f810a9b37 libavformat: Check for malloc failures in avformat_new_stream
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-04 20:04:36 +02:00
Martin Storsjö
c4aa0f865f libavformat: Remove a misleading/incorrect comment
This comment can be traced back to the initial commit from 2001,
and it seemed to be misleading/incorect already back then. (It
was used for normal, non-raw file formats already then.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-04 20:04:33 +02:00
Martin Storsjö
f4d4e66a24 configure: Remap -L to -libpath for msvc
This allows using libraries that are detected via pkg-config with
msvc. (The libraries themselves may have to be built with MSVC
though.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-04 19:57:34 +02:00
Johan Andersson
3e16065221 cmdutils: update copyright year to 2015.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-04 13:22:25 +02:00
Reynaldo H. Verdejo Pinochet
9975088472 ffserver: reindent rtsp_cmd_setup()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-03 20:22:45 -03:00
Reynaldo H. Verdejo Pinochet
ac1940b2ba ffserver: reflow rtsp_cmd_setup()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-03 20:22:45 -03:00
Reynaldo H. Verdejo Pinochet
196bc03a86 ffserver: drop redundant else clause
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-03 20:22:45 -03:00
Reynaldo H. Verdejo Pinochet
9e55130a9d ffserver: reindent compute_status()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-03 20:22:45 -03:00
Reynaldo H. Verdejo Pinochet
907101eb83 ffserver: reflow compute_status()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-03 20:22:45 -03:00
Michael Niedermayer
5c95de150f avcodec/libxvid: check for av_malloc*() failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 23:51:18 +01:00
Michael Niedermayer
bd12aa2bc5 avcodec/ljpegenc: Check for av_malloc_array() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 21:25:26 +01:00
Michael Niedermayer
d56b0984f9 avformat/westwood_vqa: Remove unneeded cast
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 21:03:44 +01:00
Michael Niedermayer
0daf60140b avformat/movenc: fix DELAY_MOOV
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 17:45:12 +01:00
Michael Niedermayer
00f9e51a26 tests/regression-funcs: Remove hardcoded threads 1
The tests which use encoders which either use slices or store the encoder thread count
keep a hardcoded value of 1

This will help test more threading code like in filters

Found-by: ubitux
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 15:09:12 +01:00
Michael Niedermayer
4bcb58b3ad Merge commit 'f2ad1495f23376ce61542967f4fc14205f284d40'
* commit 'f2ad1495f23376ce61542967f4fc14205f284d40':
  avisynth: Use RTLD_LOCAL instead of RTLD_GLOBAL

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 13:24:57 +01:00
Clément Bœsch
cc5f5e140c build: require libxcb >= 1.4
Fixes Ticket #4139
2015-01-03 09:56:53 +01:00
Michael Niedermayer
38c1bffd80 Merge commit '470c9db11ff2c3249e995e7ba68e87bb81bf778c'
* commit '470c9db11ff2c3249e995e7ba68e87bb81bf778c':
  sidxindex: Remove parsing that isn't necessary any longer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 05:48:08 +01:00
James Almer
b8db25a333 configure: bump year
Happy new year!
2015-01-03 01:42:27 -03:00
Michael Niedermayer
e566667d8f Merge commit '5cf6bda6e2eae496e8eb2bb06c96852d59a58b8a'
* commit '5cf6bda6e2eae496e8eb2bb06c96852d59a58b8a':
  sidxindex: Don't adjust the Period start time depending on the track start time

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 04:51:45 +01:00
Michael Niedermayer
3be67f33a5 Merge commit '7a1a63e34fa46af18311c2493fdaec9a93bdb750'
* commit '7a1a63e34fa46af18311c2493fdaec9a93bdb750':
  dashenc: Use pts for MPD timeline timestamps

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 04:26:20 +01:00
Michael Niedermayer
983778f1f6 Merge commit 'c5e7ea13d2d4da0c5da91973a547afff6fe9e011'
* commit 'c5e7ea13d2d4da0c5da91973a547afff6fe9e011':
  dashenc: Use delay_moov

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 04:08:09 +01:00
Michael Niedermayer
b0ba8a23b6 Merge commit 'b3b0b35db2f3b61bf2f0f4fa85f5b6267d83c8fe'
* commit 'b3b0b35db2f3b61bf2f0f4fa85f5b6267d83c8fe':
  movenc: Get rid of a hack for updating the dvc1 atom

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 04:01:34 +01:00
Michael Niedermayer
f38e2bcb72 Merge commit '847bf5988fec1d3e65c1d8cf0cdb8caf0cfd0c1b'
* commit '847bf5988fec1d3e65c1d8cf0cdb8caf0cfd0c1b':
  movenc: Add an option for delaying writing the moov with empty_moov

Conflicts:
	libavformat/movenc.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 03:13:16 +01:00
Michael Niedermayer
504267fb56 avformat/movenc: Use cluster timestamps when available in edts
Also print both if they differ

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 02:47:35 +01:00
Michael Niedermayer
0506f687e8 Merge commit 'c725faebda9a516766d94c33b07972ab0f70cf93'
* commit 'c725faebda9a516766d94c33b07972ab0f70cf93':
  movenc: Use start_dts/cts instead of cluster[0] for writing edit lists

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 01:38:58 +01:00
Martin Storsjö
f2ad1495f2 avisynth: Use RTLD_LOCAL instead of RTLD_GLOBAL
There shouldn't be any need to add the loaded libraries to the global
symbol namespace.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 02:30:03 +02:00
Michael Niedermayer
68a06a244c Merge commit '724cbea7193945fe5a5b4dea8ede344803572844'
* commit '724cbea7193945fe5a5b4dea8ede344803572844':
  movenc: Remove an unnecessary condition when flushing fragments

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 01:25:30 +01:00
Michael Niedermayer
7ca10d10aa Merge commit '355d01a1bf55297b1d1f04e4bfbf0ddc93b6247e'
* commit '355d01a1bf55297b1d1f04e4bfbf0ddc93b6247e':
  movenc: Factorize writing ftyp and other identification tags to a separate function

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 01:18:54 +01:00
Martin Storsjö
470c9db11f sidxindex: Remove parsing that isn't necessary any longer
When we don't adjust the Period start time, we don't need to
parse the earliest_presentation_time from the sidx boxes either.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:24:30 +02:00
Martin Storsjö
5cf6bda6e2 sidxindex: Don't adjust the Period start time depending on the track start time
This was only necessary to get playback to start with dash.js 1.2.0,
it has been fixed in the git version.

The previous behaviour was incorrect - the Period's start time
is irrespective of the actual first timestamp of the contents
within the period. The Period start time only says when, within the
global timeline, this particular piece should start to be played
back.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:24:29 +02:00
Martin Storsjö
7a1a63e34f dashenc: Use pts for MPD timeline timestamps
This should be more correct. This also should give more sensible
switching between video streams with different amount of b-frame
delay.

The current dash.js release (1.2.0) fails to start playback of
such files from the start (if the start pts is > 0), but this has
been fixed in the current git version of dash.js.

Also enable the use of edit lists, so that streams in many cases
start at pts=0.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:22:09 +02:00
Martin Storsjö
c5e7ea13d2 dashenc: Use delay_moov
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:20:55 +02:00
Martin Storsjö
b3b0b35db2 movenc: Get rid of a hack for updating the dvc1 atom
Use the more generic approach with the delay_moov flag, instead of
having a update mechanism specific to this one single atom.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:20:40 +02:00
Martin Storsjö
847bf5988f movenc: Add an option for delaying writing the moov with empty_moov
This delays writing the moov until the first fragment is written,
or can be flushed by the caller explicitly when wanted. If the first
sample in all streams is available at this point, we can write
a proper editlist at this point, allowing streams to start at
something else than dts=0. For AC3 and DNXHD, a packet is
needed in order to write the moov header properly.

This isn't added to the normal behaviour for empty_moov, since
the behaviour that ftyp+moov is written during avformat_write_header
would be changed. Callers that split the output stream into header+segments
(either by flushing manually, with the custom_frag flag set, or by
just differentiating between data written during avformat_write_header
and the rest) will need to be adjusted to take this option into use.

For handling streams that start at something else than dts=0, an
alternative would be to use different kinds of heuristics for
guessing the start dts (using AVCodecContext delay or has_b_frames
together with the frame rate), but this is not reliable and doesn't
necessarily work well with stream copy, and wouldn't work for getting
the right initialization data for AC3 or DNXHD either.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:19:27 +02:00
Martin Storsjö
c725faebda movenc: Use start_dts/cts instead of cluster[0] for writing edit lists
This allows writing edit lists even when track->entry == 0, if
the start times have been set.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:18:52 +02:00
Martin Storsjö
724cbea719 movenc: Remove an unnecessary condition when flushing fragments
If fragments == 0 it means we haven't written any moov atom yet.
If the empty_moov flag is set, we already have written an empty moov
atom at startup. Thus, the check for empty_moov is redundant.

This is in preparation for allowing writing the moov atom later,
even when using the empty moov flag.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:18:38 +02:00
Martin Storsjö
355d01a1bf movenc: Factorize writing ftyp and other identification tags to a separate function
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:18:28 +02:00
Giorgio Vazzana
a3ab87427c avutil/camellia: cosmetic fixes
Signed-off-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 21:24:02 +01:00
Giorgio Vazzana
fbb792f90f avutil/camellia: use K[2] instead of *K in generate_round_keys()
Additionally, change parameters order.

Signed-off-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 21:23:56 +01:00
Giorgio Vazzana
8e38b1539e avutil/camellia: make LR128() more robust
Signed-off-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 21:23:50 +01:00
Giorgio Vazzana
88d19d240a avutil/camellia: fix documentation for av_camellia_crypt()
Signed-off-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 21:23:45 +01:00
Nicolas George
55763b6f5e lavd/lavfi: allow to extract subcc.
Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 20:17:05 +01:00
Supraja Meedinti
c6bb651bce libavutil: Added Camellia symmetric block cipher
Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Previous version of this patch reviewed-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 15:19:36 +01:00
Michael Niedermayer
4c7a1ccb36 Changelog: Add cropdetect non 8bpp
Suggested-by: Reimar
Previous patch reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 14:44:31 +01:00
Clément Bœsch
11201bbf7f avformat/mov: reindent after previous commit 2015-01-02 11:38:28 +01:00
Clément Bœsch
55faf56c72 avformat/mov: move edit list heuristics into mov_build_index()
mov_read_elst() is now only responsible from storing the table in a data
structure; this is consistent with other table readers functions.
2015-01-02 11:38:21 +01:00
Michael Niedermayer
75cc57f73f avcodec/mpeg12dec: Check actual aspect ratio instead of aspect_ratio_info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 03:22:51 +01:00
Michael Niedermayer
1010b36d86 avcodec/mpeg12dec: Recalculate SAR unconditionally
Fixes Ticket4161

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 03:22:51 +01:00
Michael Niedermayer
aeb36fd207 avcodec/mpeg12dec: Move user data debug code out of unrelated if (buf_size > 29)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 03:22:51 +01:00
Clément Bœsch
6a29499b95 avformat/flvdec: remove duplicated line error
Fix typo regression since 5c37ffca59

Found-By: cousin_luigi
2015-01-01 22:09:21 +01:00
Michael Niedermayer
8009a51f7b Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: dump format before selecting streams
  ffplay: add support for stream specifiers in -ast, -vst, -sst options
  ffplay: remove unused no_background from videostate
  ffplay: remove flushed state from decoder context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-01 20:19:56 +01:00
Michael Niedermayer
efc4bfc195 avformat/flvdec: use named identifier instead of literal numbers as return values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-01 20:19:09 +01:00
Michael Niedermayer
eb767a276b avformat/flvdec: Increase string array size
Fixes parsing httphostheader of Scarlatti\,\ Pieter-Jan\ Belder\ -\ Sonata\ K113\ in\ A\ major\ -\ Alle.flv

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-01 18:16:04 +01:00
Michael Niedermayer
322f0f5960 avformat/flvdec: do not inject dts=0 metadata packets which failed to be parsed into a new data stream
Such data streams (which then contain no other packets except the faulty one)
confuse some user applications, like VLC
Works around vlcticket 12389

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-01 18:13:22 +01:00
Michael Niedermayer
5c37ffca59 avformat/flvdec: add several error messages to error conditions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-01 18:03:54 +01:00
Marton Balint
46aa75eea1 ffplay: dump format before selecting streams
This helps the user to see the available streams just before the error message
if the stream specifiers do not match.

Signed-off-by: Marton Balint <cus@passwd.hu>
2015-01-01 14:38:12 +01:00
Marton Balint
5e7dcb0491 ffplay: add support for stream specifiers in -ast, -vst, -sst options
Also fix the outdated documentation of these options.

Signed-off-by: Marton Balint <cus@passwd.hu>
2015-01-01 14:38:12 +01:00
Marton Balint
82928656b1 ffplay: remove unused no_background from videostate
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-01-01 14:38:12 +01:00
Marton Balint
8c1f5fb0ae ffplay: remove flushed state from decoder context
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-01-01 14:38:11 +01:00
Michael Niedermayer
d25d929600 avfilter/vf_idet: Add 9, 12 and 14 bit pixel formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-01 05:56:53 +01:00
Michael Niedermayer
18802bc81c avfilter/vf_idet: Use frame_requested instead of prev
This is more robust if the delay is not constant

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-01 02:30:16 +01:00
Michael Niedermayer
3eb5cbe0c5 avformat/cdxl: Fix integer overflow of image_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-31 22:33:51 +01:00
James Almer
975ff6a3c6 x86/swr: disable pack_8ch functions on msvc/icl x86_32
Until a proper fix is committed.

Signed-off-by: James Almer <jamrial@gmail.com>
2014-12-31 16:38:33 -03:00
James Almer
5f14f9e984 x86/swr: add missing alignment check to pack_6ch functions
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-12-31 13:35:11 -03:00
Michael Niedermayer
5ba62e89df avcodec/loco: check the init_get_bits8() return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-31 15:42:17 +01:00
Michael Niedermayer
131a185826 avcodec/loco: use enum for mode variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-31 15:42:17 +01:00
Michael Niedermayer
037b527d62 doc/filters: document bit-depth independent cropdetect limit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-31 04:49:48 +01:00
Michael Niedermayer
d97b94f1af avcodec/loco: Support LOCO reference encoder with odd width
Fixes Ticket1221

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-31 04:49:48 +01:00
James Almer
37b35feb64 x86/swr: add SSE2/AVX pack_8ch functions
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-12-30 23:05:27 -03:00
Michael Niedermayer
a288d08d84 avfilter/vf_cropdetect: adjust Default threshold based on bit depth
Also allow specifying thresholds that are bit depth independant

Previous version reviewed by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-31 00:33:33 +01:00
Michael Niedermayer
081567397e avfilter/vf_yadif: add >8bit planar rgb formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 22:52:45 +01:00
Michael Niedermayer
eee9b7a673 ffprobe: Support extracting the number of reference frames
Fixes Ticket3141

Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 17:55:20 +01:00
Michael Niedermayer
eb465b8c56 avfilter/vf_uspp: clear AVPacket to not leave uninitialized memory
Fixes CID1260707

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 15:15:36 +01:00
Clément Bœsch
0c10cf6ab1 fate: add a fate-filter-framepack rule 2014-12-30 14:28:54 +01:00
Clément Bœsch
39e18b1f40 avfilter/framepack: use FF_CEIL_RSHIFT() 2014-12-30 14:25:41 +01:00
Michael Niedermayer
e405a8a73e avfilter/vf_cropdetect: extend limit to cover 16bit pixel formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 05:33:43 +01:00
Michael Niedermayer
a2e2a9f240 avfilter/vf_cropdetect: fix ; typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 05:32:14 +01:00
Michael Niedermayer
6ab4812f31 avfilter/vf_cropdetect: support 9-16bit planar formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 05:31:24 +01:00
Michael Niedermayer
5c7227bbb3 avfilter/vf_cropdetect: Unroll 3 & 4 bytes per sample loop
19484 -> 10266 decicycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 02:39:36 +01:00
Michael Niedermayer
60e2c3110a avfilter/vf_cropdetect: Unroll 1byte per sample loop
12807 -> 6336 decicycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 02:32:00 +01:00
Michael Niedermayer
17dc83ab5e avfilter/vf_cropdetect: add RGB & RGBA support
These where already supported in the code but not listed in the supported
pixel formats.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 02:19:05 +01:00
Michael Niedermayer
0ffb61e8ca Merge commit '8d54bacb789c7d37ca3cf48d9ac13083ad0c1ba7'
* commit '8d54bacb789c7d37ca3cf48d9ac13083ad0c1ba7':
  dashenc: Remove some stray double spaces

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 01:57:21 +01:00
Michael Niedermayer
e5a3766767 Merge commit 'b91a5757fcbf723da99b05b298a6f820271dbc2b'
* commit 'b91a5757fcbf723da99b05b298a6f820271dbc2b':
  dashenc: Fix writing of timelines that don't start at t=0

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 01:50:53 +01:00
Michael Niedermayer
8d3133f468 Merge commit '50036c30df83b609bc5a95276f1287f8b9b8bdd6'
* commit '50036c30df83b609bc5a95276f1287f8b9b8bdd6':
  fate: Use bitexact conversions in the dpxparser test

Conflicts:
	tests/fate/image.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 01:44:08 +01:00
Carl Eugen Hoyos
7905bd5555 Fix decoding for little endian Aja Kona 10-bit RGB.
The little endian fourcc is r10k, big endian uses R10k.
Reported and analyzed by Jason Freets, jasonslife hotmail
2014-12-29 22:49:08 +01:00
Martin Storsjö
8d54bacb78 dashenc: Remove some stray double spaces
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-29 23:26:43 +02:00
Martin Storsjö
b91a5757fc dashenc: Fix writing of timelines that don't start at t=0
When writing an explicit time, reset the cur_time variable to this
value as well. This avoids writing excessive time attributes for each
segment in the timeline, as long as the segments are continuous.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-29 23:26:25 +02:00
Martin Storsjö
50036c30df fate: Use bitexact conversions in the dpxparser test
This fixes fate on e.g. ppc.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-29 23:21:43 +02:00
Michael Niedermayer
256df8a2fa libavformat/cdxl: fix duration in case of overflow
Fixes integer overflow
Fixes CID1260706

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-29 20:53:56 +01:00
Michael Niedermayer
827af24230 avutil/rational: Check that av_reduce() returns values within the requested max
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-29 15:52:34 +01:00
Michael Niedermayer
db0a52d611 avcodec/ituh263enc: Check den==0 in ff_h263_aspect_to_info()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-29 15:51:36 +01:00
Michael Niedermayer
748ad112e2 avcodec/ffwavesynth: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-29 14:06:26 +01:00
Michael Niedermayer
ac08c5c0ad avformat/mux: 2 subtitle packets could have the same DTS
Fixes Ticket3514

See: ETSI EN 300 743 V1.3.1 (2006-11)
"In summary, all of the segments of a single display set shall be carried in one (or more) PES packets that have the same
 PTS value."
with PTS = DTS and remuxing of such a stream it is to be expected that sometimes
multiple packets would have the same DTS

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-29 03:57:44 +01:00
Pedro E. M. Brito
202947a066 libavformat/segment.c: Add strftime expansion for segment filename templates
Allows expansion of the filename template with strftime() with the option
-strftime 1 (disabled by default). This allows segments to be named by time of
creation, adding some flexibility.

Fixes Ticket 4104 (add strftime to segment muxer)

Signed-off-by: Pedro E. M. Brito <pedroembrito@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 21:48:44 +01:00
Carl Eugen Hoyos
6a6a0620e2 Fix R10k blue channel output.
Makes R10k -> gbrp10 ffv1 -> R10k roundtrip bit-identical.
2014-12-28 21:07:56 +01:00
Simon Thelen
750b10ff85 doc/ffmpeg.texi: document the new -sdp_file option
Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 19:16:21 +01:00
Michael Niedermayer
9c3a8693a2 avdevice/dshow: Remove unneeded NULL checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 18:17:12 +01:00
Michael Niedermayer
a3f6e8c4d9 avdevice/dshow: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 18:16:37 +01:00
Michael Niedermayer
beaea2de61 avdevice/dv1394: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 18:16:02 +01:00
Michael Niedermayer
3b1f747238 avfilter/vf_cropdetect: add max_outliers parameter
Fixes Ticket3030

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 18:10:49 +01:00
Michael Niedermayer
627f5658b6 ffmpeg: Use av_freep(), avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 02:56:02 +01:00
Simon Thelen
cc63da1223 ffmpeg: add sdp_file option
Allow printing of sdp information to a file specified by -sdp_file
This allows users to print sdp information when at least one of the
outputs isn't an rtp stream.

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 02:05:34 +01:00
Michael Niedermayer
c263102298 avcodec/vdpau: fix assertion failure and < vs > error
Fixes Ticket4211

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 01:47:05 +01:00
Michael Niedermayer
17dde95ec5 Merge remote-tracking branch 'rbultje/vp9-32bit-lpf'
* rbultje/vp9-32bit-lpf:
  vp9/x86: add myself to copyright holders for loopfilter assembly.
  vp9/x86: make filter_16_h work on 32-bit.
  vp9/x86: make filter_48/84/88_h work on 32-bit.
  vp9/x86: make filter_44_h work on 32-bit.
  vp9/x86: make filter_16_v work on 32-bit.
  vp9/x86: make filter_48/84_v work on 32-bit.
  vp9/x86: make filter_88_v work on 32-bit.
  vp9/x86: make filter_44_v work on 32-bit.
  vp8/x86: save one register in SIGN_ADD/SUB.
  vp9/x86: store unpacked intermediates for filter6/14 on stack.
  vp8/x86: move variable assigned inside macro branch.
  vp9/x86: simplify ABSSUM_CMP by inverting the comparison meaning.
  vp8/x86: remove unused register from ABSSUB_CMP macro.
  vp9/x86: slightly simplify 44/48/84/88 h stores.
  vp9/x86: make cglobal statement more conservative in register allocation.
  vp9/x86: save one register in loopfilter surface coverage.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 23:17:29 +01:00
Reimar Döffinger
035180901d r210enc.c: Simplify and never store more than 10 bits.
The r10k and avrp decoders would previously store 12 bit precision
for the blue channel, which is inconsistent and probably not a
desirable behaviour.
Now the 2 unused extra bits are set to 0.
This is possibly not ideal either as RGBA1010102 format has the same
layout but stores alpha in these bits, thus explicitly setting them
to 1 might be preferable.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-12-27 22:57:53 +01:00
Ronald S. Bultje
3aefca68ca vp9/x86: add myself to copyright holders for loopfilter assembly. 2014-12-27 16:55:16 -05:00
Ronald S. Bultje
afd8c464b7 vp9/x86: make filter_16_h work on 32-bit. 2014-12-27 16:55:16 -05:00
Ronald S. Bultje
b26bc3520f vp9/x86: make filter_48/84/88_h work on 32-bit. 2014-12-27 16:55:15 -05:00
Ronald S. Bultje
8a1cff1c35 vp9/x86: make filter_44_h work on 32-bit. 2014-12-27 16:55:15 -05:00
Ronald S. Bultje
047088b8c6 vp9/x86: make filter_16_v work on 32-bit. 2014-12-27 16:55:14 -05:00
Ronald S. Bultje
0cc9c23ea1 vp9/x86: make filter_48/84_v work on 32-bit. 2014-12-27 16:55:14 -05:00
Ronald S. Bultje
6433a9133f vp9/x86: make filter_88_v work on 32-bit. 2014-12-27 16:55:14 -05:00
Ronald S. Bultje
75f8e52089 vp9/x86: make filter_44_v work on 32-bit. 2014-12-27 16:55:13 -05:00
Ronald S. Bultje
7f80c3344c vp8/x86: save one register in SIGN_ADD/SUB. 2014-12-27 16:55:13 -05:00
Ronald S. Bultje
8ea2194ebb vp9/x86: store unpacked intermediates for filter6/14 on stack.
filter16 goes from 508 to 482 (h) or 346 to 314 (v) cycles; filter88
goes from 240 to 238 (h) or 174 to 165 (v) cycles, measured on TOS.
2014-12-27 16:55:13 -05:00
Ronald S. Bultje
e42409479f vp8/x86: move variable assigned inside macro branch.
The value is not used outside the branch.
2014-12-27 16:55:12 -05:00
Ronald S. Bultje
418c202c63 vp9/x86: simplify ABSSUM_CMP by inverting the comparison meaning. 2014-12-27 16:55:12 -05:00
Ronald S. Bultje
d1c55654e1 vp8/x86: remove unused register from ABSSUB_CMP macro. 2014-12-27 16:55:12 -05:00
Ronald S. Bultje
e59bd08986 vp9/x86: slightly simplify 44/48/84/88 h stores. 2014-12-27 16:55:11 -05:00
Ronald S. Bultje
8132629bd5 vp9/x86: make cglobal statement more conservative in register allocation. 2014-12-27 16:55:11 -05:00
Ronald S. Bultje
c013ca58c5 vp9/x86: save one register in loopfilter surface coverage. 2014-12-27 16:55:11 -05:00
Clément Bœsch
56e432b27b avutil/atomic: reuse ret to avoid dereferencing twice the same value. 2014-12-27 22:14:23 +01:00
Michael Niedermayer
cc91488588 avfilter/vf_cropdetect: Factorize duplicated code using a macro
This simplifies subsequent changes

Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 19:09:05 +01:00
Michael Niedermayer
ed96830afc avfilter/vf_blend: Fix AVClass
Fixes infinite loop

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 19:01:07 +01:00
Stefano Sabatini
d4fd3f24e8 lavfi: add tblend filter 2014-12-27 16:15:24 +01:00
Michael Niedermayer
05e74ac2f3 avutil/hmac: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 15:50:01 +01:00
Michael Niedermayer
6d639ecf44 avutil/audio_fifo: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 15:49:13 +01:00
Michael Niedermayer
336bb3f706 avutil/dict: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 15:48:32 +01:00
Michael Niedermayer
9e89347329 Merge commit '60d4c6ff76467d4d8f55c1cc61ab6c618e8ea2f3'
* commit '60d4c6ff76467d4d8f55c1cc61ab6c618e8ea2f3':
  h264: restore a block mistakenly removed in e10fd08a

See: 0ecb3075c1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 15:02:12 +01:00
Michael Niedermayer
6f764d2911 Merge commit '737d35e33408263c04d7730f5487eed0d04938ba'
* commit '737d35e33408263c04d7730f5487eed0d04938ba':
  vdpau: add support for the H.264 High 4:4:4 Predictive profile

Conflicts:
	libavcodec/vdpau_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 14:46:15 +01:00
Michael Niedermayer
a6ab9ed50d Merge commit '1f9237f2ac46dfbed1bfa1f4f0f1314c2a1d62ec'
* commit '1f9237f2ac46dfbed1bfa1f4f0f1314c2a1d62ec':
  avconv_vdpau: allocate video surface of VDPAU-specified size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 13:26:38 +01:00
Michael Niedermayer
751731540f Merge commit 'ebd5320afd42d4315851f3e0ca7f5d4a6300eb68'
* commit 'ebd5320afd42d4315851f3e0ca7f5d4a6300eb68':
  vdpau: add support for 4:2:2 and 4:4:4 chroma sampling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 13:17:20 +01:00
Michael Niedermayer
d7aaeea540 Merge commit 'c220a60f92dde9c7c118fc4deddff5c1f617cda9'
* commit 'c220a60f92dde9c7c118fc4deddff5c1f617cda9':
  vdpau: add helper for surface chroma type and size

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 13:06:25 +01:00
Michael Niedermayer
ddb9a24a7f Merge commit '6c99c92a42add7f6a462114d5a4a53c93c551058'
* commit '6c99c92a42add7f6a462114d5a4a53c93c551058':
  libavcodec: add AV_HWACCEL_ALLOW_HIGH_DEPTH flag

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 12:52:59 +01:00
Michael Niedermayer
d16079abf4 Merge commit '57b6704ecd0f56d6a3092e448687cfd837bb0ac1'
* commit '57b6704ecd0f56d6a3092e448687cfd837bb0ac1':
  avcodec: add AVCodecContext.sw_pix_fmt

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 12:41:10 +01:00
Michael Niedermayer
57089084ba Merge commit '4cfbeef31d4e6096c0596359d212f5d99a7ba4b5'
* commit '4cfbeef31d4e6096c0596359d212f5d99a7ba4b5':
  h264: factor hwaccel pixel formats list

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 12:15:34 +01:00
Anton Khirnov
60d4c6ff76 h264: restore a block mistakenly removed in e10fd08a
CC: libav-stable@libav.org
Bug-ID: 781
2014-12-27 10:44:48 +01:00
Michael Niedermayer
fa0e5ffb89 avfilter/vf_cropdetect: add yuv440p and yuv410p support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 05:06:14 +01:00
Michael Niedermayer
a4b13dbd02 avfilter/vf_fspp: Add GBRP and gray8 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 23:47:15 +01:00
Reynaldo H. Verdejo Pinochet
a18456a203 ffserver: check for EOF|error at loop condition
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 19:02:16 -03:00
Reynaldo H. Verdejo Pinochet
0121ddabb8 ffserver: reflow close_connection()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 18:44:33 -03:00
Reynaldo H. Verdejo Pinochet
1146223699 ffserver: minor formatting improvement to http_server()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 18:34:52 -03:00
Reynaldo H. Verdejo Pinochet
978bc4327b ffserver: reindent start_multicast()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 18:18:19 -03:00
Reynaldo H. Verdejo Pinochet
719cc02586 ffserver: reflow start_multicast()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 18:12:39 -03:00
Reynaldo H. Verdejo Pinochet
18011888cc ffserver: reindent start_children()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 17:45:56 -03:00
Reynaldo H. Verdejo Pinochet
ec42251715 ffserver: reflow start_children()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 17:45:56 -03:00
Reynaldo H. Verdejo Pinochet
1abdfb100a ffserver: break lines at 80 in func prototypes
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 17:45:56 -03:00
James Almer
a4f876a1a2 x86/vf_fspp: move pxor in store slice functions out of the loop
m7 is not overwritten, so we only need to clear it once.
Found by Christophe Gisquet.

Signed-off-by: James Almer <jamrial@gmail.com>
2014-12-26 17:15:34 -03:00
James Almer
466e32bf25 x86/vf_fspp: port inline asm to yasm
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-12-26 15:39:51 -03:00
Michael Niedermayer
9224c7f0dd avfilter/vf_fspp: clarify comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 18:17:12 +01:00
Kieran Kunhya
18982f084c swscale: Pass through chroma positions in sws_getCachedContext
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 17:55:12 +01:00
Michael Niedermayer
4bc0dbfc9f avfilter/vf_boxblur: generate supported pixfmt list instead of hardcoding
This adds support for several more >8bit planar formats

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 15:09:59 +01:00
Michael Niedermayer
f7da4b1cf1 avformat/rtsp: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 14:59:29 +01:00
Michael Niedermayer
0704c44d68 avformat/cache: remove ftruncate usage, its not always available
In case of errors the cache file will be slightly larger than needed,
this should have no practical relevance though

Should fix build on VS201*

Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 12:41:15 +01:00
Stefano Sabatini
afaa4a8946 lavfi/blend: add difference128 mode 2014-12-26 11:24:48 +01:00
Michael Niedermayer
7c210c4424 avformat/cache: Extend cache entries if possible instead of creating new ones
This reduces the number of cache entries and should significantly
reduce memory requirements

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 02:21:51 +01:00
Michael Niedermayer
312151bb9a avformat/cache: avoid lseek() on reading from the cache if possible
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 01:24:27 +01:00
Michael Niedermayer
ce3551896a avformat/cache: keep cache_pos updated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 01:22:52 +01:00
Michael Niedermayer
954fc854f2 avformat/cache: cleanup cache file on cache write failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 01:13:49 +01:00
Michael Niedermayer
68609edd4a Changelog: Mention non continuous cache protocol
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 00:49:22 +01:00
Clément Bœsch
6e6b0a8eed avfilter/xbr: reindent after previous commit 2014-12-25 23:50:25 +01:00
Clément Bœsch
87984d2fe2 avfilter/xbr: refactor px calculation in FILT[234] 2014-12-25 23:50:25 +01:00
Clément Bœsch
20cac72a4f avfilter/xbr: move alpha blend assignment out of the macros 2014-12-25 23:50:25 +01:00
Clément Bœsch
006caf03d7 avfilter/xbr: remove unused mask 2014-12-25 23:50:25 +01:00
Clément Bœsch
2188df96cf avfilter/xbr: refactor alpha blending macros 2014-12-25 23:50:25 +01:00
Michael Niedermayer
8706910c4c avformat/cache: Support user specified read-ahead for non seekable media
Fixes Ticket2406

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 22:09:24 +01:00
Michael Niedermayer
7018d3d351 avformat/cache: Use the correct io handle in seeking
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 22:07:32 +01:00
Michael Niedermayer
dedd3c89ae avformat/cache: more informative error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 22:07:32 +01:00
Michael Niedermayer
681559d3ff avformat/cache: remember EOF point if hit and use it to handle SEEK_END
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 22:07:23 +01:00
Rémi Denis-Courmont
737d35e334 vdpau: add support for the H.264 High 4:4:4 Predictive profile
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
1f9237f2ac avconv_vdpau: allocate video surface of VDPAU-specified size
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
ebd5320afd vdpau: add support for 4:2:2 and 4:4:4 chroma sampling
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
c220a60f92 vdpau: add helper for surface chroma type and size
Since the VDPAU pixel format does not distinguish between different
VDPAU video surface chroma types, we need another way to pass this
data to the application.

Originally VDPAU in libavcodec only supported decoding to 8-bits YUV
with 4:2:0 chroma sampling. Correspondingly, applications assumed that
libavcodec expected VDP_CHROMA_TYPE_420 video surfaces for output.
However some of the new HEVC profiles proposed for addition to VDPAU
would require different depth and/or sampling:
http://lists.freedesktop.org/archives/vdpau/2014-July/000167.html
...as would lossless AVC profiles:
http://lists.freedesktop.org/archives/vdpau/2014-November/000241.html

To preserve backward binary compatibility with existing applications,
a new av_vdpau_bind_context() flag is introduced in a further change.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
6c99c92a42 libavcodec: add AV_HWACCEL_ALLOW_HIGH_DEPTH flag
This can be used by the application to signal its ability to cope with
video surface of types other than 8-bits YUV 4:2:0.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
57b6704ecd avcodec: add AVCodecContext.sw_pix_fmt
This carries the pixel format that would be used if it were not for
hardware acceleration. This is equal to AVCodecContext.pix_fmt if
hardware acceleration is not in use.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
4cfbeef31d h264: factor hwaccel pixel formats list
This is to avoid proliferation of similar tables in following changes.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:48 +01:00
Michael Niedermayer
0c0168a210 avformat/cache: support non continuous caching
This allows using the cache protocol on top of seekable but slow protocols to
speed them up

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 19:20:55 +01:00
Timo Rothenpieler
1efdb0a43f avcodec/nvenc: Remove special cases for cygwin
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 15:54:26 +01:00
Michael Niedermayer
7dce91368f avformat/smoothstreamingenc: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 12:51:48 +01:00
Michael Niedermayer
443bd2715d avformat/wtvdec: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 12:51:48 +01:00
Michael Niedermayer
68fa549230 avformat/segment: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 12:51:48 +01:00
Kieran Kunhya
1515bfb313 vf_scale: Use correct chroma positions for YUV420P
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 02:53:29 +01:00
Michael Niedermayer
b51cc701bc avcodec/vc1_mc: use the same reference as luma does in ff_vc1_mc_4mv_chroma()
Fixes Ticket3230

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 01:25:29 +01:00
James Almer
b94e85453e avfilter/vf_fspp: add missing inline asm guards 2014-12-24 15:44:06 -03:00
Stefano Sabatini
a51c78c65d lavfi/mp: drop mp=fspp filter
It has been ported to libavfilter.
2014-12-24 16:29:18 +01:00
Arwa Arif
bdc4db0ee3 lavfi: port mp=fspp to a native libavfilter filter
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-12-24 16:29:18 +01:00
Clément Bœsch
ecafde6606 avfilter/showwaves: fix height range for cline mode 2014-12-24 15:13:31 +01:00
Clément Bœsch
f6950a077c avfilter/showwaves: use INT16_MAX instead of a self defined macro 2014-12-24 15:13:31 +01:00
Michael Niedermayer
96dce6f7ce avformat/seek: move the cur variable into the loop
This improves readability and makes it clear that the freed
value is not used after the end of an iteration

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-24 13:14:07 +01:00
Michael Niedermayer
3f56224a9a avformat/rtpdec_mpeg4: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-24 13:14:07 +01:00
Michael Niedermayer
ef05af82b2 avformat/rtpproto: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-24 13:14:07 +01:00
Michael Niedermayer
82d1abc44c avformat/seek: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-24 13:14:07 +01:00
Reimar Döffinger
bed78064f4 tableprint_vlc.h: Should not be checked by checkheaders.
Same as for tableprint.h.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-12-24 12:56:36 +01:00
Michael Niedermayer
3a2bed1f9e swscale/yuv2rgb: Fix width % 4 != 0 with bgr4_byte/rgb4_byte
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-24 00:33:21 +01:00
Michael Niedermayer
3848512d48 swscale/yuv2rgb: Fix width % 4 != 0 with bgr4/rgb4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-24 00:32:53 +01:00
Michael Niedermayer
3d00ba2688 swscale/yuv2rgb: fix width % 8 != 0 and rgb/bgr8 output
Fixes Ticket2570

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-24 00:23:49 +01:00
Michael Niedermayer
341bd6ec6a avfilter/vf_uspp: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 22:52:56 +01:00
Michael Niedermayer
e01467241f avformat/aea: reduce false positives in probing
Fixes probetest failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 18:41:53 +01:00
Michael Niedermayer
0d7a14e236 avformat/avidec: optimize probe
about 2x as fast

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 16:32:26 +01:00
Michael Niedermayer
f7f4a90174 avformat/rtpdec: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 15:35:07 +01:00
Michael Niedermayer
bb858e67e5 avformat/rtpdec_latm: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 15:34:29 +01:00
Michael Niedermayer
ba8d2c90cd avformat/rtpdec_xiph: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 15:33:57 +01:00
Nicolas George
40948819fc doc/faq: explain pkg-config basic setup. 2014-12-23 14:38:11 +01:00
James Almer
32c836cb11 x86/vp9: remove duplicate function prototypes
Fixes "redundant redeclaration" warnings.

Signed-off-by: James Almer <jamrial@gmail.com>
2014-12-23 00:56:51 -03:00
Michael Niedermayer
13306dde22 tools/probetest: support testing a single specified input format
This reduces the time the test takes significantly when only one
formats needs to be tested

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 03:39:52 +01:00
Hendrik Leppkes
1ffcf6ac90 frame_thread_encoder: use ref-counting to avoid memcpy of all input frames
Apparently uneeded lock/unlock removed by commiter

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 01:36:13 +01:00
Michael Niedermayer
fe439c2069 avcodec/h264: also show frames with missing fields when CODEC_FLAG2_SHOW_ALL is set
This allows viewing more of ticket2254

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 21:42:36 +01:00
Piotr Bandurski
75cc85b239 cdxl: fix duration
fixes ticket #1937

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 19:49:02 +01:00
Michael Niedermayer
03b84f2fb2 avformat/rtmpproto: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 12:03:36 +01:00
Michael Niedermayer
fd3e7447c8 avformat/riffdec: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 12:03:35 +01:00
Michael Niedermayer
5dfae3f40a avformat/os_support: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 12:03:34 +01:00
Michael Niedermayer
41ee459e88 avformat/img2dec: check w/h in dpx_probe
Fixes probetest failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 23:32:57 +01:00
Michael Niedermayer
b7e506b3b9 avformat/swfdec: Check frame size rectangle in probe()
fixes probetest failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 21:10:20 +01:00
Michael Niedermayer
f7a4589b36 avformat/mpegtsenc: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 19:25:17 +01:00
Michael Niedermayer
47b9481d9d avformat/mpegenc: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 19:24:11 +01:00
Michael Niedermayer
c73b288927 avfilter/vf_boxblur: Support 10bit planar formats 2014-12-21 16:12:03 +01:00
Michael Niedermayer
34f103b171 avfilter/vf_boxblur: add gbrp pixfmt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 03:12:02 +01:00
Michael Niedermayer
6706a2986c avfilter/vf_spp: Fix overflow in 8bit store slice
Fixes regression with
ffplay -f lavfi -i testsrc=640x480  -vf format=gray,boxblur=20:10,geq="'mod(lum(X,Y),16)*15'",boxblur=10,geq="'abs(mod(lum(X,Y),15)-7)*32'",spp=4:40

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 01:48:19 +01:00
Michael Niedermayer
f622ff16cd avfilter/vf_boxblur: avoid one addition per line
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 00:59:23 +01:00
Michael Niedermayer
7cdce8cb55 avfilter/vf_boxblur: factor rounder offset out
3322 -> 3204 cycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 00:58:56 +01:00
Michael Niedermayer
1ac5abb1d0 avfilter/vf_spp: fix overflows with depth > 8
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 20:39:13 +01:00
Michael Niedermayer
5318cf521f Merge commit '9cfa68c560bdec82d2d5ec079f9c5b0f9ca37af0'
* commit '9cfa68c560bdec82d2d5ec079f9c5b0f9ca37af0':
  mpegts: add support for Opus

Conflicts:
	libavcodec/opus_parser.c
	libavformat/mpegts.c

See: 74141f693d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 19:15:11 +01:00
Michael Niedermayer
988ca9bd53 avfilter/vf_spp: add support for 9bit YUV and GBR as well as GBRP10
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 18:33:52 +01:00
Michael Niedermayer
88c1869afe avcodec/idctdsp: use the 10bit code for 9 bit too
9bit is currently not used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 18:33:37 +01:00
Michael Niedermayer
bb852f0066 avcodec/fdctdsp: use the 10bit code for 9 bit too
9bit is currently not used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 18:32:50 +01:00
Michael Niedermayer
8db0c2ffe6 avformat/mmst: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 16:54:25 +01:00
Michael Niedermayer
bcd4447173 avformat/http: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 16:53:37 +01:00
Michael Niedermayer
081913aec5 avformat/id3v2: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 16:53:14 +01:00
James Almer
7696e429c7 x86/vp3dsp: port put_vp_no_rnd_pixels8_l2_mmx to yasm
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 13:25:43 +01:00
Kieran Kunhya
9cfa68c560 mpegts: add support for Opus
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-20 11:29:19 +01:00
Michael Niedermayer
4ae87554f3 Makefile: add dependencies which require ffversion.h
Without this ffversion.h could sometimes be built too late

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 04:17:03 +01:00
Michael Niedermayer
1728659319 avformat/westwood_aud: replace != 0 error check by <0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 01:51:16 +01:00
Michael Niedermayer
4b45aa517c avformat/asfenc: replace != 0 error check by <0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 01:48:26 +01:00
Michael Niedermayer
3d6545d51e Merge commit '8ebf02f8f530240edf7e45f35f7647ef9dd44a58'
* commit '8ebf02f8f530240edf7e45f35f7647ef9dd44a58':
  libavformat: Only use MoveFileExA when targeting the desktop API subset

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 00:49:47 +01:00
Michael Niedermayer
a701a9cff4 Merge commit 'fc308b30bb24e623fed042ec78b10803b2362a18'
* commit 'fc308b30bb24e623fed042ec78b10803b2362a18':
  rtpenc_mpegts: Call write_trailer for the mpegts muxer even if no output buffer exists

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 00:42:07 +01:00
Michael Niedermayer
6b0f54ddc7 Merge commit 'e2ce16392205d8efe9143329ed3fb5fcb15498fa'
* commit 'e2ce16392205d8efe9143329ed3fb5fcb15498fa':
  mpegts: Support running the write_trailer function without an AVIOContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 00:33:40 +01:00
Michael Niedermayer
3a15168a6e Merge commit '4895aa65c6ddec2e33ec3c023f221b1bafcbaf9f'
* commit '4895aa65c6ddec2e33ec3c023f221b1bafcbaf9f':
  libavformat: Allow calling av_write_trailer with a NULL AVIOContext

Conflicts:
	libavformat/mux.c

See: 277f20c3c8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 00:27:10 +01:00
Clément Bœsch
edbbb11488 avformat/rsd: make tag_buf string larger
av_get_codec_tag_string() uses more that 1 char for unprintable characters.
2014-12-20 00:17:43 +01:00
Clément Bœsch
d60fb4f794 avformat/apngdec: make tag_buf string larger
av_get_codec_tag_string() uses more that 1 char for unprintable characters.
2014-12-20 00:17:21 +01:00
Clément Bœsch
83b0fe395b avformat/wavdec: make start_code string larger
av_get_codec_tag_string() uses more that 1 char for unprintable characters.
2014-12-19 23:57:39 +01:00
Thomas Volkert
e8d57e4163 wavdec: avoid output of arbitrary chars
use av_get_codec_tag_string() in wav_read_header() for printing the
faulty start code from riff header

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 23:43:58 +01:00
Thomas Volkert
1a971d33eb wavdec: refactor wav_read_header()
Make it more readable and display an error message in case an invalid
header is detected (the current version just returns
AVERROR_INVALIDDATA)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 22:39:29 +01:00
Martin Storsjö
8ebf02f8f5 libavformat: Only use MoveFileExA when targeting the desktop API subset
The MoveFileExA is available in the headers regardless which API
subset is targeted, but it is missing in the Windows Phone link
libraries. When targeting Windows Store apps, the function is
available both in the headers and in the link libraries, and thus
there is no indication for the build system that this function
should be avoided - such an indication is only given by the
Windows App Certification Kit, which forbids using the MoveFileExA
function.

Therefore check the WINAPI_FAMILY defines instead, to figure out
which API subset is targeted.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-19 23:24:47 +02:00
Martin Storsjö
fc308b30bb rtpenc_mpegts: Call write_trailer for the mpegts muxer even if no output buffer exists
Since the mpegts muxer now can handle being called with a NULL
AVIOContext, we don't need to try to allocate one before calling
write_trailer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-19 23:14:45 +02:00
Martin Storsjö
e2ce163922 mpegts: Support running the write_trailer function without an AVIOContext
If opening and closing dynamic buffers as AVIOContext, we may
not have any AVIOContext available when wanting to close and
deallocate the muxer. Allow calling write_trailer despite this.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-19 23:13:04 +02:00
Martin Storsjö
4895aa65c6 libavformat: Allow calling av_write_trailer with a NULL AVIOContext
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-19 23:12:58 +02:00
Michael Niedermayer
c3e6a55956 avcodec/vp3: Fix offset handling
Fixes use of uninitialized memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 20:53:53 +01:00
Michael Niedermayer
2df5b506ca avcodec/mpegvideo_enc: remove rtp_mode=0 for H261
Suggested-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 20:50:02 +01:00
James Almer
a4d62f7775 x86/constants: fix alignment of pw_255
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 20:21:34 +01:00
Michael Niedermayer
649c158e8c Add FFMPEG_VERSION into the binary libs
This simplifies identifying from which revision a binary of a lib came from

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 19:32:40 +01:00
Michael Niedermayer
869b56cae6 avformat/mpegenc: replace always enabled asserts by av_assert0()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 15:18:31 +01:00
Michael Niedermayer
b44ae59b70 avfilter/vsrc_life: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 15:04:56 +01:00
Michael Niedermayer
4d48ea3c4b avfilter/vf_libopencv: use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 15:04:34 +01:00
Supraja Meedinti
4e1ecfe214 libavutil: Added cbc mode to cast128
Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Previous version reviewed-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 14:35:29 +01:00
Ronald S. Bultje
bdc1e3e3b2 vp9/x86: intra prediction sse2/32bit support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 14:07:19 +01:00
Ronald S. Bultje
b6e1711223 vp9/x86: invert hu_ipred left array ordering.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 14:07:18 +01:00
Michael Niedermayer
e67496fe9d Merge commit 'cee4490b521fd0d02476d46aa2598af24fb8d686'
* commit 'cee4490b521fd0d02476d46aa2598af24fb8d686':
  on2avc: check number of channels

See: 550f3e9df3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 13:39:41 +01:00
Michael Niedermayer
c266d0e1bd Merge commit 'd423dd72be451462c6fb1cbbe313bed0194001ab'
* commit 'd423dd72be451462c6fb1cbbe313bed0194001ab':
  smc: fix the bounds check

Conflicts:
	libavcodec/smc.c

See: c727401aa9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 13:30:55 +01:00
Michael Niedermayer
8af8833591 Merge commit '0b39ac6f54505a538c21fe49a626de94c518c903'
* commit '0b39ac6f54505a538c21fe49a626de94c518c903':
  gifdec: refactor interleave end handling

Conflicts:
	libavcodec/gifdec.c

See: 8f1457864b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 13:28:57 +01:00
Carl Eugen Hoyos
96ff6d3805 lavf/rtp_h261: Replace restrict with av_restrict.
Fixes compilation on Windows.
2014-12-19 13:25:51 +01:00
Michael Niedermayer
6c7b153d97 Merge commit '17ba719d9ba30c970f65747f42d5fbb1e447ca28'
* commit '17ba719d9ba30c970f65747f42d5fbb1e447ca28':
  mmvideo: check frame dimensions

See: 8b0e96e1f2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 13:05:49 +01:00
Michael Niedermayer
f346e37aa2 Merge commit '88626e5af8d006e67189bf10b96b982502a7e8ad'
* commit '88626e5af8d006e67189bf10b96b982502a7e8ad':
  jvdec: check frame dimensions

See: 105654e376
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 13:04:03 +01:00
Michael Niedermayer
6c68522a2a Merge commit '809c3023b699c54c90511913d3b6140dd2436550'
* commit '809c3023b699c54c90511913d3b6140dd2436550':
  mjpegdec: check for pixel format changes

Conflicts:
	libavcodec/mjpegdec.c

See: 5c378d6a6d
See: a2f680c7bc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 12:49:23 +01:00
Michael Niedermayer
24af050c2f Merge commit '64f7575fbd64e5b65d5c644347408588c776f1fe'
* commit '64f7575fbd64e5b65d5c644347408588c776f1fe':
  mov: avoid a memleak when multiple stss boxes are present

Conflicts:
	libavformat/mov.c

See: 5ab882d728
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 12:31:52 +01:00
Michael Niedermayer
cee4490b52 on2avc: check number of channels
Fixes invalid memory access.

CC: libav-stable@libav.org
Bug-ID: CVE-2014-8549
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-19 08:01:47 +01:00
Michael Niedermayer
d423dd72be smc: fix the bounds check
Fixes invalid writes when there are more blocks in a run than total
remaining blocks.

CC: libav-stable@libav.org
Bug-ID: CVE-2014-8548
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-19 08:01:47 +01:00
Michael Niedermayer
0b39ac6f54 gifdec: refactor interleave end handling
Fixes invalid writes with very small image heights.

CC: libav-stable@libav.org
Bug-ID: CVE-2014-8547
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-19 08:01:47 +01:00
Anton Khirnov
17ba719d9b mmvideo: check frame dimensions
The frame size must be set by the caller and each dimension must be a
multiple of 2.

CC: libav-stable@libav.org
Bug-ID: CVE-2014-8543
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-12-19 08:01:46 +01:00
Anton Khirnov
88626e5af8 jvdec: check frame dimensions
The frame size must be set by the caller and each dimension must be a
multiple of 8.

CC: libav-stable@libav.org
Bug-ID: CVE-2014-8542
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-12-19 08:01:46 +01:00
Anton Khirnov
809c3023b6 mjpegdec: check for pixel format changes
Fixes possible invalid memory access.

Based on code by Michael Niedermayer <michaelni@gmx.at>

CC: libav-stable@libav.org
Bug-ID: CVE-2014-8541
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-12-19 08:01:46 +01:00
Anton Khirnov
64f7575fbd mov: avoid a memleak when multiple stss boxes are present
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-12-19 08:01:46 +01:00
Michael Niedermayer
c89751aa21 Merge commit '210461c0a83a5625560fa1d92229200dc7fb869b'
* commit '210461c0a83a5625560fa1d92229200dc7fb869b':
  imgconvert: check memory allocations and propagate errors

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 05:37:26 +01:00
Michael Niedermayer
8ccfafa7b4 Merge commit '596b5c488fa1d40f114a64d3b73e1863cab073fb'
* commit '596b5c488fa1d40f114a64d3b73e1863cab073fb':
  wma: check memory allocations and propagate errors

Conflicts:
	libavcodec/wma.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 05:36:20 +01:00
Michael Niedermayer
8c9a23833d Merge commit '63be97ec403023fb664798432acedaf6e6922527'
* commit '63be97ec403023fb664798432acedaf6e6922527':
  lavfi: always check av_expr_parse_and_eval() return value

not merged, this is incorrect

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 05:28:09 +01:00
Michael Niedermayer
c054cff87a Merge commit '9e06327ecb8f73c7904d10af7ad339c57cdaa788'
* commit '9e06327ecb8f73c7904d10af7ad339c57cdaa788':
  xcbgrab: Move NULL check before pointer dereference

Conflicts:
	libavdevice/xcbgrab.c

See: e86df0206f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 05:14:38 +01:00
Michael Niedermayer
d05b154b5b Merge commit '5ac06633cb63fcc51f2471a3478b44d3f010b16b'
* commit '5ac06633cb63fcc51f2471a3478b44d3f010b16b':
  takdec: check av_samples_get_buffer_size() return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 05:06:23 +01:00
Michael Niedermayer
69234e29ad Merge commit '16c7a8a142277aa3c98b4802ee57daaebe6999e5'
* commit '16c7a8a142277aa3c98b4802ee57daaebe6999e5':
  aacps: invert the order of parameters of ipdopd_reset()

See: 9f36ec6aa9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 05:05:23 +01:00
Michael Niedermayer
bf6e332cb4 Merge commit '76ccf114a6c107218e2a1948afc1d0fb3ac7ba0b'
* commit '76ccf114a6c107218e2a1948afc1d0fb3ac7ba0b':
  rtsp: check ffurl_get_file_handle() return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 05:04:24 +01:00
Michael Niedermayer
988d27b802 Merge commit 'b1306823d0b3ae998c8e10ad832004eb13bdd93e'
* commit 'b1306823d0b3ae998c8e10ad832004eb13bdd93e':
  check memory errors from av_strdup()

Conflicts:
	avprobe.c
	libavformat/matroskaenc.c
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:57:25 +01:00
Michael Niedermayer
76a8127a45 Merge commit '9745f19ffc9031ce480e43d7cf1053b58100d70f'
* commit '9745f19ffc9031ce480e43d7cf1053b58100d70f':
  assdec: check the right variable

Conflicts:
	libavcodec/assdec.c

See: cc7342f712
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:54:27 +01:00
Michael Niedermayer
5387b0cbfb Merge commit '971099ff5a85377579eb5b8d3620e283957f097e'
* commit '971099ff5a85377579eb5b8d3620e283957f097e':
  aacenc: correctly check returned value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:45:32 +01:00
Michael Niedermayer
445ec2dfcb Merge commit 'ac467d94fa6d9d626f77d4ca8125a5eb1ad5425d'
* commit 'ac467d94fa6d9d626f77d4ca8125a5eb1ad5425d':
  lcl: return an appropriate error code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:44:08 +01:00
Michael Niedermayer
6781ec6714 Merge commit '8b263331c5ebbb10b6ea521e9fd56751ba94254b'
* commit '8b263331c5ebbb10b6ea521e9fd56751ba94254b':
  mpegts: check get16() return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:43:41 +01:00
Michael Niedermayer
5a1cd796e2 Merge commit '430a8168594b3cb29f44141d4da88f2c642de06f'
* commit '430a8168594b3cb29f44141d4da88f2c642de06f':
  oggdec: add support for VP8 demuxing

Conflicts:
	Changelog
	libavformat/oggparsevp8.c
	libavformat/version.h

See: d890db5f53
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:36:45 +01:00
Michael Niedermayer
934f2d2f5c Merge commit '38129c26c51b933d7db423f904ba0cd6a88ca1ed'
* commit '38129c26c51b933d7db423f904ba0cd6a88ca1ed':
  cmdutils: check file access functions return values

Conflicts:
	cmdutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:31:17 +01:00
Michael Niedermayer
ff4f2036de Merge commit 'c63dd3f0a48a9f6389d253597ab51caddc0118db'
* commit 'c63dd3f0a48a9f6389d253597ab51caddc0118db':
  a64multi: check elbg return values

Conflicts:
	libavcodec/a64multienc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:21:13 +01:00
Michael Niedermayer
bb7ad47ddf Merge commit '3beb9cbad35218ed1fb3473eeb3cfc97a931bff4'
* commit '3beb9cbad35218ed1fb3473eeb3cfc97a931bff4':
  roqvideo: check memory allocations and propagate errors

Conflicts:
	libavcodec/roqvideoenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:20:30 +01:00
Michael Niedermayer
16f0618200 Merge commit 'ae2d41ec875965ce4ab9fdd88a5e8ba57cada67a'
* commit 'ae2d41ec875965ce4ab9fdd88a5e8ba57cada67a':
  elbg: check memory allocations and propagate errors

Conflicts:
	libavcodec/elbg.c
	libavcodec/elbg.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:10:17 +01:00
Michael Niedermayer
bce06eb059 Merge commit '5d839778b9f3edb682b7f71dde4f80f07c75b098'
* commit '5d839778b9f3edb682b7f71dde4f80f07c75b098':
  lavu: Refactor side data wiping

Conflicts:
	libavutil/frame.c

See: a400edbb6d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 03:57:59 +01:00
Michael Niedermayer
1137ccef70 Merge commit 'effa7d2a6a260ca3ce801c180ee6131d67d665fb'
* commit 'effa7d2a6a260ca3ce801c180ee6131d67d665fb':
  fate: add test for offset theora

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 03:55:02 +01:00
Michael Niedermayer
6fcdcc414b Merge commit '67fc8a15e4182ea111cfcd05897709f09d99a33a'
* commit '67fc8a15e4182ea111cfcd05897709f09d99a33a':
  theora: support different visible and coded frame size

Conflicts:
	libavcodec/vp3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 03:42:16 +01:00
Michael Niedermayer
3e889713ce Merge commit 'a381e0cec87bcb28ebc05fe840bb937a495de736'
* commit 'a381e0cec87bcb28ebc05fe840bb937a495de736':
  fate: add a DPX parser test

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 03:33:42 +01:00
Michael Niedermayer
2e97437657 Merge commit '87bd298abeb901fe16383a0d267502cc7fc03878'
* commit '87bd298abeb901fe16383a0d267502cc7fc03878':
  DPX parser

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

See: 8ec328668a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 03:30:40 +01:00
Michael Niedermayer
9aabe66781 Merge commit '3a3790b8f8b56ee6abc93ccac280eb693675e294'
* commit '3a3790b8f8b56ee6abc93ccac280eb693675e294':
  tiff: support encoding and decoding 64bit images

Conflicts:
	libavcodec/tiff.c
	libavcodec/tiffenc.c
	libavcodec/version.h

See: c714cd3bd4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 03:19:23 +01:00
Michael Niedermayer
c8e05c438f Merge commit '59f0275dd0a42a7f90271a83a78e9ca5e69ff5b0'
* commit '59f0275dd0a42a7f90271a83a78e9ca5e69ff5b0':
  movenc: Adjust the pts of new fragments similarly to what is done for dts

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 02:58:16 +01:00
Michael Niedermayer
7ef515cda5 Merge commit '8a70ef94b9c377293b3dfa7d92cdc81a4fe1543a'
* commit '8a70ef94b9c377293b3dfa7d92cdc81a4fe1543a':
  libavformat: Add a muxer wrapping mpegts encoding into RTP

Conflicts:
	Changelog
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 02:49:36 +01:00
Michael Niedermayer
5162af67f4 Merge commit 'a505c0d7373336a4cc5aa2022111c46bdd388b1f'
* commit 'a505c0d7373336a4cc5aa2022111c46bdd388b1f':
  rtp: Initial H.261 support

Conflicts:
	Changelog
	libavformat/rtpdec_h261.c
	libavformat/rtpenc_h261.c
	libavformat/sdp.c
	libavformat/version.h

See: 50a4d5cfc6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 02:34:17 +01:00
Michael Niedermayer
3f5d1c8130 Merge commit 'adc214e6797750285a5e62634b8521db521162ad'
* commit 'adc214e6797750285a5e62634b8521db521162ad':
  rtpenc: Avoid brittle switch fallthroughs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 02:24:24 +01:00
Michael Niedermayer
03d1467cf8 Merge commit '3bb465245fed6069512e6821000391beae8a6066'
* commit '3bb465245fed6069512e6821000391beae8a6066':
  h261dec: Fix context initialization sequence

See: 6c1ee1a114
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 02:16:20 +01:00
Reimar Döffinger
70d80ed40f qdm2: Allow hard-coding VLC tables.
Also adds a lot of infrastructure necessary for it.
Some of it is a bit ugly though.
Increases binary size for hardcoded tables by about 12 kB,
which is about 15 kB from qdm2_table minus data and code
saved that was only used for creating it.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-12-18 23:51:07 +01:00
Reimar Döffinger
de6d44829c aacps.c: Move large arrays to context to reduce stack usage.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-12-18 23:50:41 +01:00
Vittorio Giovara
210461c0a8 imgconvert: check memory allocations and propagate errors 2014-12-18 23:27:14 +01:00
Vittorio Giovara
596b5c488f wma: check memory allocations and propagate errors 2014-12-18 23:27:14 +01:00
Vittorio Giovara
63be97ec40 lavfi: always check av_expr_parse_and_eval() return value
CC: libav-stable@libav.org
Bug-Id: CID 703624
2014-12-18 23:27:14 +01:00
Vittorio Giovara
9e06327ecb xcbgrab: Move NULL check before pointer dereference
Bug-Id: CID 1254668
2014-12-18 23:27:14 +01:00
Vittorio Giovara
5ac06633cb takdec: check av_samples_get_buffer_size() return value
CC: libav-stable@libav.org
Bug-Id: CID 747734
2014-12-18 23:27:14 +01:00
Vittorio Giovara
16c7a8a142 aacps: invert the order of parameters of ipdopd_reset()
This is the order that the caller uses in the rest of the file. The
same operation is applied to both parameters, so this change is only
done for consistency, it doesn't change the actual behaviour.

Bug-Id: CID 732285 / CID 732286
2014-12-18 23:27:14 +01:00
Vittorio Giovara
76ccf114a6 rtsp: check ffurl_get_file_handle() return value
CC: libav-stable@libav.org
Bug-Id: CID 717844
2014-12-18 23:27:14 +01:00
Vittorio Giovara
b1306823d0 check memory errors from av_strdup() 2014-12-18 23:27:14 +01:00
Vittorio Giovara
9745f19ffc assdec: check the right variable
CC: libav-stable@libav.org
Bug-Id: CID 1257815
2014-12-18 23:27:14 +01:00
Vittorio Giovara
971099ff5a aacenc: correctly check returned value
CC: libav-stable@libav.org
2014-12-18 23:27:14 +01:00
Vittorio Giovara
ac467d94fa lcl: return an appropriate error code 2014-12-18 23:27:14 +01:00
Vittorio Giovara
8b263331c5 mpegts: check get16() return value
And break flow of execution rather than exiting the function.

CC: libav-stable@libav.org
Bug-Id: CID 732186
2014-12-18 23:27:13 +01:00
James Almer
430a816859 oggdec: add support for VP8 demuxing
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-18 23:27:07 +01:00
Vittorio Giovara
38129c26c5 cmdutils: check file access functions return values
CC: libav-stable@libav.org
Bug-Id: CID 703706
2014-12-18 23:23:00 +01:00
Vittorio Giovara
c63dd3f0a4 a64multi: check elbg return values 2014-12-18 23:22:59 +01:00
Vittorio Giovara
3beb9cbad3 roqvideo: check memory allocations and propagate errors 2014-12-18 23:22:59 +01:00
Vittorio Giovara
ae2d41ec87 elbg: check memory allocations and propagate errors 2014-12-18 23:22:59 +01:00
Luca Barbato
5d839778b9 lavu: Refactor side data wiping
And make sure the nb_side_data field is reset as well.

Based on an initial patch from wm4 <nfxjfg@googlemail.com>.

CC: libav-stable@libav.org
2014-12-18 23:22:59 +01:00
Vittorio Giovara
effa7d2a6a fate: add test for offset theora 2014-12-18 23:22:59 +01:00
Vittorio Giovara
67fc8a15e4 theora: support different visible and coded frame size
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-18 23:22:59 +01:00
Vittorio Giovara
a381e0cec8 fate: add a DPX parser test 2014-12-18 23:22:59 +01:00
Paul B Mahol
87bd298abe DPX parser
Additional improvements and fixes by Michael Niedermayer <michaelni@gmx.at>.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-18 23:22:59 +01:00
Carl Eugen Hoyos
3a3790b8f8 tiff: support encoding and decoding 64bit images 2014-12-18 23:22:59 +01:00
Martin Storsjö
59f0275dd0 movenc: Adjust the pts of new fragments similarly to what is done for dts
The pts and the corresponding duration is written in sidx
atoms, thus make sure these match up correctly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 23:14:27 +02:00
Martin Storsjö
8a70ef94b9 libavformat: Add a muxer wrapping mpegts encoding into RTP
Since this structurally is quite different from normal RTP
(multiple streams are muxed into one single mpegts stream,
which is packetized into one single RTP session), it is kept
as a separate muxer.

Since this structurally also behaves differently than normal
RTP, all of the other muxers that do chained RTP muxing
(rtsp, sap, mp4) would need to be updated similarly to handle
this - in particular, creating one single rtp_mpegts muxer
for the whole presentation instead of one rtp muxer per stream.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 23:12:33 +02:00
Thomas Volkert
a505c0d737 rtp: Initial H.261 support
The packetizer only supports splitting at GOB headers - if
such aren't available frequently enough, it splits at any
random byte offset (not at a macroblock boundary either, which
would be allowed by the spec) and sends a payload header pretend
that it starts with a GOB header.

As long as a receiver doesn't try to handle such cases cleverly
but just drops broken frames, this shouldn't matter too much
in practice.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 23:11:37 +02:00
Martin Storsjö
adc214e679 rtpenc: Avoid brittle switch fallthroughs
Instead explicitly jump to the default case in the cases where
it is wanted, and avoid fallthrough between different codecs,
which could easily introduce bugs if people editing the code
aren't careful.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 23:11:37 +02:00
Michael Niedermayer
3bb465245f h261dec: Fix context initialization sequence
ff_mpv_common_init sets s->context_initialized.

This fixes decoding of h261 in the cases where the demuxer
hasn't already set the frame size.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 23:10:24 +02:00
Yayoi
0463df6f42 avfilter/lut: reduce dereference in the inner loop
For rgb, with a 1080p source, 69 to 74fps on core i5(2 core, 1.8GHz),
and 136 to 160 fps on an core i7(4770R, 3.2Ghz)
Changed the yuv code for consistency, even though the performance
increase is not as obvious as rgb

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 21:54:23 +01:00
Michael Niedermayer
3d8bedef45 Merge commit '91bfac759dfd536e439ad3e35964705012c6a5a7'
* commit '91bfac759dfd536e439ad3e35964705012c6a5a7':
  h261enc: Disallow sliced encoding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 21:10:56 +01:00
Michael Niedermayer
5d97af0cb2 Merge commit 'df07c07b3de0a5e8890078944de1eb5cb8372ef8'
* commit 'df07c07b3de0a5e8890078944de1eb5cb8372ef8':
  rtpdec_h263_rfc2190: Clear the stored bits if discarding buffered data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 20:40:39 +01:00
Michael Niedermayer
7c0ab0a3b8 Merge commit '42181740a3972e17d0097d28fabc9a1a60322d47'
* commit '42181740a3972e17d0097d28fabc9a1a60322d47':
  rtpenc: Set the AVFMT_TS_NONSTRICT flag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 20:30:12 +01:00
Michael Niedermayer
c0586b257d Merge commit '01f251c44d83eedc819625d2caac9ff9697a085d'
* commit '01f251c44d83eedc819625d2caac9ff9697a085d':
  rtpenc: Set the timestamp properly when sending mpegts data, too

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 20:22:47 +01:00
Michael Niedermayer
4d5ca069c7 Merge commit 'f2c614e8c4a935b52bbf86819128d9e797230c20'
* commit 'f2c614e8c4a935b52bbf86819128d9e797230c20':
  srtpproto: fix option flag type

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 19:59:03 +01:00
Michael Niedermayer
368642361f avcodec/indeo3: ensure offsets are non negative
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 18:57:27 +01:00
Michael Niedermayer
19ecd675c5 avfilter/vf_spp: add gbrp support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 17:46:35 +01:00
Michael Niedermayer
4a06215c1a avfilter/vf_spp: add gray8 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 17:43:10 +01:00
Michael Niedermayer
3ff8ef62bb avfilter/vf_spp: Fix pointer type warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 16:54:18 +01:00
Michael Niedermayer
e59c28b166 avcodec/adpcm: Check idelta
Fixes integer overflow
Fixes: signal_sigsegv_1b0a4da_1865_cov_2167818389_computer_anger.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 16:10:23 +01:00
Martin Storsjö
91bfac759d h261enc: Disallow sliced encoding
This avoids trying to do sliced encoding, even if a slice/packet
size is requested (via the -ps option or the rtp_payload_size
field), since the encoder currently doesn't support it (or at least
our decoder can't decode it, even if the h261_encode_gob_header
function is hooked up to be called from the slicing part in
mpegvideo_enc.c).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 12:00:01 +02:00
Martin Storsjö
df07c07b3d rtpdec_h263_rfc2190: Clear the stored bits if discarding buffered data
If we throw away the buffered incomplete frame, make sure to also
throw away the buffered bits of an incomplete byte at the same
time.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 11:59:54 +02:00
Martin Storsjö
42181740a3 rtpenc: Set the AVFMT_TS_NONSTRICT flag
In particular, when packetizing mpegts into rtp, the input packet
timestamp may come from more than one stream, which could cause
multiple packets be written with the same timestamp.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 11:59:19 +02:00
Martin Storsjö
01f251c44d rtpenc: Set the timestamp properly when sending mpegts data, too
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 11:59:12 +02:00
Tristan Matthews
f2c614e8c4 srtpproto: fix option flag type
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 11:58:23 +02:00
Michael Niedermayer
61296d41e2 avcodec/h264: Check *log2_weight_denom
Fixes undefined behavior
Fixes: signal_sigsegv_14768d2_2248_cov_3629497219_h264_h264___pi_20070614T182942.h264
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 03:45:59 +01:00
Michael Niedermayer
3281fa8925 avcodec/hevc_ps: Check diff_cu_qp_delta_depth
Fixes undefined behavior
Fixes: asan_static-oob_17aa046_582_cov_1577759978_DBLK_G_VIXS_1.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 02:19:53 +01:00
Michael Niedermayer
99f8c9e4d1 avcodec/hevc: move qp_block_mask to where its used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 01:55:02 +01:00
Thomas Volkert
00d7555f34 wavdec: RIFX file format support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 00:10:35 +01:00
Michael Niedermayer
e8714f6f93 avcodec/h264: Clear delayed_pic on deallocation
Fixes use of freed memory

Fixes: case5_av_frame_copy_props.mp4
Found-by: Michal Zalewski <lcamtuf@coredump.cx>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 21:55:45 +01:00
Michael Niedermayer
8aa8d12554 avcodec/hevc: clear filter_slice_edges() on allocation
This avoids use of uninitialized memory
Fixes: asan_static-oob_17aa046_582_cov_212287884_DBLK_G_VIXS_1.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 19:43:58 +01:00
Michael Niedermayer
7d593495e4 avcodec/dcadec: Check that the added xch channel isnt already there
Fixes null pointer dereference
Fixes: signal_sigsegv_369609d_623_cov_2008234281_ES_6.1_16bit.dts
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 15:33:59 +01:00
Michael Niedermayer
973684a4fb Merge commit '456e93bfdd4cbc5e995dea415019abd0703d0e16'
* commit '456e93bfdd4cbc5e995dea415019abd0703d0e16':
  dashenc: Adjust the start time of a segment to the end of the previous segment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 12:05:00 +01:00
Michael Niedermayer
b32cb08b7f Merge commit '2f628d5943c12389c07d652d23d3916997f9f0f6'
* commit '2f628d5943c12389c07d652d23d3916997f9f0f6':
  dashenc: Write segment timelines properly if the timeline has gaps

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 11:57:09 +01:00
Martin Storsjö
456e93bfdd dashenc: Adjust the start time of a segment to the end of the previous segment
This is the same adjustment that the mp4 muxer does to the start
timestamp of fragments, since the timestamp of a sample in an mp4
file is implicit from the sum of earlier sample durations.

This avoids gaps in the timeline (which can stop dash.js from
playing it back), and makes sure the timestamp on the segmenter
level matches what the mp4 muxer actually writes into the segments.

This is only an issue if the AVPacket duration of the last
packet of a segment doesn't point to the actual start timestamp
of the next packet (the first in the next segment).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-17 09:43:08 +02:00
Martin Storsjö
2f628d5943 dashenc: Write segment timelines properly if the timeline has gaps
Write a new start time if the duration of the previous segment
didn't match the start of the next one. Check that segments
actually are continuous before writing a repeat count.

This makes sure timestamps deduced from the timeline actually
match the real start timestamp as written in filenames (if
using a template containing $Time$).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-17 09:42:30 +02:00
Michael Niedermayer
3ba1050292 avcodec/imc: dont read bits beyond the end
Fixes use of uninitialized memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 05:14:11 +01:00
Michael Niedermayer
ddd7dac7ae avcodec/utils: check the private context class
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 05:14:11 +01:00
Michael Niedermayer
3305acdc92 avcodec/indeo3: use signed variables to avoid underflow
Fixes out of array read
Fixes: signal_sigsegv_1b0a4da_1865_cov_2167818389_computer_anger.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 05:14:11 +01:00
Reimar Döffinger
254da44bf9 flacenc: calculate lower sum levels in-place.
Should improve cache usage and reduces stack usage.
Also reduces number of copies in case many levels
have the same number of bits.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-12-17 04:27:09 +01:00
Supraja Meedinti
abbcc68e5c libavutil: cosmetic: inserted spaces wherever necessary
Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 02:18:02 +01:00
Michael Niedermayer
f3b5b139ad avcodec/h264: make the first field of H264Context an AVClass
Fixes use of freed memory
Fixes: asan_heap-uaf_3660f67_757_cov_1257014655_Hi422FR1_SONY_A.jsv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 01:33:06 +01:00
Michael Niedermayer
2a983ff7fe swscale: increase yuv2rgb table headroom
Fixes out of array access
Fixes: case2_bad_read_yuv2rgbx32.mp4
Found-by: Michal Zalewski <lcamtuf@coredump.cx>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 23:37:26 +01:00
Michael Niedermayer
be9ce6e10a avformat/mov: fix integer overflow of size
Fixes: case1_call_stack_overflow.mp4
Found-by: Michal Zalewski <lcamtuf@coredump.cx>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 23:37:25 +01:00
Michael Niedermayer
caa7a3914f avformat/mov: check atom nesting depth
Fixes call stack overflow
Fixes: case1_call_stack_overflow.mp4
Found-by: Michal Zalewski <lcamtuf@coredump.cx>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 23:37:24 +01:00
Michael Niedermayer
3881606240 avcodec/utvideodec: Fix handling of slice_height=0
Fixes out of array accesses
Fixes: asan_heap-oob_25bcd7e_3783_cov_3553517262_utvideo_rgba_median.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 23:00:04 +01:00
Lou Logan
a9a3c005b8 doc/filters: fix typos and spelling errors
Prompted-by: Carl Oxwall <@oxwall>
Signed-off-by: Lou Logan <lou@lrcd.com>
2014-12-16 10:32:00 -09:00
Michael Niedermayer
211200e0c0 avcodec/xface: Add asserts to limit nb_words from becoming too large
Approved-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 19:19:35 +01:00
Michael Niedermayer
93a5a16f13 avcodec/xface: correct the XFACE_MAX_* values
Fixes out of array access

Fixes: asan_stack-oob_32c12e5_2536_cov_2442316831_lena.xface
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 19:19:28 +01:00
Michael Niedermayer
3030fb7e0d avcodec/vmdvideo: Check len before using it in method 3
Fixes out of array access
Fixes: asan_heap-oob_4d23ba_91_cov_3853393937_128.vmd

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 16:27:45 +01:00
Michael Niedermayer
b8eb8b0310 avformat/hlsenc: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 15:37:04 +01:00
Michael Niedermayer
91ea466551 avformat/flvdec: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 15:37:04 +01:00
Michael Niedermayer
16d763fa45 avformat/hdsenc: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 15:37:04 +01:00
Paul B Mahol
5f90ef6611 lavfi: add colorlevels filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-12-16 10:10:04 +00:00
Christian Suloway
92a596f13b avformat/hlsenc: fix hls_write_trailer() on hls_start() failure
Close segment I/O context and append segment in hls_write_trailer() only
when segment I/O context is allocated.

Signed-off-by: Christian Suloway <csuloway@globaleagleent.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 03:57:58 +01:00
Derek Buitenhuis
402a61c919 snow_dwt: Don't try and free members of non-existent arrays
If allocation fails earlier on, and the next frame is processed,
the slice buffer could be left in a state where line and data_stack
have already been freed, or are otherwise null pointers.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-12-15 21:52:19 -05:00
Ronald S. Bultje
0a7964dca5 vp9/x86: save one register on 32bit idct32x32.
Fixes build on win32.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 02:51:26 +01:00
Michael Niedermayer
1a86e29ff0 Merge commit '6f4364aba9d70dc5fd9f1c88b9c03bf9ea893d40'
* commit '6f4364aba9d70dc5fd9f1c88b9c03bf9ea893d40':
  mov: Fix handling of zero-length metadata values

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 02:23:43 +01:00
Michael Niedermayer
d2f9aefbde ffmpeg: Check for subtitle_out malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 23:26:54 +01:00
Michael Niedermayer
4f1923a91b avcodec/tiffenc: Consistently use ADD_ENTRY1()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 22:45:41 +01:00
Martin Storsjö
6f4364aba9 mov: Fix handling of zero-length metadata values
Since 3cec81f4d4, a zero-length metadata value would try to
allocate 2*0 bytes, where av_malloc() returns NULL.

Always add one to the allocated length, to allow space for
a null terminator in the zero-length case.

Incidentally, this fixes fate-alac on RVCT 4.0, where a compiler
bug seems to mess up the mov muxer to the point that it writes
the wrong sort of metadata. Previously this bug was undetected,
but since 3cec81f4d4 such mov files started returning
AVERROR(ENOMEM) in the mov demuxer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-15 23:42:10 +02:00
Michael Niedermayer
4cffcbc809 Merge commit '10d4c5e55e5b23e165aa4c7723073ebe2c2e7da0'
* commit '10d4c5e55e5b23e165aa4c7723073ebe2c2e7da0':
  tiff: set the correct return value when check_size() fails

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 22:14:14 +01:00
Michael Niedermayer
07b4d4b1a2 Merge commit '3c27275c1309190f2d6ed69140b67d014215b6c9'
* commit '3c27275c1309190f2d6ed69140b67d014215b6c9':
  tiff: Check the check_size() return value and forward it

Conflicts:
	libavcodec/tiffenc.c

See: d50aa006fb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 22:00:52 +01:00
Michael Niedermayer
41915d0b86 Merge commit '4690e01c3aaf495c87127e5dc74aa347197dbc0b'
* commit '4690e01c3aaf495c87127e5dc74aa347197dbc0b':
  prores: Evaluate all the quantizers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 21:46:29 +01:00
Michael Niedermayer
71df932b22 Merge commit '490a3ebf36821b81f73e34ad3f554cb523dd2682'
* commit '490a3ebf36821b81f73e34ad3f554cb523dd2682':
  matroskadec: Fix read-after-free in matroska_read_seek()

See: 33301f0017
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 21:35:18 +01:00
Michael Niedermayer
38c3ffbd55 Merge commit 'd75190aa93206c02cb4f18a66d2c927d6a0198e1'
* commit 'd75190aa93206c02cb4f18a66d2c927d6a0198e1':
  mpegvideo: move REBASE_PICTURE where it is used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 21:27:10 +01:00
Michael Niedermayer
0a3ffcfc82 Merge commit '63fcedcf01247f15b72c0d1f959bb3b612853ba8'
* commit '63fcedcf01247f15b72c0d1f959bb3b612853ba8':
  mpegvideo: remove unused function declaration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 21:19:40 +01:00
Michael Niedermayer
b799ec7e0b avcodec/hevc: Print an error if luma_log2_weight_denom is out of range
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 21:12:46 +01:00
Michael Niedermayer
241943d3a2 Merge commit 'b2bece5e9a4dd96142962c6798e187c77b88bbfa'
* commit 'b2bece5e9a4dd96142962c6798e187c77b88bbfa':
  hevc: always clip luma_log2_weight_denom

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 21:06:20 +01:00
Nicolas George
acbc2ed26a lavf/concatdec: handle NOPTS start_time.
Fix trac ticket #3598.

Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 20:00:35 +01:00
Michael Niedermayer
9887e7df9b Changelog: Add 10bit spp
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 18:59:13 +01:00
Michael Niedermayer
838aa08d75 avfilter/vf_spp: support 10bit per sample
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 18:49:35 +01:00
Michael Niedermayer
1307c11ce6 avcodec/avdct: support >8bit per sample dcts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 18:25:00 +01:00
Michael Niedermayer
c1d9283b1e doc/ffplay: remove duplicate threads option, this is documented in codecs.*
Fixes Ticket3610

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 17:54:14 +01:00
Michael Niedermayer
ae658efef8 avformat/xmv: Check return code of ff_alloc_extradata()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 16:01:05 +01:00
Michael Niedermayer
480cd822b3 avformat/flic: se av_freep() to avoid leaving stale extradata pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 15:49:00 +01:00
Michael Niedermayer
0051e3c233 avformat/rtpdec_mpeg4: Use av_freep() to avoid leaving stale extradata pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 15:48:35 +01:00
Michael Niedermayer
c116befc92 avformat/xmv: use av_freep() to avoid leaving stale extradata pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 15:47:54 +01:00
Vittorio Giovara
10d4c5e55e tiff: set the correct return value when check_size() fails
Only one instance affected and solved as other occurences.
2014-12-15 15:46:34 +01:00
Luca Barbato
3c27275c13 tiff: Check the check_size() return value and forward it
Also use the same type for add_entry and check_size.

Bug-Id: CID 700699
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Vittorio Giovara <vittorio.giovarao@gmail.com>
2014-12-15 15:46:34 +01:00
Luca Barbato
4690e01c3a prores: Evaluate all the quantizers
Prevent an uninitialized data access.

CC: libav-stable@libav.org
Bug-Id: CID 703824 / CID 703825
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-12-15 15:46:34 +01:00
Xiaohan Wang
490a3ebf36 matroskadec: Fix read-after-free in matroska_read_seek()
In matroska_read_seek(), |tracks| is assigned at the begining of the
function. However, functions like matroska_parse_cues() could reallocate
the tracks and invalidate |tracks|.

This assigns |tracks| only before using it, so that it will not get
invalidated elsewhere.

Bug-Id: chromium/427266
2014-12-15 15:46:34 +01:00
Vittorio Giovara
d75190aa93 mpegvideo: move REBASE_PICTURE where it is used
Drop an unused #undef from h264 decoder.
2014-12-15 15:46:34 +01:00
Vittorio Giovara
63fcedcf01 mpegvideo: remove unused function declaration 2014-12-15 15:46:34 +01:00
Vittorio Giovara
b2bece5e9a hevc: always clip luma_log2_weight_denom
Its value shall be between 0 and 7 according to the specifications.

CC: libav-stable@libav.org
Bug-Id: CID 1257502
2014-12-15 15:46:34 +01:00
Michael Niedermayer
89f0feadc2 avformat/assenc: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 15:43:42 +01:00
Michael Niedermayer
51b193214d avformat/avidec: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 15:43:14 +01:00
Michael Niedermayer
e631872f13 configure: create the tests directory like the doc directory
This fixes an issue where the tests directory is not created for out of tree
builds before its needed

Tested-by: Dave Yeo <daveryeo@telus.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 13:56:59 +01:00
Michael Niedermayer
228fded036 Merge commit 'bab8d73765238bfeea7a8dfd454f40ac213b3d22'
* commit 'bab8d73765238bfeea7a8dfd454f40ac213b3d22':
  vaapi: wrap codec specific functions in appropiate #ifs

Conflicts:
	libavcodec/vaapi.c

See: f2118d44c9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 13:03:01 +01:00
Michael Niedermayer
d2f9b9da03 Merge commit '5a82ad644f281701eb22e0359fd732fac67aafa4'
* commit '5a82ad644f281701eb22e0359fd732fac67aafa4':
  svq1dec: Unbreak the scratch buffer allocation

Conflicts:
	libavcodec/svq1dec.c

See: 4213fc5b9e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 12:23:27 +01:00
Michael Niedermayer
0c7733904e Merge commit 'bcbdeb318e0828cf00b458885ffa1e1596c85d06'
* commit 'bcbdeb318e0828cf00b458885ffa1e1596c85d06':
  asvenc: Forward the error instead of asserting on it

Conflicts:
	libavcodec/asvenc.c

Not merged, conditions which are impossible should be checked by assert*()
adding impossible to be true error checks has the potential to confuse

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 12:04:31 +01:00
wm4
a400edbb6d lavu/frame: fix malloc error path in av_frame_copy_props()
The error path frees all side data, but forgets to reset the side data
count. This can blow up later in av_frame_unref() and free_side_data().

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 04:46:30 +01:00
Carl Eugen Hoyos
4fa42e04ed configure: Set the default for --shlibdir to --libdir.
Fixes ticket #4183.

Reviewed-by: Ivan Kalvachev
2014-12-15 02:49:55 +01:00
Ronald S. Bultje
cae893f692 vp9/x86: sse2 MC assembly.
Also a slight change to the ssse3 code, which prevents a theoretical
overflow in the sharp filter.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 02:34:05 +01:00
Carl Eugen Hoyos
4373a25d94 lavf/mxfdec: Fix memleaks reading corrupt files.
Fixes ticket #4173.

Reviewed-by: Tomas Härdin
2014-12-15 01:37:12 +01:00
Carl Eugen Hoyos
27bdfd29f1 lavf/mxfdec: Factorize mxf_read_close().
This will allow to fix leaks in a subsequent commit.
2014-12-15 01:31:12 +01:00
Ronald S. Bultje
fd77fbb390 vp9/x86: 32bit and sse2 support for vp9 inverse transform assembly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 00:38:05 +01:00
Michael Niedermayer
4efdb29c75 avformat/dv: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 00:38:05 +01:00
Lukasz Marek
00dc2859f0 cmdutils: use macros for device test
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-14 23:55:41 +01:00
Lukasz Marek
b3311f3cc9 lavd/alsa-audio-common: mark default device in device list
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-14 23:55:41 +01:00
Lukasz Marek
279412c833 lavd/avdevice: use better option types for caps options
Using dedicated types allows to use format/layout names,
not just raw int values.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-14 23:55:41 +01:00
Michael Niedermayer
829099545b Merge commit 'fd665f7f48fa7db89eb9a93ac33919f6adc40f9d'
* commit 'fd665f7f48fa7db89eb9a93ac33919f6adc40f9d':
  avconv: Use the mpeg12 private option scan_offset

Conflicts:
	ffmpeg_opt.c

See: e479013ae4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 22:54:49 +01:00
Michael Niedermayer
27f2e211aa Merge commit '559fa0d41b5cf8f7e1ba89d1ac70e74712eb2816'
* commit '559fa0d41b5cf8f7e1ba89d1ac70e74712eb2816':
  vdpau: add mapping for H.264 Constrained Baseline profile and fallback

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 22:23:53 +01:00
Michael Niedermayer
3f679f73a2 Merge commit '8502c1e9ff9c1dbb6e467630c048d098f4064021'
* commit '8502c1e9ff9c1dbb6e467630c048d098f4064021':
  vdpau: add mapping for H.264 Extended profile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 22:14:58 +01:00
Michael Niedermayer
0b30d186f1 Merge commit '8b51bcfed75721e0d20832e5a90e1d585318c9d9'
* commit '8b51bcfed75721e0d20832e5a90e1d585318c9d9':
  vdpau: revector macro to reduce line span

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 22:07:41 +01:00
Michael Niedermayer
add040ff01 Merge commit 'e10e6651b50b4087f08813f3e503620db7413d3a'
* commit 'e10e6651b50b4087f08813f3e503620db7413d3a':
  thread: use "" instead of <> for including the w32pthreads wrapper

See: 32eadfe453
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 22:06:33 +01:00
Thiago Santos
bab8d73765 vaapi: wrap codec specific functions in appropiate #ifs
Fix linking when only a subset of vaapi decoders is enabled.

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

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-12-14 22:04:38 +01:00
Michael Niedermayer
5a82ad644f svq1dec: Unbreak the scratch buffer allocation
The input packets are always assumed to be padded and
the av_fast_ family of function takes a pointer to a pointer.

Thanks to Nicolas Dufresne <nicolas.dufresne@collabora.com> for
a similar patch.

Introduced in 7b588bb691.

Bug-Id: 766
CC: libav-stable@libav.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-12-14 22:03:58 +01:00
Luca Barbato
bcbdeb318e asvenc: Forward the error instead of asserting on it
Bug-Id: CID 732997
CC: libav-stable@libav.org
2014-12-14 22:03:22 +01:00
Michael Niedermayer
a29524bf2e avformat/utils: Do not update programs streams from program-less streams in update_wrap_reference()
Fixes Ticket3686

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 20:56:59 +01:00
Michael Niedermayer
8ddfc00ab7 avformat/mp3dec: Name the dummy variable as what it is, to avoid confusion
Found-by: nattyzs <nattyzs@163.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 20:08:13 +01:00
Julien Ramseier
fd665f7f48 avconv: Use the mpeg12 private option scan_offset
Introduced in aed7900704

Bug-Id: debian/773055
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-14 18:34:54 +01:00
Rémi Denis-Courmont
559fa0d41b vdpau: add mapping for H.264 Constrained Baseline profile and fallback
Old VDPAU drivers do not support this newly defined profile, so falling
back to Main profile is necessary for backward binary compatibility.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-14 18:30:03 +01:00
Rémi Denis-Courmont
8502c1e9ff vdpau: add mapping for H.264 Extended profile
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-14 18:29:27 +01:00
Rémi Denis-Courmont
8b51bcfed7 vdpau: revector macro to reduce line span
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-14 18:29:07 +01:00
Anton Khirnov
e10e6651b5 thread: use "" instead of <> for including the w32pthreads wrapper
Found-by: Dave Yeo <dave.r.yeo@gmail.com>
2014-12-14 18:15:57 +01:00
Michael Niedermayer
ed86dbd05d avformat/aviobuf: Check that avio_seek() target is non negative
Fixes out of array access

Suggested-by: Andrew Scherkus <scherkus@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 17:39:53 +01:00
Michael Niedermayer
6de2f027cd avfilter/vf_dctdnoiz: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 15:56:32 +01:00
Michael Niedermayer
eb055295bd avfilter/f_sendcmd: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 15:54:45 +01:00
Michael Niedermayer
ad2deb02e5 avcodec/xiph: mark returned header pointers const from avpriv_split_xiph_headers()
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 14:30:45 +01:00
Michael Niedermayer
3b537eab27 avformat/nutenc: store the actual r_frame_rate in the corresponding field if available
Fixes Ticket 3629 part3

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 02:12:49 +01:00
Michael Niedermayer
28a6f970f6 ffmpeg: forward r_frame_rate to the muxer in case of stream copy
Fixes Ticket3629 part2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 02:12:49 +01:00
Michael Niedermayer
add46edf33 avformat/utils: use r_frame_rate only in the demuxer for ff_compute_frame_duration()
This is primarly to maintain current behavior when r_frame_rate is set for muxers
and could be reverted if it has some advantage

Fixes Ticket3629 part1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 02:12:49 +01:00
Clément Bœsch
d823edee8d avcodec: fix wording in AVSubtitleRect doxy 2014-12-13 23:35:22 +01:00
Rob Sykes
4b6f225374 swresample/soxr_resample: fix error handling
Fixes CID1257659

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 21:12:56 +01:00
Michael Niedermayer
d5a263f480 fix "than" typo
Found-by reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 20:52:31 +01:00
Michael Niedermayer
53496aa7f3 avformat/utils: Do not estimate the container bitrate from the streams if one video stream lacks the bitrate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 19:20:10 +01:00
Michael Niedermayer
609a73b6ff avfilter/vf_uspp: fix gray pixfmt handling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 17:16:49 +01:00
Michael Niedermayer
3dd5f7aaa0 avfilter/vf_uspp: fix used chroma subsampling factors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 16:54:13 +01:00
Michael Niedermayer
354fda7698 avfilter/vf_uspp: fix used pix_fmt
Found-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 16:38:44 +01:00
Michael Niedermayer
5d0cfb58ef avcodec/dvdsubdec: Avoid strerror() due to thread saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 15:15:07 +01:00
Michael Niedermayer
3ab82e9206 avcodec/libxvid_rc: Avoid strerror() for thread saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 15:12:37 +01:00
Michael Niedermayer
d7de48f0df avformat/mov: Simplify code by using OFFSET() and FLAGS macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 15:06:19 +01:00
Michael Niedermayer
43fb40c3c3 avfilter/vf_kerndeint: use av_freep(), avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 14:18:30 +01:00
Michael Niedermayer
498396f80c avfilter/vf_unsharp: use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 14:18:30 +01:00
Michael Niedermayer
792a5004a1 avfilter/vf_uspp: Add grayscale support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 05:48:28 +01:00
Michael Niedermayer
b898c49ba1 avfilter/vf_uspp: assert that the qp_type is valid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 05:48:28 +01:00
Lou Logan
10ef8f063b doc: add FFREPORT example
And fix a few nits.

Signed-off-by: Lou Logan <lou@lrcd.com>
2014-12-12 16:51:16 -09:00
wm4
a963fdb0ea lavu/dict: check for malloc failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 23:40:50 +01:00
wm4
a66893ac94 avformat/utils: check for malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 23:37:29 +01:00
wm4
ce35a61399 lavc/avpacket: check for malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 19:31:29 +01:00
Arwa Arif
9f85c273a3 Delete mp=uspp 2014-12-12 18:28:31 +00:00
Michael Niedermayer
2a8eb0d156 avfilter/vf_spp: The qp array width is qp_stride not stride/16
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 18:14:15 +01:00
Michael Niedermayer
e8dbecb995 avfilter/vf_spp: Allocate qp storage after qp_stride is known
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 18:13:13 +01:00
Michael Niedermayer
eb725235b0 avdevice/v4l2: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 14:46:46 +01:00
Michael Niedermayer
30d2ac4bf9 avfilter/vf_spp: change temporary to unsigned
More consistent with uspp and allows for future 10bit support

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 13:34:18 +01:00
Michael Niedermayer
e07c82688e avfilter/vf_uspp: fix integer overflow in intermediate
Fixes Ticket3596

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 04:28:34 +01:00
Michael Niedermayer
13c3a97bf1 avfilter/vf_uspp: remove YUV 411/422/440
snow doesnt support 422/411/440 currently, so these do not work yet

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 02:00:31 +01:00
Michael Niedermayer
e1540cdf07 avfilter/vf_uspp: use the average QP instead of QP[0]
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 02:00:31 +01:00
Michael Niedermayer
5172782352 avfilter/vf_uspp: The qp array width is qp_stride not stride/16
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 02:00:04 +01:00
Michael Niedermayer
d2d8ac24b8 avfilter/vf_uspp: Allocate qp storage after qp_stride is known
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 02:00:04 +01:00
Michael Niedermayer
327c5292f2 avfilter/version: bump for uspp
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 01:58:52 +01:00
Clément Bœsch
1a4128c843 LICENSE: mention that uspp is GPL 2014-12-12 01:52:20 +01:00
Clément Bœsch
df307debf2 build: add forgotten avcodec dependency in uspp 2014-12-12 01:52:20 +01:00
Clément Bœsch
e93abe1f40 avfilter/uspp: use AVFILTER_DEFINE_CLASS() 2014-12-12 01:52:19 +01:00
Clément Bœsch
397859c4a8 avfilter/uspp: make src const in store_slice_c() 2014-12-12 01:45:29 +01:00
Clément Bœsch
73d88109c0 avfilter/uspp: misc style fixes 2014-12-12 01:42:25 +01:00
Arwa Arif
100fc395b6 lavfi: USPP Filter
Previous version reviewed by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 01:03:44 +01:00
Michael Niedermayer
e2829a8175 avformat/mov: Disable XMP metadata by default
This was suggested by cbsrobot, ubitux and koda

There are files with huge amounts of XMP data, which would otherwise
be displayed in the terminal output of FFmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 21:47:37 +01:00
Michael Niedermayer
f96fcba1e3 avcodec/libutvideoenc: Check avpicture_get_size() return code
Fixes CID1257656

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 17:14:15 +01:00
Michael Niedermayer
086e29a011 avcodec/libutvideoenc: fix leak of info array on error
Fixes CID1257657

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 17:13:49 +01:00
Michael Niedermayer
ff0a0b62f3 compat/avisynth/avxsynth_c: Clear all unused fields in returned structs
Fixes: CID1257658

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 16:12:47 +01:00
Gabor Nagy
28fc31d78d avformat/avidec: Do not fail for crazy start times
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 14:59:10 +01:00
Michael Niedermayer
27dfe54eb7 avcodec/libxavs: fix division by 0 bitrate
Fixes CID1257655

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 13:25:10 +01:00
Michael Niedermayer
a03f72e744 avcodec/x86/hevc_mc: fix sse register counts
These fix failures of --enable-xmm-clobber-test
It would be better to change the code to use fewer registers, but until
someone does the used register count must not be too small

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 13:17:26 +01:00
Michael Niedermayer
dbdc6e554e configure: do not allow nvenc to be build on cygwin to avoid _WIN32 definition hack
Suggested-by: James Almer <jamrial@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 04:48:22 +01:00
Michael Niedermayer
ef23bd939d avcodec/hevc: Silence "warning: ref0/1 may be used uninitialized in this function"
Also make code more robust by initializing the pointers to NULL

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 04:17:43 +01:00
Lou Logan
55c5a38369 doc: add loglevel numerical values
Useful for setting FFREPORT log level.

Signed-off-by: Lou Logan <lou@lrcd.com>
2014-12-10 16:45:31 -09:00
Michael Niedermayer
7ee5f764ee Merge commit 'e737a4aaafcb1d761b7f96043c2f83ce742c64ae'
* commit 'e737a4aaafcb1d761b7f96043c2f83ce742c64ae':
  dashenc: Change the duration fields to 64 bit

Conflicts:
	libavformat/dashenc.c

See: e65849a70b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 02:03:47 +01:00
Michael Niedermayer
66daf3b811 Merge commit 'c7921a480467876ece06566e0efd8f6bce9d1903'
* commit 'c7921a480467876ece06566e0efd8f6bce9d1903':
  libfdk-aacdec: Fix a boundary check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 01:46:11 +01:00
Timo Rothenpieler
2a428db5e2 avcodec: Add NVENC encoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 01:06:27 +01:00
Christian Suloway
97b65f6126 avformat/hlsenc: added segment file deletion
This option flag deletes segment files removed from the playlist after a
period of time equal to the duration of the segment plus the duration of
the playlist.

Signed-off-by: Christian Suloway <csuloway@globaleagleent.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 23:49:25 +01:00
Martin Storsjö
e737a4aaaf dashenc: Change the duration fields to 64 bit
For the last_duration field, it's mostly theoretical, but the
total_duration field more probably may need to actually be 64 bit.

Bug-Id: CID 1254944
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-10 22:51:51 +02:00
Martin Storsjö
c7921a4804 libfdk-aacdec: Fix a boundary check
This avoids potential out of bounds writes, with potential future
versions of the library.

Bug-Id: CID 1254945
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-10 22:51:42 +02:00
Michael Niedermayer
ae93965359 avcodec/hevc_refs: fix potential use of uninitialized min_idx
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 14:46:39 +01:00
Michael Niedermayer
52a17972de avformat/yuv4mpegdec: fix "warning: field_order may be used uninitialized in this function"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 14:46:39 +01:00
Michael Niedermayer
0fadbd3623 avformat/flvdec: fix potential use of uninitialized variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 13:40:20 +01:00
Michael Niedermayer
a2fa1889a6 avfilter/vf_perspective: add av_assert0() to help gcc see that there are no uninitialized variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 13:40:20 +01:00
Michael Niedermayer
81a045fe17 Merge commit '2c3f29c4894ee50635b846f202296ad79a7c0d33'
* commit '2c3f29c4894ee50635b846f202296ad79a7c0d33':
  xcbgrab: Support empty filename string correctly

Conflicts:
	libavdevice/xcbgrab.c

See: 62eca2f827
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 12:33:37 +01:00
Michael Niedermayer
d43d5c5707 avcodec/x86/hevc_mc: remove dead branch from EPEL_FILTER
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 07:34:49 +01:00
Gabor Nagy
ae8168074e avformat/avidec: Increase dshow_block_align use threshold by 1
Fixes 00.avi

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 03:18:30 +01:00
Luca Barbato
2c3f29c489 xcbgrab: Support empty filename string correctly
Bug-Id: CID 1254664
CC: libav-stable@libav.org
2014-12-10 01:45:50 +01:00
Michael Niedermayer
1397cb002d Merge commit 'fa8934d6d6a0bb290010bdf16265c40b331d56fb'
* commit 'fa8934d6d6a0bb290010bdf16265c40b331d56fb':
  dashenc: log file output progress in verbose mode

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 01:24:56 +01:00
Michael Niedermayer
bd378acad4 Merge commit '95d880fa6436f3b557a9c060428a04b9e4d552df'
* commit '95d880fa6436f3b557a9c060428a04b9e4d552df':
  rtpproto: Fix the input RTP data format check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 01:24:12 +01:00
Michael Niedermayer
b7bfe17824 Merge commit 'd2f1d42b18787e4fcb28864d9d9f701dd64a5747'
* commit 'd2f1d42b18787e4fcb28864d9d9f701dd64a5747':
  fate: add dolby true hd tests

Conflicts:
	tests/fate/lossless-audio.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 00:58:13 +01:00
Michael Niedermayer
cb416a7d79 Merge commit '4c81613df499ba81d64ea102b38d0c6686cc304c'
* commit '4c81613df499ba81d64ea102b38d0c6686cc304c':
  arm: mlpdsp: handle pic offset calculation in a macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 00:51:26 +01:00
Michael Niedermayer
824932dc47 Merge commit '581c7f0e12b1fa39f73d683e54d6ecda0772c5a9'
* commit '581c7f0e12b1fa39f73d683e54d6ecda0772c5a9':
  arm: make ff_mlp_filter_channel_arm and ff_mlp_rematrix_channel_arm position independent

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 00:39:00 +01:00
Bryan Huh
fa8934d6d6 dashenc: log file output progress in verbose mode
As the manifest/segments are flushed to disk, log to stderr the
progress, when in verbose logging mode

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-10 00:03:16 +02:00
Martin Storsjö
95d880fa64 rtpproto: Fix the input RTP data format check
Only the upper 2 bits of the first byte are known to be
a fixed value.

The lower bits in the first byte of a RTP packet could be set
if the input is from another RTP packetizers than libavformat's,
but for RTCP packets, they would also be set when sending RTCP RR
packets, triggering false warnings about incorrect input format
to the protocol.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-09 23:59:14 +02:00
Carl Eugen Hoyos
01ab761b46 Allow mov musing if the ac3 parser was disabled.
This reverts 8091fe30.
Reported and tested by Takashi, ffmpeg-list dubistmeinheld de
2014-12-09 22:12:53 +01:00
Janne Grunau
d2f1d42b18 fate: add dolby true hd tests
The existing meridian audio test does not test
ff_mlp_rematrix_channel_arm. This sample (first 640k of
https://samples.libav.org/A-codecs/TrueHD/TrueHD.raw) uses
ff_mlp_rematrix_channel_arm. Since this sample has 5.1 channels it also
allows testing the integrated downmixing.
2014-12-09 22:00:08 +01:00
Janne Grunau
4c81613df4 arm: mlpdsp: handle pic offset calculation in a macro
Makes the code easier to read since it hides different offset
calculations for arm and thumb mode.
2014-12-09 22:00:08 +01:00
Janne Grunau
581c7f0e12 arm: make ff_mlp_filter_channel_arm and ff_mlp_rematrix_channel_arm position independent
No significant difference in used cpu cycles on a cortex-a9.
2014-12-09 22:00:08 +01:00
Michael Niedermayer
6ef9d1b216 Merge commit 'fccfc22d1f304aef42a0b960e4c1d55ce67107f5'
* commit 'fccfc22d1f304aef42a0b960e4c1d55ce67107f5':
  libavformat: Build hevc.o when building the RTP muxer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 21:40:09 +01:00
Michael Niedermayer
2d0117f816 avformat/crypto: fix key vs iv typo
Fixes Ticket 4167

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 19:58:56 +01:00
Michael Niedermayer
20cb3fab3f avformat/utils: change assert to av_assert0()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 17:57:35 +01:00
Michael Niedermayer
041c6109da avformat/utils: replace impossible condition by av_assert0() in ff_gen_search()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 17:53:30 +01:00
Michael Niedermayer
308429e124 avformat/wavenc: check return value of strftime()
Fixes CID1257006

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 16:15:40 +01:00
Martin Storsjö
fccfc22d1f libavformat: Build hevc.o when building the RTP muxer
The RTP muxer enables the actual codepaths within sdp.c,
which depend on hevc.o since e5cfc8fd.

This fixes builds with --disable-everything --enable-muxer=rtp.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-09 16:09:37 +02:00
Michael Niedermayer
92d47e2aa3 Merge commit '780cd20b00a69e26bbfffbb8eec16fbe999ea793'
* commit '780cd20b00a69e26bbfffbb8eec16fbe999ea793':
  aarch64: Use .data.rel.ro for const data with relocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 12:08:29 +01:00
Michael Niedermayer
16e65419ed Merge commit 'f963f80399deb1a2b44c1bac3af7123e8a0c9e46'
* commit 'f963f80399deb1a2b44c1bac3af7123e8a0c9e46':
  arm: Use .data.rel.ro for const data with relocations

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 11:58:13 +01:00
Michael Niedermayer
99bf26fc6b Merge commit '3c01039e0bc7d269900e15551f8171c4328a0223'
* commit '3c01039e0bc7d269900e15551f8171c4328a0223':
  mov: further expand the list of parsed metadata tags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 11:50:48 +01:00
Martin Storsjö
780cd20b00 aarch64: Use .data.rel.ro for const data with relocations
This reverts commit c00365b46d
in addition to using a different section.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-09 11:43:31 +02:00
Martin Storsjö
f963f80399 arm: Use .data.rel.ro for const data with relocations
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-09 11:43:25 +02:00
Michael Niedermayer
a5e5959d52 avformat/utils: fix calculating the absolute difference of timestamps
we dont use FFABS(a-b) as that could result in undefined behavior if it overflows

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 06:13:32 +01:00
Reynaldo H. Verdejo Pinochet
720dffb843 ffserver_config: reflow add_codec()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-09 01:03:01 -03:00
Reynaldo H. Verdejo Pinochet
b4c69b7ea8 ffserver_config: break lines at 80 chars
Add braces when needed and drop redundant parethesis while at it.

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-09 01:03:01 -03:00
Reynaldo H. Verdejo Pinochet
b28d587782 ffserver_config: improve error/warning messages
Fix grammar and quote user-supplied values.

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-09 01:03:01 -03:00
Reynaldo H. Verdejo Pinochet
f95cfff077 ffserver_config: check strchr() return for NULL
Should fix FFmpeg Coverity Scan issue #1257013

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-09 01:03:01 -03:00
Michael Niedermayer
dd70470d72 avformat/utils: Compute the current pts of mpeg1/2 I/P frames from the next frame when available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 03:34:20 +01:00
Michael Niedermayer
9e561410c0 avformat/utils: Pass the next pts/dts to compute_pkt_fields() when available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 03:33:44 +01:00
Michael Niedermayer
e86df0206f avdevice/xcbgrab: check xcb_query_pointer_reply_t pointer before use
Fixes CID1254668

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 01:54:51 +01:00
Moritz Barsnick
754f4957d7 configure: use use_pkg_config() instead of check_pkg_config() for libsmbclient
This ensures that the CFLAGS and LDFLAGS are actually applied.
Fixes an incorrect change introduced with the clean-up in commit
cfcaf6b38e.

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 00:57:49 +01:00
Michael Niedermayer
885e74622e Merge commit 'e2e07dbaab1f17e995842b7eacec4665d44c3d14'
* commit 'e2e07dbaab1f17e995842b7eacec4665d44c3d14':
  mov: expand the list of parsed metadata tags

Conflicts:
	libavformat/mov.c

See: 543f3db978
See: dadf668df2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 23:16:43 +01:00
Lukasz Marek
4acc717a05 fate: add libavcodec/options-test
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-08 23:14:29 +01:00
Lukasz Marek
72732307d9 lavc/options: add test for avcodec_copy_context
This test doesn't cover every possible issue with this function.
It covers options management only.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-08 23:14:29 +01:00
Michael Niedermayer
0dcebe2620 Merge commit 'b704b648f9ecb830874627db958a37e004107d1b'
* commit 'b704b648f9ecb830874627db958a37e004107d1b':
  mov: parse XMP metadata on demand

Conflicts:
	libavformat/isom.h
	libavformat/version.h

See: 054c506e3d

The default is left unchanged at enabled
We can change the default if people prefer but i do not want to do that
in a merge.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 22:59:16 +01:00
Michael Niedermayer
420aebf0c5 Merge commit '174c5fde90060faab67796a5eaef742630f1db6e'
* commit '174c5fde90060faab67796a5eaef742630f1db6e':
  mov: parse @PRM and @PRQ metadata tags

Conflicts:
	libavformat/mov.c

See: f540851ce3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 22:14:29 +01:00
Michael Niedermayer
82f0f0482e Merge commit '35384934d6e27e0334060a23a0c83a3cb5cef198'
* commit '35384934d6e27e0334060a23a0c83a3cb5cef198':
  mov: cosmetics: reorder the list of tags

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 21:59:08 +01:00
Michael Niedermayer
74622ad320 Merge commit '6fd91fa11909f27902498648680dbb3d13f1f175'
* commit '6fd91fa11909f27902498648680dbb3d13f1f175':
  h264: increase MAX_SLICES to 32

The available sample decodes correctly before, but the reporter of the bug
claims that this change reduces artifacts. This is thus merged
If someone has samples that decode differently depending in the MAX_SLICES
value, please open a ticket on trac.
Also this change should be reverted if it turns out that the artifacts
that where seen had a different cause

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 21:48:36 +01:00
Michael Niedermayer
6b4cbfec75 Merge commit 'd0b224054f13bf57244694a3ff092cfef68d66f9'
* commit 'd0b224054f13bf57244694a3ff092cfef68d66f9':
  vf_frei0r: do not increment string if it reached the end

See: 02a6ee5168
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 21:05:59 +01:00
Michael Niedermayer
879ea06bc5 Merge commit '90411b333d6b6bb69d8937117b9250785730dc53'
* commit '90411b333d6b6bb69d8937117b9250785730dc53':
  Allow reading of growing avi files (currently being written)

Conflicts:
	libavformat/avidec.c
	tests/ref/fate/cvid-partial

See: e42a3dd123
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 21:04:30 +01:00
Michael Niedermayer
c9128c2c83 Merge commit '4843a9c74f77f5eb8d2b1ee648fe2ac6e2a48ec3'
* commit '4843a9c74f77f5eb8d2b1ee648fe2ac6e2a48ec3':
  dpx: always write the image offset

Conflicts:
	libavcodec/dpxenc.c
	tests/ref/lavf/dpx

See: 361319d0f4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 20:53:19 +01:00
Michael Niedermayer
3cfe1d9b3e Merge commit '250e077ee9eec0176a6d54a78542dc792943e71a'
* commit '250e077ee9eec0176a6d54a78542dc792943e71a':
  riff: Support decoding png in avi (ImageJ)

See: 3668168afa
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 20:37:49 +01:00
Michael Niedermayer
82a60de3b7 avcodec/pngdec: handle 4 more bytes with SIMD for RGB64 in paeth prediction
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 18:24:58 +01:00
Michael Niedermayer
ed9be7dd47 avcodec/x86/pngdsp: fix off by 1 error
This fixes artifacts in the last pixel of rows with some widths and pixel formats

Found-by: Dominique Leroux <Dominique.Leroux@autodesk.com>
Tested-by: Dominique Leroux <Dominique.Leroux@autodesk.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 18:24:40 +01:00
Michael Niedermayer
41a52740d4 avutil/opt: Fix AV_OPT_TYPE_BINARY case in av_opt_is_set_to_default()
Fixes CID1257010

Reviewed-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 15:39:17 +01:00
Dave Rice
3c01039e0b mov: further expand the list of parsed metadata tags
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-08 14:28:16 +00:00
Vittorio Giovara
e2e07dbaab mov: expand the list of parsed metadata tags
Based on L-Smash code by Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>.
2014-12-08 14:28:09 +00:00
Rong Yan
9bd8f2cc32 avcodec/ppc/vp3dsp_altivec: POWER LE support to vp3_idct_add_altivec()
add GET_VDST16() macro

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 15:19:12 +01:00
Vittorio Giovara
b704b648f9 mov: parse XMP metadata on demand
The Extensible Metadata Platform tag can contain various kind of data
which are not strictly related to the video file, such as history of edits
and saves from the project file. So display XMP metadata only when the
user explicitly requires it.

Based on a patch by Marek Fort <marek.fort@chyronhego.com>.
2014-12-08 13:53:30 +00:00
Vittorio Giovara
174c5fde90 mov: parse @PRM and @PRQ metadata tags
These tags describe the product and quicktime library version respectively.
They originate from Adobe Premiere, but also some other programs use them.
Contrary to other tags, they contain 'raw' data which is not to be
interpreted as iso639 or mac strings.

Based on a patch by Peter Ross <pross@xvid.org>.
2014-12-08 13:53:20 +00:00
Vittorio Giovara
35384934d6 mov: cosmetics: reorder the list of tags
Alphabetically order the list by the tag to facilitate the insertion of
new ones.
2014-12-08 13:53:10 +00:00
Vittorio Giovara
6fd91fa119 h264: increase MAX_SLICES to 32
H264 streams from CounterPath Bria and some Cisco phones need an
increased pool for correct decoding.

Bug-Id: 645
Sample-Id: bria-h264.mka
2014-12-08 13:30:38 +00:00
Vittorio Giovara
d0b224054f vf_frei0r: do not increment string if it reached the end
Bug-Id: 778
CC: libav-stable@libav.org
2014-12-08 13:30:38 +00:00
Joakim Plate
90411b333d Allow reading of growing avi files (currently being written)
This uses the RIFF header stored size to figure out the expected AVI
file size, instead of the actual file. To work fully it requires handling
failed avio_seek() instead of assuming they always succeed.

Some fate file has been cut off and contains half a frame at the end which
previously was not output during demuxing. This frame is now output to
encoder, thus the fate diff update.

Bug-Id: 261
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-08 13:29:33 +00:00
Zoltan Kovacs
4843a9c74f dpx: always write the image offset
According to the DPX file format description found at
http://www.fileformat.info/format/dpx/egff.htm the ImageElement part of
the GenericImageHeader also contains an an offset to the real image data
beside the same member that can be found in the GenericFileHeader.

Libav keeps this member empty (=0) while some applications expects it to
be filled properly. FATE test updated accordingly.

Bug-Id: 742
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-08 13:29:18 +00:00
Carl Eugen Hoyos
250e077ee9 riff: Support decoding png in avi (ImageJ) 2014-12-08 13:29:18 +00:00
Michael Niedermayer
5054d2a92b Merge commit 'b280c6202b28b371a8d96850194fd69d7ad5dcc0'
* commit 'b280c6202b28b371a8d96850194fd69d7ad5dcc0':
  arm: fft_vfp: Unify the behaviour in ff_fft_calc_vfp between arm/thumb

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 12:42:47 +01:00
Michael Niedermayer
8554a10992 Merge commit 'ae81576414f2d2083d3118fb4abe1ebc5a7a4c54'
* commit 'ae81576414f2d2083d3118fb4abe1ebc5a7a4c54':
  arm: fft_vfp: Add a missing "endconst" when building in thumb mode

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 12:31:33 +01:00
Michael Niedermayer
5ab467043a Merge commit '29bc7bfba288ff8572ed967a8752a1dbde7b724b'
* commit '29bc7bfba288ff8572ed967a8752a1dbde7b724b':
  rtpproto: Write a warning if the input data written isn't RTP packetized

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 12:15:44 +01:00
Martin Storsjö
b280c6202b arm: fft_vfp: Unify the behaviour in ff_fft_calc_vfp between arm/thumb
Don't include the function pointer table in the code segment
in arm mode.

This shouldn't have any significant performance effect. It does
end up as a few more instructions than before, for ARM, but
only at the entry to this function, not within the fft functions
themselves.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-08 12:29:53 +02:00
Martin Storsjö
ae81576414 arm: fft_vfp: Add a missing "endconst" when building in thumb mode
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-08 12:29:49 +02:00
Martin Storsjö
29bc7bfba2 rtpproto: Write a warning if the input data written isn't RTP packetized
Tell the user that the RTP muxer needs to be used to packetize
the data - using the RTP protocol on its own isn't enough.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-08 11:59:12 +02:00
Carl Eugen Hoyos
3f24dacf81 configure: Let the libx264rgb encoder select the libx264 encoder.
Standalone compilation of the libx264rgb encoder does not work.
2014-12-08 10:43:12 +01:00
Benoit Fouet
4fa2758c79 avcodec/pngdec: check av_image_get_linesize return value
Fixes CID 1257012

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 04:58:00 +01:00
Rens Dijkshoorn
dceb8b1252 avformat/movenc: Add 2048x1080 to the aivx case
This improves compatibility of such files with apple tools

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 04:26:16 +01:00
Michael Niedermayer
208c03a4d8 Merge commit '6a880090cd75b6c31b5ee1f088b6578a293099c6'
* commit '6a880090cd75b6c31b5ee1f088b6578a293099c6':
  doc: Use the correct @subsection tag

See: cf3bfc970c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 02:20:00 +01:00
Michael Niedermayer
ef79bbeddd Merge commit '4fd7e63c87226584e60200b82630a6057c0a6663'
* commit '4fd7e63c87226584e60200b82630a6057c0a6663':
  mp3: Tweak the probe scores

Conflicts:
	libavformat/mp3dec.c

FFmpeg detects the file fine, and there is a non zero risk
that this change may lead to misdetections, thus not merged.
If someone has a mp3 file that is misdetected, please open a ticket

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 02:18:28 +01:00
Michael Niedermayer
dce10f8178 Merge commit '4f5906a1d7f4368cec43b224e8a675f54d2001d2'
* commit '4f5906a1d7f4368cec43b224e8a675f54d2001d2':
  latm: Do not give a score for a single instance

Conflicts:
	libavformat/rawdec.c

No change, the buggy case was not part of FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 01:39:43 +01:00
Michael Niedermayer
9bbb4a98fe Merge commit '71f29410e7c58f2ce4aef1d4b8d8d3c064c8ec06'
* commit '71f29410e7c58f2ce4aef1d4b8d8d3c064c8ec06':
  lavfi: Increase drawtext font size limits

Conflicts:
	libavfilter/vf_drawtext.c

See: b87d4c2b9f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 01:34:55 +01:00
Carl Eugen Hoyos
d9a4db657d Improve configure help text.
Show which features external libraries enable.
Fixes ticket #4157
2014-12-08 00:33:21 +01:00
Carl Eugen Hoyos
7502e1a3b7 Fix xcb 32bit pix_fmts: There is no screen transparency. 2014-12-08 00:31:01 +01:00
Michael Niedermayer
72c984432e avformat/matroskadec: request a sample with recursive seek heads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 22:45:34 +01:00
wm4
6551acab68 avformat/matroskadec: fix handling of recursive SeekHead elements
When matroska_execute_seekhead() is called, it goes through the list of
seekhead entries and attempts to read elements not read yet. When doing
this, the parser can find further SeekHead elements, and will extend the
matroska->seekhead list. This can lead to a (practically) infinite loop
with certain broken files. (Maybe it can happen even with valid files.
The demuxer doesn't seem to check correctly whether an element has
already been read.)

Fix this by ignoring elements that were added to the seekhead field
during executing seekhead entries.

This does not fix the possible situation when multiple SeekHead elements
after the file header (i.e. occur after the "before_pos" file position)
point to the same elements. These elements will probably be parsed
multiple times, likely leading to bugs.

Fixes ticket #4162.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 22:30:56 +01:00
Luca Barbato
6a880090cd doc: Use the correct @subsection tag
makeinfo would otherwise refuse to build it.
2014-12-07 21:50:47 +01:00
Luca Barbato
4fd7e63c87 mp3: Tweak the probe scores
Having more than 10 consecutive frames decoded as mp3 should be
considered a clear signal that the sample is mp3 and not mpegps.

Reported-By: Florian Iragne <florian@iragne.fr>
CC: libav-stable@libav.org
2014-12-07 21:50:47 +01:00
Michael Niedermayer
b1c8dfc84e doc/filters: Add ascii graphics to clarify what the currently implemented tinterlace modes do
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 20:41:35 +01:00
Michael Niedermayer
e65849a70b avformat/dashenc: make durations 64bit
Fix potential integer overflow
Fix CID1254944

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 20:07:26 +01:00
Michael Niedermayer
df6cdb23f0 avcodec/utils: Check AVFrame width/height in avcodec_encode_video2()
This is similar to the format check

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 17:47:44 +01:00
Daniel Moran
0ae37e460c avdevice/xcbgrab: Fix show_region rectangle
Fixes trac ticket #4164

This is to address an error when using show_region, which would cause part of the captured area to become static.
It looks like the rectangle specifying the capture area was relative to the capture window.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 16:13:30 +01:00
Clément Bœsch
6153aa2d1e avcodec/jacosubdec: check strftime return value
Fixes CID1257004
2014-12-07 15:46:17 +01:00
Luca Barbato
4f5906a1d7 latm: Do not give a score for a single instance
Bug-Id: 773
CC: libav-stable@libav.org
2014-12-07 13:15:03 +01:00
Михаил Муковников
71f29410e7 lavfi: Increase drawtext font size limits
Raise the maximum font size to a larger value.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-12-07 13:15:03 +01:00
Michael Niedermayer
ace9161655 avutil/opt: Check av_parse_video_rate()s return value
Fixes CID1257008

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 02:57:39 +01:00
Michael Niedermayer
eb74839caa avutil/opt: Check av_parse_color() return value
Fixes: CID1257007

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 02:46:25 +01:00
Michael Niedermayer
3393cd8545 avcodec/utils: check AVframe.format being set in avcodec_encode_video2()
We dont fail hard if its not set as the old API allowed this and our examples
did in the distant past not set it, these examples still work with the
current code and some encoders.

Based on suggestion by: funman
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 02:44:14 +01:00
Michael Niedermayer
74080ded96 avformat/mpeg: add commented out av_log() to probe
This is commonly needed for debugging mis-detections

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 22:38:38 +01:00
Michael Niedermayer
e15b29bb18 avformat/mpeg: do not count PES packets inside PES packets during probing
Fixes: misdetection of test2.mp3

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 22:34:10 +01:00
Michael Niedermayer
890d8f44fd avutil/buffer: add #if USE_ATOMICS around atomics specific functions to ensure sync types arent mixed by mistake
Fixes CID1257011

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 20:47:41 +01:00
Michael Niedermayer
a4f387bf56 avformat/mpegts: Warn if ffio_ensure_seekback() failed
Should silence CID1257005

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 20:37:16 +01:00
Michael Niedermayer
6be36ef3c1 avcodec/libxavs: disable global header code
This code only segfaults and fixing the segfault, the resulting
files are unplayable, so disable to avoid the segfault.

Better solution is welcome

See: [FFmpeg-devel] [PATCH] avcodec/libxavs: remove global header code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 19:02:32 +01:00
Michael Niedermayer
c149f67e9b avformat/apetag: More completely check avio_get_str() return value
This is not needed but its more proper to check the return value

Fixes CID1041122

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 17:12:49 +01:00
Michael Niedermayer
7ad742b224 avfilter/vf_signalstats: fix avframe leak on error
Fixes CID1257014
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 17:05:20 +01:00
Michael Niedermayer
8280b7db47 avfilter/buffersrc: add context to av_log() call
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 15:31:05 +01:00
Michael Niedermayer
1adc1b97e1 avcodec/hevc_ps: Add context to av_log() call
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 15:30:41 +01:00
Michael Niedermayer
b4ece54947 avfilter/avcodec: use NULL instead of 0 for pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 15:29:23 +01:00
Reynaldo H. Verdejo Pinochet
7cdc99707b ffserver_config: fix line width on fwd declarations
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-06 02:24:53 -03:00
Reynaldo H. Verdejo Pinochet
ac896f0cd1 ffserver_config: reflow _get_arg()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-06 02:24:53 -03:00
Reynaldo H. Verdejo Pinochet
da95fe4ef8 ffserver_config: reflow _parse_ffconfig()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-06 02:24:53 -03:00
Timothy Gu
4a27f05d14 doc: html: Use native viewport
Fixes displaying docs on small-screen devices.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 02:48:17 +01:00
Timothy Gu
cd6f0f28bc doc: Do not use the headings as links to TOC anchors
Instead, use FontAwesome icons (if configured to be this way) or separate
text.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 02:42:19 +01:00
Christian Suloway
1c639fa6e0 avformat/hlsenc: added segment filename option
This option allows segment filenames to be specified. Unless -hls_flags
single_file is set the filename is used as a string format with the
segment number.

Example:
ffmpeg -f lavfi -i testsrc -c:v h264 -map 0 -hls_segment_filename
bar%03d.ts foo.m3u8

Signed-off-by: Christian Suloway <csuloway@globaleagleent.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 02:28:23 +01:00
Michael Niedermayer
ce800d4695 avcodec/dvbsubdec: Remove redundant "DVBSub error" prefix
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 02:03:08 +01:00
Michael Niedermayer
1d048f762d Merge commit '9a738c27dceb4b975784b23213a46f5cb560d1c2'
* commit '9a738c27dceb4b975784b23213a46f5cb560d1c2':
  v210enc: Add SIMD optimised 8-bit and 10-bit encoders

Conflicts:
	libavcodec/v210enc.c
	libavcodec/v210enc.h
	libavcodec/x86/Makefile
	libavcodec/x86/v210enc.asm
	libavcodec/x86/v210enc_init.c
	tests/ref/vsynth/vsynth1-v210
	tests/ref/vsynth/vsynth2-v210

See: 36091742d1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 01:54:10 +01:00
Michael Niedermayer
e827f65618 Merge commit '33c827f632f95ffe3399b695a5a0d47b366b6e20'
* commit '33c827f632f95ffe3399b695a5a0d47b366b6e20':
  swscale: Properly scale YUV

Conflicts:
	libswscale/swscale_unscaled.c
	tests/ref/fate/filter-pixdesc-yuv420p10be
	tests/ref/fate/filter-pixdesc-yuv420p10le
	tests/ref/fate/filter-pixdesc-yuv420p9be
	tests/ref/fate/filter-pixdesc-yuv420p9le
	tests/ref/fate/filter-pixdesc-yuva420p10be
	tests/ref/fate/filter-pixdesc-yuva420p10le
	tests/ref/fate/filter-pixdesc-yuva420p9be
	tests/ref/fate/filter-pixdesc-yuva420p9le
	tests/ref/fate/filter-pixfmts-copy
	tests/ref/fate/filter-pixfmts-null
	tests/ref/fate/filter-pixfmts-scale
	tests/ref/fate/filter-pixfmts-vflip

See: abe0b8e9f3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 01:30:08 +01:00
Michael Niedermayer
95482092b1 Merge commit '8c0a865ad96b9e8542051f75b0edc424cb73994e'
* commit '8c0a865ad96b9e8542051f75b0edc424cb73994e':
  mov: skip version and flags attributes in mov_read_chan()

See: 59d40fc7e6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 01:23:09 +01:00
Lukasz Marek
8616c5b75a lavc/options: fix leaks in avcodec_copy_context
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-06 01:01:15 +01:00
Michael Niedermayer
66f379da15 Merge commit 'b72727a5248f1ef02db99b378dce1eb48a46357a'
* commit 'b72727a5248f1ef02db99b378dce1eb48a46357a':
  lavc: mention that the parser callback never returns an error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 00:52:42 +01:00
Michael Niedermayer
03abf55f25 avformat/rmdec: Check for overflow in ff_rm_read_mdpr_codecdata()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 00:49:23 +01:00
Michael Niedermayer
50f9de59a0 avformat/rmdec: rm_read_extradata: add error message for oversized extradata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 00:49:20 +01:00
Michael Niedermayer
ef2f9073dd Merge commit '1c77ead1fb14d64e6798fc5e32af04abcb3cebb4'
* commit '1c77ead1fb14d64e6798fc5e32af04abcb3cebb4':
  rm: Use the correct codec_data_size signedness

Conflicts:
	libavformat/rm.h
	libavformat/rmdec.c

See: a6f730730b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 00:48:47 +01:00
Michael Niedermayer
a0d0799ea2 Merge commit '1eec9bfc383f6dca29d83a2bfb45433dd66561c9'
* commit '1eec9bfc383f6dca29d83a2bfb45433dd66561c9':
  APIchanges: mark the release 11 branch point

Conflicts:
	doc/APIchanges

Not merged as the contents in our APIchanges differ and it could be confusing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 00:37:25 +01:00
Lukasz Marek
53b2809f2c lavc/options: don't copy priv context when it is not AVOption object
This prevents potential crash when opt API is used without a class.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-06 00:05:18 +01:00
Michael Niedermayer
95f719fb8f Merge commit '69c1fe7c9c9bc85eebfc02c6a19caf7e88cd74ff'
* commit '69c1fe7c9c9bc85eebfc02c6a19caf7e88cd74ff':
  mkv: Validate ASS Start and End fields

Conflicts:
	libavformat/matroskaenc.c

No change as the changed code is not in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 23:32:40 +01:00
Michael Niedermayer
fa4c3130ee Merge commit '7834a54c66d46471b246b411627efe2e8ef9dd47'
* commit '7834a54c66d46471b246b411627efe2e8ef9dd47':
  configure: enable vda hwaccel by default

Conflicts:
	configure

See: 942cded690
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 23:20:47 +01:00
Michael Niedermayer
d94a475c59 Merge commit '894545cb717427a47f800dc7738b923afde139a6'
* commit '894545cb717427a47f800dc7738b923afde139a6':
  mpegvideo: exit cleanly when ff_mpv_common_frame_size_change() fails

See: cfce6f7efd
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 23:08:40 +01:00
Michael Niedermayer
2e59e6ff68 Merge commit '7a38987f245e3c280d81442f207b983333b6233c'
* commit '7a38987f245e3c280d81442f207b983333b6233c':
  mpegvideo: free_context_frame() cannot fail, make it return void

See: 94c61cd9ae
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 23:07:20 +01:00
Michael Niedermayer
9222a176e1 Merge commit 'c45eeb2dbf42382d335da8068231a8026c08843b'
* commit 'c45eeb2dbf42382d335da8068231a8026c08843b':
  mpegvideo: replace assert about interlaced EC with debug av_log()

Conflicts:
	libavcodec/mpegvideo.c

See: c88bbc01eb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 22:48:47 +01:00
Michael Niedermayer
9d921cce4f Merge commit '3a56bcee7cb7549b2813e39ce3bee3b7c522aecb'
* commit '3a56bcee7cb7549b2813e39ce3bee3b7c522aecb':
  mpeg12dec: Use more specific error codes

Conflicts:
	libavcodec/mpeg12dec.c

See: 1852b2a0f4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 22:21:56 +01:00
Michael Niedermayer
bcc43de51f Merge commit 'b56afb48aecb96e03347f5b569f16a64147c18b1'
* commit 'b56afb48aecb96e03347f5b569f16a64147c18b1':
  mpeg12dec: Print error/warning messages on issues in mpeg1_decode_sequence()

Conflicts:
	libavcodec/mpeg12dec.c

See: 88b4c1a731
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 22:10:12 +01:00
Michael Niedermayer
81f116d31c Merge commit 'e0bb74a1403ed77ef369b9d62866f8a4afaf3f1d'
* commit 'e0bb74a1403ed77ef369b9d62866f8a4afaf3f1d':
  exr: Add a gamma flag to exr loader to avoid banding

Conflicts:
	libavcodec/exr.c

See: cd3daad77e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 21:58:33 +01:00
Michael Niedermayer
47c066f22e Merge commit 'd69d787dad77f62c89cbc7ea5d301641f45f36e3'
* commit 'd69d787dad77f62c89cbc7ea5d301641f45f36e3':
  h264: proper cleanup in ff_h264_alloc_tables() if DPB alloc fails

See: 949057c958
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 21:43:24 +01:00
Michael Niedermayer
7a64f16841 Merge commit '56de2897a68e3a8795b0b3c593dad1c5832696e0'
* commit '56de2897a68e3a8795b0b3c593dad1c5832696e0':
  h264: Fix memory leak on ff_h264_decode_init() failure

Conflicts:
	libavcodec/h264.c

See: 309a931a38
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 21:41:01 +01:00
Michael Niedermayer
4ba0141921 avcodec/dvbsubdec: Pass context to av_log()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 20:33:57 +01:00
Michael Niedermayer
b0ae362a21 avcodec/golomb: use NULL for pointers instead of 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 20:27:04 +01:00
Piotr Fusik
c99e5191ab doc/examples/filtering_video: fix frame rate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 16:52:19 +01:00
Rafaël Carré
57bfafe76b avformat/mpegts: fix Opus stream count
That number represents the number of streams, not the number of channels

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 16:00:11 +01:00
Kieran Kunhya
9a738c27dc v210enc: Add SIMD optimised 8-bit and 10-bit encoders
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-05 13:03:49 +00:00
Derek Buitenhuis
33c827f632 swscale: Properly scale YUV
Only shift limited range luma, and always only shift chroma
for upconversion.

Based off a patch by Michael Niedermayer.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-12-05 13:03:49 +00:00
Matthieu Bouron
8c0a865ad9 mov: skip version and flags attributes in mov_read_chan()
Fixes decting channel layout for files with uncommon audio, such as
FL and FR in two separate streams. Introduced in 3bab7cd.

CC: libav-devel@libav.org
Sample-Id: ticket1474.mov
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-05 13:03:49 +00:00
Michael Niedermayer
a7ebd0b011 avcodec/mpegaudiodec_template: only allocate fdsp when its used
Fixes memleak

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 04:27:49 +01:00
Lukasz Marek
4a0b1d9245 lavc/libxvid: workaround for bug in libxvidcore
libxvidcore calculate number of threads basing on video height.
If height is small enough it allocates 0 bytes long memory and
writes to it.
Setting thread_count to 0 uses 1 thread and skips bugged code.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 03:29:28 +01:00
Vittorio Giovara
b72727a524 lavc: mention that the parser callback never returns an error 2014-12-05 00:44:42 +00:00
Mark Reid
4f69477870 libavformat/mxfdec.c refactor resolving MultiDescriptor and remove essence group hack
I think this is a better way to deal with single frame essence data then my
previous way.

Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 23:31:37 +01:00
Steve Jiekak
a32c3c2392 replaced av_dv_codec_profile by av_dv_codec_profile2 in encoder and dv muxers
Signed-off-by: Steve Jiekak <devaureshy@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 20:24:00 +01:00
Steve Jiekak
6e9ac02af8 add av_dv_codec_profile2 : uses framerate to select best matching profile. default on first matching profile
Signed-off-by: Steve Jiekak <devaureshy@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 20:23:52 +01:00
Michael Niedermayer
bde27e1e61 doc/examples/transcoding: check encoder before using it
Fixes null pointer exception

Found-by: stoupeace
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 18:58:38 +01:00
Michael Niedermayer
cbf09545f2 avcodec/imc: only check remaining bits in case bits will be read
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 18:24:50 +01:00
Christophe Gisquet
291747581e imc: make issue non-fatal
The "faulty" samples actually sound fine when ignoring this issue.

For ticket #3886, more samples are decoded.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 18:24:33 +01:00
Benoit Fouet
0f6931f4b6 avcodec/pngdec: use memcpy instead of byte loops for P frames.
Rely on the way memcpy is optimized for one's system instead of looping
on a byte buffer for buffer copies to handle P frames.

Tested-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 17:01:04 +01:00
Michael Niedermayer
a4f21a8dd9 MAINTAINERS: add 2.5
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 14:24:59 +01:00
Luca Barbato
1c77ead1fb rm: Use the correct codec_data_size signedness
The function takes a size and not an offset.

CC: libav-stable@libav.org
Sample-Id: rm_deadlock.rm

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-12-04 13:14:28 +00:00
Rong Yan
d23e883248 avcodec/ppc/vp8dsp_altivec.c: POWER LE support put_vp8_epel_h_altivec_core() put_vp8_epel_v_altivec_core() put_vp8_pixels16_altivec() add marcos GET_PIXHL() GET_OUTER() LOAD_HL()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 13:35:06 +01:00
Rong Yan
36cd2bcbc3 avcodec/ppc/vc1dsp_altivec: add POWER LE support to vc1_inv_trans_8x4_altivec()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 11:47:23 +01:00
Timothy Gu
af14ae8037 RELEASE: Bump
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 11:44:35 +01:00
Michael Niedermayer
5fe026f2bd avcodec/aacdec: reduce noisiness of missing channel elements
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 01:52:32 +01:00
Michael Niedermayer
8d87c0b3ad Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix standalone compilation of the iec61883 input device.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 01:52:01 +01:00
Carl Eugen Hoyos
963aa1daf8 Fix standalone compilation of the iec61883 input device. 2014-12-04 01:35:47 +01:00
Michael Niedermayer
0f16ab18db doc/APIchanges: add 2.5 cut marker
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 01:28:40 +01:00
Michael Niedermayer
f478bdabf2 Changelog: add 2.5 entry
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 01:28:06 +01:00
wm4
1eec9bfc38 APIchanges: mark the release 11 branch point 2014-12-03 15:13:36 +00:00
Luca Barbato
69c1fe7c9c mkv: Validate ASS Start and End fields
CC: libav-stable@libav.org
2014-12-03 13:08:41 +00:00
Vittorio Giovara
7834a54c66 configure: enable vda hwaccel by default
Following the old thread suggestions.
Vittorio
2014-12-03 12:54:23 +00:00
Michael Niedermayer
894545cb71 mpegvideo: exit cleanly when ff_mpv_common_frame_size_change() fails
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-03 12:52:53 +00:00
Michael Niedermayer
7a38987f24 mpegvideo: free_context_frame() cannot fail, make it return void
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 12:52:04 +00:00
Michael Niedermayer
c45eeb2dbf mpegvideo: replace assert about interlaced EC with debug av_log()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 12:51:43 +00:00
Michael Niedermayer
3a56bcee7c mpeg12dec: Use more specific error codes
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-03 12:50:52 +00:00
Michael Niedermayer
b56afb48ae mpeg12dec: Print error/warning messages on issues in mpeg1_decode_sequence()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 12:44:58 +00:00
Gonzalo Garramuno
e0bb74a140 exr: Add a gamma flag to exr loader to avoid banding
This is needed to avoid banding artifacts when gammaing the picture.
Currently, if done with a video filter, the process is done on uints
instead of full float.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-03 02:55:40 +00:00
Michael Niedermayer
d69d787dad h264: proper cleanup in ff_h264_alloc_tables() if DPB alloc fails
CC: libav-devel@libav.org
2014-12-03 02:51:27 +00:00
Dale Curtis
56de2897a6 h264: Fix memory leak on ff_h264_decode_init() failure
CC: libav-devel@libav.org
2014-12-03 02:51:18 +00:00
1987 changed files with 130380 additions and 46937 deletions

2
.gitignore vendored
View File

@@ -36,6 +36,7 @@
/doc/avoptions_codec.texi
/doc/avoptions_format.texi
/doc/doxy/html/
/doc/examples/avio_list_dir
/doc/examples/avio_reading
/doc/examples/decoding_encoding
/doc/examples/demuxing_decoding
@@ -83,6 +84,7 @@
/tools/pktdumper
/tools/probetest
/tools/qt-faststart
/tools/sidxindex
/tools/trasher
/tools/seek_print
/tools/uncoded_frame

364
Changelog
View File

@@ -1,7 +1,365 @@
Entries are sorted chronologically from oldest to youngest within each release,
releases are sorted from youngest to oldest.
version <next>:
version 2.7.5
- configure: bump copyright year to 2016
- avformat/hls: Even stricter URL checks
- avformat/hls: More strict url checks
- swscale/utils: Detect and skip unneeded sws_setColorspaceDetails() calls
- swscale/yuv2rgb: Increase YUV2RGB table headroom
- swscale/yuv2rgb: Factor YUVRGB_TABLE_LUMA_HEADROOM out
- avformat/hls: forbid all protocols except http(s) & file
- avformat/aviobuf: Fix end check in put_str16()
- avformat/asfenc: Check pts
- avcodec/mpeg4video: Check time_incr
- avcodec/wavpackenc: Check the number of channels
- avcodec/wavpackenc: Headers are per channel
- avcodec/aacdec_template: Check id_map
- avcodec/dvdec: Fix "left shift of negative value -254"
- avcodec/mjpegdec: Fix negative shift
- avcodec/mss2: Check for repeat overflow
- avformat: Add integer fps from 31 to 60 to get_std_framerate()
- avcodec/mpegvideo_enc: Clip bits_per_raw_sample within valid range
- avfilter/vf_scale: set proper out frame color range
- avcodec/motion_est: Fix mv_penalty table size
- avcodec/h264_slice: Fix integer overflow in implicit weight computation
- swscale/utils: Use normal bilinear scaler if fast cannot be used due to tiny dimensions
- avcodec/put_bits: Always check buffer end before writing
- mjpegdec: extend check for incompatible values of s->rgb and s->ls
- swscale/utils: Fix intermediate format for cascaded alpha downscaling
- x86/float_dsp: zero extend offset from ff_scalarproduct_float_sse
- avfilter/vf_zoompan: do not free frame we pushed to lavfi
version 2.7.4
- nuv: sanitize negative fps rate
- rawdec: only exempt BIT0 with need_copy from buffer sanity check
- mlvdec: check that index_entries exist
- nutdec: reject negative value_len in read_sm_data
- xwddec: prevent overflow of lsize * avctx->height
- nutdec: only copy the header if it exists
- exr: fix out of bounds read in get_code
- on2avc: limit number of bits to 30 in get_egolomb
- avcodec/mpeg4videodec: also for empty partitioned slices
- avcodec/h264_refs: Fix long_idx check
- avcodec/h264_mc_template: prefetch list1 only if it is used in the MB
- avcodec/h264_slice: Simplify ref2frm indexing
- Revert "avcodec/aarch64/neon.S: Update neon.s for transpose_4x4H"
- avfilter/vf_mpdecimate: Add missing emms_c()
- sonic: make sure num_taps * channels is not larger than frame_size
- opus_silk: fix typo causing overflow in silk_stabilize_lsf
- ffm: reject invalid codec_id and codec_type
- golomb: always check for invalid UE golomb codes in get_ue_golomb
- aaccoder: prevent crash of anmr coder
- ffmdec: reject zero-sized chunks
- swscale/x86/rgb2rgb_template: Fallback to mmx in interleaveBytes() if the alignment is insufficient for SSE*
- swscale/x86/rgb2rgb_template: Do not crash on misaligend stride
- avformat/mxfenc: Do not crash if there is no packet in the first stream
- avcodec/aarch64/neon.S: Update neon.s for transpose_4x4H
- avformat/utils: estimate_timings_from_pts - increase retry counter, fixes invalid duration for ts files with hevc codec
- avformat/matroskaenc: Check codecdelay before use
- avutil/mathematics: Fix division by 0
- mjpegdec: consider chroma subsampling in size check
- avcodec/hevc: Check max ctb addresses for WPP
- avcodec/vp3: ensure header is parsed successfully before tables
- avcodec/jpeg2000dec: Check bpno in decode_cblk()
- avcodec/pgssubdec: Fix left shift of 255 by 24 places cannot be represented in type int
- swscale/utils: Fix for runtime error: left shift of negative value -1
- avcodec/hevc: Fix integer overflow of entry_point_offset
- avcodec/dirac_parser: Check that there is a previous PU before accessing it
- avcodec/dirac_parser: Add basic validity checks for next_pu_offset and prev_pu_offset
- avcodec/dirac_parser: Fix potential overflows in pointer checks
- avcodec/wmaprodec: Check bits per sample to be within the range not causing integer overflows
- avcodec/wmaprodec: Fix overflow of cutoff
- avformat/smacker: fix integer overflow with pts_inc
- avcodec/vp3: Fix "runtime error: left shift of negative value"
- mpegencts: Fix overflow in cbr mode period calculations
- avutil/timecode: Fix fps check
- avutil/mathematics: return INT64_MIN (=AV_NOPTS_VALUE) from av_rescale_rnd() for overflows
- avcodec/apedec: Check length in long_filter_high_3800()
- avcodec/vp3: always set pix_fmt in theora_decode_header()
- avcodec/mpeg4videodec: Check available data before reading custom matrix
- avutil/mathematics: Do not treat INT64_MIN as positive in av_rescale_rnd
- avutil/integer: Fix av_mod_i() with negative dividend
- avformat/dump: Fix integer overflow in av_dump_format()
- avcodec/h264_refs: Check that long references match before use
- avcodec/utils: Clear dimensions in ff_get_buffer() on failure
- avcodec/utils: Use 64bit for aspect ratio calculation in avcodec_string()
- avcodec/vp3: Clear context on reinitialization failure
- avcodec/hevc: allocate entries unconditionally
- avcodec/hevc_cabac: Fix multiple integer overflows
- avcodec/jpeg2000dwt: Check ndeclevels before calling dwt_encode*()
- avcodec/jpeg2000dwt: Check ndeclevels before calling dwt_decode*()
- avcodec/hevc: Check entry_point_offsets
- avcodec/cabac: Check initial cabac decoder state
- avcodec/cabac_functions: Fix "left shift of negative value -31767"
- avcodec/h264_slice: Limit max_contexts when slice_context_count is initialized
- avcodec/vp8: Do not use num_coeff_partitions in thread/buffer setup
- avcodec/ffv1dec: Clear quant_table_count if its invalid
- avcodec/ffv1dec: Print an error if the quant table count is invalid
- doc/filters/drawtext: fix centering example
- hqx: correct type and size check of info_offset
- mxfdec: check edit_rate also for physical_track
- mpegvideo: clear overread in clear_context
- dvdsubdec: validate offset2 similar to offset1
- aacdec: don't return frames without data from aac_decode_er_frame
- avcodec/takdec: Use memove, avoid undefined memcpy() use
- riffdec: prevent negative bit rate
version 2.7.3:
- rtmpcrypt: Do the xtea decryption in little endian mode
- Update versions for 2.7.3
- avformat/matroskadec: Check subtitle stream before dereferencing
- avformat/utils: Do not init parser if probing is unfinished
- avcodec/jpeg2000dec: Fix potential integer overflow with tile dimensions
- avcodec/jpeg2000dec: Check SIZ dimensions to be within the supported range
- avcodec/jpeg2000: Check comp coords to be within the supported size
- avcodec/jpeg2000: Use av_image_check_size() in ff_jpeg2000_init_component()
- avcodec/wmaprodec: Check for overread in decode_packet()
- avcodec/smacker: Check that the data size is a multiple of a sample vector
- avcodec/takdec: Skip last p2 sample (which is unused)
- avcodec/dxtory: Fix input size check in dxtory_decode_v1_410()
- avcodec/dxtory: Fix input size check in dxtory_decode_v1_420()
- avcodec/error_resilience: avoid accessing previous or next frames tables beyond height
- avcodec/dpx: Move need_align to act per line
- avcodec/flashsv: Check size before updating it
- avcodec/ivi: Check image dimensions
- avcodec/utils: Better check for channels in av_get_audio_frame_duration()
- avcodec/jpeg2000dec: Check for duplicate SIZ marker
- tests/fate/avformat: Fix fate-lavf
- doc/ffmpeg: Clarify that the sdp_file option requires an rtp output.
- ffmpeg: Don't try and write sdp info if none of the outputs had an rtp format.
- apng: use correct size for output buffer
- jvdec: avoid unsigned overflow in comparison
- avcodec/hevc_ps: Check chroma_format_idc
- avcodec/jpeg2000dec: Clip all tile coordinates
- avcodec/microdvddec: Check for string end in 'P' case
- avcodec/dirac_parser: Fix undefined memcpy() use
- avformat/xmv: Discard remainder of packet on error
- avformat/xmv: factor return check out of if/else
- avcodec/mpeg12dec: Do not call show_bits() with invalid bits
- libavutil/channel_layout: Check strtol*() for failure
- avcodec/ffv1dec: Check for 0 quant tables
- avcodec/mjpegdec: Reinitialize IDCT on BPP changes
- avcodec/mjpegdec: Check index in ljpeg_decode_yuv_scan() before using it
- avutil/file_open: avoid file handle inheritance on Windows
- avcodec/h264_slice: Disable slice threads if there are multiple access units in a packet
- opusdec: Don't run vector_fmul_scalar on zero length arrays
- avcodec/ffv1: Initialize vlc_state on allocation
- avcodec/ffv1dec: update progress in case of broken pointer chains
- avcodec/ffv1dec: Clear slice coordinates if they are invalid or slice header decoding fails for other reasons
- avformat/httpauth: Add space after commas in HTTP/RTSP auth header
- avcodec/x86/sbrdsp: Fix using uninitialized upper 32bit of noise
- avcodec/ffv1dec: Fix off by 1 error in quant_table_count check
- avcodec/ffv1dec: Explicitly check read_quant_table() return value
- avcodec/rangecoder: Check e
- avutil/log: fix zero length gnu_printf format string warning
- lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream.
- avcodec/mjpegdec: Fix decoding RGBA RCT LJPEG
- avfilter/af_asyncts: use llabs for int64_t
- avcodec/g2meet: Also clear tile dimensions on header_fail
- avcodec/g2meet: Fix potential overflow in tile dimensions check
- avcodec/svq1dec: Check init_get_bits8() for failure
- avcodec/tta: Check init_get_bits8() for failure
- avcodec/vp3: Check init_get_bits8() for failure
- swresample/swresample: Fix integer overflow in seed calculation
- avformat/mov: Fix integer overflow in FFABS
- avutil/common: Add FFNABS()
- avutil/common: Document FFABS() corner case
- avformat/dump: Fix integer overflow in aspect ratio calculation
- avformat/mxg: Use memmove()
- avcodec/truemotion1: Check for even width
- avcodec/mpeg12dec: Set dimensions in mpeg1_decode_sequence() only in absence of errors
- avcodec/libopusenc: Fix infinite loop on flushing after 0 input
- avformat/hevc: Check num_long_term_ref_pics_sps to avoid potentially long loops
- avformat/hevc: Fix parsing errors
- ffmpeg: Use correct codec_id for av_parser_change() check
- ffmpeg: Check av_parser_change() for failure
- ffmpeg: Check for RAWVIDEO and do not relay only on AVFMT_RAWPICTURE
- ffmpeg: check avpicture_fill() return value
- avformat/mux: Update sidedata in ff_write_chained()
- avcodec/flashsvenc: Correct max dimension in error message
- avcodec/svq1enc: Check dimensions
- avcodec/dcaenc: clear bitstream end
- libavcodec/aacdec_template: Use init_get_bits8() in aac_decode_frame()
- rawdec: fix mjpeg probing buffer size check
- rawdec: fix mjpeg probing
- configure: loongson disable expensive optimizations in gcc O3 optimization
- videodsp: don't overread edges in vfix3 emu_edge.
- avformat/mp3dec: improve junk skipping heuristic
- avformat/hls: add support for EXT-X-MAP
- avformat/hls: fix segment selection regression on track changes of live streams
- lavf/matroskadec: Fully parse and repack MP3 packets
- avcodec/h264_mp4toannexb_bsf: Reorder operations in nal_size check
- avformat/oggenc: Check segments_count for headers too
- avformat/segment: atomically update list if possible
- avformat/avidec: Workaround broken initial frame
- hevc: properly handle no_rasl_output_flag when removing pictures from the DPB
- hevc: fix wpp threading deadlock.
- avcodec/ffv1: separate slice_count from max_slice_count
- lavf/img2dec: Fix memory leak
- avcodec/mp3: fix skipping zeros
- avformat/srtdec: make sure we probe a number
- avformat/srtdec: more lenient first line probing
- doc: mention libavcodec can decode Opus natively
- avcodec/ffv1enc: fix assertion failure with unset bits per raw sample
- MAINTAINERS: Remove myself as leader
- mips/hevcdsp: fix string concatenation on macros
version 2.7.2:
- imc: use correct position for flcoeffs2 calculation
- hevc: check slice address length
- snow: remove an obsolete av_assert2
- webp: fix infinite loop in webp_decode_frame
- wavpack: limit extra_bits to 32 and use get_bits_long
- ffmpeg: only count got_output/errors in decode_error_stat
- ffmpeg: exit_on_error if decoding a packet failed
- pthread_frame: forward error codes when flushing
- huffyuvdec: validate image size
- wavpack: use get_bits_long to read up to 32 bits
- nutdec: check maxpos in read_sm_data before returning success
- s302m: fix arithmetic exception
- vc1dec: use get_bits_long and limit the read bits to 32
- mpegaudiodec: copy AVFloatDSPContext from first context to all contexts
- avcodec/vp8: Check buffer size in vp8_decode_frame_header()
- avcodec/vp8: Fix null pointer dereference in ff_vp8_decode_free()
- avcodec/diracdec: Check for hpel_base allocation failure
- avcodec/rv34: Clear pointers in ff_rv34_decode_init_thread_copy()
- avfilter/af_aresample: Check ff_all_* for allocation failures
- avcodec/pthread_frame: clear priv_data, avoid stale pointer in error case
- swscale/utils: Clear pix buffers
- avutil/fifo: Fix the case where func() returns less bytes than requested in av_fifo_generic_write()
- ffmpeg: Fix cleanup after failed allocation of output_files
- avformat/mov: Fix deallocation when MOVStreamContext failed to allocate
- ffmpeg: Fix crash with ost->last_frame allocation failure
- ffmpeg: Fix cleanup with ost = NULL
- avcodec/pthread_frame: check avctx on deallocation
- avcodec/sanm: Reset sizes in destroy_buffers()
- avcodec/alac: Clear pointers in allocate_buffers()
- bytestream2: set the reader to the end when reading more than available
- avcodec/utils: use a minimum 32pixel width in avcodec_align_dimensions2() for H.264
- avcodec/mpegvideo: Clear pointers in ff_mpv_common_init()
- oggparsedirac: check return value of init_get_bits
- wmalosslessdec: reset frame->nb_samples on packet loss
- wmalosslessdec: avoid reading 0 bits with get_bits
- Put a space between string literals and macros.
- avcodec/rawenc: Use ff_alloc_packet() instead of ff_alloc_packet2()
- avcodec/aacsbr: check that the element type matches before applying SBR
- avcodec/h264_slice: Use w/h from the AVFrame instead of mb_w/h
- vp9/update_prob: prevent out of bounds table read
- avfilter/vf_transpose: Fix rounding error
- avcodec/h264_refs: discard mismatching references
- avcodec/mjpegdec: Fix small picture upscale
- avcodec/pngdec: Check values before updating context in decode_fctl_chunk()
- avcodec/pngdec: Copy IHDR & plte state from last thread
- avcodec/pngdec: Require a IHDR chunk before fctl
- avcodec/pngdec: Only allow one IHDR chunk
- wmavoice: limit wmavoice_decode_packet return value to packet size
- swscale/swscale_unscaled: Fix rounding difference with RGBA output between little and big endian
- ffmpeg: Do not use the data/size of a bitstream filter after failure
- swscale/x86/rgb2rgb_template: fix signedness of v in shuffle_bytes_2103_{mmx,mmxext}
- vda: unlock the pixel buffer base address.
- swscale/rgb2rgb_template: Fix signedness of v in shuffle_bytes_2103_c()
- swscale/rgb2rgb_template: Implement shuffle_bytes_0321_c and fix shuffle_bytes_2103_c on BE
- swscale/rgb2rgb_template: Disable shuffle_bytes_2103_c on big endian
- swr: Remember previously set int_sample_format from user
- swresample: soxr implementation for swr_get_out_samples()
- avformat/swfdec: Do not error out on pixel format changes
- ffmpeg_opt: Fix forcing fourccs
- configure: Check for x265_api_get
- swscale/x86/rgb2rgb_template: don't call emms on sse2/avx functions
- swscale/x86/rgb2rgb_template: add missing xmm clobbers
- library.mak: Workaround SDL redefining main and breaking fate tests on mingw
- vaapi_h264: fix RefPicList[] field flags.
version 2.7.1:
- postproc: fix unaligned access
- avformat: clarify what package needs to be compiled with SSL support
- avcodec/libx264: Avoid reconfig on equivalent aspect ratios
- avcodec/flacenc: Fix Invalid Rice order
- tls_gnutls: fix hang on disconnection
- avcodec/hevc_ps: Only discard overread VPS if a previous is available
- ffmpeg: Free last_frame instead of just unref
- avcodec/ffv1enc: fix bps for >8bit yuv when not explicitly set
- avio: fix potential crashes when combining ffio_ensure_seekback + crc
- examples/demuxing_decoding: use properties from frame instead of video_dec_ctx
- h264: er: Copy from the previous reference only if compatible
- doc: fix spelling errors
- configure: only disable VSX for !ppc64el
- ffmpeg_opt: Check for localtime() failure
- avformat/singlejpeg: fix standalone compilation
- configure: Disable VSX on unspecified / generic CPUs
- avformat: Fix bug in parse_rps for HEVC.
- takdec: ensure chan2 is a valid channel index
- avcodec/h264_slice: Use AVFrame dimensions for grayscale handling
version 2.7:
- FFT video filter
- TDSC decoder
- DTS lossless extension (XLL) decoding (not lossless, disabled by default)
- showwavespic filter
- DTS decoding through libdcadec
- Drop support for nvenc API before 5.0
- nvenc HEVC encoder
- Detelecine filter
- Intel QSV-accelerated H.264 encoding
- MMAL-accelerated H.264 decoding
- basic APNG encoder and muxer with default extension "apng"
- unpack DivX-style packed B-frames in MPEG-4 bitstream filter
- WebM Live Chunk Muxer
- nvenc level and tier options
- chorus filter
- Canopus HQ/HQA decoder
- Automatically rotate videos based on metadata in ffmpeg
- improved Quickdraw compatibility
- VP9 high bit-depth and extended colorspaces decoding support
- WebPAnimEncoder API when available for encoding and muxing WebP
- Direct3D11-accelerated decoding
- Support Secure Transport
- Multipart JPEG demuxer
version 2.6:
- nvenc encoder
- 10bit spp filter
- colorlevels filter
- RIFX format for *.wav files
- RTP/mpegts muxer
- non continuous cache protocol support
- tblend filter
- cropdetect support for non 8bpp, absolute (if limit >= 1) and relative (if limit < 1.0) threshold
- Camellia symmetric block cipher
- OpenH264 encoder wrapper
- VOC seeking support
- Closed caption Decoder
- fspp, uspp, pp7 MPlayer postprocessing filters ported to native filters
- showpalette filter
- Twofish symmetric block cipher
- Support DNx100 (960x720@8)
- eq2 filter ported from libmpcodecs as eq filter
- removed libmpcodecs
- Changed default DNxHD colour range in QuickTime .mov derivatives to mpeg range
- ported softpulldown filter from libmpcodecs as repeatfields filter
- dcshift filter
- RTP depacketizer for loss tolerant payload format for MP3 audio (RFC 5219)
- RTP depacketizer for AC3 payload format (RFC 4184)
- palettegen and paletteuse filters
- VP9 RTP payload format (draft 0) experimental depacketizer
- RTP depacketizer for DV (RFC 6469)
- DXVA2-accelerated HEVC decoding
- AAC ELD 480 decoding
- Intel QSV-accelerated H.264 decoding
- DSS SP decoder and DSS demuxer
- Fix stsd atom corruption in DNxHD QuickTimes
- Canopus HQX decoder
- RTP depacketization of T.140 text (RFC 4103)
- Port MIPS optimizations to 64-bit
version 2.5:
- HEVC/H.265 RTP payload format (draft v6) packetizer
- SUP/PGS subtitle demuxer
- ffprobe -show_pixel_formats option
@@ -27,7 +385,7 @@ version 2.4:
- ICY metadata are now requested by default with the HTTP protocol
- support for using metadata in stream specifiers in fftools
- LZMA compression support in TIFF decoder
- support for H.261 RTP payload format (RFC 4587)
- H.261 RTP payload format (RFC 4587) depacketizer and experimental packetizer
- HEVC/H.265 RTP payload format (draft v6) depacketizer
- added codecview filter to visualize information exported by some codecs
- Matroska 3D support thorugh side data
@@ -507,7 +865,7 @@ easier to use. The changes are:
all the stream in the first input file, except for the second audio
stream'.
* There is a new option -c (or -codec) for choosing the decoder/encoder to
use, which allows to precisely specify target stream(s) consistently with
use, which makes it possible to precisely specify target stream(s) consistently with
other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
libvorbis sets the codec for the first audio stream and -c copy copies all
the streams without reencoding. Old -vcodec/-acodec/-scodec options are now

View File

@@ -1,70 +1,75 @@
#FFmpeg:
Most files in FFmpeg are under the GNU Lesser General Public License version 2.1
or later (LGPL v2.1+). Read the file COPYING.LGPLv2.1 for details. Some other
or later (LGPL v2.1+). Read the file `COPYING.LGPLv2.1` for details. Some other
files have MIT/X11/BSD-style licenses. In combination the LGPL v2.1+ applies to
FFmpeg.
Some optional parts of FFmpeg are licensed under the GNU General Public License
version 2 or later (GPL v2+). See the file COPYING.GPLv2 for details. None of
these parts are used by default, you have to explicitly pass --enable-gpl to
version 2 or later (GPL v2+). See the file `COPYING.GPLv2` for details. None of
these parts are used by default, you have to explicitly pass `--enable-gpl` to
configure to activate them. In this case, FFmpeg's license changes to GPL v2+.
Specifically, the GPL parts of FFmpeg are:
- libpostproc
- libmpcodecs
- optional x86 optimizations in the files
libavcodec/x86/flac_dsp_gpl.asm
libavcodec/x86/idct_mmx.c
- `libavcodec/x86/flac_dsp_gpl.asm`
- `libavcodec/x86/idct_mmx.c`
- libutvideo encoding/decoding wrappers in
libavcodec/libutvideo*.cpp
- the X11 grabber in libavdevice/x11grab.c
`libavcodec/libutvideo*.cpp`
- the X11 grabber in `libavdevice/x11grab.c`
- the swresample test app in
libswresample/swresample-test.c
- the texi2pod.pl tool
`libswresample/swresample-test.c`
- the `texi2pod.pl` tool
- the following filters in libavfilter:
- f_ebur128.c
- vf_blackframe.c
- vf_boxblur.c
- vf_colormatrix.c
- vf_cropdetect.c
- vf_decimate.c
- vf_delogo.c
- vf_geq.c
- vf_histeq.c
- vf_hqdn3d.c
- vf_interlace.c
- vf_kerndeint.c
- vf_mcdeint.c
- vf_mp.c
- vf_owdenoise.c
- vf_perspective.c
- vf_phase.c
- vf_pp.c
- vf_pullup.c
- vf_sab.c
- vf_smartblur.c
- vf_spp.c
- vf_stereo3d.c
- vf_super2xsai.c
- vf_tinterlace.c
- vsrc_mptestsrc.c
- `f_ebur128.c`
- `vf_blackframe.c`
- `vf_boxblur.c`
- `vf_colormatrix.c`
- `vf_cover_rect.c`
- `vf_cropdetect.c`
- `vf_delogo.c`
- `vf_eq.c`
- `vf_find_rect.c`
- `vf_fspp.c`
- `vf_geq.c`
- `vf_histeq.c`
- `vf_hqdn3d.c`
- `vf_interlace.c`
- `vf_kerndeint.c`
- `vf_mcdeint.c`
- `vf_mpdecimate.c`
- `vf_owdenoise.c`
- `vf_perspective.c`
- `vf_phase.c`
- `vf_pp.c`
- `vf_pp7.c`
- `vf_pullup.c`
- `vf_sab.c`
- `vf_smartblur.c`
- `vf_repeatfields.c`
- `vf_spp.c`
- `vf_stereo3d.c`
- `vf_super2xsai.c`
- `vf_tinterlace.c`
- `vf_uspp.c`
- `vsrc_mptestsrc.c`
Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then
the configure parameter --enable-version3 will activate this licensing option
for you. Read the file COPYING.LGPLv3 or, if you have enabled GPL parts,
COPYING.GPLv3 to learn the exact legal terms that apply in this case.
the configure parameter `--enable-version3` will activate this licensing option
for you. Read the file `COPYING.LGPLv3` or, if you have enabled GPL parts,
`COPYING.GPLv3` to learn the exact legal terms that apply in this case.
There are a handful of files under other licensing terms, namely:
* The files libavcodec/jfdctfst.c, libavcodec/jfdctint_template.c and
libavcodec/jrevdct.c are taken from libjpeg, see the top of the files for
* The files `libavcodec/jfdctfst.c`, `libavcodec/jfdctint_template.c` and
`libavcodec/jrevdct.c` are taken from libjpeg, see the top of the files for
licensing details. Specifically note that you must credit the IJG in the
documentation accompanying your program if you only distribute executables.
You must also indicate any changes including additions and deletions to
those three files in the documentation.
tests/reference.pnm is under the expat license
* `tests/reference.pnm` is under the expat license.
external libraries
@@ -77,21 +82,22 @@ compatible libraries
--------------------
The following libraries are under GPL:
- frei0r
- libcdio
- libutvideo
- libvidstab
- libx264
- libx265
- libxavs
- libxvid
- frei0r
- libcdio
- libutvideo
- libvidstab
- libx264
- libx265
- libxavs
- libxvid
When combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by
passing --enable-gpl to configure.
passing `--enable-gpl` to configure.
The OpenCORE and VisualOn libraries are under the Apache License 2.0. That
license is incompatible with the LGPL v2.1 and the GPL v2, but not with
version 3 of those licenses. So to combine these libraries with FFmpeg, the
license version needs to be upgraded by passing --enable-version3 to configure.
license version needs to be upgraded by passing `--enable-version3` to configure.
incompatible libraries
----------------------
@@ -99,7 +105,7 @@ incompatible libraries
The Fraunhofer AAC library, FAAC and aacplus are under licenses which
are incompatible with the GPLv2 and v3. We do not know for certain if their
licenses are compatible with the LGPL.
If you wish to enable these libraries, pass --enable-nonfree to configure.
If you wish to enable these libraries, pass `--enable-nonfree` to configure.
But note that if you enable any of these libraries the resulting binary will
be under a complex license mix that is more restrictive than the LGPL and that
may result in additional obligations. It is possible that these

View File

@@ -14,7 +14,6 @@ patches and related discussions.
Project Leader
==============
Michael Niedermayer
final design decisions
@@ -45,7 +44,7 @@ Miscellaneous Areas
documentation Stefano Sabatini, Mike Melanson, Timothy Gu
build system (configure, makefiles) Diego Biurrun, Mans Rullgard
project server Árpád Gereöffy, Michael Niedermayer, Reimar Doeffinger, Alexander Strasser
project server Árpád Gereöffy, Michael Niedermayer, Reimar Doeffinger, Alexander Strasser, Lou Logan
presets Robert Swain
metadata subsystem Aurelien Jacobs
release management Michael Niedermayer
@@ -59,7 +58,7 @@ fate.ffmpeg.org Timothy Gu
Trac bug tracker Alexander Strasser, Michael Niedermayer, Carl Eugen Hoyos, Lou Logan
mailing lists Michael Niedermayer, Baptiste Coudurier, Lou Logan
Google+ Paul B Mahol, Michael Niedermayer, Alexander Strasser
Twitter Lou Logan
Twitter Lou Logan, Reynaldo H. Verdejo Pinochet
Launchpad Timothy Gu
@@ -156,6 +155,7 @@ Codecs:
celp_filters.* Vitor Sessak
cinepak.c Roberto Togni
cinepakenc.c Rl / Aetey G.T. AB
ccaption_dec.c Anshul Maheshwari
cljr Alex Beregszaszi
cllc.c Derek Buitenhuis
cook.c, cookdata.h Benjamin Larsson
@@ -165,6 +165,7 @@ Codecs:
dca.c Kostya Shishkov, Benjamin Larsson
dnxhd* Baptiste Coudurier
dpcm.c Mike Melanson
dss_sp.c Oleksij Rempel, Michael Niedermayer
dv.c Roman Shaposhnik
dvbsubdec.c Anshul Maheshwari
dxa.c Kostya Shishkov
@@ -226,6 +227,7 @@ Codecs:
msvideo1.c Mike Melanson
nellymoserdec.c Benjamin Larsson
nuv.c Reimar Doeffinger
nvenc.c Timo Rothenpieler
paf.* Paul B Mahol
pcx.c Ivo van Poorten
pgssubdec.c Reimar Doeffinger
@@ -399,6 +401,7 @@ Muxers/Demuxers:
cdxl.c Paul B Mahol
crc.c Michael Niedermayer
daud.c Reimar Doeffinger
dss.c Oleksij Rempel, Michael Niedermayer
dtshddec.c Paul B Mahol
dv.c Roman Shaposhnik
dxa.c Kostya Shishkov
@@ -463,9 +466,13 @@ Muxers/Demuxers:
rmdec.c, rmenc.c Ronald S. Bultje, Kostya Shishkov
rtmp* Kostya Shishkov
rtp.c, rtpenc.c Martin Storsjo
rtpdec_ac3.* Gilles Chanteperdrix
rtpdec_dv.* Thomas Volkert
rtpdec_h261.*, rtpenc_h261.* Thomas Volkert
rtpdec_hevc.*, rtpenc_hevc.* Thomas Volkert
rtpdec_mpa_robust.* Gilles Chanteperdrix
rtpdec_asf.* Ronald S. Bultje
rtpdec_vp9.c Thomas Volkert
rtpenc_mpv.*, rtpenc_aac.* Martin Storsjo
rtsp.c Luca Barbato
sbgdec.c Nicolas George
@@ -537,9 +544,11 @@ x86 Michael Niedermayer
Releases
========
2.7 Michael Niedermayer
2.6 Michael Niedermayer
2.5 Michael Niedermayer
2.4 Michael Niedermayer
2.2 Michael Niedermayer
1.2 Michael Niedermayer
If you want to maintain an older release, please contact us

View File

@@ -80,8 +80,8 @@ SUBDIR_VARS := CLEANFILES EXAMPLES FFLIBS HOSTPROGS TESTPROGS TOOLS \
HEADERS ARCH_HEADERS BUILT_HEADERS SKIPHEADERS \
ARMV5TE-OBJS ARMV6-OBJS ARMV8-OBJS VFP-OBJS NEON-OBJS \
ALTIVEC-OBJS MMX-OBJS YASM-OBJS \
MIPSFPU-OBJS MIPSDSPR2-OBJS MIPSDSPR1-OBJS MIPS32R2-OBJS \
OBJS SLIBOBJS HOSTOBJS TESTOBJS
MIPSFPU-OBJS MIPSDSPR2-OBJS MIPSDSPR1-OBJS MSA-OBJS \
LOONGSON3-OBJS OBJS SLIBOBJS HOSTOBJS TESTOBJS
define RESET
$(1) :=
@@ -112,7 +112,7 @@ endef
$(foreach P,$(PROGS),$(eval $(call DOPROG,$(P:$(PROGSSUF)$(EXESUF)=))))
ffprobe.o cmdutils.o : libavutil/ffversion.h
ffprobe.o cmdutils.o libavcodec/utils.o libavformat/utils.o libavdevice/avdevice.o libavfilter/avfilter.o libavutil/utils.o libpostproc/postprocess.o libswresample/swresample.o libswscale/utils.o : libavutil/ffversion.h
$(PROGS): %$(PROGSSUF)$(EXESUF): %$(PROGSSUF)_g$(EXESUF)
$(CP) $< $@

View File

@@ -19,8 +19,10 @@ such as audio, video, subtitles and related metadata.
* [ffmpeg](http://ffmpeg.org/ffmpeg.html) is a command line toolbox to
manipulate, convert and stream multimedia content.
* [ffplay](http://ffmpeg.org/ffplay.html) is a minimalistic multimedia player.
* [ffprobe](http://ffmpeg.org/ffprobe.html) is a simple analisys tool to inspect
* [ffprobe](http://ffmpeg.org/ffprobe.html) is a simple analysis tool to inspect
multimedia content.
* [ffserver](http://ffmpeg.org/ffserver.html) is a multimedia streaming server
for live broadcasts.
* Additional small tools such as `aviocat`, `ismindex` and `qt-faststart`.
## Documentation

View File

@@ -1 +1 @@
2.4.git
2.7.5

View File

@@ -1,99 +1,15 @@
┌────────────────────────────────────────┐
│ RELEASE NOTES for FFmpeg 2.5 "Bohr" │
└────────────────────────────────────────┘
The FFmpeg Project proudly presents FFmpeg 2.5 "Bohr", just 2.5 months
after the release of 2.4. Since this wasn't a long time ago, the Changelog
is a bit short this time.
┌─────────────────────────────────────┐
│ RELEASE NOTES for FFmpeg 2.7 "Nash" │
└─────────────────────────────────────┘
As usual, if you have any question on this release or any FFmpeg related
topic, feel free to join us on the #ffmpeg IRC channel (on
irc.freenode.net).
The FFmpeg Project proudly presents FFmpeg 2.7 "Nash", about 3
months after the release of FFmpeg 2.6.
┌────────────────────────────┐
│ 🔨 API Information │
└────────────────────────────┘
A complete Changelog is available at the root of the project, and the
complete Git history on http://source.ffmpeg.org.
FFmpeg 2.5 includes the following library versions:
• libavutil 54.15.100
• libavcodec 56.13.100
• libavformat 56.15.102
• libavdevice 56. 3.100
• libavfilter 5. 2.103
• libswscale 3. 1.101
• libswresample 1. 1.100
• libpostproc 53. 3.100
Important API changes since 2.4:
• avpriv_dv_frame_profile2() has been deprecated
Please refer to the doc/APIchanges file for more information.
┌────────────────────────────┐
│ ★ List of New Features │
└────────────────────────────┘
┌────────────────────────────┐
│ ffprobe │
└────────────────────────────┘
• -show_pixel_formats option
┌────────────────────────────┐
│ ffserver │
└────────────────────────────┘
• codec private options support
┌────────────────────────────┐
│ libavcodec │
└────────────────────────────┘
• STL subtitle decoder
• libutvideo YUV 4:2:2 10bit support
• animated WebP decoding support
• zygoaudio decoding support
┌────────────────────────────┐
│ libavdevice │
└────────────────────────────┘
• XCB-based screen-grabber
• AVFoundation screen capturing support
┌────────────────────────────┐
│ libavformat │
└────────────────────────────┘
• HEVC/H.265 RTP payload format (draft v6) packetizer
• SUP/PGS subtitle demuxer
• STL subtitle demuxer
• UDP-Lite support (RFC 3828)
• creating DASH compatible fragmented MP4, MPEG-DASH segmenting muxer
• WebP muxer
• APNG demuxer
┌────────────────────────────┐
│ libavfilter │
└────────────────────────────┘
• xBR scaling filter
┌────────────────────────────┐
│ libavutil │
└────────────────────────────┘
• CAST128 symmetric block cipher, ECB mode
┌────────────────────────────┐
│ libpostproc │
└────────────────────────────┘
• visualization support
┌────────────────────────────┐
│ ⚠ Behaviour changes │
└────────────────────────────┘
We hope you will like this release as much as we enjoyed working on it, and
as usual, if you have any questions about it, or any FFmpeg related topic,
feel free to join us on the #ffmpeg IRC channel (on irc.freenode.net) or ask
on the mailing-lists.

View File

@@ -5,11 +5,13 @@ OBJS-$(HAVE_VFP) += $(VFP-OBJS) $(VFP-OBJS-yes)
OBJS-$(HAVE_NEON) += $(NEON-OBJS) $(NEON-OBJS-yes)
OBJS-$(HAVE_MIPSFPU) += $(MIPSFPU-OBJS) $(MIPSFPU-OBJS-yes)
OBJS-$(HAVE_MIPS32R2) += $(MIPS32R2-OBJS) $(MIPS32R2-OBJS-yes)
OBJS-$(HAVE_MIPSDSPR1) += $(MIPSDSPR1-OBJS) $(MIPSDSPR1-OBJS-yes)
OBJS-$(HAVE_MIPSDSPR2) += $(MIPSDSPR2-OBJS) $(MIPSDSPR2-OBJS-yes)
OBJS-$(HAVE_MSA) += $(MSA-OBJS) $(MSA-OBJS-yes)
OBJS-$(HAVE_LOONGSON3) += $(LOONGSON3-OBJS) $(LOONGSON3-OBJS-yes)
OBJS-$(HAVE_ALTIVEC) += $(ALTIVEC-OBJS) $(ALTIVEC-OBJS-yes)
OBJS-$(HAVE_VSX) += $(VSX-OBJS) $(VSX-OBJS-yes)
OBJS-$(HAVE_MMX) += $(MMX-OBJS) $(MMX-OBJS-yes)
OBJS-$(HAVE_YASM) += $(YASM-OBJS) $(YASM-OBJS-yes)

View File

@@ -41,8 +41,10 @@
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/bprint.h"
#include "libavutil/display.h"
#include "libavutil/mathematics.h"
#include "libavutil/imgutils.h"
#include "libavutil/libm.h"
#include "libavutil/parseutils.h"
#include "libavutil/pixdesc.h"
#include "libavutil/eval.h"
@@ -290,10 +292,14 @@ static int write_option(void *optctx, const OptionDef *po, const char *opt,
if (po->flags & OPT_SPEC) {
SpecifierOpt **so = dst;
char *p = strchr(opt, ':');
char *str;
dstcount = (int *)(so + 1);
*so = grow_array(*so, sizeof(**so), dstcount, *dstcount + 1);
(*so)[*dstcount - 1].specifier = av_strdup(p ? p + 1 : "");
str = av_strdup(p ? p + 1 : "");
if (!str)
return AVERROR(ENOMEM);
(*so)[*dstcount - 1].specifier = str;
dst = &(*so)[*dstcount - 1].u;
}
@@ -301,6 +307,8 @@ static int write_option(void *optctx, const OptionDef *po, const char *opt,
char *str;
str = av_strdup(arg);
av_freep(dst);
if (!str)
return AVERROR(ENOMEM);
*(char **)dst = str;
} else if (po->flags & OPT_BOOL || po->flags & OPT_INT) {
*(int *)dst = parse_number_or_die(opt, arg, OPT_INT64, INT_MIN, INT_MAX);
@@ -474,10 +482,22 @@ static void dump_argument(const char *a)
fputc('"', report_file);
}
static void check_options(const OptionDef *po)
{
while (po->name) {
if (po->flags & OPT_PERFILE)
av_assert0(po->flags & (OPT_INPUT | OPT_OUTPUT));
po++;
}
}
void parse_loglevel(int argc, char **argv, const OptionDef *options)
{
int idx = locate_option(argc, argv, options, "loglevel");
const char *env;
check_options(options);
if (!idx)
idx = locate_option(argc, argv, options, "v");
if (idx && argv[idx + 1])
@@ -839,6 +859,7 @@ int opt_loglevel(void *optctx, const char *opt, const char *arg)
{ "info" , AV_LOG_INFO },
{ "verbose", AV_LOG_VERBOSE },
{ "debug" , AV_LOG_DEBUG },
{ "trace" , AV_LOG_TRACE },
};
char *tail;
int level;
@@ -1075,8 +1096,7 @@ static void print_program_info(int flags, int level)
av_log(NULL, level, " Copyright (c) %d-%d the FFmpeg developers",
program_birth_year, CONFIG_THIS_YEAR);
av_log(NULL, level, "\n");
av_log(NULL, level, "%sbuilt on %s %s with %s\n",
indent, __DATE__, __TIME__, CC_IDENT);
av_log(NULL, level, "%sbuilt with %s\n", indent, CC_IDENT);
av_log(NULL, level, "%sconfiguration: " FFMPEG_CONFIGURATION "\n", indent);
}
@@ -1213,12 +1233,7 @@ static int is_device(const AVClass *avclass)
{
if (!avclass)
return 0;
return avclass->category == AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT ||
avclass->category == AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT ||
avclass->category == AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT ||
avclass->category == AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT ||
avclass->category == AV_CLASS_CATEGORY_DEVICE_OUTPUT ||
avclass->category == AV_CLASS_CATEGORY_DEVICE_INPUT;
return AV_IS_INPUT_DEVICE(avclass->category) || AV_IS_OUTPUT_DEVICE(avclass->category);
}
static int show_formats_devices(void *optctx, const char *opt, const char *arg, int device_only)
@@ -1535,10 +1550,10 @@ int show_protocols(void *optctx, const char *opt, const char *arg)
printf("Supported file protocols:\n"
"Input:\n");
while ((name = avio_enum_protocols(&opaque, 0)))
printf("%s\n", name);
printf(" %s\n", name);
printf("Output:\n");
while ((name = avio_enum_protocols(&opaque, 1)))
printf("%s\n", name);
printf(" %s\n", name);
return 0;
}
@@ -1553,7 +1568,7 @@ int show_filters(void *optctx, const char *opt, const char *arg)
printf("Filters:\n"
" T.. = Timeline support\n"
" .S. = Slice threading\n"
" ..C = Commmand support\n"
" ..C = Command support\n"
" A = Audio input/output\n"
" V = Video input/output\n"
" N = Dynamic number and/or type of input/output\n"
@@ -1821,6 +1836,8 @@ int show_help(void *optctx, const char *opt, const char *arg)
av_log_set_callback(log_callback_help);
topic = av_strdup(arg ? arg : "");
if (!topic)
return AVERROR(ENOMEM);
par = strchr(topic, '=');
if (par)
*par++ = 0;
@@ -1860,7 +1877,7 @@ int read_yesno(void)
int cmdutils_read_file(const char *filename, char **bufptr, size_t *size)
{
int ret;
int64_t ret;
FILE *f = av_fopen_utf8(filename, "rb");
if (!f) {
@@ -1869,20 +1886,31 @@ int cmdutils_read_file(const char *filename, char **bufptr, size_t *size)
strerror(errno));
return ret;
}
fseek(f, 0, SEEK_END);
*size = ftell(f);
fseek(f, 0, SEEK_SET);
if (*size == (size_t)-1) {
ret = fseek(f, 0, SEEK_END);
if (ret == -1) {
ret = AVERROR(errno);
av_log(NULL, AV_LOG_ERROR, "IO error: %s\n", strerror(errno));
fclose(f);
return ret;
goto out;
}
ret = ftell(f);
if (ret < 0) {
ret = AVERROR(errno);
goto out;
}
*size = ret;
ret = fseek(f, 0, SEEK_SET);
if (ret == -1) {
ret = AVERROR(errno);
goto out;
}
*bufptr = av_malloc(*size + 1);
if (!*bufptr) {
av_log(NULL, AV_LOG_ERROR, "Could not allocate file buffer\n");
fclose(f);
return AVERROR(ENOMEM);
ret = AVERROR(ENOMEM);
goto out;
}
ret = fread(*bufptr, 1, *size, f);
if (ret < *size) {
@@ -1898,6 +1926,9 @@ int cmdutils_read_file(const char *filename, char **bufptr, size_t *size)
(*bufptr)[(*size)++] = '\0';
}
out:
if (ret < 0)
av_log(NULL, AV_LOG_ERROR, "IO error: %s\n", av_err2str(ret));
fclose(f);
return ret;
}
@@ -2044,7 +2075,7 @@ void *grow_array(void *array, int elem_size, int *size, int new_size)
exit_program(1);
}
if (*size < new_size) {
uint8_t *tmp = av_realloc(array, new_size*elem_size);
uint8_t *tmp = av_realloc_array(array, new_size, elem_size);
if (!tmp) {
av_log(NULL, AV_LOG_ERROR, "Could not alloc buffer.\n");
exit_program(1);
@@ -2056,13 +2087,35 @@ void *grow_array(void *array, int elem_size, int *size, int new_size)
return array;
}
double get_rotation(AVStream *st)
{
AVDictionaryEntry *rotate_tag = av_dict_get(st->metadata, "rotate", NULL, 0);
uint8_t* displaymatrix = av_stream_get_side_data(st,
AV_PKT_DATA_DISPLAYMATRIX, NULL);
double theta = 0;
if (rotate_tag && *rotate_tag->value && strcmp(rotate_tag->value, "0")) {
char *tail;
theta = av_strtod(rotate_tag->value, &tail);
if (*tail)
theta = 0;
}
if (displaymatrix && !theta)
theta = -av_display_rotation_get((int32_t*) displaymatrix);
theta -= 360*floor(theta/360 + 0.9/360);
if (fabs(theta - 90*round(theta/90)) > 2)
av_log_ask_for_sample(NULL, "Odd rotation angle\n");
return theta;
}
#if CONFIG_AVDEVICE
static int print_device_sources(AVInputFormat *fmt, AVDictionary *opts)
{
int ret, i;
AVFormatContext *dev = NULL;
AVDeviceInfoList *device_list = NULL;
AVDictionary *tmp_opts = NULL;
if (!fmt || !fmt->priv_class || !AV_IS_INPUT_DEVICE(fmt->priv_class->category))
return AVERROR(EINVAL);
@@ -2074,15 +2127,7 @@ static int print_device_sources(AVInputFormat *fmt, AVDictionary *opts)
goto fail;
}
/* TODO: avformat_open_input calls read_header callback which is not necessary.
Function like avformat_alloc_output_context2 for input could be helpful here. */
av_dict_copy(&tmp_opts, opts, 0);
if ((ret = avformat_open_input(&dev, NULL, fmt, &tmp_opts)) < 0) {
printf("Cannot open device: %s.\n", fmt->name);
goto fail;
}
if ((ret = avdevice_list_devices(dev, &device_list)) < 0) {
if ((ret = avdevice_list_input_sources(fmt, NULL, opts, &device_list)) < 0) {
printf("Cannot list sources.\n");
goto fail;
}
@@ -2093,18 +2138,14 @@ static int print_device_sources(AVInputFormat *fmt, AVDictionary *opts)
}
fail:
av_dict_free(&tmp_opts);
avdevice_free_list_devices(&device_list);
avformat_close_input(&dev);
return ret;
}
static int print_device_sinks(AVOutputFormat *fmt, AVDictionary *opts)
{
int ret, i;
AVFormatContext *dev = NULL;
AVDeviceInfoList *device_list = NULL;
AVDictionary *tmp_opts = NULL;
if (!fmt || !fmt->priv_class || !AV_IS_OUTPUT_DEVICE(fmt->priv_class->category))
return AVERROR(EINVAL);
@@ -2116,14 +2157,7 @@ static int print_device_sinks(AVOutputFormat *fmt, AVDictionary *opts)
goto fail;
}
if ((ret = avformat_alloc_output_context2(&dev, fmt, NULL, NULL)) < 0) {
printf("Cannot open device: %s.\n", fmt->name);
goto fail;
}
av_dict_copy(&tmp_opts, opts, 0);
av_opt_set_dict2(dev, &tmp_opts, AV_OPT_SEARCH_CHILDREN);
if ((ret = avdevice_list_devices(dev, &device_list)) < 0) {
if ((ret = avdevice_list_output_sinks(fmt, NULL, opts, &device_list)) < 0) {
printf("Cannot list sinks.\n");
goto fail;
}
@@ -2134,9 +2168,7 @@ static int print_device_sinks(AVOutputFormat *fmt, AVDictionary *opts)
}
fail:
av_dict_free(&tmp_opts);
avdevice_free_list_devices(&device_list);
avformat_free_context(dev);
return ret;
}
@@ -2180,7 +2212,7 @@ int show_sources(void *optctx, const char *opt, const char *arg)
if (fmt) {
if (!strcmp(fmt->name, "lavfi"))
continue; //it's pointless to probe lavfi
if (dev && strcmp(fmt->name, dev))
if (dev && !av_match_name(dev, fmt->name))
continue;
print_device_sources(fmt, opts);
}
@@ -2188,7 +2220,7 @@ int show_sources(void *optctx, const char *opt, const char *arg)
do {
fmt = av_input_video_device_next(fmt);
if (fmt) {
if (dev && strcmp(fmt->name, dev))
if (dev && !av_match_name(dev, fmt->name))
continue;
print_device_sources(fmt, opts);
}
@@ -2216,7 +2248,7 @@ int show_sinks(void *optctx, const char *opt, const char *arg)
do {
fmt = av_output_audio_device_next(fmt);
if (fmt) {
if (dev && strcmp(fmt->name, dev))
if (dev && !av_match_name(dev, fmt->name))
continue;
print_device_sinks(fmt, opts);
}
@@ -2224,7 +2256,7 @@ int show_sinks(void *optctx, const char *opt, const char *arg)
do {
fmt = av_output_video_device_next(fmt);
if (fmt) {
if (dev && strcmp(fmt->name, dev))
if (dev && !av_match_name(dev, fmt->name))
continue;
print_device_sinks(fmt, opts);
}
@@ -2235,4 +2267,5 @@ int show_sinks(void *optctx, const char *opt, const char *arg)
av_log_set_level(error_level);
return ret;
}
#endif

View File

@@ -597,4 +597,6 @@ void *grow_array(void *array, int elem_size, int *size, int new_size);
char name[128];\
av_get_channel_layout_string(name, sizeof(name), 0, ch_layout);
double get_rotation(AVStream *st);
#endif /* CMDUTILS_H */

View File

@@ -22,6 +22,7 @@
#include "libavutil/time.h"
#include "libavutil/log.h"
#include "libavutil/opencl.h"
#include "libavutil/avstring.h"
#include "cmdutils.h"
typedef struct {
@@ -238,7 +239,8 @@ int opt_opencl_bench(void *optctx, const char *opt, const char *arg)
devices[count].platform_idx = i;
devices[count].device_idx = j;
devices[count].runtime = score;
strcpy(devices[count].device_name, device_node->device_name);
av_strlcpy(devices[count].device_name, device_node->device_name,
sizeof(devices[count].device_name));
count++;
}
}

View File

@@ -5,6 +5,14 @@
# first so "all" becomes default target
all: all-yes
DEFAULT_YASMD=.dbg
ifeq ($(DBG),1)
YASMD=$(DEFAULT_YASMD)
else
YASMD=
endif
ifndef SUBDIR
ifndef V
@@ -138,17 +146,17 @@ $(TOOLOBJS): | tools
OBJDIRS := $(OBJDIRS) $(dir $(OBJS) $(HOBJS) $(HOSTOBJS) $(SLIBOBJS) $(TESTOBJS))
CLEANSUFFIXES = *.d *.o *~ *.h.c *.map *.ver *.ho *.gcno *.gcda
CLEANSUFFIXES = *.d *.o *~ *.h.c *.map *.ver *.ho *.gcno *.gcda *$(DEFAULT_YASMD).asm
DISTCLEANSUFFIXES = *.pc
LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a
define RULES
clean::
$(RM) $(OBJS) $(OBJS:.o=.d)
$(RM) $(OBJS) $(OBJS:.o=.d) $(OBJS:.o=$(DEFAULT_YASMD).d)
$(RM) $(HOSTPROGS)
$(RM) $(TOOLS)
endef
$(eval $(RULES))
-include $(wildcard $(OBJS:.o=.d) $(HOSTOBJS:.o=.d) $(TESTOBJS:.o=.d) $(HOBJS:.o=.d) $(SLIBOBJS:.o=.d))
-include $(wildcard $(OBJS:.o=.d) $(HOSTOBJS:.o=.d) $(TESTOBJS:.o=.d) $(HOBJS:.o=.d) $(SLIBOBJS:.o=.d)) $(OBJS:.o=$(DEFAULT_YASMD).d)

View File

@@ -38,40 +38,9 @@
#ifndef __AVISYNTH_C__
#define __AVISYNTH_C__
#ifdef __cplusplus
# define EXTERN_C extern "C"
#else
# define EXTERN_C
#endif
#define AVSC_USE_STDCALL 1
#ifndef AVSC_USE_STDCALL
# define AVSC_CC __cdecl
#else
# define AVSC_CC __stdcall
#endif
#define AVSC_INLINE static __inline
#ifdef AVISYNTH_C_EXPORTS
# define AVSC_EXPORT EXTERN_C
# define AVSC_API(ret, name) EXTERN_C __declspec(dllexport) ret AVSC_CC name
#else
# define AVSC_EXPORT EXTERN_C __declspec(dllexport)
# ifndef AVSC_NO_DECLSPEC
# define AVSC_API(ret, name) EXTERN_C __declspec(dllimport) ret AVSC_CC name
# else
# define AVSC_API(ret, name) typedef ret (AVSC_CC *name##_func)
# endif
#endif
typedef unsigned char BYTE;
#ifdef __GNUC__
typedef long long int INT64;
#else
typedef __int64 INT64;
#endif
#include "avs/config.h"
#include "avs/capi.h"
#include "avs/types.h"
/////////////////////////////////////////////////////////////////////
@@ -79,8 +48,8 @@ typedef __int64 INT64;
// Constants
//
#ifndef __AVISYNTH_H__
enum { AVISYNTH_INTERFACE_VERSION = 4 };
#ifndef __AVISYNTH_6_H__
enum { AVISYNTH_INTERFACE_VERSION = 6 };
#endif
enum {AVS_SAMPLE_INT8 = 1<<0,
@@ -112,8 +81,8 @@ enum {AVS_CS_BGR = 1<<28,
AVS_CS_PLANAR = 1<<31,
AVS_CS_SHIFT_SUB_WIDTH = 0,
AVS_CS_SHIFT_SUB_HEIGHT = 1 << 3,
AVS_CS_SHIFT_SAMPLE_BITS = 1 << 4,
AVS_CS_SHIFT_SUB_HEIGHT = 8,
AVS_CS_SHIFT_SAMPLE_BITS = 16,
AVS_CS_SUB_WIDTH_MASK = 7 << AVS_CS_SHIFT_SUB_WIDTH,
AVS_CS_SUB_WIDTH_1 = 3 << AVS_CS_SHIFT_SUB_WIDTH, // YV24
@@ -180,15 +149,66 @@ enum { //SUBTYPES
AVS_FILTER_OUTPUT_TYPE_DIFFERENT=4};
enum {
AVS_CACHE_NOTHING=0,
AVS_CACHE_RANGE=1,
AVS_CACHE_ALL=2,
AVS_CACHE_AUDIO=3,
AVS_CACHE_AUDIO_NONE=4,
AVS_CACHE_AUDIO_AUTO=5
// New 2.6 explicitly defined cache hints.
AVS_CACHE_NOTHING=10, // Do not cache video.
AVS_CACHE_WINDOW=11, // Hard protect upto X frames within a range of X from the current frame N.
AVS_CACHE_GENERIC=12, // LRU cache upto X frames.
AVS_CACHE_FORCE_GENERIC=13, // LRU cache upto X frames, override any previous CACHE_WINDOW.
AVS_CACHE_GET_POLICY=30, // Get the current policy.
AVS_CACHE_GET_WINDOW=31, // Get the current window h_span.
AVS_CACHE_GET_RANGE=32, // Get the current generic frame range.
AVS_CACHE_AUDIO=50, // Explicitly do cache audio, X byte cache.
AVS_CACHE_AUDIO_NOTHING=51, // Explicitly do not cache audio.
AVS_CACHE_AUDIO_NONE=52, // Audio cache off (auto mode), X byte intial cache.
AVS_CACHE_AUDIO_AUTO=53, // Audio cache on (auto mode), X byte intial cache.
AVS_CACHE_GET_AUDIO_POLICY=70, // Get the current audio policy.
AVS_CACHE_GET_AUDIO_SIZE=71, // Get the current audio cache size.
AVS_CACHE_PREFETCH_FRAME=100, // Queue request to prefetch frame N.
AVS_CACHE_PREFETCH_GO=101, // Action video prefetches.
AVS_CACHE_PREFETCH_AUDIO_BEGIN=120, // Begin queue request transaction to prefetch audio (take critical section).
AVS_CACHE_PREFETCH_AUDIO_STARTLO=121, // Set low 32 bits of start.
AVS_CACHE_PREFETCH_AUDIO_STARTHI=122, // Set high 32 bits of start.
AVS_CACHE_PREFETCH_AUDIO_COUNT=123, // Set low 32 bits of length.
AVS_CACHE_PREFETCH_AUDIO_COMMIT=124, // Enqueue request transaction to prefetch audio (release critical section).
AVS_CACHE_PREFETCH_AUDIO_GO=125, // Action audio prefetches.
AVS_CACHE_GETCHILD_CACHE_MODE=200, // Cache ask Child for desired video cache mode.
AVS_CACHE_GETCHILD_CACHE_SIZE=201, // Cache ask Child for desired video cache size.
AVS_CACHE_GETCHILD_AUDIO_MODE=202, // Cache ask Child for desired audio cache mode.
AVS_CACHE_GETCHILD_AUDIO_SIZE=203, // Cache ask Child for desired audio cache size.
AVS_CACHE_GETCHILD_COST=220, // Cache ask Child for estimated processing cost.
AVS_CACHE_COST_ZERO=221, // Child response of zero cost (ptr arithmetic only).
AVS_CACHE_COST_UNIT=222, // Child response of unit cost (less than or equal 1 full frame blit).
AVS_CACHE_COST_LOW=223, // Child response of light cost. (Fast)
AVS_CACHE_COST_MED=224, // Child response of medium cost. (Real time)
AVS_CACHE_COST_HI=225, // Child response of heavy cost. (Slow)
AVS_CACHE_GETCHILD_THREAD_MODE=240, // Cache ask Child for thread safetyness.
AVS_CACHE_THREAD_UNSAFE=241, // Only 1 thread allowed for all instances. 2.5 filters default!
AVS_CACHE_THREAD_CLASS=242, // Only 1 thread allowed for each instance. 2.6 filters default!
AVS_CACHE_THREAD_SAFE=243, // Allow all threads in any instance.
AVS_CACHE_THREAD_OWN=244, // Safe but limit to 1 thread, internally threaded.
AVS_CACHE_GETCHILD_ACCESS_COST=260, // Cache ask Child for preferred access pattern.
AVS_CACHE_ACCESS_RAND=261, // Filter is access order agnostic.
AVS_CACHE_ACCESS_SEQ0=262, // Filter prefers sequential access (low cost)
AVS_CACHE_ACCESS_SEQ1=263, // Filter needs sequential access (high cost)
};
#define AVS_FRAME_ALIGN 16
#ifdef BUILDING_AVSCORE
struct AVS_ScriptEnvironment {
IScriptEnvironment * env;
const char * error;
AVS_ScriptEnvironment(IScriptEnvironment * e = 0)
: env(e), error(0) {}
};
#endif
typedef struct AVS_Clip AVS_Clip;
typedef struct AVS_ScriptEnvironment AVS_ScriptEnvironment;
@@ -238,29 +258,23 @@ AVSC_INLINE int avs_is_yuv(const AVS_VideoInfo * p)
AVSC_INLINE int avs_is_yuy2(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_YUY2) == AVS_CS_YUY2; }
AVSC_INLINE int avs_is_yv24(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_PLANAR_MASK) == (AVS_CS_YV24 & AVS_CS_PLANAR_FILTER); }
AVSC_API(int, avs_is_yv24)(const AVS_VideoInfo * p);
AVSC_INLINE int avs_is_yv16(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_PLANAR_MASK) == (AVS_CS_YV16 & AVS_CS_PLANAR_FILTER); }
AVSC_API(int, avs_is_yv16)(const AVS_VideoInfo * p);
AVSC_INLINE int avs_is_yv12(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_PLANAR_MASK) == (AVS_CS_YV12 & AVS_CS_PLANAR_FILTER); }
AVSC_API(int, avs_is_yv12)(const AVS_VideoInfo * p) ;
AVSC_INLINE int avs_is_yv411(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_PLANAR_MASK) == (AVS_CS_YV411 & AVS_CS_PLANAR_FILTER); }
AVSC_API(int, avs_is_yv411)(const AVS_VideoInfo * p);
AVSC_INLINE int avs_is_y8(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_PLANAR_MASK) == (AVS_CS_Y8 & AVS_CS_PLANAR_FILTER); }
AVSC_API(int, avs_is_y8)(const AVS_VideoInfo * p);
AVSC_INLINE int avs_is_property(const AVS_VideoInfo * p, int property)
{ return ((p->pixel_type & property)==property ); }
{ return ((p->image_type & property)==property ); }
AVSC_INLINE int avs_is_planar(const AVS_VideoInfo * p)
{ return !!(p->pixel_type & AVS_CS_PLANAR); }
AVSC_INLINE int avs_is_color_space(const AVS_VideoInfo * p, int c_space)
{ return avs_is_planar(p) ? ((p->pixel_type & AVS_CS_PLANAR_MASK) == (c_space & AVS_CS_PLANAR_FILTER)) : ((p->pixel_type & c_space) == c_space); }
AVSC_API(int, avs_is_color_space)(const AVS_VideoInfo * p, int c_space);
AVSC_INLINE int avs_is_field_based(const AVS_VideoInfo * p)
{ return !!(p->image_type & AVS_IT_FIELDBASED); }
@@ -274,25 +288,18 @@ AVSC_INLINE int avs_is_bff(const AVS_VideoInfo * p)
AVSC_INLINE int avs_is_tff(const AVS_VideoInfo * p)
{ return !!(p->image_type & AVS_IT_TFF); }
AVSC_INLINE int avs_bits_per_pixel(const AVS_VideoInfo * p)
{
switch (p->pixel_type) {
case AVS_CS_BGR24: return 24;
case AVS_CS_BGR32: return 32;
case AVS_CS_YUY2: return 16;
case AVS_CS_YV12:
case AVS_CS_I420: return 12;
default: return 0;
}
}
AVSC_INLINE int avs_bytes_from_pixels(const AVS_VideoInfo * p, int pixels)
{ return pixels * (avs_bits_per_pixel(p)>>3); } // Will work on planar images, but will return only luma planes
AVSC_API(int, avs_get_plane_width_subsampling)(const AVS_VideoInfo * p, int plane);
AVSC_INLINE int avs_row_size(const AVS_VideoInfo * p)
{ return avs_bytes_from_pixels(p,p->width); } // Also only returns first plane on planar images
AVSC_API(int, avs_get_plane_height_subsampling)(const AVS_VideoInfo * p, int plane);
AVSC_INLINE int avs_bmp_size(const AVS_VideoInfo * vi)
{ if (avs_is_planar(vi)) {int p = vi->height * ((avs_row_size(vi)+3) & ~3); p+=p>>1; return p; } return vi->height * ((avs_row_size(vi)+3) & ~3); }
AVSC_API(int, avs_bits_per_pixel)(const AVS_VideoInfo * p);
AVSC_API(int, avs_bytes_from_pixels)(const AVS_VideoInfo * p, int pixels);
AVSC_API(int, avs_row_size)(const AVS_VideoInfo * p, int plane);
AVSC_API(int, avs_bmp_size)(const AVS_VideoInfo * vi);
AVSC_INLINE int avs_samples_per_second(const AVS_VideoInfo * p)
{ return p->audio_samples_per_second; }
@@ -350,11 +357,13 @@ AVSC_INLINE void avs_set_fps(AVS_VideoInfo * p, unsigned numerator, unsigned den
p->fps_denominator = denominator/x;
}
#ifdef AVS_IMPLICIT_FUNCTION_DECLARATION_ERROR
AVSC_INLINE int avs_is_same_colorspace(AVS_VideoInfo * x, AVS_VideoInfo * y)
{
return (x->pixel_type == y->pixel_type)
|| (avs_is_yv12(x) && avs_is_yv12(y));
}
#endif
/////////////////////////////////////////////////////////////////////
//
@@ -391,89 +400,38 @@ typedef struct AVS_VideoFrame {
} AVS_VideoFrame;
// Access functions for AVS_VideoFrame
AVSC_INLINE int avs_get_pitch(const AVS_VideoFrame * p) {
return p->pitch;}
AVSC_API(int, avs_get_pitch_p)(const AVS_VideoFrame * p, int plane);
AVSC_INLINE int avs_get_pitch_p(const AVS_VideoFrame * p, int plane) {
switch (plane) {
case AVS_PLANAR_U: case AVS_PLANAR_V: return p->pitchUV;}
return p->pitch;}
#ifdef AVS_IMPLICIT_FUNCTION_DECLARATION_ERROR
AVSC_INLINE int avs_get_pitch(const AVS_VideoFrame * p) {
return avs_get_pitch_p(p, 0);}
#endif
AVSC_API(int, avs_get_row_size_p)(const AVS_VideoFrame * p, int plane);
AVSC_INLINE int avs_get_row_size(const AVS_VideoFrame * p) {
return p->row_size; }
AVSC_INLINE int avs_get_row_size_p(const AVS_VideoFrame * p, int plane) {
int r;
switch (plane) {
case AVS_PLANAR_U: case AVS_PLANAR_V:
if (p->pitchUV) return p->row_sizeUV;
else return 0;
case AVS_PLANAR_U_ALIGNED: case AVS_PLANAR_V_ALIGNED:
if (p->pitchUV) {
r = (p->row_sizeUV+AVS_FRAME_ALIGN-1)&(~(AVS_FRAME_ALIGN-1)); // Aligned rowsize
if (r < p->pitchUV)
return r;
return p->row_sizeUV;
} else return 0;
case AVS_PLANAR_Y_ALIGNED:
r = (p->row_size+AVS_FRAME_ALIGN-1)&(~(AVS_FRAME_ALIGN-1)); // Aligned rowsize
if (r <= p->pitch)
return r;
return p->row_size;
}
return p->row_size;
}
AVSC_API(int, avs_get_height_p)(const AVS_VideoFrame * p, int plane);
AVSC_INLINE int avs_get_height(const AVS_VideoFrame * p) {
return p->height;}
AVSC_INLINE int avs_get_height_p(const AVS_VideoFrame * p, int plane) {
switch (plane) {
case AVS_PLANAR_U: case AVS_PLANAR_V:
if (p->pitchUV) return p->heightUV;
return 0;
}
return p->height;}
AVSC_API(const BYTE *, avs_get_read_ptr_p)(const AVS_VideoFrame * p, int plane);
#ifdef AVS_IMPLICIT_FUNCTION_DECLARATION_ERROR
AVSC_INLINE const BYTE* avs_get_read_ptr(const AVS_VideoFrame * p) {
return p->vfb->data + p->offset;}
return avs_get_read_ptr_p(p, 0);}
#endif
AVSC_INLINE const BYTE* avs_get_read_ptr_p(const AVS_VideoFrame * p, int plane)
{
switch (plane) {
case AVS_PLANAR_U: return p->vfb->data + p->offsetU;
case AVS_PLANAR_V: return p->vfb->data + p->offsetV;
default: return p->vfb->data + p->offset;}
}
AVSC_API(int, avs_is_writable)(const AVS_VideoFrame * p);
AVSC_INLINE int avs_is_writable(const AVS_VideoFrame * p) {
return (p->refcount == 1 && p->vfb->refcount == 1);}
AVSC_INLINE BYTE* avs_get_write_ptr(const AVS_VideoFrame * p)
{
if (avs_is_writable(p)) {
++p->vfb->sequence_number;
return p->vfb->data + p->offset;
} else
return 0;
}
AVSC_INLINE BYTE* avs_get_write_ptr_p(const AVS_VideoFrame * p, int plane)
{
if (plane==AVS_PLANAR_Y && avs_is_writable(p)) {
++p->vfb->sequence_number;
return p->vfb->data + p->offset;
} else if (plane==AVS_PLANAR_Y) {
return 0;
} else {
switch (plane) {
case AVS_PLANAR_U: return p->vfb->data + p->offsetU;
case AVS_PLANAR_V: return p->vfb->data + p->offsetV;
default: return p->vfb->data + p->offset;
}
}
}
AVSC_API(BYTE *, avs_get_write_ptr_p)(const AVS_VideoFrame * p, int plane);
#ifdef AVS_IMPLICIT_FUNCTION_DECLARATION_ERROR
AVSC_INLINE BYTE* avs_get_write_ptr(const AVS_VideoFrame * p) {
return avs_get_write_ptr_p(p, 0);}
#endif
AVSC_API(void, avs_release_video_frame)(AVS_VideoFrame *);
// makes a shallow copy of a video frame
@@ -658,12 +616,16 @@ enum {
AVS_CPUF_SSSE3 = 0x200, // Core 2
AVS_CPUF_SSE4 = 0x400, // Penryn, Wolfdale, Yorkfield
AVS_CPUF_SSE4_1 = 0x400,
AVS_CPUF_SSE4_2 = 0x800, // Nehalem
//AVS_CPUF_AVX = 0x800, // Sandy Bridge, Bulldozer
AVS_CPUF_SSE4_2 = 0x1000, // Nehalem
//AVS_CPUF_AVX2 = 0x2000, // Haswell
//AVS_CPUF_AVX512 = 0x4000, // Knights Landing
};
AVSC_API(const char *, avs_get_error)(AVS_ScriptEnvironment *); // return 0 if no error
AVSC_API(long, avs_get_cpu_flags)(AVS_ScriptEnvironment *);
AVSC_API(int, avs_get_cpu_flags)(AVS_ScriptEnvironment *);
AVSC_API(int, avs_check_version)(AVS_ScriptEnvironment *, int version);
AVSC_API(char *, avs_save_string)(AVS_ScriptEnvironment *, const char* s, int length);
@@ -700,12 +662,12 @@ AVSC_API(AVS_VideoFrame *, avs_new_video_frame_a)(AVS_ScriptEnvironment *,
AVSC_INLINE
AVS_VideoFrame * avs_new_video_frame(AVS_ScriptEnvironment * env,
const AVS_VideoInfo * vi)
{return avs_new_video_frame_a(env,vi,AVS_FRAME_ALIGN);}
{return avs_new_video_frame_a(env,vi,FRAME_ALIGN);}
AVSC_INLINE
AVS_VideoFrame * avs_new_frame(AVS_ScriptEnvironment * env,
const AVS_VideoInfo * vi)
{return avs_new_video_frame_a(env,vi,AVS_FRAME_ALIGN);}
{return avs_new_video_frame_a(env,vi,FRAME_ALIGN);}
#endif
@@ -773,7 +735,6 @@ struct AVS_Library {
AVSC_DECLARE_FUNC(avs_function_exists);
AVSC_DECLARE_FUNC(avs_get_audio);
AVSC_DECLARE_FUNC(avs_get_cpu_flags);
AVSC_DECLARE_FUNC(avs_get_error);
AVSC_DECLARE_FUNC(avs_get_frame);
AVSC_DECLARE_FUNC(avs_get_parity);
AVSC_DECLARE_FUNC(avs_get_var);
@@ -798,6 +759,27 @@ struct AVS_Library {
AVSC_DECLARE_FUNC(avs_subframe_planar);
AVSC_DECLARE_FUNC(avs_take_clip);
AVSC_DECLARE_FUNC(avs_vsprintf);
AVSC_DECLARE_FUNC(avs_get_error);
AVSC_DECLARE_FUNC(avs_is_yv24);
AVSC_DECLARE_FUNC(avs_is_yv16);
AVSC_DECLARE_FUNC(avs_is_yv12);
AVSC_DECLARE_FUNC(avs_is_yv411);
AVSC_DECLARE_FUNC(avs_is_y8);
AVSC_DECLARE_FUNC(avs_is_color_space);
AVSC_DECLARE_FUNC(avs_get_plane_width_subsampling);
AVSC_DECLARE_FUNC(avs_get_plane_height_subsampling);
AVSC_DECLARE_FUNC(avs_bits_per_pixel);
AVSC_DECLARE_FUNC(avs_bytes_from_pixels);
AVSC_DECLARE_FUNC(avs_row_size);
AVSC_DECLARE_FUNC(avs_bmp_size);
AVSC_DECLARE_FUNC(avs_get_pitch_p);
AVSC_DECLARE_FUNC(avs_get_row_size_p);
AVSC_DECLARE_FUNC(avs_get_height_p);
AVSC_DECLARE_FUNC(avs_get_read_ptr_p);
AVSC_DECLARE_FUNC(avs_is_writable);
AVSC_DECLARE_FUNC(avs_get_write_ptr_p);
};
#undef AVSC_DECLARE_FUNC
@@ -805,7 +787,7 @@ struct AVS_Library {
AVSC_INLINE AVS_Library * avs_load_library() {
AVS_Library *library = (AVS_Library *)malloc(sizeof(AVS_Library));
if (!library)
if (library == NULL)
return NULL;
library->handle = LoadLibrary("avisynth");
if (library->handle == NULL)
@@ -832,7 +814,6 @@ AVSC_INLINE AVS_Library * avs_load_library() {
AVSC_LOAD_FUNC(avs_function_exists);
AVSC_LOAD_FUNC(avs_get_audio);
AVSC_LOAD_FUNC(avs_get_cpu_flags);
AVSC_LOAD_FUNC(avs_get_error);
AVSC_LOAD_FUNC(avs_get_frame);
AVSC_LOAD_FUNC(avs_get_parity);
AVSC_LOAD_FUNC(avs_get_var);
@@ -858,6 +839,27 @@ AVSC_INLINE AVS_Library * avs_load_library() {
AVSC_LOAD_FUNC(avs_take_clip);
AVSC_LOAD_FUNC(avs_vsprintf);
AVSC_LOAD_FUNC(avs_get_error);
AVSC_LOAD_FUNC(avs_is_yv24);
AVSC_LOAD_FUNC(avs_is_yv16);
AVSC_LOAD_FUNC(avs_is_yv12);
AVSC_LOAD_FUNC(avs_is_yv411);
AVSC_LOAD_FUNC(avs_is_y8);
AVSC_LOAD_FUNC(avs_is_color_space);
AVSC_LOAD_FUNC(avs_get_plane_width_subsampling);
AVSC_LOAD_FUNC(avs_get_plane_height_subsampling);
AVSC_LOAD_FUNC(avs_bits_per_pixel);
AVSC_LOAD_FUNC(avs_bytes_from_pixels);
AVSC_LOAD_FUNC(avs_row_size);
AVSC_LOAD_FUNC(avs_bmp_size);
AVSC_LOAD_FUNC(avs_get_pitch_p);
AVSC_LOAD_FUNC(avs_get_row_size_p);
AVSC_LOAD_FUNC(avs_get_height_p);
AVSC_LOAD_FUNC(avs_get_read_ptr_p);
AVSC_LOAD_FUNC(avs_is_writable);
AVSC_LOAD_FUNC(avs_get_write_ptr_p);
#undef __AVSC_STRINGIFY
#undef AVSC_STRINGIFY
#undef AVSC_LOAD_FUNC
@@ -870,7 +872,7 @@ fail:
}
AVSC_INLINE void avs_free_library(AVS_Library *library) {
if (!library)
if (library == NULL)
return;
FreeLibrary(library->handle);
free(library);

View File

@@ -1,68 +0,0 @@
// Copyright (c) 2011 FFmpegSource Project
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
/* these are defines/functions that are used and were changed in the switch to 2.6
* and are needed to maintain full compatility with 2.5 */
enum {
AVS_CS_YV12_25 = 1<<3 | AVS_CS_YUV | AVS_CS_PLANAR, // y-v-u, planar
AVS_CS_I420_25 = 1<<4 | AVS_CS_YUV | AVS_CS_PLANAR, // y-u-v, planar
};
AVSC_INLINE int avs_get_height_p_25(const AVS_VideoFrame * p, int plane) {
switch (plane)
{
case AVS_PLANAR_U: case AVS_PLANAR_V:
if (p->pitchUV)
return p->height>>1;
return 0;
}
return p->height;}
AVSC_INLINE int avs_get_row_size_p_25(const AVS_VideoFrame * p, int plane) {
int r;
switch (plane)
{
case AVS_PLANAR_U: case AVS_PLANAR_V:
if (p->pitchUV)
return p->row_size>>1;
else
return 0;
case AVS_PLANAR_U_ALIGNED: case AVS_PLANAR_V_ALIGNED:
if (p->pitchUV)
{
r = ((p->row_size+AVS_FRAME_ALIGN-1)&(~(AVS_FRAME_ALIGN-1)) )>>1; // Aligned rowsize
if (r < p->pitchUV)
return r;
return p->row_size>>1;
}
else
return 0;
case AVS_PLANAR_Y_ALIGNED:
r = (p->row_size+AVS_FRAME_ALIGN-1)&(~(AVS_FRAME_ALIGN-1)); // Aligned rowsize
if (r <= p->pitch)
return r;
return p->row_size;
}
return p->row_size;
}
AVSC_INLINE int avs_is_yv12_25(const AVS_VideoInfo * p)
{ return ((p->pixel_type & AVS_CS_YV12_25) == AVS_CS_YV12_25)||((p->pixel_type & AVS_CS_I420_25) == AVS_CS_I420_25); }

View File

@@ -0,0 +1,62 @@
// Avisynth C Interface Version 0.20
// Copyright 2003 Kevin Atkinson
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA, or visit
// http://www.gnu.org/copyleft/gpl.html .
//
// As a special exception, I give you permission to link to the
// Avisynth C interface with independent modules that communicate with
// the Avisynth C interface solely through the interfaces defined in
// avisynth_c.h, regardless of the license terms of these independent
// modules, and to copy and distribute the resulting combined work
// under terms of your choice, provided that every copy of the
// combined work is accompanied by a complete copy of the source code
// of the Avisynth C interface and Avisynth itself (with the version
// used to produce the combined work), being distributed under the
// terms of the GNU General Public License plus this exception. An
// independent module is a module which is not derived from or based
// on Avisynth C Interface, such as 3rd-party filters, import and
// export plugins, or graphical user interfaces.
#ifndef AVS_CAPI_H
#define AVS_CAPI_H
#ifdef __cplusplus
# define EXTERN_C extern "C"
#else
# define EXTERN_C
#endif
#ifndef AVSC_USE_STDCALL
# define AVSC_CC __cdecl
#else
# define AVSC_CC __stdcall
#endif
#define AVSC_INLINE static __inline
#ifdef BUILDING_AVSCORE
# define AVSC_EXPORT EXTERN_C
# define AVSC_API(ret, name) EXTERN_C __declspec(dllexport) ret AVSC_CC name
#else
# define AVSC_EXPORT EXTERN_C __declspec(dllexport)
# ifndef AVSC_NO_DECLSPEC
# define AVSC_API(ret, name) EXTERN_C __declspec(dllimport) ret AVSC_CC name
# else
# define AVSC_API(ret, name) typedef ret (AVSC_CC *name##_func)
# endif
#endif
#endif //AVS_CAPI_H

View File

@@ -0,0 +1,55 @@
// Avisynth C Interface Version 0.20
// Copyright 2003 Kevin Atkinson
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA, or visit
// http://www.gnu.org/copyleft/gpl.html .
//
// As a special exception, I give you permission to link to the
// Avisynth C interface with independent modules that communicate with
// the Avisynth C interface solely through the interfaces defined in
// avisynth_c.h, regardless of the license terms of these independent
// modules, and to copy and distribute the resulting combined work
// under terms of your choice, provided that every copy of the
// combined work is accompanied by a complete copy of the source code
// of the Avisynth C interface and Avisynth itself (with the version
// used to produce the combined work), being distributed under the
// terms of the GNU General Public License plus this exception. An
// independent module is a module which is not derived from or based
// on Avisynth C Interface, such as 3rd-party filters, import and
// export plugins, or graphical user interfaces.
#ifndef AVS_CONFIG_H
#define AVS_CONFIG_H
// Undefine this to get cdecl calling convention
#define AVSC_USE_STDCALL 1
// NOTE TO PLUGIN AUTHORS:
// Because FRAME_ALIGN can be substantially higher than the alignment
// a plugin actually needs, plugins should not use FRAME_ALIGN to check for
// alignment. They should always request the exact alignment value they need.
// This is to make sure that plugins work over the widest range of AviSynth
// builds possible.
#define FRAME_ALIGN 32
#if defined(_M_AMD64) || defined(__x86_64)
# define X86_64
#elif defined(_M_IX86) || defined(__i386__)
# define X86_32
#else
# error Unsupported CPU architecture.
#endif
#endif //AVS_CONFIG_H

View File

@@ -0,0 +1,51 @@
// Avisynth C Interface Version 0.20
// Copyright 2003 Kevin Atkinson
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA, or visit
// http://www.gnu.org/copyleft/gpl.html .
//
// As a special exception, I give you permission to link to the
// Avisynth C interface with independent modules that communicate with
// the Avisynth C interface solely through the interfaces defined in
// avisynth_c.h, regardless of the license terms of these independent
// modules, and to copy and distribute the resulting combined work
// under terms of your choice, provided that every copy of the
// combined work is accompanied by a complete copy of the source code
// of the Avisynth C interface and Avisynth itself (with the version
// used to produce the combined work), being distributed under the
// terms of the GNU General Public License plus this exception. An
// independent module is a module which is not derived from or based
// on Avisynth C Interface, such as 3rd-party filters, import and
// export plugins, or graphical user interfaces.
#ifndef AVS_TYPES_H
#define AVS_TYPES_H
// Define all types necessary for interfacing with avisynth.dll
// Raster types used by VirtualDub & Avisynth
typedef unsigned int Pixel32;
typedef unsigned char BYTE;
// Audio Sample information
typedef float SFLOAT;
#ifdef __GNUC__
typedef long long int INT64;
#else
typedef __int64 INT64;
#endif
#endif //AVS_TYPES_H

View File

@@ -513,21 +513,21 @@ AVSC_INLINE AVS_Value avs_array_elt(AVS_Value v, int index)
// only use these functions on am AVS_Value that does not already have
// an active value. Remember, treat AVS_Value as a fat pointer.
AVSC_INLINE AVS_Value avs_new_value_bool(int v0)
{ AVS_Value v; v.type = 'b'; v.d.boolean = v0 == 0 ? 0 : 1; return v; }
{ AVS_Value v = {0}; v.type = 'b'; v.d.boolean = v0 == 0 ? 0 : 1; return v; }
AVSC_INLINE AVS_Value avs_new_value_int(int v0)
{ AVS_Value v; v.type = 'i'; v.d.integer = v0; return v; }
{ AVS_Value v = {0}; v.type = 'i'; v.d.integer = v0; return v; }
AVSC_INLINE AVS_Value avs_new_value_string(const char * v0)
{ AVS_Value v; v.type = 's'; v.d.string = v0; return v; }
{ AVS_Value v = {0}; v.type = 's'; v.d.string = v0; return v; }
AVSC_INLINE AVS_Value avs_new_value_float(float v0)
{ AVS_Value v; v.type = 'f'; v.d.floating_pt = v0; return v;}
{ AVS_Value v = {0}; v.type = 'f'; v.d.floating_pt = v0; return v;}
AVSC_INLINE AVS_Value avs_new_value_error(const char * v0)
{ AVS_Value v; v.type = 'e'; v.d.string = v0; return v; }
{ AVS_Value v = {0}; v.type = 'e'; v.d.string = v0; return v; }
#ifndef AVSC_NO_DECLSPEC
AVSC_INLINE AVS_Value avs_new_value_clip(AVS_Clip * v0)
{ AVS_Value v; avs_set_to_clip(&v, v0); return v; }
{ AVS_Value v = {0}; avs_set_to_clip(&v, v0); return v; }
#endif
AVSC_INLINE AVS_Value avs_new_value_array(AVS_Value * v0, int size)
{ AVS_Value v; v.type = 'a'; v.d.array = v0; v.array_size = size; return v; }
{ AVS_Value v = {0}; v.type = 'a'; v.d.array = v0; v.array_size = size; return v; }
/////////////////////////////////////////////////////////////////////
//

View File

@@ -52,8 +52,8 @@ namespace avxsynth {
//
// Functions
//
#define MAKEDWORD(a,b,c,d) ((a << 24) | (b << 16) | (c << 8) | (d))
#define MAKEWORD(a,b) ((a << 8) | (b))
#define MAKEDWORD(a,b,c,d) (((a) << 24) | ((b) << 16) | ((c) << 8) | (d))
#define MAKEWORD(a,b) (((a) << 8) | (b))
#define lstrlen strlen
#define lstrcpy strcpy

View File

@@ -66,6 +66,8 @@ static av_always_inline int pthread_create(pthread_t *thread, const pthread_attr
struct thread_arg *thread_arg;
thread_arg = av_mallocz(sizeof(struct thread_arg));
if (!thread_arg)
return ENOMEM;
thread_arg->start_routine = start_routine;
thread_arg->arg = arg;

525
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -15,6 +15,105 @@ libavutil: 2014-08-09
API changes, most recent first:
-------- 8< --------- FFmpeg 2.7 was cut here -------- 8< ---------
2015-06-04 - cc17b43 - lswr 1.2.100
Add swr_get_out_samples()
2015-05-27 - c312bfa - lavu 54.26.100 - cpu.h
Add AV_CPU_FLAG_AVXSLOW.
2015-05-26 - 1fb9b2a - lavu 54.25.100 - rational.h
Add av_q2intfloat().
2015-05-13 - cc48409 / e7c5e17 - lavc 56.39.100 / 56.23.0
Add av_vda_default_init2.
2015-05-11 - 541d75f - lavf 56.33.100 - avformat.h
Add AVOpenCallback AVFormatContext.open_cb
2015-05-07 - a7dd933 - 56.38.100 - avcodec.h
Add av_packet_side_data_name().
2015-05-07 - 01e59d4 - 56.37.102 - avcodec.h
Add FF_PROFILE_VP9_2 and FF_PROFILE_VP9_3.
2015-05-04 - 079b7f6 - 56.37.100 - avcodec.h
Add FF_PROFILE_VP9_0 and FF_PROFILE_VP9_1.
2015-04-22 - 748d481 - lavf 56.31.100 - avformat.h
Add AVFMT_FLAG_FAST_SEEK flag. Some formats (initially mp3) use it to enable
fast, but inaccurate seeking.
2015-04-20 - 8e8219e / c253340 - lavu 54.23.100 / 54.12.0 - log.h
Add AV_LOG_TRACE for extremely verbose debugging.
2015-04-02 - 26e0e393 - lavf 56.29.100 - avio.h
Add AVIODirEntryType.AVIO_ENTRY_SERVER.
Add AVIODirEntryType.AVIO_ENTRY_SHARE.
Add AVIODirEntryType.AVIO_ENTRY_WORKGROUP.
2015-03-31 - 3188696 - lavu 54.22.100 - avstring.h
Add av_append_path_component()
2015-03-27 - 184084c - lavf 56.27.100 - avio.h url.h
New directory listing API.
Add AVIODirEntryType enum.
Add AVIODirEntry, AVIODirContext structures.
Add avio_open_dir(), avio_read_dir(), avio_close_dir(), avio_free_directory_entry().
Add ff_alloc_dir_entry().
Extend URLProtocol with url_open_dir(), url_read_dir(), url_close_dir().
2015-03-29 - 268ff17 / c484561 - lavu 54.21.100 / 54.10.0 - pixfmt.h
Add AV_PIX_FMT_MMAL for MMAL hardware acceleration.
2015-03-19 - 11fe56c - 56.29.100 / lavc 56.22.0
Add FF_PROFILE_DTS_EXPRESS.
-------- 8< --------- FFmpeg 2.6 was cut here -------- 8< ---------
2015-03-04 - cca4476 - lavf 56.25.100
Add avformat_flush()
2015-03-03 - 81a9126 - lavf 56.24.100
Add avio_put_str16be()
2015-02-19 - 560eb71 / 31d2039 - lavc 56.23.100 / 56.13.0
Add width, height, coded_width, coded_height and format to
AVCodecParserContext.
2015-02-19 - e375511 / 5b1d9ce - lavu 54.19.100 / 54.9.0
Add AV_PIX_FMT_QSV for QSV hardware acceleration.
2015-02-14 - ba22295 - lavc 56.21.102
Deprecate VIMA decoder.
2015-01-27 - 62a82c6 / 728685f - lavc 56.21.100 / 56.12.0, lavu 54.18.100 / 54.8.0 - avcodec.h, frame.h
Add AV_PKT_DATA_AUDIO_SERVICE_TYPE and AV_FRAME_DATA_AUDIO_SERVICE_TYPE for
storing the audio service type as side data.
2015-01-16 - a47c933 - lavf 56.19.100 - avformat.h
Add data_codec and data_codec_id for storing codec of data stream
2015-01-11 - 007c33d - lavd 56.4.100 - avdevice.h
Add avdevice_list_input_sources().
Add avdevice_list_output_sinks().
2014-12-25 - d7aaeea / c220a60 - lavc 56.19.100 / 56.10.0 - vdpau.h
Add av_vdpau_get_surface_parameters().
2014-12-25 - ddb9a24 / 6c99c92 - lavc 56.18.100 / 56.9.0 - avcodec.h
Add AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH flag to av_vdpau_bind_context().
2014-12-25 - d16079a / 57b6704 - lavc 56.17.100 / 56.8.0 - avcodec.h
Add AVCodecContext.sw_pix_fmt.
2014-12-04 - 6e9ac02 - lavc 56.14.100 - dv_profile.h
Add av_dv_codec_profile2().
-------- 8< --------- FFmpeg 2.5 was cut here -------- 8< ---------
2014-11-21 - ab922f9 - lavu 54.15.100 - dict.h
Add av_dict_get_string().
@@ -70,12 +169,12 @@ API changes, most recent first:
-------- 8< --------- FFmpeg 2.4 was cut here -------- 8< ---------
2014-08-28 - f30a815 / 9301486 - lavc 56.1.100 / 56.1.0 - avcodec.h
Add AV_PKT_DATA_STEREO3D to export container-level stereo3d information.
2014-08-25 - 215db29 / b263f8f - lavf 56.3.100 / 56.3.0 - avformat.h
Add AVFormatContext.max_ts_probe.
2014-08-28 - f30a815 / 9301486 - lavc 56.1.100 / 56.1.0 - avcodec.h
Add AV_PKT_DATA_STEREO3D to export container-level stereo3d information.
2014-08-23 - 8fc9bd0 - lavu 54.7.100 - dict.h
AV_DICT_DONT_STRDUP_KEY and AV_DICT_DONT_STRDUP_VAL arguments are now
freed even on error. This is consistent with the behaviour all users
@@ -200,7 +299,7 @@ API changes, most recent first:
Increase FF_INPUT_BUFFER_PADDING_SIZE to 32 due to some corner cases needing
it
2014-06-10 - xxxxxxx - lavf 55.43.100 - avformat.h
2014-06-10 - 5482780 - lavf 55.43.100 - avformat.h
New field int64_t max_analyze_duration2 instead of deprecated
int max_analyze_duration.
@@ -224,7 +323,7 @@ API changes, most recent first:
Add strict_std_compliance and related AVOptions to support experimental
muxing.
2014-05-26 - xxxxxxx - lavu 52.87.100 - threadmessage.h
2014-05-26 - 55cc60c - lavu 52.87.100 - threadmessage.h
Add thread message queue API.
2014-05-26 - c37d179 - lavf 55.41.100 - avformat.h
@@ -234,7 +333,7 @@ API changes, most recent first:
Add av_stream_get_side_data() to access stream-level side data
in the same way as av_packet_get_side_data().
2014-05-xx - xxxxxxx - lavu 52.86.100 - fifo.h
2014-05-20 - 7336e39 - lavu 52.86.100 - fifo.h
Add av_fifo_alloc_array() function.
2014-05-19 - ef1d4ee / bddd8cb - lavu 52.85.100 / 53.15.0 - frame.h, display.h
@@ -253,7 +352,7 @@ API changes, most recent first:
Add avcodec_free_context(). From now on it should be used for freeing
AVCodecContext.
2014-05-17 - 0eec06e - lavu 52.84.100 - time.h
2014-05-17 - 0eec06e / 1bd0bdc - lavu 52.84.100 / 54.5.0 - time.h
Add av_gettime_relative() av_gettime_relative_is_monotonic()
2014-05-15 - eacf7d6 / 0c1959b - lavf 55.38.100 / 55.17.0 - avformat.h
@@ -266,7 +365,7 @@ API changes, most recent first:
2014-05-11 - 14aef38 / 66e6c8a - lavu 52.83.100 / 53.14.0 - pixfmt.h
Add AV_PIX_FMT_VDA for new-style VDA acceleration.
2014-05-xx - xxxxxxx - lavu 52.82.100 - fifo.h
2014-05-07 - 351f611 - lavu 52.82.100 - fifo.h
Add av_fifo_freep() function.
2014-05-02 - ba52fb11 - lavu 52.81.100 - opt.h
@@ -288,10 +387,14 @@ API changes, most recent first:
Deprecate CODEC_FLAG_INPUT_PRESERVED. Its functionality is replaced by passing
reference-counted frames to encoders.
2014-04-30 - 617e866 - lavu 52.81.100 - pixdesc.h
Add av_find_best_pix_fmt_of_2(), av_get_pix_fmt_loss()
Deprecate avcodec_get_pix_fmt_loss(), avcodec_find_best_pix_fmt_of_2()
2014-04-29 - 1bf6396 - lavc 55.60.100 - avcodec.h
Add AVCodecDescriptor.mime_types field.
2014-04-29 - xxxxxxx - lavu 52.80.0 - hash.h
2014-04-29 - b804eb4 - lavu 52.80.100 - hash.h
Add av_hash_final_bin(), av_hash_final_hex() and av_hash_final_b64().
2014-03-07 - 8b2a130 - lavc 55.50.0 / 55.53.100 - dxva2.h
@@ -303,7 +406,7 @@ API changes, most recent first:
2014-04-17 - a8d01a7 / 0983d48 - lavu 53.12.0 / 52.77.100 - crc.h
Add AV_CRC_16_ANSI_LE crc variant.
2014-04-XX - xxxxxxx - lavf xx.xx.1xx - avformat.h
2014-04-15 - ef818d8 - lavf 55.37.101 - avformat.h
Add av_format_inject_global_side_data()
2014-04-12 - 4f698be - lavu 52.76.100 - log.h
@@ -383,7 +486,7 @@ API changes, most recent first:
2014-02-19 - f4c8d00 / 6bb8720 - lavu 52.64.101 / 53.3.1 - opt.h
Deprecate unused AV_OPT_FLAG_METADATA.
2014-02-xx - xxxxxxx - lavd 55.10.100 - avdevice.h
2014-02-16 - 81c3f81 - lavd 55.10.100 - avdevice.h
Add avdevice_list_devices() and avdevice_free_list_devices()
2014-02-16 - db3c970 - lavf 55.33.100 - avio.h
@@ -424,7 +527,7 @@ API changes, most recent first:
2014-01-19 - 1a193c4 - lavf 55.25.100 - avformat.h
Add avformat_get_mov_video_tags() and avformat_get_mov_audio_tags().
2014-01-19 - xxxxxxx - lavu 52.63.100 - rational.h
2014-01-19 - 3532dd5 - lavu 52.63.100 - rational.h
Add av_make_q() function.
2014-01-05 - 4cf4da9 / 5b4797a - lavu 52.62.100 / 53.2.0 - frame.h

View File

@@ -31,7 +31,7 @@ PROJECT_NAME = FFmpeg
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER =
PROJECT_NUMBER = 2.7.5
# With the PROJECT_LOGO tag one can specify a logo or icon that is included
# in the documentation. The maximum height of the logo should not exceed 55

View File

@@ -36,6 +36,7 @@ DOCS-$(CONFIG_MANPAGES) += $(MANPAGES)
DOCS-$(CONFIG_TXTPAGES) += $(TXTPAGES)
DOCS = $(DOCS-yes)
DOC_EXAMPLES-$(CONFIG_AVIO_LIST_DIR_EXAMPLE) += avio_list_dir
DOC_EXAMPLES-$(CONFIG_AVIO_READING_EXAMPLE) += avio_reading
DOC_EXAMPLES-$(CONFIG_AVCODEC_EXAMPLE) += avcodec
DOC_EXAMPLES-$(CONFIG_DECODING_ENCODING_EXAMPLE) += decoding_encoding
@@ -46,6 +47,7 @@ DOC_EXAMPLES-$(CONFIG_FILTERING_AUDIO_EXAMPLE) += filtering_audio
DOC_EXAMPLES-$(CONFIG_FILTERING_VIDEO_EXAMPLE) += filtering_video
DOC_EXAMPLES-$(CONFIG_METADATA_EXAMPLE) += metadata
DOC_EXAMPLES-$(CONFIG_MUXING_EXAMPLE) += muxing
DOC_EXAMPLES-$(CONFIG_QSVDEC_EXAMPLE) += qsvdec
DOC_EXAMPLES-$(CONFIG_REMUXING_EXAMPLE) += remuxing
DOC_EXAMPLES-$(CONFIG_RESAMPLING_AUDIO_EXAMPLE) += resampling_audio
DOC_EXAMPLES-$(CONFIG_SCALING_VIDEO_EXAMPLE) += scaling_video
@@ -114,9 +116,9 @@ doc/%-all.pod: doc/%.texi $(SRC_PATH)/doc/texi2pod.pl $(GENTEXI)
doc/%.1 doc/%.3: TAG = MAN
doc/%.1: doc/%.pod $(GENTEXI)
$(M)pod2man --section=1 --center=" " --release=" " $< > $@
$(M)pod2man --section=1 --center=" " --release=" " --date=" " $< > $@
doc/%.3: doc/%.pod $(GENTEXI)
$(M)pod2man --section=3 --center=" " --release=" " $< > $@
$(M)pod2man --section=3 --center=" " --release=" " --date=" " $< > $@
$(DOCS) doc/doxy/html: | doc/
$(DOC_EXAMPLES:%$(EXESUF)=%.o): | doc/examples

View File

@@ -139,6 +139,26 @@ ffmpeg -i frame_%d.jpg -c:v copy rotated.avi
@section mp3_header_decompress
@section mpeg4_unpack_bframes
Unpack DivX-style packed B-frames.
DivX-style packed B-frames are not valid MPEG-4 and were only a
workaround for the broken Video for Windows subsystem.
They use more space, can cause minor AV sync issues, require more
CPU power to decode (unless the player has some decoded picture queue
to compensate the 2,0,2,0 frame per packet style) and cause
trouble if copied into a standard container like mp4 or mpeg-ps/ts,
because MPEG-4 decoders may not be able to decode them, since they are
not valid MPEG-4.
For example to fix an AVI file containing an MPEG-4 stream with
DivX-style packed B-frames using @command{ffmpeg}, you can use the command:
@example
ffmpeg -i INPUT.avi -codec copy -bsf:v mpeg4_unpack_bframes OUTPUT.avi
@end example
@section noise
Damages the contents of packets without damaging the container. Can be

View File

@@ -7,10 +7,18 @@ V
Disable the default terse mode, the full command issued by make and its
output will be shown on the screen.
DBG
Preprocess x86 external assembler files to a .dbg.asm file in the object
directory, which then gets compiled. Helps developping those assembler
files.
DESTDIR
Destination directory for the install targets, useful to prepare packages
or install FFmpeg in cross-environments.
GEN
Set to 1 to generate the missing or mismatched references.
Makefile targets:
all

View File

@@ -7,7 +7,7 @@ all the encoders and decoders. In addition each codec may support
so-called private options, which are specific for a given codec.
Sometimes, a global option may only affect a specific kind of codec,
and may be unsensical or ignored by another, so you need to be aware
and may be nonsensical or ignored by another, so you need to be aware
of the meaning of the specified options. Also some options are
meant only for decoding or encoding.
@@ -495,6 +495,8 @@ visualize block types
picture buffer allocations
@item thread_ops
threading operations
@item nomc
skip motion compensation
@end table
@item vismv @var{integer} (@emph{decoding,video})
@@ -863,6 +865,14 @@ Possible values:
@item mpeg2_aac_he
@item mpeg4_sp
@item mpeg4_core
@item mpeg4_main
@item mpeg4_asp
@item dts
@item dts_es

View File

@@ -83,6 +83,23 @@ Loud sounds are fully compressed. Soft sounds are enhanced.
@end table
@section flac
FLAC audio decoder.
This decoder aims to implement the complete FLAC specification from Xiph.
@subsection FLAC Decoder options
@table @option
@item -use_buggy_lpc
The lavc FLAC encoder used to produce buggy streams with high lpc values
(like the default value). This option makes it possible to decode such streams
correctly by using lavc's old buggy lpc logic for decoding.
@end table
@section ffwavesynth
Internal wave synthetizer.

View File

@@ -151,6 +151,7 @@ probed and 0 otherwise.
@item auto_convert
If set to 1, try to perform automatic conversions on packet data to make the
streams concatenable.
The default is 1.
Currently, the only conversion is adding the h264_mp4toannexb bitstream
filter to H.264 streams in MP4 format. This is necessary in particular if
@@ -205,6 +206,11 @@ It accepts the following options:
Set the minimum valid delay between frames in hundredths of seconds.
Range is 0 to 6000. Default value is 2.
@item max_gif_delay
Set the maximum valid delay between frames in hundredth of seconds.
Range is 0 to 65535. Default value is 65535 (nearly eleven minutes),
the maximum value allowed by the specification.
@item default_delay
Set the default delay between frames in hundredths of seconds.
Range is 0 to 6000. Default value is 10.
@@ -253,6 +259,10 @@ Select the pattern type used to interpret the provided filename.
@var{pattern_type} accepts one of the following values.
@table @option
@item none
Disable pattern matching, therefore the video will only contain the specified
image. You should use this option if you do not want to create sequences from
multiple images and your filenames may contain special pattern characters.
@item sequence
Select a sequence pattern type, used to specify a sequence of files
indexed by sequential numbers.

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Developer Documentation
@titlepage
@@ -227,7 +228,7 @@ autocmd InsertEnter * match ForbiddenWhitespace /\t\|\s\+\%#\@@<!$/
@end example
For Emacs, add these roughly equivalent lines to your @file{.emacs.d/init.el}:
@example
@lisp
(c-add-style "ffmpeg"
'("k&r"
(c-basic-offset . 4)
@@ -238,7 +239,7 @@ For Emacs, add these roughly equivalent lines to your @file{.emacs.d/init.el}:
)
)
(setq c-default-style "ffmpeg")
@end example
@end lisp
@section Development Policy
@@ -647,12 +648,12 @@ accordingly].
@subsection Adding files to the fate-suite dataset
When there is no muxer or encoder available to generate test media for a
specific test then the media has to be inlcuded in the fate-suite.
specific test then the media has to be included in the fate-suite.
First please make sure that the sample file is as small as possible to test the
respective decoder or demuxer sufficiently. Large files increase network
bandwidth and disk space requirements.
Once you have a working fate test and fate sample, provide in the commit
message or introductionary message for the patch series that you post to
message or introductory message for the patch series that you post to
the ffmpeg-devel mailing list, a direct link to download the sample media.

View File

@@ -6,8 +6,16 @@ DOXYGEN="${3}"
shift 3
if [ -e "$SRC_PATH/VERSION" ]; then
VERSION=`cat "$SRC_PATH/VERSION"`
else
VERSION=`cd "$SRC_PATH"; git describe`
fi
$DOXYGEN - <<EOF
@INCLUDE = ${DOXYFILE}
INPUT = $@
EXAMPLE_PATH = ${SRC_PATH}/doc/examples
HTML_TIMESTAMP = NO
PROJECT_NUMBER = $VERSION
EOF

View File

@@ -494,6 +494,85 @@ Selected by Encoder (default)
@end table
@anchor{flac}
@section flac
FLAC (Free Lossless Audio Codec) Encoder
@subsection Options
The following options are supported by FFmpeg's flac encoder.
@table @option
@item compression_level
Sets the compression level, which chooses defaults for many other options
if they are not set explicitly.
@item frame_size
Sets the size of the frames in samples per channel.
@item lpc_coeff_precision
Sets the LPC coefficient precision, valid values are from 1 to 15, 15 is the
default.
@item lpc_type
Sets the first stage LPC algorithm
@table @samp
@item none
LPC is not used
@item fixed
fixed LPC coefficients
@item levinson
@item cholesky
@end table
@item lpc_passes
Number of passes to use for Cholesky factorization during LPC analysis
@item min_partition_order
The minimum partition order
@item max_partition_order
The maximum partition order
@item prediction_order_method
@table @samp
@item estimation
@item 2level
@item 4level
@item 8level
@item search
Bruteforce search
@item log
@end table
@item ch_mode
Channel mode
@table @samp
@item auto
The mode is chosen automatically for each frame
@item indep
Chanels are independently coded
@item left_side
@item right_side
@item mid_side
@end table
@item exact_rice_parameters
Chooses if rice parameters are calculated exactly or approximately.
if set to 1 then they are chosen exactly, which slows the code down slightly and
improves compression slightly.
@item multi_dim_quant
Multi Dimensional Quantization. If set to 1 then a 2nd stage LPC algorithm is
applied after the first stage to finetune the coefficients. This is quite slow
and slightly improves compression.
@end table
@anchor{libfaac}
@section libfaac
@@ -2171,7 +2250,7 @@ Use @var{0} to disable alpha plane coding.
@subsection Speed considerations
In the default mode of operation the encoder has to honor frame constraints
(i.e. not produc frames with size bigger than requested) while still making
(i.e. not produce frames with size bigger than requested) while still making
output picture as good as possible.
A frame containing a lot of small details is harder to compress and the encoder
would spend more time searching for appropriate quantizers for each slice.

View File

@@ -11,7 +11,8 @@ CFLAGS += -Wall -g
CFLAGS := $(shell pkg-config --cflags $(FFMPEG_LIBS)) $(CFLAGS)
LDLIBS := $(shell pkg-config --libs $(FFMPEG_LIBS)) $(LDLIBS)
EXAMPLES= avio_reading \
EXAMPLES= avio_list_dir \
avio_reading \
decoding_encoding \
demuxing_decoding \
extract_mvs \
@@ -29,6 +30,7 @@ OBJS=$(addsuffix .o,$(EXAMPLES))
# the following examples make explicit use of the math library
avcodec: LDLIBS += -lm
decoding_encoding: LDLIBS += -lm
muxing: LDLIBS += -lm
resampling_audio: LDLIBS += -lm

View File

@@ -0,0 +1,120 @@
/*
* Copyright (c) 2014 Lukasz Marek
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libavformat/avio.h>
static const char *type_string(int type)
{
switch (type) {
case AVIO_ENTRY_DIRECTORY:
return "<DIR>";
case AVIO_ENTRY_FILE:
return "<FILE>";
case AVIO_ENTRY_BLOCK_DEVICE:
return "<BLOCK DEVICE>";
case AVIO_ENTRY_CHARACTER_DEVICE:
return "<CHARACTER DEVICE>";
case AVIO_ENTRY_NAMED_PIPE:
return "<PIPE>";
case AVIO_ENTRY_SYMBOLIC_LINK:
return "<LINK>";
case AVIO_ENTRY_SOCKET:
return "<SOCKET>";
case AVIO_ENTRY_SERVER:
return "<SERVER>";
case AVIO_ENTRY_SHARE:
return "<SHARE>";
case AVIO_ENTRY_WORKGROUP:
return "<WORKGROUP>";
case AVIO_ENTRY_UNKNOWN:
default:
break;
}
return "<UNKNOWN>";
}
int main(int argc, char *argv[])
{
const char *input_dir = NULL;
AVIODirEntry *entry = NULL;
AVIODirContext *ctx = NULL;
int cnt, ret;
char filemode[4], uid_and_gid[20];
av_log_set_level(AV_LOG_DEBUG);
if (argc != 2) {
fprintf(stderr, "usage: %s input_dir\n"
"API example program to show how to list files in directory "
"accessed through AVIOContext.\n", argv[0]);
return 1;
}
input_dir = argv[1];
/* register codecs and formats and other lavf/lavc components*/
av_register_all();
avformat_network_init();
if ((ret = avio_open_dir(&ctx, input_dir, NULL)) < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot open directory: %s.\n", av_err2str(ret));
goto fail;
}
cnt = 0;
for (;;) {
if ((ret = avio_read_dir(ctx, &entry)) < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot list directory: %s.\n", av_err2str(ret));
goto fail;
}
if (!entry)
break;
if (entry->filemode == -1) {
snprintf(filemode, 4, "???");
} else {
snprintf(filemode, 4, "%3"PRIo64, entry->filemode);
}
snprintf(uid_and_gid, 20, "%"PRId64"(%"PRId64")", entry->user_id, entry->group_id);
if (cnt == 0)
av_log(NULL, AV_LOG_INFO, "%-9s %12s %30s %10s %s %16s %16s %16s\n",
"TYPE", "SIZE", "NAME", "UID(GID)", "UGO", "MODIFIED",
"ACCESSED", "STATUS_CHANGED");
av_log(NULL, AV_LOG_INFO, "%-9s %12"PRId64" %30s %10s %s %16"PRId64" %16"PRId64" %16"PRId64"\n",
type_string(entry->type),
entry->size,
entry->name,
uid_and_gid,
filemode,
entry->modification_timestamp,
entry->access_timestamp,
entry->status_change_timestamp);
avio_free_directory_entry(&entry);
cnt++;
};
fail:
avio_close_dir(&ctx);
avformat_network_deinit();
return ret < 0 ? 1 : 0;
}

View File

@@ -36,6 +36,8 @@
static AVFormatContext *fmt_ctx = NULL;
static AVCodecContext *video_dec_ctx = NULL, *audio_dec_ctx;
static int width, height;
static enum AVPixelFormat pix_fmt;
static AVStream *video_stream = NULL, *audio_stream = NULL;
static const char *src_filename = NULL;
static const char *video_dst_filename = NULL;
@@ -81,6 +83,22 @@ static int decode_packet(int *got_frame, int cached)
}
if (*got_frame) {
if (frame->width != width || frame->height != height ||
frame->format != pix_fmt) {
/* To handle this change, one could call av_image_alloc again and
* decode the following frames into another rawvideo file. */
fprintf(stderr, "Error: Width, height and pixel format have to be "
"constant in a rawvideo file, but the width, height or "
"pixel format of the input video changed:\n"
"old: width = %d, height = %d, format = %s\n"
"new: width = %d, height = %d, format = %s\n",
width, height, av_get_pix_fmt_name(pix_fmt),
frame->width, frame->height,
av_get_pix_fmt_name(frame->format));
return -1;
}
printf("video_frame%s n:%d coded_n:%d pts:%s\n",
cached ? "(cached)" : "",
video_frame_count++, frame->coded_picture_number,
@@ -90,7 +108,7 @@ static int decode_packet(int *got_frame, int cached)
* this is required since rawvideo expects non aligned data */
av_image_copy(video_dst_data, video_dst_linesize,
(const uint8_t **)(frame->data), frame->linesize,
video_dec_ctx->pix_fmt, video_dec_ctx->width, video_dec_ctx->height);
pix_fmt, width, height);
/* write to rawvideo file */
fwrite(video_dst_data[0], 1, video_dst_bufsize, video_dst_file);
@@ -138,7 +156,7 @@ static int decode_packet(int *got_frame, int cached)
static int open_codec_context(int *stream_idx,
AVFormatContext *fmt_ctx, enum AVMediaType type)
{
int ret;
int ret, stream_index;
AVStream *st;
AVCodecContext *dec_ctx = NULL;
AVCodec *dec = NULL;
@@ -150,8 +168,8 @@ static int open_codec_context(int *stream_idx,
av_get_media_type_string(type), src_filename);
return ret;
} else {
*stream_idx = ret;
st = fmt_ctx->streams[*stream_idx];
stream_index = ret;
st = fmt_ctx->streams[stream_index];
/* find decoder for the stream */
dec_ctx = st->codec;
@@ -170,6 +188,7 @@ static int open_codec_context(int *stream_idx,
av_get_media_type_string(type));
return ret;
}
*stream_idx = stream_index;
}
return 0;
@@ -264,9 +283,11 @@ int main (int argc, char **argv)
}
/* allocate image where the decoded image will be put */
width = video_dec_ctx->width;
height = video_dec_ctx->height;
pix_fmt = video_dec_ctx->pix_fmt;
ret = av_image_alloc(video_dst_data, video_dst_linesize,
video_dec_ctx->width, video_dec_ctx->height,
video_dec_ctx->pix_fmt, 1);
width, height, pix_fmt, 1);
if (ret < 0) {
fprintf(stderr, "Could not allocate raw video buffer\n");
goto end;
@@ -341,7 +362,7 @@ int main (int argc, char **argv)
if (video_stream) {
printf("Play the output video file with the command:\n"
"ffplay -f rawvideo -pix_fmt %s -video_size %dx%d %s\n",
av_get_pix_fmt_name(video_dec_ctx->pix_fmt), video_dec_ctx->width, video_dec_ctx->height,
av_get_pix_fmt_name(pix_fmt), width, height,
video_dst_filename);
}

View File

@@ -145,12 +145,28 @@ static int init_filters(const char *filters_descr)
goto end;
}
/* Endpoints for the filter graph. */
/*
* Set the endpoints for the filter graph. The filter_graph will
* be linked to the graph described by filters_descr.
*/
/*
* The buffer source output must be connected to the input pad of
* the first filter described by filters_descr; since the first
* filter input label is not specified, it is set to "in" by
* default.
*/
outputs->name = av_strdup("in");
outputs->filter_ctx = buffersrc_ctx;
outputs->pad_idx = 0;
outputs->next = NULL;
/*
* The buffer sink input must be connected to the output pad of
* the last filter described by filters_descr; since the last
* filter output label is not specified, it is set to "out" by
* default.
*/
inputs->name = av_strdup("out");
inputs->filter_ctx = buffersink_ctx;
inputs->pad_idx = 0;

View File

@@ -90,6 +90,7 @@ static int init_filters(const char *filters_descr)
AVFilter *buffersink = avfilter_get_by_name("buffersink");
AVFilterInOut *outputs = avfilter_inout_alloc();
AVFilterInOut *inputs = avfilter_inout_alloc();
AVRational time_base = fmt_ctx->streams[video_stream_index]->time_base;
enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE };
filter_graph = avfilter_graph_alloc();
@@ -102,7 +103,7 @@ static int init_filters(const char *filters_descr)
snprintf(args, sizeof(args),
"video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:pixel_aspect=%d/%d",
dec_ctx->width, dec_ctx->height, dec_ctx->pix_fmt,
dec_ctx->time_base.num, dec_ctx->time_base.den,
time_base.num, time_base.den,
dec_ctx->sample_aspect_ratio.num, dec_ctx->sample_aspect_ratio.den);
ret = avfilter_graph_create_filter(&buffersrc_ctx, buffersrc, "in",
@@ -127,12 +128,28 @@ static int init_filters(const char *filters_descr)
goto end;
}
/* Endpoints for the filter graph. */
/*
* Set the endpoints for the filter graph. The filter_graph will
* be linked to the graph described by filters_descr.
*/
/*
* The buffer source output must be connected to the input pad of
* the first filter described by filters_descr; since the first
* filter input label is not specified, it is set to "in" by
* default.
*/
outputs->name = av_strdup("in");
outputs->filter_ctx = buffersrc_ctx;
outputs->pad_idx = 0;
outputs->next = NULL;
/*
* The buffer sink input must be connected to the output pad of
* the last filter described by filters_descr; since the last
* filter output label is not specified, it is set to "out" by
* default.
*/
inputs->name = av_strdup("out");
inputs->filter_ctx = buffersink_ctx;
inputs->pad_idx = 0;

View File

@@ -661,7 +661,7 @@ int main(int argc, char **argv)
if (!(fmt->flags & AVFMT_NOFILE))
/* Close the output file. */
avio_close(oc->pb);
avio_closep(&oc->pb);
/* free the stream */
avformat_free_context(oc);

484
doc/examples/qsvdec.c Normal file
View File

@@ -0,0 +1,484 @@
/*
* Copyright (c) 2015 Anton Khirnov
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
/**
* @file
* Intel QSV-accelerated H.264 decoding example.
*
* @example qsvdec.c
* This example shows how to do QSV-accelerated H.264 decoding with output
* frames in the VA-API video surfaces.
*/
#include "config.h"
#include <stdio.h>
#include <mfx/mfxvideo.h>
#include <va/va.h>
#include <va/va_x11.h>
#include <X11/Xlib.h>
#include "libavformat/avformat.h"
#include "libavformat/avio.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/qsv.h"
#include "libavutil/error.h"
#include "libavutil/mem.h"
typedef struct DecodeContext {
mfxSession mfx_session;
VADisplay va_dpy;
VASurfaceID *surfaces;
mfxMemId *surface_ids;
int *surface_used;
int nb_surfaces;
mfxFrameInfo frame_info;
} DecodeContext;
static mfxStatus frame_alloc(mfxHDL pthis, mfxFrameAllocRequest *req,
mfxFrameAllocResponse *resp)
{
DecodeContext *decode = pthis;
int err, i;
if (decode->surfaces) {
fprintf(stderr, "Multiple allocation requests.\n");
return MFX_ERR_MEMORY_ALLOC;
}
if (!(req->Type & MFX_MEMTYPE_VIDEO_MEMORY_DECODER_TARGET)) {
fprintf(stderr, "Unsupported surface type: %d\n", req->Type);
return MFX_ERR_UNSUPPORTED;
}
if (req->Info.BitDepthLuma != 8 || req->Info.BitDepthChroma != 8 ||
req->Info.Shift || req->Info.FourCC != MFX_FOURCC_NV12 ||
req->Info.ChromaFormat != MFX_CHROMAFORMAT_YUV420) {
fprintf(stderr, "Unsupported surface properties.\n");
return MFX_ERR_UNSUPPORTED;
}
decode->surfaces = av_malloc_array (req->NumFrameSuggested, sizeof(*decode->surfaces));
decode->surface_ids = av_malloc_array (req->NumFrameSuggested, sizeof(*decode->surface_ids));
decode->surface_used = av_mallocz_array(req->NumFrameSuggested, sizeof(*decode->surface_used));
if (!decode->surfaces || !decode->surface_ids || !decode->surface_used)
goto fail;
err = vaCreateSurfaces(decode->va_dpy, VA_RT_FORMAT_YUV420,
req->Info.Width, req->Info.Height,
decode->surfaces, req->NumFrameSuggested,
NULL, 0);
if (err != VA_STATUS_SUCCESS) {
fprintf(stderr, "Error allocating VA surfaces\n");
goto fail;
}
decode->nb_surfaces = req->NumFrameSuggested;
for (i = 0; i < decode->nb_surfaces; i++)
decode->surface_ids[i] = &decode->surfaces[i];
resp->mids = decode->surface_ids;
resp->NumFrameActual = decode->nb_surfaces;
decode->frame_info = req->Info;
return MFX_ERR_NONE;
fail:
av_freep(&decode->surfaces);
av_freep(&decode->surface_ids);
av_freep(&decode->surface_used);
return MFX_ERR_MEMORY_ALLOC;
}
static mfxStatus frame_free(mfxHDL pthis, mfxFrameAllocResponse *resp)
{
DecodeContext *decode = pthis;
if (decode->surfaces)
vaDestroySurfaces(decode->va_dpy, decode->surfaces, decode->nb_surfaces);
av_freep(&decode->surfaces);
av_freep(&decode->surface_ids);
av_freep(&decode->surface_used);
decode->nb_surfaces = 0;
return MFX_ERR_NONE;
}
static mfxStatus frame_lock(mfxHDL pthis, mfxMemId mid, mfxFrameData *ptr)
{
return MFX_ERR_UNSUPPORTED;
}
static mfxStatus frame_unlock(mfxHDL pthis, mfxMemId mid, mfxFrameData *ptr)
{
return MFX_ERR_UNSUPPORTED;
}
static mfxStatus frame_get_hdl(mfxHDL pthis, mfxMemId mid, mfxHDL *hdl)
{
*hdl = mid;
return MFX_ERR_NONE;
}
static void free_buffer(void *opaque, uint8_t *data)
{
int *used = opaque;
*used = 0;
av_freep(&data);
}
static int get_buffer(AVCodecContext *avctx, AVFrame *frame, int flags)
{
DecodeContext *decode = avctx->opaque;
mfxFrameSurface1 *surf;
AVBufferRef *surf_buf;
int idx;
for (idx = 0; idx < decode->nb_surfaces; idx++) {
if (!decode->surface_used[idx])
break;
}
if (idx == decode->nb_surfaces) {
fprintf(stderr, "No free surfaces\n");
return AVERROR(ENOMEM);
}
surf = av_mallocz(sizeof(*surf));
if (!surf)
return AVERROR(ENOMEM);
surf_buf = av_buffer_create((uint8_t*)surf, sizeof(*surf), free_buffer,
&decode->surface_used[idx], AV_BUFFER_FLAG_READONLY);
if (!surf_buf) {
av_freep(&surf);
return AVERROR(ENOMEM);
}
surf->Info = decode->frame_info;
surf->Data.MemId = &decode->surfaces[idx];
frame->buf[0] = surf_buf;
frame->data[3] = (uint8_t*)surf;
decode->surface_used[idx] = 1;
return 0;
}
static int get_format(AVCodecContext *avctx, const enum AVPixelFormat *pix_fmts)
{
while (*pix_fmts != AV_PIX_FMT_NONE) {
if (*pix_fmts == AV_PIX_FMT_QSV) {
if (!avctx->hwaccel_context) {
DecodeContext *decode = avctx->opaque;
AVQSVContext *qsv = av_qsv_alloc_context();
if (!qsv)
return AV_PIX_FMT_NONE;
qsv->session = decode->mfx_session;
qsv->iopattern = MFX_IOPATTERN_OUT_VIDEO_MEMORY;
avctx->hwaccel_context = qsv;
}
return AV_PIX_FMT_QSV;
}
pix_fmts++;
}
fprintf(stderr, "The QSV pixel format not offered in get_format()\n");
return AV_PIX_FMT_NONE;
}
static int decode_packet(DecodeContext *decode, AVCodecContext *decoder_ctx,
AVFrame *frame, AVPacket *pkt,
AVIOContext *output_ctx)
{
int ret = 0;
int got_frame = 1;
while (pkt->size > 0 || (!pkt->data && got_frame)) {
ret = avcodec_decode_video2(decoder_ctx, frame, &got_frame, pkt);
if (ret < 0) {
fprintf(stderr, "Error during decoding\n");
return ret;
}
pkt->data += ret;
pkt->size -= ret;
/* A real program would do something useful with the decoded frame here.
* We just retrieve the raw data and write it to a file, which is rather
* useless but pedagogic. */
if (got_frame) {
mfxFrameSurface1 *surf = (mfxFrameSurface1*)frame->data[3];
VASurfaceID surface = *(VASurfaceID*)surf->Data.MemId;
VAImageFormat img_fmt = {
.fourcc = VA_FOURCC_NV12,
.byte_order = VA_LSB_FIRST,
.bits_per_pixel = 8,
.depth = 8,
};
VAImage img;
VAStatus err;
uint8_t *data;
int i, j;
img.buf = VA_INVALID_ID;
img.image_id = VA_INVALID_ID;
err = vaCreateImage(decode->va_dpy, &img_fmt,
frame->width, frame->height, &img);
if (err != VA_STATUS_SUCCESS) {
fprintf(stderr, "Error creating an image: %s\n",
vaErrorStr(err));
ret = AVERROR_UNKNOWN;
goto fail;
}
err = vaGetImage(decode->va_dpy, surface, 0, 0,
frame->width, frame->height,
img.image_id);
if (err != VA_STATUS_SUCCESS) {
fprintf(stderr, "Error getting an image: %s\n",
vaErrorStr(err));
ret = AVERROR_UNKNOWN;
goto fail;
}
err = vaMapBuffer(decode->va_dpy, img.buf, (void**)&data);
if (err != VA_STATUS_SUCCESS) {
fprintf(stderr, "Error mapping the image buffer: %s\n",
vaErrorStr(err));
ret = AVERROR_UNKNOWN;
goto fail;
}
for (i = 0; i < img.num_planes; i++)
for (j = 0; j < (img.height >> (i > 0)); j++)
avio_write(output_ctx, data + img.offsets[i] + j * img.pitches[i], img.width);
fail:
if (img.buf != VA_INVALID_ID)
vaUnmapBuffer(decode->va_dpy, img.buf);
if (img.image_id != VA_INVALID_ID)
vaDestroyImage(decode->va_dpy, img.image_id);
av_frame_unref(frame);
if (ret < 0)
return ret;
}
}
return 0;
}
int main(int argc, char **argv)
{
AVFormatContext *input_ctx = NULL;
AVStream *video_st = NULL;
AVCodecContext *decoder_ctx = NULL;
const AVCodec *decoder;
AVPacket pkt = { 0 };
AVFrame *frame = NULL;
DecodeContext decode = { NULL };
Display *dpy = NULL;
int va_ver_major, va_ver_minor;
mfxIMPL mfx_impl = MFX_IMPL_AUTO_ANY;
mfxVersion mfx_ver = { { 1, 1 } };
mfxFrameAllocator frame_allocator = {
.pthis = &decode,
.Alloc = frame_alloc,
.Lock = frame_lock,
.Unlock = frame_unlock,
.GetHDL = frame_get_hdl,
.Free = frame_free,
};
AVIOContext *output_ctx = NULL;
int ret, i, err;
av_register_all();
if (argc < 3) {
fprintf(stderr, "Usage: %s <input file> <output file>\n", argv[0]);
return 1;
}
/* open the input file */
ret = avformat_open_input(&input_ctx, argv[1], NULL, NULL);
if (ret < 0) {
fprintf(stderr, "Cannot open input file '%s': ", argv[1]);
goto finish;
}
/* find the first H.264 video stream */
for (i = 0; i < input_ctx->nb_streams; i++) {
AVStream *st = input_ctx->streams[i];
if (st->codec->codec_id == AV_CODEC_ID_H264 && !video_st)
video_st = st;
else
st->discard = AVDISCARD_ALL;
}
if (!video_st) {
fprintf(stderr, "No H.264 video stream in the input file\n");
goto finish;
}
/* initialize VA-API */
dpy = XOpenDisplay(NULL);
if (!dpy) {
fprintf(stderr, "Cannot open the X display\n");
goto finish;
}
decode.va_dpy = vaGetDisplay(dpy);
if (!decode.va_dpy) {
fprintf(stderr, "Cannot open the VA display\n");
goto finish;
}
err = vaInitialize(decode.va_dpy, &va_ver_major, &va_ver_minor);
if (err != VA_STATUS_SUCCESS) {
fprintf(stderr, "Cannot initialize VA: %s\n", vaErrorStr(err));
goto finish;
}
fprintf(stderr, "Initialized VA v%d.%d\n", va_ver_major, va_ver_minor);
/* initialize an MFX session */
err = MFXInit(mfx_impl, &mfx_ver, &decode.mfx_session);
if (err != MFX_ERR_NONE) {
fprintf(stderr, "Error initializing an MFX session\n");
goto finish;
}
MFXVideoCORE_SetHandle(decode.mfx_session, MFX_HANDLE_VA_DISPLAY, decode.va_dpy);
MFXVideoCORE_SetFrameAllocator(decode.mfx_session, &frame_allocator);
/* initialize the decoder */
decoder = avcodec_find_decoder_by_name("h264_qsv");
if (!decoder) {
fprintf(stderr, "The QSV decoder is not present in libavcodec\n");
goto finish;
}
decoder_ctx = avcodec_alloc_context3(decoder);
if (!decoder_ctx) {
ret = AVERROR(ENOMEM);
goto finish;
}
decoder_ctx->codec_id = AV_CODEC_ID_H264;
if (video_st->codec->extradata_size) {
decoder_ctx->extradata = av_mallocz(video_st->codec->extradata_size +
FF_INPUT_BUFFER_PADDING_SIZE);
if (!decoder_ctx->extradata) {
ret = AVERROR(ENOMEM);
goto finish;
}
memcpy(decoder_ctx->extradata, video_st->codec->extradata,
video_st->codec->extradata_size);
decoder_ctx->extradata_size = video_st->codec->extradata_size;
}
decoder_ctx->refcounted_frames = 1;
decoder_ctx->opaque = &decode;
decoder_ctx->get_buffer2 = get_buffer;
decoder_ctx->get_format = get_format;
ret = avcodec_open2(decoder_ctx, NULL, NULL);
if (ret < 0) {
fprintf(stderr, "Error opening the decoder: ");
goto finish;
}
/* open the output stream */
ret = avio_open(&output_ctx, argv[2], AVIO_FLAG_WRITE);
if (ret < 0) {
fprintf(stderr, "Error opening the output context: ");
goto finish;
}
frame = av_frame_alloc();
if (!frame) {
ret = AVERROR(ENOMEM);
goto finish;
}
/* actual decoding */
while (ret >= 0) {
ret = av_read_frame(input_ctx, &pkt);
if (ret < 0)
break;
if (pkt.stream_index == video_st->index)
ret = decode_packet(&decode, decoder_ctx, frame, &pkt, output_ctx);
av_packet_unref(&pkt);
}
/* flush the decoder */
pkt.data = NULL;
pkt.size = 0;
ret = decode_packet(&decode, decoder_ctx, frame, &pkt, output_ctx);
finish:
if (ret < 0) {
char buf[1024];
av_strerror(ret, buf, sizeof(buf));
fprintf(stderr, "%s\n", buf);
}
avformat_close_input(&input_ctx);
av_frame_free(&frame);
if (decode.mfx_session)
MFXClose(decode.mfx_session);
if (decode.va_dpy)
vaTerminate(decode.va_dpy);
if (dpy)
XCloseDisplay(dpy);
if (decoder_ctx)
av_freep(&decoder_ctx->hwaccel_context);
avcodec_free_context(&decoder_ctx);
avio_close(output_ctx);
return ret;
}

View File

@@ -153,7 +153,7 @@ end:
/* close output */
if (ofmt_ctx && !(ofmt->flags & AVFMT_NOFILE))
avio_close(ofmt_ctx->pb);
avio_closep(&ofmt_ctx->pb);
avformat_free_context(ofmt_ctx);
if (ret < 0 && ret != AVERROR_EOF) {

View File

@@ -41,11 +41,9 @@
#include "libswresample/swresample.h"
/** The output bit rate in kbit/s */
#define OUTPUT_BIT_RATE 48000
#define OUTPUT_BIT_RATE 96000
/** The number of output channels */
#define OUTPUT_CHANNELS 2
/** The audio sample output format */
#define OUTPUT_SAMPLE_FORMAT AV_SAMPLE_FMT_S16
/**
* Convert an error code into a text message.
@@ -169,7 +167,7 @@ static int open_output_file(const char *filename,
goto cleanup;
}
/** Save the encoder context for easiert access later. */
/** Save the encoder context for easier access later. */
*output_codec_context = stream->codec;
/**
@@ -179,9 +177,16 @@ static int open_output_file(const char *filename,
(*output_codec_context)->channels = OUTPUT_CHANNELS;
(*output_codec_context)->channel_layout = av_get_default_channel_layout(OUTPUT_CHANNELS);
(*output_codec_context)->sample_rate = input_codec_context->sample_rate;
(*output_codec_context)->sample_fmt = AV_SAMPLE_FMT_S16;
(*output_codec_context)->sample_fmt = output_codec->sample_fmts[0];
(*output_codec_context)->bit_rate = OUTPUT_BIT_RATE;
/** Allow the use of the experimental AAC encoder */
(*output_codec_context)->strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL;
/** Set the sample rate for the container. */
stream->time_base.den = input_codec_context->sample_rate;
stream->time_base.num = 1;
/**
* Some container formats (like MP4) require global headers to be present
* Mark the encoder so that it behaves accordingly.
@@ -199,7 +204,7 @@ static int open_output_file(const char *filename,
return 0;
cleanup:
avio_close((*output_format_context)->pb);
avio_closep(&(*output_format_context)->pb);
avformat_free_context(*output_format_context);
*output_format_context = NULL;
return error < 0 ? error : AVERROR_EXIT;
@@ -271,10 +276,11 @@ static int init_resampler(AVCodecContext *input_codec_context,
}
/** Initialize a FIFO buffer for the audio samples to be encoded. */
static int init_fifo(AVAudioFifo **fifo)
static int init_fifo(AVAudioFifo **fifo, AVCodecContext *output_codec_context)
{
/** Create the FIFO buffer based on the specified output sample format. */
if (!(*fifo = av_audio_fifo_alloc(OUTPUT_SAMPLE_FORMAT, OUTPUT_CHANNELS, 1))) {
if (!(*fifo = av_audio_fifo_alloc(output_codec_context->sample_fmt,
output_codec_context->channels, 1))) {
fprintf(stderr, "Could not allocate FIFO\n");
return AVERROR(ENOMEM);
}
@@ -537,6 +543,9 @@ static int init_output_frame(AVFrame **frame,
return 0;
}
/** Global timestamp for the audio frames */
static int64_t pts = 0;
/** Encode one frame worth of audio to the output file. */
static int encode_audio_frame(AVFrame *frame,
AVFormatContext *output_format_context,
@@ -548,6 +557,12 @@ static int encode_audio_frame(AVFrame *frame,
int error;
init_packet(&output_packet);
/** Set a timestamp based on the sample rate for the container. */
if (frame) {
frame->pts = pts;
pts += frame->nb_samples;
}
/**
* Encode the audio frame and store it in the temporary packet.
* The output audio stream encoder is used to do this.
@@ -659,7 +674,7 @@ int main(int argc, char **argv)
&resample_context))
goto cleanup;
/** Initialize the FIFO buffer to store audio samples to be encoded. */
if (init_fifo(&fifo))
if (init_fifo(&fifo, output_codec_context))
goto cleanup;
/** Write the header of the output file container. */
if (write_output_file_header(output_format_context))
@@ -743,7 +758,7 @@ cleanup:
if (output_codec_context)
avcodec_close(output_codec_context);
if (output_format_context) {
avio_close(output_format_context->pb);
avio_closep(&output_format_context->pb);
avformat_free_context(output_format_context);
}
if (input_codec_context)

View File

@@ -116,6 +116,10 @@ static int open_output_file(const char *filename)
|| dec_ctx->codec_type == AVMEDIA_TYPE_AUDIO) {
/* in this example, we choose transcoding to same codec */
encoder = avcodec_find_encoder(dec_ctx->codec_id);
if (!encoder) {
av_log(NULL, AV_LOG_FATAL, "Necessary encoder not found\n");
return AVERROR_INVALIDDATA;
}
/* In this example, we transcode to same properties (picture size,
* sample rate etc.). These properties can be changed for output
@@ -569,7 +573,7 @@ end:
av_free(filter_ctx);
avformat_close_input(&ifmt_ctx);
if (ofmt_ctx && !(ofmt_ctx->oformat->flags & AVFMT_NOFILE))
avio_close(ofmt_ctx->pb);
avio_closep(&ofmt_ctx->pb);
avformat_free_context(ofmt_ctx);
if (ret < 0)

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg FAQ
@titlepage
@@ -90,6 +91,56 @@ To build FFmpeg, you need to install the development package. It is usually
called @file{libfoo-dev} or @file{libfoo-devel}. You can remove it after the
build is finished, but be sure to keep the main package.
@section How do I make @command{pkg-config} find my libraries?
Somewhere along with your libraries, there is a @file{.pc} file (or several)
in a @file{pkgconfig} directory. You need to set environment variables to
point @command{pkg-config} to these files.
If you need to @emph{add} directories to @command{pkg-config}'s search list
(typical use case: library installed separately), add it to
@code{$PKG_CONFIG_PATH}:
@example
export PKG_CONFIG_PATH=/opt/x264/lib/pkgconfig:/opt/opus/lib/pkgconfig
@end example
If you need to @emph{replace} @command{pkg-config}'s search list
(typical use case: cross-compiling), set it in
@code{$PKG_CONFIG_LIBDIR}:
@example
export PKG_CONFIG_LIBDIR=/home/me/cross/usr/lib/pkgconfig:/home/me/cross/usr/local/lib/pkgconfig
@end example
If you need to know the library's internal dependencies (typical use: static
linking), add the @code{--static} option to @command{pkg-config}:
@example
./configure --pkg-config-flags=--static
@end example
@section How do I use @command{pkg-config} when cross-compiling?
The best way is to install @command{pkg-config} in your cross-compilation
environment. It will automatically use the cross-compilation libraries.
You can also use @command{pkg-config} from the host environment by
specifying explicitly @code{--pkg-config=pkg-config} to @command{configure}.
In that case, you must point @command{pkg-config} to the correct directories
using the @code{PKG_CONFIG_LIBDIR}, as explained in the previous entry.
As an intermediate solution, you can place in your cross-compilation
environment a script that calls the host @command{pkg-config} with
@code{PKG_CONFIG_LIBDIR} set. That script can look like that:
@example
#!/bin/sh
PKG_CONFIG_LIBDIR=/path/to/cross/lib/pkgconfig
export PKG_CONFIG_LIBDIR
exec /usr/bin/pkg-config "$@@"
@end example
@chapter Usage
@section ffmpeg does not work; what is wrong?
@@ -298,7 +349,7 @@ FFmpeg has a @url{http://ffmpeg.org/ffmpeg-protocols.html#concat,
@code{concat}} protocol designed specifically for that, with examples in the
documentation.
A few multimedia containers (MPEG-1, MPEG-2 PS, DV) allow to concatenate
A few multimedia containers (MPEG-1, MPEG-2 PS, DV) allow one to concatenate
video by merely concatenating the files containing them.
Hence you may concatenate your multimedia files by first transcoding them to
@@ -416,6 +467,40 @@ point acceptable for your tastes. The most common options to do that are
@option{-qscale} and @option{-qmax}, but you should peruse the documentation
of the encoder you chose.
@section I have a stretched video, why does scaling does not fix it?
A lot of video codecs and formats can store the @emph{aspect ratio} of the
video: this is the ratio between the width and the height of either the full
image (DAR, display aspect ratio) or individual pixels (SAR, sample aspect
ratio). For example, EGA screens at resolution 640×350 had 4:3 DAR and 35:48
SAR.
Most still image processing work with square pixels, i.e. 1:1 SAR, but a lot
of video standards, especially from the analogic-numeric transition era, use
non-square pixels.
Most processing filters in FFmpeg handle the aspect ratio to avoid
stretching the image: cropping adjusts the DAR to keep the SAR constant,
scaling adjusts the SAR to keep the DAR constant.
If you want to stretch, or “unstretch”, the image, you need to override the
information with the
@url{http://ffmpeg.org/ffmpeg-filters.html#setdar_002c-setsar, @code{setdar or setsar filters}}.
Do not forget to examine carefully the original video to check whether the
stretching comes from the image or from the aspect ratio information.
For example, to fix a badly encoded EGA capture, use the following commands,
either the first one to upscale to square pixels or the second one to set
the correct aspect ratio or the third one to avoid transcoding (may not work
depending on the format / codec / player / phase of the moon):
@example
ffmpeg -i ega_screen.nut -vf scale=640:480,setsar=1 ega_screen_scaled.nut
ffmpeg -i ega_screen.nut -vf setdar=4/3 ega_screen_anamorphic.nut
ffmpeg -i ega_screen.nut -aspect 4/3 -c copy ega_screen_overridden.nut
@end example
@chapter Development
@section Are there examples illustrating how to use the FFmpeg libraries, particularly libavcodec and libavformat?

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Automated Testing Environment
@titlepage
@@ -12,36 +13,36 @@
@chapter Introduction
FATE is an extended regression suite on the client-side and a means
FATE is an extended regression suite on the client-side and a means
for results aggregation and presentation on the server-side.
The first part of this document explains how you can use FATE from
The first part of this document explains how you can use FATE from
your FFmpeg source directory to test your ffmpeg binary. The second
part describes how you can run FATE to submit the results to FFmpeg's
FATE server.
In any way you can have a look at the publicly viewable FATE results
In any way you can have a look at the publicly viewable FATE results
by visiting this website:
@url{http://fate.ffmpeg.org/}
@url{http://fate.ffmpeg.org/}
This is especially recommended for all people contributing source
This is especially recommended for all people contributing source
code to FFmpeg, as it can be seen if some test on some platform broke
with their recent contribution. This usually happens on the platforms
the developers could not test on.
The second part of this document describes how you can run FATE to
The second part of this document describes how you can run FATE to
submit your results to FFmpeg's FATE server. If you want to submit your
results be sure to check that your combination of CPU, OS and compiler
is not already listed on the above mentioned website.
In the third part you can find a comprehensive listing of FATE makefile
In the third part you can find a comprehensive listing of FATE makefile
targets and variables.
@chapter Using FATE from your FFmpeg source directory
If you want to run FATE on your machine you need to have the samples
If you want to run FATE on your machine you need to have the samples
in place. You can get the samples via the build target fate-rsync.
Use this command from the top-level source directory:
@@ -50,11 +51,11 @@ make fate-rsync SAMPLES=fate-suite/
make fate SAMPLES=fate-suite/
@end example
The above commands set the samples location by passing a makefile
The above commands set the samples location by passing a makefile
variable via command line. It is also possible to set the samples
location at source configuration time by invoking configure with
`--samples=<path to the samples directory>'. Afterwards you can
invoke the makefile targets without setting the SAMPLES makefile
@option{--samples=<path to the samples directory>}. Afterwards you can
invoke the makefile targets without setting the @var{SAMPLES} makefile
variable. This is illustrated by the following commands:
@example
@@ -63,7 +64,7 @@ make fate-rsync
make fate
@end example
Yet another way to tell FATE about the location of the sample
Yet another way to tell FATE about the location of the sample
directory is by making sure the environment variable FATE_SAMPLES
contains the path to your samples directory. This can be achieved
by e.g. putting that variable in your shell profile or by setting
@@ -84,7 +85,7 @@ To use a custom wrapper to run the test, pass @option{--target-exec} to
@chapter Submitting the results to the FFmpeg result aggregation server
To submit your results to the server you should run fate through the
To submit your results to the server you should run fate through the
shell script @file{tests/fate.sh} from the FFmpeg sources. This script needs
to be invoked with a configuration file as its first argument.
@@ -92,23 +93,23 @@ to be invoked with a configuration file as its first argument.
tests/fate.sh /path/to/fate_config
@end example
A configuration file template with comments describing the individual
A configuration file template with comments describing the individual
configuration variables can be found at @file{doc/fate_config.sh.template}.
@ifhtml
The mentioned configuration template is also available here:
The mentioned configuration template is also available here:
@verbatiminclude fate_config.sh.template
@end ifhtml
Create a configuration that suits your needs, based on the configuration
template. The `slot' configuration variable can be any string that is not
Create a configuration that suits your needs, based on the configuration
template. The @env{slot} configuration variable can be any string that is not
yet used, but it is suggested that you name it adhering to the following
pattern <arch>-<os>-<compiler>-<compiler version>. The configuration file
itself will be sourced in a shell script, therefore all shell features may
be used. This enables you to setup the environment as you need it for your
build.
pattern @samp{@var{arch}-@var{os}-@var{compiler}-@var{compiler version}}. The
configuration file itself will be sourced in a shell script, therefore all
shell features may be used. This enables you to setup the environment as you
need it for your build.
For your first test runs the `fate_recv' variable should be empty or
For your first test runs the @env{fate_recv} variable should be empty or
commented out. This will run everything as normal except that it will omit
the submission of the results to the server. The following files should be
present in $workdir as specified in the configuration file:
@@ -121,29 +122,29 @@ present in $workdir as specified in the configuration file:
@item version
@end itemize
When you have everything working properly you can create an SSH key pair
When you have everything working properly you can create an SSH key pair
and send the public key to the FATE server administrator who can be contacted
at the email address @email{fate-admin@@ffmpeg.org}.
Configure your SSH client to use public key authentication with that key
Configure your SSH client to use public key authentication with that key
when connecting to the FATE server. Also do not forget to check the identity
of the server and to accept its host key. This can usually be achieved by
running your SSH client manually and killing it after you accepted the key.
The FATE server's fingerprint is:
@table @option
@table @samp
@item RSA
d3:f1:83:97:a4:75:2b:a6:fb:d6:e8:aa:81:93:97:51
@item ECDSA
76:9f:68:32:04:1e:d5:d4:ec:47:3f:dc:fc:18:17:86
@end table
If you have problems connecting to the FATE server, it may help to try out
If you have problems connecting to the FATE server, it may help to try out
the @command{ssh} command with one or more @option{-v} options. You should
get detailed output concerning your SSH configuration and the authentication
process.
The only thing left is to automate the execution of the fate.sh script and
The only thing left is to automate the execution of the fate.sh script and
the synchronisation of the samples directory.
@@ -164,7 +165,7 @@ Run the FATE test suite (requires the fate-suite dataset).
@section Makefile variables
@table @option
@table @env
@item V
Verbosity level, can be set to 0, 1 or 2.
@itemize
@@ -182,20 +183,20 @@ Specify how many threads to use while running regression tests, it is
quite useful to detect thread-related regressions.
@item THREAD_TYPE
Specify which threading strategy test, either @var{slice} or @var{frame},
by default @var{slice+frame}
Specify which threading strategy test, either @samp{slice} or @samp{frame},
by default @samp{slice+frame}
@item CPUFLAGS
Specify CPU flags.
@item TARGET_EXEC
Specify or override the wrapper used to run the tests.
The @var{TARGET_EXEC} option provides a way to run FATE wrapped in
The @env{TARGET_EXEC} option provides a way to run FATE wrapped in
@command{valgrind}, @command{qemu-user} or @command{wine} or on remote targets
through @command{ssh}.
@item GEN
Set to @var{1} to generate the missing or mismatched references.
Set to @samp{1} to generate the missing or mismatched references.
@end table
@section Examples

View File

@@ -1,5 +1,6 @@
slot= # some unique identifier
repo=git://source.ffmpeg.org/ffmpeg.git # the source repository
#branch=release/2.6 # the branch to test
samples= # path to samples directory
workdir= # directory in which to do all the work
#fate_recv="ssh -T fate@fate.ffmpeg.org" # command to submit report

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Bitstream Filters Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Codecs Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Devices Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Filters Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Formats Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Protocols Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Resampler Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Scaler Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Utilities Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle ffmpeg Documentation
@titlepage
@@ -79,7 +80,7 @@ The format option may be needed for raw input files.
The transcoding process in @command{ffmpeg} for each output can be described by
the following diagram:
@example
@verbatim
_______ ______________
| | | |
| input | demuxer | encoded data | decoder
@@ -98,7 +99,7 @@ the following diagram:
|________| |______________|
@end example
@end verbatim
@command{ffmpeg} calls the libavformat library (containing demuxers) to read
input files and get packets containing encoded data from them. When there are
@@ -123,7 +124,7 @@ Simple filtergraphs are those that have exactly one input and output, both of
the same type. In the above diagram they can be represented by simply inserting
an additional step between decoding and encoding:
@example
@verbatim
_________ ______________
| | | |
| decoded | | encoded data |
@@ -135,19 +136,19 @@ an additional step between decoding and encoding:
| frames |
|__________|
@end example
@end verbatim
Simple filtergraphs are configured with the per-stream @option{-filter} option
(with @option{-vf} and @option{-af} aliases for video and audio respectively).
A simple filtergraph for video can look for example like this:
@example
@verbatim
_______ _____________ _______ ________
| | | | | | | |
| input | ---> | deinterlace | ---> | scale | ---> | output |
|_______| |_____________| |_______| |________|
@end example
@end verbatim
Note that some filters change frame properties but not frame contents. E.g. the
@code{fps} filter in the example above changes number of frames, but does not
@@ -160,7 +161,7 @@ processing chain applied to one stream. This is the case, for example, when the
more than one input and/or output, or when output stream type is different from
input. They can be represented with the following diagram:
@example
@verbatim
_________
| |
| input 0 |\ __________
@@ -178,7 +179,7 @@ input. They can be represented with the following diagram:
| input 2 |/
|_________|
@end example
@end verbatim
Complex filtergraphs are configured with the @option{-filter_complex} option.
Note that this option is global, since a complex filtergraph, by its nature,
@@ -197,14 +198,14 @@ step for the specified stream, so it does only demuxing and muxing. It is useful
for changing the container format or modifying container-level metadata. The
diagram above will, in this case, simplify to this:
@example
@verbatim
_______ ______________ ________
| | | | | |
| input | demuxer | encoded data | muxer | output |
| file | ---------> | packets | -------> | file |
|_______| |______________| |________|
@end example
@end verbatim
Since there is no decoding or encoding, it is very fast and there is no quality
loss. However, it might not work in some cases because of many factors. Applying
@@ -461,6 +462,9 @@ Technical note -- attachments are implemented as codec extradata, so this
option can actually be used to extract extradata from any stream, not just
attachments.
@item -noautorotate
Disable automatically rotating video based on file metadata.
@end table
@section Video Options
@@ -831,6 +835,14 @@ ffmpeg -i INPUT -map 0:m:language:eng OUTPUT
Note that using this option disables the default mappings for this output file.
@item -ignore_unknown
Ignore input streams with unknown type instead of failing if copying
such streams is attempted.
@item -copy_unknown
Allow input streams with unknown type to be copied instead of failing if copying
such streams is attempted.
@item -map_channel [@var{input_file_id}.@var{stream_specifier}.@var{channel_id}|-1][:@var{output_file_id}.@var{stream_specifier}]
Map an audio channel from a given input to an output. If
@var{output_file_id}.@var{stream_specifier} is not set, the audio channel will
@@ -994,6 +1006,13 @@ With -map you can select from which stream the timestamps should be
taken. You can leave either video or audio unchanged and sync the
remaining stream(s) to the unchanged one.
@item -frame_drop_threshold @var{parameter}
Frame drop threshold, which specifies how much behind video frames can
be before they are dropped. In frame rate units, so 1.0 is one frame.
The default is -1.1. One possible usecase is to avoid framedrops in case
of noisy timestamps or to increase frame drop precision in case of exact
timestamps.
@item -async @var{samples_per_second}
Audio sync method. "Stretches/squeezes" the audio stream to match the timestamps,
the parameter is the maximum samples per second by which the audio is changed.
@@ -1150,6 +1169,19 @@ This option enables or disables accurate seeking in input files with the
transcoding. Use @option{-noaccurate_seek} to disable it, which may be useful
e.g. when copying some streams and transcoding the others.
@item -seek_timestamp (@emph{input})
This option enables or disables seeking by timestamp in input files with the
@option{-ss} option. It is disabled by default. If enabled, the argument
to the @option{-ss} option is considered an actual timestamp, and is not
offset by the start time of the file. This matters only for files which do
not start from timestamp 0, such as transport streams.
@item -thread_queue_size @var{size} (@emph{input})
This option sets the maximum number of queued packets when reading from the
file or device. With low latency / high rate live streams, packets may be
discarded if they are not read in a timely manner; raising this value can
avoid it.
@item -override_ffserver (@emph{global})
Overrides the input specifications from @command{ffserver}. Using this
option you can map any input stream to @command{ffserver} and control
@@ -1160,6 +1192,11 @@ requested by @command{ffserver}.
The option is intended for cases where features are needed that cannot be
specified to @command{ffserver} but can be to @command{ffmpeg}.
@item -sdp_file @var{file} (@emph{global})
Print sdp information for an output stream to @var{file}.
This allows dumping sdp information when at least one output isn't an
rtp stream. (Requires at least one of the output formats to be rtp).
@item -discard (@emph{input})
Allows discarding specific streams or frames of streams at the demuxer.
Not all demuxers support this.
@@ -1184,6 +1221,9 @@ Discard all frames excepts keyframes.
Discard all frames.
@end table
@item -xerror (@emph{global})
Stop and exit on error
@end table
As a special exception, you can use a bitmap subtitle stream as input: it
@@ -1209,7 +1249,10 @@ awkward to specify on the command line. Lines starting with the hash
('#') character are ignored and are used to provide comments. Check
the @file{presets} directory in the FFmpeg source tree for examples.
Preset files are specified with the @code{vpre}, @code{apre},
There are two types of preset files: ffpreset and avpreset files.
@subsection ffpreset files
ffpreset files are specified with the @code{vpre}, @code{apre},
@code{spre}, and @code{fpre} options. The @code{fpre} option takes the
filename of the preset instead of a preset name as input and can be
used for any kind of codec. For the @code{vpre}, @code{apre}, and
@@ -1234,6 +1277,26 @@ directories, where @var{codec_name} is the name of the codec to which
the preset file options will be applied. For example, if you select
the video codec with @code{-vcodec libvpx} and use @code{-vpre 1080p},
then it will search for the file @file{libvpx-1080p.ffpreset}.
@subsection avpreset files
avpreset files are specified with the @code{pre} option. They work similar to
ffpreset files, but they only allow encoder- specific options. Therefore, an
@var{option}=@var{value} pair specifying an encoder cannot be used.
When the @code{pre} option is specified, ffmpeg will look for files with the
suffix .avpreset in the directories @file{$AVCONV_DATADIR} (if set), and
@file{$HOME/.avconv}, and in the datadir defined at configuration time (usually
@file{PREFIX/share/ffmpeg}), in that order.
First ffmpeg searches for a file named @var{codec_name}-@var{arg}.avpreset in
the above-mentioned directories, where @var{codec_name} is the name of the codec
to which the preset file options will be applied. For example, if you select the
video codec with @code{-vcodec libvpx} and use @code{-pre 1080p}, then it will
search for the file @file{libvpx-1080p.avpreset}.
If no such file is found, then ffmpeg will search for a file named
@var{arg}.avpreset in the same directories.
@c man end OPTIONS
@chapter Tips
@@ -1280,21 +1343,6 @@ quality).
@chapter Examples
@c man begin EXAMPLES
@section Preset files
A preset file contains a sequence of @var{option=value} pairs, one for
each line, specifying a sequence of options which can be specified also on
the command line. Lines starting with the hash ('#') character are ignored and
are used to provide comments. Empty lines are also ignored. Check the
@file{presets} directory in the FFmpeg source tree for examples.
Preset files are specified with the @code{pre} option, this option takes a
preset name as input. FFmpeg searches for a file named @var{preset_name}.avpreset in
the directories @file{$AVCONV_DATADIR} (if set), and @file{$HOME/.ffmpeg}, and in
the data directory defined at configuration time (usually @file{$PREFIX/share/ffmpeg})
in that order. For example, if the argument is @code{libx264-max}, it will
search for the file @file{libx264-max.avpreset}.
@section Video and Audio grabbing
If you specify the input format and device then ffmpeg can grab video
@@ -1442,7 +1490,7 @@ combination with -ss to start extracting from a certain point in time.
For creating a video from many images:
@example
ffmpeg -f image2 -i foo-%03d.jpeg -r 12 -s WxH foo.avi
ffmpeg -f image2 -framerate 12 -i foo-%03d.jpeg -s WxH foo.avi
@end example
The syntax @code{foo-%03d.jpeg} specifies to use a decimal number
@@ -1457,7 +1505,7 @@ image2-specific @code{-pattern_type glob} option.
For example, for creating a video from filenames matching the glob pattern
@code{foo-*.jpeg}:
@example
ffmpeg -f image2 -pattern_type glob -i 'foo-*.jpeg' -r 12 -s WxH foo.avi
ffmpeg -f image2 -pattern_type glob -framerate 12 -i 'foo-*.jpeg' -s WxH foo.avi
@end example
@item

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle ffplay Documentation
@titlepage
@@ -124,24 +125,20 @@ master clock is used to control audio-video synchronization. Most media
players use audio as master clock, but in some cases (streaming or high
quality broadcast) it is necessary to change that. This option is mainly
used for debugging purposes.
@item -threads @var{count}
Set the thread count. By default, @command{ffplay} automatically detects a
suitable number of threads to use.
@item -ast @var{audio_stream_number}
Select the desired audio stream number, counting from 0. The number
refers to the list of all the input audio streams. If it is greater
than the number of audio streams minus one, then the last one is
selected, if it is negative the audio playback is disabled.
@item -vst @var{video_stream_number}
Select the desired video stream number, counting from 0. The number
refers to the list of all the input video streams. If it is greater
than the number of video streams minus one, then the last one is
selected, if it is negative the video playback is disabled.
@item -sst @var{subtitle_stream_number}
Select the desired subtitle stream number, counting from 0. The number
refers to the list of all the input subtitle streams. If it is greater
than the number of subtitle streams minus one, then the last one is
selected, if it is negative the subtitle rendering is disabled.
@item -ast @var{audio_stream_specifier}
Select the desired audio stream using the given stream specifier. The stream
specifiers are described in the @ref{Stream specifiers} chapter. If this option
is not specified, the "best" audio stream is selected in the program of the
already selected video stream.
@item -vst @var{video_stream_specifier}
Select the desired video stream using the given stream specifier. The stream
specifiers are described in the @ref{Stream specifiers} chapter. If this option
is not specified, the "best" video stream is selected.
@item -sst @var{subtitle_stream_specifier}
Select the desired subtitle stream using the given stream specifier. The stream
specifiers are described in the @ref{Stream specifiers} chapter. If this option
is not specified, the "best" subtitle stream is selected in the program of the
already selected video or audio stream.
@item -autoexit
Exit when video is done playing.
@item -exitonkeydown
@@ -164,7 +161,7 @@ Force a specific video decoder.
Force a specific subtitle decoder.
@item -autorotate
Automatically rotate the video according to presentation metadata. Enabled by
Automatically rotate the video according to file metadata. Enabled by
default, use @option{-noautorotate} to disable it.
@item -framedrop

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle ffprobe Documentation
@titlepage
@@ -446,17 +447,17 @@ writer).
It can assume one of the following values:
@table @option
@item c
Perform C-like escaping. Strings containing a newline ('\n'), carriage
return ('\r'), a tab ('\t'), a form feed ('\f'), the escaping
character ('\') or the item separator character @var{SEP} are escaped using C-like fashioned
escaping, so that a newline is converted to the sequence "\n", a
carriage return to "\r", '\' to "\\" and the separator @var{SEP} is
converted to "\@var{SEP}".
Perform C-like escaping. Strings containing a newline (@samp{\n}), carriage
return (@samp{\r}), a tab (@samp{\t}), a form feed (@samp{\f}), the escaping
character (@samp{\}) or the item separator character @var{SEP} are escaped
using C-like fashioned escaping, so that a newline is converted to the
sequence @samp{\n}, a carriage return to @samp{\r}, @samp{\} to @samp{\\} and
the separator @var{SEP} is converted to @samp{\@var{SEP}}.
@item csv
Perform CSV-like escaping, as described in RFC4180. Strings
containing a newline ('\n'), a carriage return ('\r'), a double quote
('"'), or @var{SEP} are enclosed in double-quotes.
containing a newline (@samp{\n}), a carriage return (@samp{\r}), a double quote
(@samp{"}), or @var{SEP} are enclosed in double-quotes.
@item none
Perform no escaping.
@@ -484,7 +485,7 @@ The description of the accepted options follows.
Separator character used to separate the chapter, the section name, IDs and
potential tags in the printed field key.
Default value is '.'.
Default value is @samp{.}.
@item hierarchical, h
Specify if the section name specification should be hierarchical. If
@@ -506,21 +507,22 @@ The following conventions are adopted:
@item
all key and values are UTF-8
@item
'.' is the subgroup separator
@samp{.} is the subgroup separator
@item
newline, '\t', '\f', '\b' and the following characters are escaped
newline, @samp{\t}, @samp{\f}, @samp{\b} and the following characters are
escaped
@item
'\' is the escape character
@samp{\} is the escape character
@item
'#' is the comment indicator
@samp{#} is the comment indicator
@item
'=' is the key/value separator
@samp{=} is the key/value separator
@item
':' is not used but usually parsed as key/value separator
@samp{:} is not used but usually parsed as key/value separator
@end itemize
This writer accepts options as a list of @var{key}=@var{value} pairs,
separated by ":".
separated by @samp{:}.
The description of the accepted options follows.

View File

@@ -48,6 +48,11 @@
</xsd:complexType>
<xsd:complexType name="packetType">
<xsd:sequence>
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="side_data_list" type="ffprobe:packetSideDataListType" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
<xsd:attribute name="codec_type" type="xsd:string" use="required" />
<xsd:attribute name="stream_index" type="xsd:int" use="required" />
<xsd:attribute name="pts" type="xsd:long" />
@@ -65,6 +70,16 @@
<xsd:attribute name="data_hash" type="xsd:string" />
</xsd:complexType>
<xsd:complexType name="packetSideDataListType">
<xsd:sequence>
<xsd:element name="side_data" type="ffprobe:packetSideDataType" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="packetSideDataType">
<xsd:attribute name="side_data_type" type="xsd:string"/>
<xsd:attribute name="side_data_size" type="xsd:int" />
</xsd:complexType>
<xsd:complexType name="frameType">
<xsd:sequence>
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
@@ -72,6 +87,7 @@
</xsd:sequence>
<xsd:attribute name="media_type" type="xsd:string" use="required"/>
<xsd:attribute name="stream_index" type="xsd:int" />
<xsd:attribute name="key_frame" type="xsd:int" use="required"/>
<xsd:attribute name="pts" type="xsd:long" />
<xsd:attribute name="pts_time" type="xsd:float"/>
@@ -155,6 +171,7 @@
<xsd:sequence>
<xsd:element name="disposition" type="ffprobe:streamDispositionType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="side_data_list" type="ffprobe:packetSideDataListType" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
<xsd:attribute name="index" type="xsd:int" use="required"/>
@@ -171,6 +188,8 @@
<!-- video attributes -->
<xsd:attribute name="width" type="xsd:int"/>
<xsd:attribute name="height" type="xsd:int"/>
<xsd:attribute name="coded_width" type="xsd:int"/>
<xsd:attribute name="coded_height" type="xsd:int"/>
<xsd:attribute name="has_b_frames" type="xsd:int"/>
<xsd:attribute name="sample_aspect_ratio" type="xsd:string"/>
<xsd:attribute name="display_aspect_ratio" type="xsd:string"/>
@@ -182,6 +201,7 @@
<xsd:attribute name="color_primaries" type="xsd:string"/>
<xsd:attribute name="chroma_location" type="xsd:string"/>
<xsd:attribute name="timecode" type="xsd:string"/>
<xsd:attribute name="refs" type="xsd:int"/>
<!-- audio attributes -->
<xsd:attribute name="sample_fmt" type="xsd:string"/>
@@ -253,8 +273,8 @@
<xsd:complexType name="programVersionType">
<xsd:attribute name="version" type="xsd:string" use="required"/>
<xsd:attribute name="copyright" type="xsd:string" use="required"/>
<xsd:attribute name="build_date" type="xsd:string" use="required"/>
<xsd:attribute name="build_time" type="xsd:string" use="required"/>
<xsd:attribute name="build_date" type="xsd:string"/>
<xsd:attribute name="build_time" type="xsd:string"/>
<xsd:attribute name="compiler_ident" type="xsd:string" use="required"/>
<xsd:attribute name="configuration" type="xsd:string" use="required"/>
</xsd:complexType>

View File

@@ -82,6 +82,7 @@ Feed feed1.ffm
# ra : RealNetworks-compatible stream. Audio only.
# mpjpeg : Multipart JPEG (works with Netscape without any plugin)
# jpeg : Generate a single JPEG image.
# mjpeg : Generate a M-JPEG stream.
# asf : ASF compatible streaming (Windows Media Player format).
# swf : Macromedia Flash compatible stream
# avi : AVI format (MPEG-4 video, MPEG audio sound)

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle ffserver Documentation
@titlepage
@@ -71,7 +72,7 @@ the HTTP server (configured through the @option{HTTPPort} option), and
configuration file.
Each feed is associated to a file which is stored on disk. This stored
file is used to allow to send pre-recorded data to a player as fast as
file is used to send pre-recorded data to a player as fast as
possible when new content is added in real-time to the stream.
A "live-stream" or "stream" is a resource published by
@@ -117,7 +118,8 @@ Multiple streams can be connected to the same feed.
For example, you can have a situation described by the following
graph:
@example
@verbatim
_________ __________
| | | |
ffmpeg 1 -----| feed 1 |-----| stream 1 |
@@ -142,7 +144,8 @@ ffmpeg 2 -----| feed 3 |-----| stream 4 |
| | | |
| file 1 |-----| stream 5 |
|_________| |__________|
@end example
@end verbatim
@anchor{FFM}
@section FFM, FFM2 formats

View File

@@ -50,6 +50,9 @@ Match the stream by stream id (e.g. PID in MPEG-TS container).
Matches streams with the metadata tag @var{key} having the specified value. If
@var{value} is not given, matches streams that contain the given tag with any
value.
@item u
Matches streams with usable configuration, the codec must be defined and the
essential information such as video dimension or audio sample rate must be present.
Note that in @command{ffmpeg}, matching by metadata will only work properly for
input files.
@@ -165,28 +168,29 @@ omitted. "repeat" can also be used alone.
If "repeat" is used alone, and with no prior loglevel set, the default
loglevel will be used. If multiple loglevel parameters are given, using
'repeat' will not change the loglevel.
@var{loglevel} is a number or a string containing one of the following values:
@var{loglevel} is a string or a number containing one of the following values:
@table @samp
@item quiet
@item quiet, -8
Show nothing at all; be silent.
@item panic
@item panic, 0
Only show fatal errors which could lead the process to crash, such as
and assert failure. This is not currently used for anything.
@item fatal
@item fatal, 8
Only show fatal errors. These are errors after which the process absolutely
cannot continue after.
@item error
@item error, 16
Show all errors, including ones which can be recovered from.
@item warning
@item warning, 24
Show all warnings and errors. Any message related to possibly
incorrect or unexpected events will be shown.
@item info
@item info, 32
Show informative messages during processing. This is in addition to
warnings and errors. This is the default value.
@item verbose
@item verbose, 40
Same as @code{info}, except more verbose.
@item debug
@item debug, 48
Show everything, including debugging information.
@item trace, 56
@end table
By default the program logs to stderr, if coloring is supported by the
@@ -204,21 +208,29 @@ directory.
This file can be useful for bug reports.
It also implies @code{-loglevel verbose}.
Setting the environment variable @code{FFREPORT} to any value has the
Setting the environment variable @env{FFREPORT} to any value has the
same effect. If the value is a ':'-separated key=value sequence, these
options will affect the report; options values must be escaped if they
options will affect the report; option values must be escaped if they
contain special characters or the options delimiter ':' (see the
``Quoting and escaping'' section in the ffmpeg-utils manual). The
following option is recognized:
``Quoting and escaping'' section in the ffmpeg-utils manual).
The following options are recognized:
@table @option
@item file
set the file name to use for the report; @code{%p} is expanded to the name
of the program, @code{%t} is expanded to a timestamp, @code{%%} is expanded
to a plain @code{%}
@item level
set the log level
set the log verbosity level using a numerical value (see @code{-loglevel}).
@end table
For example, to output a report to a file named @file{ffreport.log}
using a log level of @code{32} (alias for log level @code{info}):
@example
FFREPORT=file=ffreport.log:level=32 ffmpeg -i input output
@end example
Errors in parsing the environment variable are not fatal, and will not
appear in the report.
@@ -253,10 +265,14 @@ Possible flags for this option are:
@item sse4.1
@item sse4.2
@item avx
@item avx2
@item xop
@item fma3
@item fma4
@item 3dnow
@item 3dnowext
@item bmi1
@item bmi2
@item cmov
@end table
@item ARM
@@ -267,6 +283,13 @@ Possible flags for this option are:
@item vfp
@item vfpv3
@item neon
@item setend
@end table
@item AArch64
@table @samp
@item armv8
@item vfp
@item neon
@end table
@item PowerPC
@table @samp
@@ -286,8 +309,41 @@ Possible flags for this option are:
@end table
@item -opencl_bench
Benchmark all available OpenCL devices and show the results. This option
is only available when FFmpeg has been compiled with @code{--enable-opencl}.
This option is used to benchmark all available OpenCL devices and print the
results. This option is only available when FFmpeg has been compiled with
@code{--enable-opencl}.
When FFmpeg is configured with @code{--enable-opencl}, the options for the
global OpenCL context are set via @option{-opencl_options}. See the
"OpenCL Options" section in the ffmpeg-utils manual for the complete list of
supported options. Amongst others, these options include the ability to select
a specific platform and device to run the OpenCL code on. By default, FFmpeg
will run on the first device of the first platform. While the options for the
global OpenCL context provide flexibility to the user in selecting the OpenCL
device of their choice, most users would probably want to select the fastest
OpenCL device for their system.
This option assists the selection of the most efficient configuration by
identifying the appropriate device for the user's system. The built-in
benchmark is run on all the OpenCL devices and the performance is measured for
each device. The devices in the results list are sorted based on their
performance with the fastest device listed first. The user can subsequently
invoke @command{ffmpeg} using the device deemed most appropriate via
@option{-opencl_options} to obtain the best performance for the OpenCL
accelerated code.
Typical usage to use the fastest OpenCL device involve the following steps.
Run the command:
@example
ffmpeg -opencl_bench
@end example
Note down the platform ID (@var{pidx}) and device ID (@var{didx}) of the first
i.e. fastest device in the list.
Select the platform and device using the command:
@example
ffmpeg -opencl_options platform_idx=@var{pidx}:device_idx=@var{didx} ...
@end example
@item -opencl_options options (@emph{global})
Set OpenCL environment options. This option is only available when

File diff suppressed because it is too large Load Diff

View File

@@ -23,7 +23,7 @@ Reduce buffering.
@item probesize @var{integer} (@emph{input})
Set probing size in bytes, i.e. the size of the data to analyze to get
stream information. A higher value will allow to detect more
stream information. A higher value will enable detecting more
information in case it is dispersed into the stream, but will increase
latency. Must be an integer not lesser than 32. It is 5000000 by default.
@@ -37,6 +37,8 @@ Possible values:
@table @samp
@item ignidx
Ignore index.
@item fastseek
Enable fast, but inaccurate seeks for some formats.
@item genpts
Generate PTS.
@item nofillin
@@ -67,7 +69,7 @@ Default is 0.
@item analyzeduration @var{integer} (@emph{input})
Specify how many microseconds are analyzed to probe the input. A
higher value will allow to detect more accurate information, but will
higher value will enable detecting more accurate information, but will
increase latency. It defaults to 5,000,000 microseconds = 5 seconds.
@item cryptokey @var{hexadecimal string} (@emph{input})
@@ -125,6 +127,25 @@ Consider all spec non compliancies as errors.
Consider things that a sane encoder should not do as an error.
@end table
@item max_interleave_delta @var{integer} (@emph{output})
Set maximum buffering duration for interleaving. The duration is
expressed in microseconds, and defaults to 1000000 (1 second).
To ensure all the streams are interleaved correctly, libavformat will
wait until it has at least one packet for each stream before actually
writing any packets to the output file. When some streams are
"sparse" (i.e. there are large gaps between successive packets), this
can result in excessive buffering.
This field specifies the maximum difference between the timestamps of the
first and the last packet in the muxing queue, above which libavformat
will output a packet regardless of whether it has queued a packet for all
the streams.
If set to 0, libavformat will continue buffering packets until it has
a packet for each stream, regardless of the maximum timestamp
difference between the buffered packets.
@item use_wallclock_as_timestamps @var{integer} (@emph{input})
Use wallclock as timestamps.

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle General Documentation
@titlepage
@@ -108,6 +109,14 @@ Go to @url{http://www.wavpack.com/} and follow the instructions for
installing the library. Then pass @code{--enable-libwavpack} to configure to
enable it.
@section OpenH264
FFmpeg can make use of the OpenH264 library for H.264 encoding.
Go to @url{http://www.openh264.org/} and follow the instructions for
installing the library. Then pass @code{--enable-libopenh264} to configure to
enable it.
@section x264
FFmpeg can make use of the x264 library for H.264 encoding.
@@ -143,7 +152,7 @@ by Google as part of the WebRTC project. libilbc is a packaging friendly
copy of the iLBC codec. FFmpeg can make use of the libilbc library for
iLBC encoding and decoding.
Go to @url{https://github.com/dekkers/libilbc} and follow the instructions for
Go to @url{https://github.com/TimothyGu/libilbc} and follow the instructions for
installing the library. Then pass @code{--enable-libilbc} to configure to
enable it.
@@ -170,8 +179,8 @@ included in compat/avisynth/, which allows the user to enable support
without needing to search for these headers themselves.
For Windows, supported AviSynth variants are
@url{http://avisynth.nl, AviSynth 2.5 or 2.6} for 32-bit builds and
@url{http://avs-plus.net, AviSynth+ 0.1} for 32-bit and 64-bit builds.
@url{http://avisynth.nl, AviSynth 2.6 RC1 or higher} for 32-bit builds and
@url{http://avs-plus.net, AviSynth+ r1718 or higher} for 32-bit and 64-bit builds.
For Linux and OS X, the supported AviSynth variant is
@url{https://github.com/avxsynth/avxsynth, AvxSynth}.
@@ -213,6 +222,7 @@ library:
@tab Audio format used on the Nintendo Gamecube.
@item AFC @tab @tab X
@tab Audio format used on the Nintendo Gamecube.
@item APNG @tab X @tab X
@item ASF @tab X @tab X
@item AST @tab X @tab X
@tab Audio format used on the Nintendo Wii.
@@ -243,6 +253,10 @@ library:
@tab Used in the game Cyberia from Interplay.
@item Delphine Software International CIN @tab @tab X
@tab Multimedia format used by Delphine Software games.
@item Digital Speech Standard (DSS) @tab @tab X
@item Canopus HQ @tab @tab X
@item Canopus HQA @tab @tab X
@item Canopus HQX @tab @tab X
@item CD+G @tab @tab X
@tab Video format used by CD+G karaoke disks
@item Phantom Cine @tab @tab X
@@ -455,6 +469,7 @@ library:
@item SoX native format @tab X @tab X
@item SUN AU format @tab X @tab X
@item SUP raw PGS subtitles @tab @tab X
@item TDSC @tab @tab X
@item Text files @tab @tab X
@item THP @tab @tab X
@tab Used on the Nintendo GameCube.
@@ -496,6 +511,7 @@ following image formats are supported:
@item Alias PIX @tab X @tab X
@tab Alias/Wavefront PIX image format
@item animated GIF @tab X @tab X
@item APNG @tab X @tab X
@item BMP @tab X @tab X
@tab Microsoft BMP image
@item BRender PIX @tab @tab X
@@ -653,7 +669,7 @@ following image formats are supported:
@item H.263 / H.263-1996 @tab X @tab X
@item H.263+ / H.263-1998 / H.263 version 2 @tab X @tab X
@item H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 @tab E @tab X
@tab encoding supported through external library libx264
@tab encoding supported through external library libx264 and OpenH264
@item HEVC @tab X @tab X
@tab encoding supported through the external library libx265
@item HNM version 4 @tab @tab X
@@ -889,10 +905,12 @@ following image formats are supported:
@tab decoding supported through external library libcelt
@item Delphine Software International CIN audio @tab @tab X
@tab Codec used in Delphine Software International games.
@item Digital Speech Standard - Standard Play mode (DSS SP) @tab @tab X
@item Discworld II BMV Audio @tab @tab X
@item COOK @tab @tab X
@tab All versions except 5.1 are supported.
@item DCA (DTS Coherent Acoustics) @tab X @tab X
@tab supported extensions: XCh, XLL (partially)
@item DPCM id RoQ @tab X @tab X
@tab Used in Quake III, Jedi Knight 2 and other computer games.
@item DPCM Interplay @tab @tab X
@@ -936,8 +954,8 @@ following image formats are supported:
@item Musepack SV8 @tab @tab X
@item Nellymoser Asao @tab X @tab X
@item On2 AVC (Audio for Video Codec) @tab @tab X
@item Opus @tab E @tab E
@tab supported through external library libopus
@item Opus @tab E @tab X
@tab encoding supported through external library libopus
@item PCM A-law @tab X @tab X
@item PCM mu-law @tab X @tab X
@item PCM signed 8-bit planar @tab X @tab X

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Using git to develop FFmpeg
@@ -74,6 +75,7 @@ git config --global core.autocrlf false
@end example
@anchor{Updating the source tree to the latest revision}
@section Updating the source tree to the latest revision
@example
@@ -329,7 +331,7 @@ git push
Will push the changes to the default remote (@var{origin}).
Git will prevent you from pushing changes if the local and remote trees are
out of sync. Refer to and to sync the local tree.
out of sync. Refer to @ref{Updating the source tree to the latest revision}.
@example
git remote add <name> <url>

View File

@@ -1,7 +1,7 @@
@chapter Input Devices
@c man begin INPUT DEVICES
Input devices are configured elements in FFmpeg which allow to access
Input devices are configured elements in FFmpeg which enable accessing
the data coming from a multimedia device attached to your system.
When you configure your FFmpeg build, all the supported input devices
@@ -150,6 +150,81 @@ $ ffmpeg -f avfoundation -pixel_format bgr0 -i "default:none" out.avi
BSD video input device.
@section decklink
The decklink input device provides capture capabilities for Blackmagic
DeckLink devices.
To enable this input device, you need the Blackmagic DeckLink SDK and you
need to configure with the appropriate @code{--extra-cflags}
and @code{--extra-ldflags}.
On Windows, you need to run the IDL files through @command{widl}.
DeckLink is very picky about the formats it supports. Pixel format is
uyvy422 or v210, framerate and video size must be determined for your device with
@command{-list_formats 1}. Audio sample rate is always 48 kHz and the number
of channels can be 2, 8 or 16.
@subsection Options
@table @option
@item list_devices
If set to @option{true}, print a list of devices and exit.
Defaults to @option{false}.
@item list_formats
If set to @option{true}, print a list of supported formats and exit.
Defaults to @option{false}.
@item bm_v210
If set to @samp{1}, video is captured in 10 bit v210 instead
of uyvy422. Not all Blackmagic devices support this option.
@end table
@subsection Examples
@itemize
@item
List input devices:
@example
ffmpeg -f decklink -list_devices 1 -i dummy
@end example
@item
List supported formats:
@example
ffmpeg -f decklink -list_formats 1 -i 'Intensity Pro'
@end example
@item
Capture video clip at 1080i50 (format 11):
@example
ffmpeg -f decklink -i 'Intensity Pro@@11' -acodec copy -vcodec copy output.avi
@end example
@item
Capture video clip at 1080i50 10 bit:
@example
ffmpeg -bm_v210 1 -f decklink -i 'UltraStudio Mini Recorder@@11' -acodec copy -vcodec copy output.avi
@end example
@item
Capture video clip at 720p50 with 32bit audio:
@example
ffmpeg -bm_audiodepth 32 -f decklink -i 'UltraStudio Mini Recorder@@14' -acodec copy -vcodec copy output.avi
@end example
@item
Capture video clip at 576i50 with 8 audio channels:
@example
ffmpeg -bm_channels 8 -f decklink -i 'UltraStudio Mini Recorder@@3' -acodec copy -vcodec copy output.avi
@end example
@end itemize
@section dshow
Windows DirectShow input device.
@@ -167,7 +242,7 @@ The input name should be in the format:
@end example
where @var{TYPE} can be either @var{audio} or @var{video},
and @var{NAME} is the device's name.
and @var{NAME} is the device's name or alternative name..
@subsection Options
@@ -220,6 +295,85 @@ Setting this value too low can degrade performance.
See also
@url{http://msdn.microsoft.com/en-us/library/windows/desktop/dd377582(v=vs.85).aspx}
@item video_pin_name
Select video capture pin to use by name or alternative name.
@item audio_pin_name
Select audio capture pin to use by name or alternative name.
@item crossbar_video_input_pin_number
Select video input pin number for crossbar device. This will be
routed to the crossbar device's Video Decoder output pin.
Note that changing this value can affect future invocations
(sets a new default) until system reboot occurs.
@item crossbar_audio_input_pin_number
Select audio input pin number for crossbar device. This will be
routed to the crossbar device's Audio Decoder output pin.
Note that changing this value can affect future invocations
(sets a new default) until system reboot occurs.
@item show_video_device_dialog
If set to @option{true}, before capture starts, popup a display dialog
to the end user, allowing them to change video filter properties
and configurations manually.
Note that for crossbar devices, adjusting values in this dialog
may be needed at times to toggle between PAL (25 fps) and NTSC (29.97)
input frame rates, sizes, interlacing, etc. Changing these values can
enable different scan rates/frame rates and avoiding green bars at
the bottom, flickering scan lines, etc.
Note that with some devices, changing these properties can also affect future
invocations (sets new defaults) until system reboot occurs.
@item show_audio_device_dialog
If set to @option{true}, before capture starts, popup a display dialog
to the end user, allowing them to change audio filter properties
and configurations manually.
@item show_video_crossbar_connection_dialog
If set to @option{true}, before capture starts, popup a display
dialog to the end user, allowing them to manually
modify crossbar pin routings, when it opens a video device.
@item show_audio_crossbar_connection_dialog
If set to @option{true}, before capture starts, popup a display
dialog to the end user, allowing them to manually
modify crossbar pin routings, when it opens an audio device.
@item show_analog_tv_tuner_dialog
If set to @option{true}, before capture starts, popup a display
dialog to the end user, allowing them to manually
modify TV channels and frequencies.
@item show_analog_tv_tuner_audio_dialog
If set to @option{true}, before capture starts, popup a display
dialog to the end user, allowing them to manually
modify TV audio (like mono vs. stereo, Language A,B or C).
@item audio_device_load
Load an audio capture filter device from file instead of searching
it by name. It may load additional parameters too, if the filter
supports the serialization of its properties to.
To use this an audio capture source has to be specified, but it can
be anything even fake one.
@item audio_device_save
Save the currently used audio capture filter device and its
parameters (if the filter supports it) to a file.
If a file with the same name exists it will be overwritten.
@item video_device_load
Load a video capture filter device from file instead of searching
it by name. It may load additional parameters too, if the filter
supports the serialization of its properties to.
To use this a video capture source has to be specified, but it can
be anything even fake one.
@item video_device_save
Save the currently used video capture filter device and its
parameters (if the filter supports it) to a file.
If a file with the same name exists it will be overwritten.
@end table
@subsection Examples
@@ -256,6 +410,19 @@ Print the list of supported options in selected device and exit:
$ ffmpeg -list_options true -f dshow -i video="Camera"
@end example
@item
Specify pin names to capture by name or alternative name, specify alternative device name:
@example
$ ffmpeg -f dshow -audio_pin_name "Audio Out" -video_pin_name 2 -i video=video="@@device_pnp_\\?\pci#ven_1a0a&dev_6200&subsys_62021461&rev_01#4&e2c7dd6&0&00e1#@{65e8773d-8f56-11d0-a3b9-00a0c9223196@}\@{ca465100-deb0-4d59-818f-8c477184adf6@}":audio="Microphone"
@end example
@item
Configure a crossbar device, specifying crossbar pins, allow user to adjust video capture properties at startup:
@example
$ ffmpeg -f dshow -show_video_device_dialog true -crossbar_video_input_pin_number 0
-crossbar_audio_input_pin_number 3 -i video="AVerMedia BDA Analog Capture":audio="AVerMedia BDA Analog Capture"
@end example
@end itemize
@section dv1394
@@ -390,7 +557,7 @@ not work and result in undefined behavior.
The values @option{auto}, @option{dv} and @option{hdv} are supported.
@item dvbuffer
Set maxiumum size of buffer for incoming data, in frames. For DV, this
Set maximum size of buffer for incoming data, in frames. For DV, this
is an exact value. For HDV, it is not frame exact, since HDV does
not have a fixed frame size.
@@ -495,6 +662,14 @@ generated by the device.
The first unlabelled output is automatically assigned to the "out0"
label, but all the others need to be specified explicitly.
The suffix "+subcc" can be appended to the output label to create an extra
stream with the closed captions packets attached to that output
(experimental; only for EIA-608 / CEA-708 for now).
The subcc streams are created after all the normal streams, in the order of
the corresponding stream.
For example, if there is "out19+subcc", "out7+subcc" and up to "out42", the
stream #43 is subcc for stream #7 and stream #44 is subcc for stream #19.
If not specified defaults to the filename specified for the input
device.
@@ -541,24 +716,57 @@ Read an audio stream and a video stream and play it back with
ffplay -f lavfi "movie=test.avi[out0];amovie=test.wav[out1]"
@end example
@item
Dump decoded frames to images and closed captions to a file (experimental):
@example
ffmpeg -f lavfi -i "movie=test.ts[out0+subcc]" -map v frame%08d.png -map s -c copy -f rawvideo subcc.bin
@end example
@end itemize
@section libcdio
Audio-CD input device based on cdio.
Audio-CD input device based on libcdio.
To enable this input device during configuration you need libcdio
installed on your system. Requires the configure option
installed on your system. It requires the configure option
@code{--enable-libcdio}.
This device allows playing and grabbing from an Audio-CD.
For example to copy with @command{ffmpeg} the entire Audio-CD in /dev/sr0,
For example to copy with @command{ffmpeg} the entire Audio-CD in @file{/dev/sr0},
you may run the command:
@example
ffmpeg -f libcdio -i /dev/sr0 cd.wav
@end example
@subsection Options
@table @option
@item speed
Set drive reading speed. Default value is 0.
The speed is specified CD-ROM speed units. The speed is set through
the libcdio @code{cdio_cddap_speed_set} function. On many CD-ROM
drives, specifying a value too large will result in using the fastest
speed.
@item paranoia_mode
Set paranoia recovery mode flags. It accepts one of the following values:
@table @samp
@item disable
@item verify
@item overlap
@item neverskip
@item full
@end table
Default value is @samp{disable}.
For more information about the available recovery modes, consult the
paranoia project documentation.
@end table
@section libdc1394
IIDC1394 input device, based on libdc1394 and libraw1394.
@@ -795,6 +1003,12 @@ conversion into the real time clock.
Some usage examples of the video4linux2 device with @command{ffmpeg}
and @command{ffplay}:
@itemize
@item
List supported formats for a video4linux2 device:
@example
ffplay -f video4linux2 -list_formats all /dev/video0
@end example
@item
Grab and show the input of a video4linux2 device:
@example
@@ -893,8 +1107,12 @@ other filename will be interpreted as device number 0.
X11 video input device.
Depends on X11, Xext, and Xfixes. Requires the configure option
@code{--enable-x11grab}.
To enable this input device during configuration you need libxcb
installed on your system. It will be automatically detected during
configuration.
Alternatively, the configure option @option{--enable-x11grab} exists
for legacy Xlib users.
This device allows one to capture a region of an X11 display.
@@ -912,10 +1130,12 @@ omitted, and defaults to "localhost". The environment variable
area with respect to the top-left border of the X11 screen. They
default to 0.
Check the X11 documentation (e.g. man X) for more detailed information.
Check the X11 documentation (e.g. @command{man X}) for more detailed
information.
Use the @command{dpyinfo} program for getting basic information about the
properties of your X11 display (e.g. grep for "name" or "dimensions").
Use the @command{xdpyinfo} program for getting basic information about
the properties of your X11 display (e.g. grep for "name" or
"dimensions").
For example to grab from @file{:0.0} using @command{ffmpeg}:
@example
@@ -964,6 +1184,10 @@ If @var{show_region} is specified with @code{1}, then the grabbing
region will be indicated on screen. With this option, it is easy to
know what is being grabbed if only a portion of the screen is grabbed.
@item region_border
Set the region border thickness if @option{-show_region 1} is used.
Range is 1 to 128 and default is 3 (XCB-based x11grab only).
For example:
@example
ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
@@ -979,61 +1203,19 @@ Set the video frame size. Default value is @code{vga}.
@item use_shm
Use the MIT-SHM extension for shared memory. Default value is @code{1}.
It may be necessary to disable it for remote displays.
It may be necessary to disable it for remote displays (legacy x11grab
only).
@end table
@section decklink
@subsection @var{grab_x} @var{grab_y} AVOption
The decklink input device provides capture capabilities for Blackmagic
DeckLink devices.
To enable this input device, you need the Blackmagic DeckLink SDK and you
need to configure with the appropriate @code{--extra-cflags}
and @code{--extra-ldflags}.
On Windows, you need to run the IDL files through @command{widl}.
DeckLink is very picky about the formats it supports. Pixel format is always
uyvy422, framerate and video size must be determined for your device with
@command{-list_formats 1}. Audio sample rate is always 48 kHz and the number
of channels currently is limited to 2 (stereo).
@subsection Options
@table @option
@item list_devices
If set to @option{true}, print a list of devices and exit.
Defaults to @option{false}.
@item list_formats
If set to @option{true}, print a list of supported formats and exit.
Defaults to @option{false}.
@end table
@subsection Examples
@itemize
@item
List input devices:
The syntax is:
@example
ffmpeg -f decklink -list_devices 1 -i dummy
-grab_x @var{x_offset} -grab_y @var{y_offset}
@end example
@item
List supported formats:
@example
ffmpeg -f decklink -list_formats 1 -i 'Intensity Pro'
@end example
@item
Capture video clip at 1080i50 (format 11):
@example
ffmpeg -f decklink -i 'Intensity Pro@@11' -acodec copy -vcodec copy output.avi
@end example
@end itemize
Set the grabbing region coordinates. They are expressed as offset from the top left
corner of the X11 window. The default value is 0.
@c man end INPUT DEVICES

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libavcodec Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libavdevice Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libavfilter Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libavformat Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libavutil Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libswresample Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libswscale Documentation
@titlepage

View File

@@ -12,10 +12,10 @@ A file consists of a header and a number of metadata tags divided into sections,
each on its own line.
@item
The header is a ';FFMETADATA' string, followed by a version number (now 1).
The header is a @samp{;FFMETADATA} string, followed by a version number (now 1).
@item
Metadata tags are of the form 'key=value'
Metadata tags are of the form @samp{key=value}
@item
Immediately after header follows global metadata
@@ -26,26 +26,30 @@ metadata.
@item
A section starts with the section name in uppercase (i.e. STREAM or CHAPTER) in
brackets ('[', ']') and ends with next section or end of file.
brackets (@samp{[}, @samp{]}) and ends with next section or end of file.
@item
At the beginning of a chapter section there may be an optional timebase to be
used for start/end values. It must be in form 'TIMEBASE=num/den', where num and
den are integers. If the timebase is missing then start/end times are assumed to
used for start/end values. It must be in form
@samp{TIMEBASE=@var{num}/@var{den}}, where @var{num} and @var{den} are
integers. If the timebase is missing then start/end times are assumed to
be in milliseconds.
Next a chapter section must contain chapter start and end times in form
'START=num', 'END=num', where num is a positive integer.
@samp{START=@var{num}}, @samp{END=@var{num}}, where @var{num} is a positive
integer.
@item
Empty lines and lines starting with ';' or '#' are ignored.
Empty lines and lines starting with @samp{;} or @samp{#} are ignored.
@item
Metadata keys or values containing special characters ('=', ';', '#', '\' and a
newline) must be escaped with a backslash '\'.
Metadata keys or values containing special characters (@samp{=}, @samp{;},
@samp{#}, @samp{\} and a newline) must be escaped with a backslash @samp{\}.
@item
Note that whitespace in metadata (e.g. foo = bar) is considered to be a part of
the tag (in the example above key is 'foo ', value is ' bar').
Note that whitespace in metadata (e.g. @samp{foo = bar}) is considered to be
a part of the tag (in the example above key is @samp{foo }, value is
@samp{ bar}).
@end enumerate
A ffmetadata file might look like this:

View File

@@ -254,6 +254,15 @@ and it is not to be confused with the segment filename sequence number
which can be cyclic, for example if the @option{wrap} option is
specified.
@item hls_segment_filename @var{filename}
Set the segment filename. Unless hls_flags single_file is set @var{filename}
is used as a string format with the segment number:
@example
ffmpeg in.nut -hls_segment_filename 'file%03d.ts' out.m3u8
@end example
This example will produce the playlist, @file{out.m3u8}, and segment files:
@file{file000.ts}, @file{file001.ts}, @file{file002.ts}, etc.
@item hls_flags single_file
If this flag is set, the muxer will store all segments in a single MPEG-TS
file, and will use byte ranges in the playlist. HLS playlists generated with
@@ -264,6 +273,10 @@ ffmpeg -i in.nut -hls_flags single_file out.m3u8
@end example
Will produce the playlist, @file{out.m3u8}, and a single segment file,
@file{out.ts}.
@item hls_flags delete_segments
Segment files removed from the playlist are deleted after a period of time
equal to the duration of the segment plus the duration of the playlist.
@end table
@anchor{ico}
@@ -368,8 +381,7 @@ ffmpeg -f v4l2 -r 1 -i /dev/video0 -f image2 -strftime 1 "%Y-%m-%d_%H-%M-%S.jpg"
@table @option
@item start_number
Start the sequence from the specified number. Default value is 1. Must
be a non-negative number.
Start the sequence from the specified number. Default value is 0.
@item update
If set to 1, the filename will always be interpreted as just a
@@ -677,6 +689,9 @@ Set the transport_stream_id (default 0x0001). This identifies a
transponder in DVB.
@item -mpegts_service_id @var{number}
Set the service_id (default 0x0001) also known as program in DVB.
@item -mpegts_service_type @var{number}
Set the program service_type (default @var{digital_tv}), see below
a list of pre defined values.
@item -mpegts_pmt_start_pid @var{number}
Set the first PID for PMT (default 0x1000, max 0x1f00).
@item -mpegts_start_pid @var{number}
@@ -711,6 +726,27 @@ ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
@end example
@end table
Option mpegts_service_type accepts the following values:
@table @option
@item hex_value
Any hexdecimal value between 0x01 to 0xff as defined in ETSI 300 468.
@item digital_tv
Digital TV service.
@item digital_radio
Digital Radio service.
@item teletext
Teletext service.
@item advanced_codec_digital_radio
Advanced Codec Digital Radio service.
@item mpeg2_digital_hdtv
MPEG2 Digital HDTV service.
@item advanced_codec_digital_sdtv
Advanced Codec Digital SDTV service.
@item advanced_codec_digital_hdtv
Advanced Codec Digital HDTV service.
@end table
Option mpegts_flags may take a set of such flags:
@table @option
@@ -768,7 +804,7 @@ Change the syncpoint usage in nut:
sensitive and seeking is not possible. Also in general the overhead from
syncpoints is negligible. Note, -@code{write_index} 0 can be used to disable
all growing data tables, allowing to mux endless streams with limited memory
and wihout these disadvantages.
and without these disadvantages.
@item @var{timestamped} extend the syncpoint with a wallclock field.
@end table
The @var{none} and @var{timestamped} flags are experimental.
@@ -793,6 +829,11 @@ is 1 second. A value of 0 will fill all segments, making pages as large as
possible. A value of 1 will effectively use 1 packet-per-page in most
situations, giving a small seek granularity at the cost of additional container
overhead.
@item -serial_offset @var{value}
Serial value from which to set the streams serial number.
Setting it to different and sufficiently large values ensures that the produced
ogg files can be safely chained.
@end table
@anchor{segment}
@@ -801,8 +842,9 @@ overhead.
Basic stream segmenter.
This muxer outputs streams to a number of separate files of nearly
fixed duration. Output filename pattern can be set in a fashion similar to
@ref{image2}.
fixed duration. Output filename pattern can be set in a fashion
similar to @ref{image2}, or by using a @code{strftime} template if
the @option{strftime} option is enabled.
@code{stream_segment} is a variant of the muxer used to write to
streaming output formats, i.e. which do not require global headers,
@@ -982,6 +1024,18 @@ Wrap around segment index once it reaches @var{limit}.
@item segment_start_number @var{number}
Set the sequence number of the first segment. Defaults to @code{0}.
@item strftime @var{1|0}
Use the @code{strftime} function to define the name of the new
segments to write. If this is selected, the output segment name must
contain a @code{strftime} function template. Default value is
@code{0}.
@item break_non_keyframes @var{1|0}
If enabled, allow segments to start on frames other than keyframes. This
improves behavior on some players when the time between keyframes is
inconsistent, but may make things worse on others, and can cause some oddities
during seeking. Defaults to @code{0}.
@item reset_timestamps @var{1|0}
Reset timestamps at the begin of each segment, so that each segment
will start with near-zero timestamps. It is meant to ease the playback
@@ -1162,7 +1216,17 @@ is the @option{global_header} flag.
WebM DASH Manifest muxer.
This muxer implements the WebM DASH Manifest specification to generate the DASH manifest XML.
This muxer implements the WebM DASH Manifest specification to generate the DASH
manifest XML. It also supports manifest generation for DASH live streams.
For more information see:
@itemize @bullet
@item
WebM DASH Specification: @url{https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification}
@item
ISO DASH Specification: @url{http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip}
@end itemize
@subsection Options
@@ -1173,6 +1237,32 @@ This muxer supports the following options:
This option has the following syntax: "id=x,streams=a,b,c id=y,streams=d,e" where x and y are the
unique identifiers of the adaptation sets and a,b,c,d and e are the indices of the corresponding
audio and video streams. Any number of adaptation sets can be added using this option.
@item live
Set this to 1 to create a live stream DASH Manifest. Default: 0.
@item chunk_start_index
Start index of the first chunk. This will go in the @samp{startNumber} attribute
of the @samp{SegmentTemplate} element in the manifest. Default: 0.
@item chunk_duration_ms
Duration of each chunk in milliseconds. This will go in the @samp{duration}
attribute of the @samp{SegmentTemplate} element in the manifest. Default: 1000.
@item utc_timing_url
URL of the page that will return the UTC timestamp in ISO format. This will go
in the @samp{value} attribute of the @samp{UTCTiming} element in the manifest.
Default: None.
@item time_shift_buffer_depth
Smallest time (in seconds) shifting buffer for which any Representation is
guaranteed to be available. This will go in the @samp{timeShiftBufferDepth}
attribute of the @samp{MPD} element. Default: 60.
@item minimum_update_period
Minimum update period (in seconds) of the manifest. This will go in the
@samp{minimumUpdatePeriod} attribute of the @samp{MPD} element. Default: 0.
@end table
@subsection Example
@@ -1188,4 +1278,47 @@ ffmpeg -f webm_dash_manifest -i video1.webm \
manifest.xml
@end example
@section webm_chunk
WebM Live Chunk Muxer.
This muxer writes out WebM headers and chunks as separate files which can be
consumed by clients that support WebM Live streams via DASH.
@subsection Options
This muxer supports the following options:
@table @option
@item chunk_start_index
Index of the first chunk (defaults to 0).
@item header
Filename of the header where the initialization data will be written.
@item audio_chunk_duration
Duration of each audio chunk in milliseconds (defaults to 5000).
@end table
@subsection Example
@example
ffmpeg -f v4l2 -i /dev/video0 \
-f alsa -i hw:0 \
-map 0:0 \
-c:v libvpx-vp9 \
-s 640x360 -keyint_min 30 -g 30 \
-f webm_chunk \
-header webm_live_video_360.hdr \
-chunk_start_index 1 \
webm_live_video_360_%d.chk \
-map 1:0 \
-c:a libvorbis \
-b:a 128k \
-f webm_chunk \
-header webm_live_audio_128.hdr \
-chunk_start_index 1 \
-audio_chunk_duration 1000 \
webm_live_audio_128_%d.chk
@end example
@c man end MUXERS

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle NUT

View File

@@ -191,6 +191,11 @@ __asm__() block.
Use external asm (nasm/yasm) or inline asm (__asm__()), do not use intrinsics.
The latter requires a good optimizing compiler which gcc is not.
When debugging a x86 external asm compilation issue, if lost in the macro
expansions, add DBG=1 to your make command-line: the input file will be
preprocessed, stripped of the debug/empty lines, then compiled, showing the
actual lines causing issues.
Inline asm vs. external asm
---------------------------
Both inline asm (__asm__("..") in a .c file, handled by a compiler such as gcc)

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Platform Specific Information
@titlepage
@@ -96,9 +97,9 @@ the FFmpeg Windows Help Forum at @url{http://ffmpeg.zeranoe.com/forum/}.
@section Native Windows compilation using MinGW or MinGW-w64
FFmpeg can be built to run natively on Windows using the MinGW or MinGW-w64
toolchains. Install the latest versions of MSYS and MinGW or MinGW-w64 from
@url{http://www.mingw.org/} or @url{http://mingw-w64.sourceforge.net/}.
FFmpeg can be built to run natively on Windows using the MinGW-w64
toolchain. Install the latest versions of MSYS2 and MinGW-w64 from
@url{http://msys2.github.io/} and/or @url{http://mingw-w64.sourceforge.net/}.
You can find detailed installation instructions in the download section and
the FAQ.
@@ -106,7 +107,7 @@ Notes:
@itemize
@item Building natively using MSYS can be sped up by disabling implicit rules
@item Building natively using MSYS2 can be sped up by disabling implicit rules
in the Makefile by calling @code{make -r} instead of plain @code{make}. This
speed up is close to non-existent for normal one-off builds and is only
noticeable when running make for a second time (for example during
@@ -133,13 +134,12 @@ You will need the following prerequisites:
(if using MSVC 2012 or earlier)
@item @uref{http://code.google.com/p/msinttypes/, msinttypes}
(if using MSVC 2012 or earlier)
@item @uref{http://www.mingw.org/, MSYS}
@item @uref{http://msys2.github.io/, MSYS2}
@item @uref{http://yasm.tortall.net/, YASM}
@item @uref{http://gnuwin32.sourceforge.net/packages/bc.htm, bc for Windows} if
you want to run @uref{fate.html, FATE}.
(Also available via MSYS2's package manager.)
@end itemize
To set up a proper environment in MSYS, you need to run @code{msys.bat} from
To set up a proper environment in MSYS2, you need to run @code{msys_shell.bat} from
the Visual Studio or Intel Compiler command prompt.
Place @code{yasm.exe} somewhere in your @code{PATH}. If using MSVC 2012 or
@@ -283,7 +283,7 @@ binutils, gcc4-core, make, git, mingw-runtime, texinfo
In order to run FATE you will also need the following "Utils" packages:
@example
bc, diffutils
diffutils
@end example
If you want to build FFmpeg with additional libraries, download Cygwin

View File

@@ -63,7 +63,7 @@ cache:@var{URL}
Physical concatenation protocol.
Allow to read and seek from many resource in sequence as if they were
Read and seek from many resources in sequence as if they were
a unique resource.
A URL accepted by this protocol has the syntax:
@@ -117,7 +117,7 @@ ffmpeg -i "data:image/gif;base64,R0lGODdhCAAIAMIEAAAAAAAA//8AAP//AP/////////////
File access protocol.
Allow to read from or write to a file.
Read from or write to a file.
A file URL can have the form:
@example
@@ -155,7 +155,7 @@ time, which is valuable for files on slow medium.
FTP (File Transfer Protocol).
Allow to read from or write to remote resources using FTP protocol.
Read from or write to remote resources using FTP protocol.
Following syntax is required.
@example
@@ -277,6 +277,41 @@ Set initial byte offset.
@item end_offset
Try to limit the request to bytes preceding this offset.
@item method
When used as a client option it sets the HTTP method for the request.
When used as a server option it sets the HTTP method that is going to be
expected from the client(s).
If the expected and the received HTTP method do not match the client will
be given a Bad Request response.
When unset the HTTP method is not checked for now. This will be replaced by
autodetection in the future.
@item listen
If set to 1 enables experimental HTTP server. This can be used to send data when
used as an output option, or read data from a client with HTTP POST when used as
an input option.
@example
# Server side (sending):
ffmpeg -i somefile.ogg -c copy -listen 1 -f ogg http://@var{server}:@var{port}
# Client side (receiving):
ffmpeg -i http://@var{server}:@var{port} -c copy somefile.ogg
# Client can also be done with wget:
wget http://@var{server}:@var{port} -O somefile.ogg
# Server side (receiving):
ffmpeg -listen 1 -i http://@var{server}:@var{port} -c copy somefile.ogg
# Client side (sending):
ffmpeg -i somefile.ogg -chunked_post 0 -c copy -f ogg http://@var{server}:@var{port}
# Client can also be done with wget:
wget --post-file=somefile.ogg http://@var{server}:@var{port}
@end example
@end table
@subsection HTTP Cookies
@@ -374,7 +409,7 @@ be seekable, so they will fail with the MD5 output protocol.
UNIX pipe access protocol.
Allow to read and write from UNIX pipes.
Read and write from UNIX pipes.
The accepted syntax is:
@example
@@ -614,7 +649,7 @@ For more information see: @url{http://www.samba.org/}.
Secure File Transfer Protocol via libssh
Allow to read from or write to remote resources using SFTP protocol.
Read from or write to remote resources using SFTP protocol.
Following syntax is required.
@@ -1055,7 +1090,9 @@ subfile,,start,153391104,end,268142592,,:/media/dvd/VIDEO_TS/VTS_08_1.VOB
@end example
Play an AVI file directly from a TAR archive:
@example
subfile,,start,183241728,end,366490624,,:archive.tar
@end example
@section tcp
@@ -1081,8 +1118,8 @@ Set raise error timeout, expressed in microseconds.
This option is only relevant in read mode: if no data arrived in more
than this time interval, raise error.
@item listen_timeout=@var{microseconds}
Set listen timeout, expressed in microseconds.
@item listen_timeout=@var{milliseconds}
Set listen timeout, expressed in milliseconds.
@end table
The following example shows how to setup a listening TCP connection

View File

@@ -23,8 +23,108 @@
# no navigation elements
set_from_init_file('HEADERS', 0);
# TOC and Chapter headings link
set_from_init_file('TOC_LINKS', 1);
sub ffmpeg_heading_command($$$$$)
{
my $self = shift;
my $cmdname = shift;
my $command = shift;
my $args = shift;
my $content = shift;
my $result = '';
# not clear that it may really happen
if ($self->in_string) {
$result .= $self->command_string($command) ."\n" if ($cmdname ne 'node');
$result .= $content if (defined($content));
return $result;
}
my $element_id = $self->command_id($command);
$result .= "<a name=\"$element_id\"></a>\n"
if (defined($element_id) and $element_id ne '');
print STDERR "Process $command "
.Texinfo::Structuring::_print_root_command_texi($command)."\n"
if ($self->get_conf('DEBUG'));
my $element;
if ($Texinfo::Common::root_commands{$command->{'cmdname'}}
and $command->{'parent'}
and $command->{'parent'}->{'type'}
and $command->{'parent'}->{'type'} eq 'element') {
$element = $command->{'parent'};
}
if ($element) {
$result .= &{$self->{'format_element_header'}}($self, $cmdname,
$command, $element);
}
my $heading_level;
# node is used as heading if there is nothing else.
if ($cmdname eq 'node') {
if (!$element or (!$element->{'extra'}->{'section'}
and $element->{'extra'}->{'node'}
and $element->{'extra'}->{'node'} eq $command
# bogus node may not have been normalized
and defined($command->{'extra'}->{'normalized'}))) {
if ($command->{'extra'}->{'normalized'} eq 'Top') {
$heading_level = 0;
} else {
$heading_level = 3;
}
}
} else {
$heading_level = $command->{'level'};
}
my $heading = $self->command_text($command);
# $heading not defined may happen if the command is a @node, for example
# if there is an error in the node.
if (defined($heading) and $heading ne '' and defined($heading_level)) {
if ($Texinfo::Common::root_commands{$cmdname}
and $Texinfo::Common::sectioning_commands{$cmdname}) {
my $content_href = $self->command_contents_href($command, 'contents',
$self->{'current_filename'});
if ($content_href) {
my $this_href = $content_href =~ s/^\#toc-/\#/r;
$heading .= '<span class="pull-right">'.
'<a class="anchor hidden-xs" '.
"href=\"$this_href\" aria-hidden=\"true\">".
($ENV{"FA_ICONS"} ? '<i class="fa fa-link"></i>'
: '#').
'</a> '.
'<a class="anchor hidden-xs"'.
"href=\"$content_href\" aria-hidden=\"true\">".
($ENV{"FA_ICONS"} ? '<i class="fa fa-navicon"></i>'
: 'TOC').
'</a>'.
'</span>';
}
}
if ($self->in_preformatted()) {
$result .= $heading."\n";
} else {
# if the level was changed, set the command name right
if ($cmdname ne 'node'
and $heading_level ne $Texinfo::Common::command_structuring_level{$cmdname}) {
$cmdname
= $Texinfo::Common::level_to_structuring_command{$cmdname}->[$heading_level];
}
$result .= &{$self->{'format_heading_text'}}(
$self, $cmdname, $heading,
$heading_level +
$self->get_conf('CHAPTER_HEADER_LEVEL') - 1, $command);
}
}
$result .= $content if (defined($content));
return $result;
}
foreach my $command (keys(%Texinfo::Common::sectioning_commands), 'node') {
texinfo_register_command_formatting($command, \&ffmpeg_heading_command);
}
# print the TOC where @contents is used
set_from_init_file('INLINE_CONTENTS', 1);
@@ -69,6 +169,7 @@ EOT
my $head2 = $ENV{"FFMPEG_HEADER2"} || <<EOT;
</title>
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="style.min.css">
</head>
@@ -85,6 +186,23 @@ EOT
}
texinfo_register_formatting_function('begin_file', \&ffmpeg_begin_file);
sub ffmpeg_program_string($)
{
my $self = shift;
if (defined($self->get_conf('PROGRAM'))
and $self->get_conf('PROGRAM') ne ''
and defined($self->get_conf('PACKAGE_URL'))) {
return $self->convert_tree(
$self->gdt('This document was generated using @uref{{program_homepage}, @emph{{program}}}.',
{ 'program_homepage' => $self->get_conf('PACKAGE_URL'),
'program' => $self->get_conf('PROGRAM') }));
} else {
return $self->convert_tree(
$self->gdt('This document was generated automatically.'));
}
}
texinfo_register_formatting_function('program_string', \&ffmpeg_program_string);
# Customized file ending
sub ffmpeg_end_file($)
{

View File

@@ -166,7 +166,7 @@ INF: while(<$inf>) {
if ($ended =~ /^(?:ifset|ifclear|ignore|menu|iftex|ifhtml|ifnothtml)$/) {
$skipping = pop @skstack;
next;
} elsif ($ended =~ /^(?:example|smallexample|display)$/) {
} elsif ($ended =~ /^(?:example|smallexample|verbatim|display)$/) {
$shift = "";
$_ = ""; # need a paragraph break
} elsif ($ended =~ /^(?:itemize|enumerate|(?:multi|[fv])?table)$/) {
@@ -290,7 +290,7 @@ INF: while(<$inf>) {
$_ = "\n=over 4\n";
};
/^\@((?:small)?example|display)/ and do {
/^\@((?:small)?example|verbatim|display)/ and do {
push @endwstack, $endw;
$endw = $1;
$shift = "\t";

View File

@@ -12,17 +12,17 @@ explicitly specified. The following rules are applied:
@itemize
@item
@code{'} and @code{\} are special characters (respectively used for
@samp{'} and @samp{\} are special characters (respectively used for
quoting and escaping). In addition to them, there might be other
special characters depending on the specific syntax where the escaping
and quoting are employed.
@item
A special character is escaped by prefixing it with a '\'.
A special character is escaped by prefixing it with a @samp{\}.
@item
All characters enclosed between '' are included literally in the
parsed string. The quote character @code{'} itself cannot be quoted,
All characters enclosed between @samp{''} are included literally in the
parsed string. The quote character @samp{'} itself cannot be quoted,
so you may need to close the quote and escape it.
@item
@@ -71,7 +71,7 @@ Escaping and quoting can be mixed together:
@end example
@item
To include a literal @code{\} you can use either escaping or quoting:
To include a literal @samp{\} you can use either escaping or quoting:
@example
'c:\foo' can be written as c:\\foo
@end example
@@ -844,7 +844,7 @@ Return 1.0 if @var{x} is +/-INFINITY, 0.0 otherwise.
Return 1.0 if @var{x} is NAN, 0.0 otherwise.
@item ld(var)
Allow to load the value of the internal variable with number
Load the value of the internal variable with number
@var{var}, which was previously stored with st(@var{var}, @var{expr}).
The function returns the loaded value.
@@ -912,7 +912,7 @@ Compute the square root of @var{expr}. This is equivalent to
Compute expression @code{1/(1 + exp(4*x))}.
@item st(var, expr)
Allow to store the value of the expression @var{expr} in an internal
Store the value of the expression @var{expr} in an internal
variable. @var{var} specifies the number of the variable where to
store the value, and it is a value ranging from 0 to 9. The function
returns the value stored in the internal variable.

472
ffmpeg.c
View File

@@ -60,10 +60,9 @@
#include "libavutil/bprint.h"
#include "libavutil/time.h"
#include "libavutil/threadmessage.h"
#include "libavcodec/mathops.h"
#include "libavformat/os_support.h"
#include "libavformat/ffm.h" // not public API
# include "libavfilter/avcodec.h"
# include "libavfilter/avfilter.h"
# include "libavfilter/buffersrc.h"
@@ -155,8 +154,9 @@ static struct termios oldtty;
static int restore_tty;
#endif
#if HAVE_PTHREADS
static void free_input_threads(void);
#endif
/* sub2video hack:
Convert subtitles to video with alpha to insert them in filter graphs.
@@ -352,7 +352,6 @@ void term_init(void)
signal(SIGQUIT, sigterm_handler); /* Quit (POSIX). */
}
#endif
avformat_network_deinit();
signal(SIGINT , sigterm_handler); /* Interrupt (ANSI). */
signal(SIGTERM, sigterm_handler); /* Termination (ANSI). */
@@ -457,9 +456,12 @@ static void ffmpeg_cleanup(int ret)
/* close files */
for (i = 0; i < nb_output_files; i++) {
OutputFile *of = output_files[i];
AVFormatContext *s = of->ctx;
if (s && s->oformat && !(s->oformat->flags & AVFMT_NOFILE) && s->pb)
avio_close(s->pb);
AVFormatContext *s;
if (!of)
continue;
s = of->ctx;
if (s && s->oformat && !(s->oformat->flags & AVFMT_NOFILE))
avio_closep(&s->pb);
avformat_free_context(s);
av_dict_free(&of->opts);
@@ -467,7 +469,12 @@ static void ffmpeg_cleanup(int ret)
}
for (i = 0; i < nb_output_streams; i++) {
OutputStream *ost = output_streams[i];
AVBitStreamFilterContext *bsfc = ost->bitstream_filters;
AVBitStreamFilterContext *bsfc;
if (!ost)
continue;
bsfc = ost->bitstream_filters;
while (bsfc) {
AVBitStreamFilterContext *next = bsfc->next;
av_bitstream_filter_close(bsfc);
@@ -516,7 +523,7 @@ static void ffmpeg_cleanup(int ret)
if (vstats_file)
fclose(vstats_file);
av_free(vstats_filename);
av_freep(&vstats_filename);
av_freep(&input_streams);
av_freep(&input_files);
@@ -588,7 +595,7 @@ static void close_all_output_streams(OutputStream *ost, OSTFinished this_stream,
static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)
{
AVBitStreamFilterContext *bsfc = ost->bitstream_filters;
AVCodecContext *avctx = ost->st->codec;
AVCodecContext *avctx = ost->encoding_needed ? ost->enc_ctx : ost->st->codec;
int ret;
if (!ost->st->codec->extradata_size && ost->enc_ctx->extradata_size) {
@@ -651,6 +658,7 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)
if (!new_pkt.buf)
exit_program(1);
} else if (a < 0) {
new_pkt = *pkt;
av_log(NULL, AV_LOG_ERROR, "Failed to open bitstream filter %s for stream %d with codec %s",
bsfc->filter->name, pkt->stream_index,
avctx->codec ? avctx->codec->name : "copy");
@@ -819,6 +827,10 @@ static void do_subtitle_out(AVFormatContext *s,
if (!subtitle_out) {
subtitle_out = av_malloc(subtitle_out_max_size);
if (!subtitle_out) {
av_log(NULL, AV_LOG_FATAL, "Failed to allocate subtitle_out\n");
exit_program(1);
}
}
/* Note: DVB subtitle need one packet to draw them and one other
@@ -879,23 +891,29 @@ static void do_subtitle_out(AVFormatContext *s,
static void do_video_out(AVFormatContext *s,
OutputStream *ost,
AVFrame *next_picture)
AVFrame *next_picture,
double sync_ipts)
{
int ret, format_video_sync;
AVPacket pkt;
AVCodecContext *enc = ost->enc_ctx;
AVCodecContext *mux_enc = ost->st->codec;
int nb_frames, nb0_frames, i;
double sync_ipts, delta, delta0;
double delta, delta0;
double duration = 0;
int frame_size = 0;
InputStream *ist = NULL;
AVFilterContext *filter = ost->filter->filter;
if (ost->source_index >= 0)
ist = input_streams[ost->source_index];
if (filter->inputs[0]->frame_rate.num > 0 &&
filter->inputs[0]->frame_rate.den > 0)
duration = 1/(av_q2d(filter->inputs[0]->frame_rate) * av_q2d(enc->time_base));
if(ist && ist->st->start_time != AV_NOPTS_VALUE && ist->st->first_dts != AV_NOPTS_VALUE && ost->frame_rate.num)
duration = 1/(av_q2d(ost->frame_rate) * av_q2d(enc->time_base));
duration = FFMIN(duration, 1/(av_q2d(ost->frame_rate) * av_q2d(enc->time_base)));
if (!ost->filters_script &&
!ost->filters &&
@@ -905,76 +923,93 @@ static void do_video_out(AVFormatContext *s,
duration = lrintf(av_frame_get_pkt_duration(next_picture) * av_q2d(ist->st->time_base) / av_q2d(enc->time_base));
}
sync_ipts = next_picture->pts;
delta0 = sync_ipts - ost->sync_opts;
delta = delta0 + duration;
if (!next_picture) {
//end, flushing
nb0_frames = nb_frames = mid_pred(ost->last_nb0_frames[0],
ost->last_nb0_frames[1],
ost->last_nb0_frames[2]);
} else {
delta0 = sync_ipts - ost->sync_opts;
delta = delta0 + duration;
/* by default, we output a single frame */
nb0_frames = 0;
nb_frames = 1;
/* by default, we output a single frame */
nb0_frames = 0;
nb_frames = 1;
format_video_sync = video_sync_method;
if (format_video_sync == VSYNC_AUTO) {
if(!strcmp(s->oformat->name, "avi")) {
format_video_sync = VSYNC_VFR;
} else
format_video_sync = (s->oformat->flags & AVFMT_VARIABLE_FPS) ? ((s->oformat->flags & AVFMT_NOTIMESTAMPS) ? VSYNC_PASSTHROUGH : VSYNC_VFR) : VSYNC_CFR;
if ( ist
&& format_video_sync == VSYNC_CFR
&& input_files[ist->file_index]->ctx->nb_streams == 1
&& input_files[ist->file_index]->input_ts_offset == 0) {
format_video_sync = VSYNC_VSCFR;
format_video_sync = video_sync_method;
if (format_video_sync == VSYNC_AUTO) {
if(!strcmp(s->oformat->name, "avi")) {
format_video_sync = VSYNC_VFR;
} else
format_video_sync = (s->oformat->flags & AVFMT_VARIABLE_FPS) ? ((s->oformat->flags & AVFMT_NOTIMESTAMPS) ? VSYNC_PASSTHROUGH : VSYNC_VFR) : VSYNC_CFR;
if ( ist
&& format_video_sync == VSYNC_CFR
&& input_files[ist->file_index]->ctx->nb_streams == 1
&& input_files[ist->file_index]->input_ts_offset == 0) {
format_video_sync = VSYNC_VSCFR;
}
if (format_video_sync == VSYNC_CFR && copy_ts) {
format_video_sync = VSYNC_VSCFR;
}
}
if (format_video_sync == VSYNC_CFR && copy_ts) {
format_video_sync = VSYNC_VSCFR;
if (delta0 < 0 &&
delta > 0 &&
format_video_sync != VSYNC_PASSTHROUGH &&
format_video_sync != VSYNC_DROP) {
double cor = FFMIN(-delta0, duration);
if (delta0 < -0.6) {
av_log(NULL, AV_LOG_WARNING, "Past duration %f too large\n", -delta0);
} else
av_log(NULL, AV_LOG_DEBUG, "Cliping frame in rate conversion by %f\n", -delta0);
sync_ipts += cor;
duration -= cor;
delta0 += cor;
}
}
if (delta0 < 0 &&
delta > 0 &&
format_video_sync != VSYNC_PASSTHROUGH &&
format_video_sync != VSYNC_DROP) {
double cor = FFMIN(-delta0, duration);
av_log(NULL, AV_LOG_WARNING, "Past duration %f too large\n", -delta0);
sync_ipts += cor;
duration -= cor;
delta0 += cor;
}
switch (format_video_sync) {
case VSYNC_VSCFR:
if (ost->frame_number == 0 && delta - duration >= 0.5) {
av_log(NULL, AV_LOG_DEBUG, "Not duplicating %d initial frames\n", (int)lrintf(delta - duration));
delta = duration;
delta0 = 0;
switch (format_video_sync) {
case VSYNC_VSCFR:
if (ost->frame_number == 0 && delta - duration >= 0.5) {
av_log(NULL, AV_LOG_DEBUG, "Not duplicating %d initial frames\n", (int)lrintf(delta - duration));
delta = duration;
delta0 = 0;
ost->sync_opts = lrint(sync_ipts);
}
case VSYNC_CFR:
// FIXME set to 0.5 after we fix some dts/pts bugs like in avidec.c
if (frame_drop_threshold && delta < frame_drop_threshold && ost->frame_number) {
nb_frames = 0;
} else if (delta < -1.1)
nb_frames = 0;
else if (delta > 1.1) {
nb_frames = lrintf(delta);
if (delta0 > 1.1)
nb0_frames = lrintf(delta0 - 0.6);
}
break;
case VSYNC_VFR:
if (delta <= -0.6)
nb_frames = 0;
else if (delta > 0.6)
ost->sync_opts = lrint(sync_ipts);
break;
case VSYNC_DROP:
case VSYNC_PASSTHROUGH:
ost->sync_opts = lrint(sync_ipts);
break;
default:
av_assert0(0);
}
case VSYNC_CFR:
// FIXME set to 0.5 after we fix some dts/pts bugs like in avidec.c
if (delta < -1.1)
nb_frames = 0;
else if (delta > 1.1) {
nb_frames = lrintf(delta);
if (delta0 > 1.1)
nb0_frames = lrintf(delta0 - 0.6);
}
break;
case VSYNC_VFR:
if (delta <= -0.6)
nb_frames = 0;
else if (delta > 0.6)
ost->sync_opts = lrint(sync_ipts);
break;
case VSYNC_DROP:
case VSYNC_PASSTHROUGH:
ost->sync_opts = lrint(sync_ipts);
break;
default:
av_assert0(0);
}
nb_frames = FFMIN(nb_frames, ost->max_frames - ost->frame_number);
nb0_frames = FFMIN(nb0_frames, nb_frames);
memmove(ost->last_nb0_frames + 1,
ost->last_nb0_frames,
sizeof(ost->last_nb0_frames[0]) * (FF_ARRAY_ELEMS(ost->last_nb0_frames) - 1));
ost->last_nb0_frames[0] = nb0_frames;
if (nb0_frames == 0 && ost->last_droped) {
nb_frames_drop++;
av_log(NULL, AV_LOG_VERBOSE,
@@ -990,7 +1025,7 @@ static void do_video_out(AVFormatContext *s,
nb_frames_dup += nb_frames - (nb0_frames && ost->last_droped) - (nb_frames > nb0_frames);
av_log(NULL, AV_LOG_VERBOSE, "*** %d dup!\n", nb_frames - 1);
}
ost->last_droped = nb_frames == nb0_frames;
ost->last_droped = nb_frames == nb0_frames && next_picture;
/* duplicates frame if needed */
for (i = 0; i < nb_frames; i++) {
@@ -1004,6 +1039,9 @@ static void do_video_out(AVFormatContext *s,
} else
in_picture = next_picture;
if (!in_picture)
return;
in_picture->pts = ost->sync_opts;
#if 1
@@ -1075,6 +1113,10 @@ static void do_video_out(AVFormatContext *s,
}
ost->forced_keyframes_expr_const_values[FKF_N] += 1;
} else if ( ost->forced_keyframes
&& !strncmp(ost->forced_keyframes, "source", 6)
&& in_picture->key_frame==1) {
forced_keyframe = 1;
}
if (forced_keyframe) {
@@ -1143,7 +1185,10 @@ static void do_video_out(AVFormatContext *s,
if (!ost->last_frame)
ost->last_frame = av_frame_alloc();
av_frame_unref(ost->last_frame);
av_frame_ref(ost->last_frame, next_picture);
if (next_picture && ost->last_frame)
av_frame_ref(ost->last_frame, next_picture);
else
av_frame_free(&ost->last_frame);
}
static double psnr(double d)
@@ -1169,8 +1214,8 @@ static void do_video_stats(OutputStream *ost, int frame_size)
enc = ost->enc_ctx;
if (enc->codec_type == AVMEDIA_TYPE_VIDEO) {
frame_number = ost->st->nb_frames;
fprintf(vstats_file, "frame= %5d q= %2.1f ", frame_number, enc->coded_frame->quality / (float)FF_QP2LAMBDA);
if (enc->flags&CODEC_FLAG_PSNR)
fprintf(vstats_file, "frame= %5d q= %2.1f ", frame_number, enc->coded_frame ? enc->coded_frame->quality / (float)FF_QP2LAMBDA : 0);
if (enc->coded_frame && (enc->flags&CODEC_FLAG_PSNR))
fprintf(vstats_file, "PSNR= %6.2f ", psnr(enc->coded_frame->error[0] / (enc->width * enc->height * 255.0 * 255.0)));
fprintf(vstats_file,"f_size= %6d ", frame_size);
@@ -1183,7 +1228,7 @@ static void do_video_stats(OutputStream *ost, int frame_size)
avg_bitrate = (double)(ost->data_size * 8) / ti1 / 1000.0;
fprintf(vstats_file, "s_size= %8.0fkB time= %0.3f br= %7.1fkbits/s avg_br= %7.1fkbits/s ",
(double)ost->data_size / 1024, ti1, bitrate, avg_bitrate);
fprintf(vstats_file, "type= %c\n", av_get_picture_type_char(enc->coded_frame->pict_type));
fprintf(vstats_file, "type= %c\n", enc->coded_frame ? av_get_picture_type_char(enc->coded_frame->pict_type) : 'I');
}
}
@@ -1206,11 +1251,10 @@ static void finish_output_stream(OutputStream *ost)
*
* @return 0 for success, <0 for severe errors
*/
static int reap_filters(void)
static int reap_filters(int flush)
{
AVFrame *filtered_frame = NULL;
int i;
int64_t frame_pts;
/* Reap all buffers present in the buffer sinks */
for (i = 0; i < nb_output_streams; i++) {
@@ -1230,12 +1274,16 @@ static int reap_filters(void)
filtered_frame = ost->filtered_frame;
while (1) {
double float_pts = AV_NOPTS_VALUE; // this is identical to filtered_frame.pts but with higher precision
ret = av_buffersink_get_frame_flags(filter, filtered_frame,
AV_BUFFERSINK_FLAG_NO_REQUEST);
if (ret < 0) {
if (ret != AVERROR(EAGAIN) && ret != AVERROR_EOF) {
av_log(NULL, AV_LOG_WARNING,
"Error in av_buffersink_get_frame_flags(): %s\n", av_err2str(ret));
} else if (flush && ret == AVERROR_EOF) {
if (filter->inputs[0]->type == AVMEDIA_TYPE_VIDEO)
do_video_out(of->ctx, ost, NULL, AV_NOPTS_VALUE);
}
break;
}
@@ -1243,10 +1291,20 @@ static int reap_filters(void)
av_frame_unref(filtered_frame);
continue;
}
frame_pts = AV_NOPTS_VALUE;
if (filtered_frame->pts != AV_NOPTS_VALUE) {
int64_t start_time = (of->start_time == AV_NOPTS_VALUE) ? 0 : of->start_time;
filtered_frame->pts = frame_pts =
AVRational tb = enc->time_base;
int extra_bits = av_clip(29 - av_log2(tb.den), 0, 16);
tb.den <<= extra_bits;
float_pts =
av_rescale_q(filtered_frame->pts, filter->inputs[0]->time_base, tb) -
av_rescale_q(start_time, AV_TIME_BASE_Q, tb);
float_pts /= 1 << extra_bits;
// avoid exact midoints to reduce the chance of rounding differences, this can be removed in case the fps code is changed to work with integers
float_pts += FFSIGN(float_pts) * 1.0 / (1<<17);
filtered_frame->pts =
av_rescale_q(filtered_frame->pts, filter->inputs[0]->time_base, enc->time_base) -
av_rescale_q(start_time, AV_TIME_BASE_Q, enc->time_base);
}
@@ -1255,20 +1313,19 @@ static int reap_filters(void)
switch (filter->inputs[0]->type) {
case AVMEDIA_TYPE_VIDEO:
filtered_frame->pts = frame_pts;
if (!ost->frame_aspect_ratio.num)
enc->sample_aspect_ratio = filtered_frame->sample_aspect_ratio;
if (debug_ts) {
av_log(NULL, AV_LOG_INFO, "filter -> pts:%s pts_time:%s time_base:%d/%d\n",
av_log(NULL, AV_LOG_INFO, "filter -> pts:%s pts_time:%s exact:%f time_base:%d/%d\n",
av_ts2str(filtered_frame->pts), av_ts2timestr(filtered_frame->pts, &enc->time_base),
float_pts,
enc->time_base.num, enc->time_base.den);
}
do_video_out(of->ctx, ost, filtered_frame);
do_video_out(of->ctx, ost, filtered_frame, float_pts);
break;
case AVMEDIA_TYPE_AUDIO:
filtered_frame->pts = frame_pts;
if (!(enc->codec->capabilities & CODEC_CAP_PARAM_CHANGE) &&
enc->channels != av_frame_get_channels(filtered_frame)) {
av_log(NULL, AV_LOG_ERROR,
@@ -1296,6 +1353,7 @@ static void print_final_stats(int64_t total_size)
uint64_t data_size = 0;
float percent = -1.0;
int i, j;
int pass1_used = 1;
for (i = 0; i < nb_output_streams; i++) {
OutputStream *ost = output_streams[i];
@@ -1307,6 +1365,9 @@ static void print_final_stats(int64_t total_size)
}
extra_size += ost->enc_ctx->extradata_size;
data_size += ost->data_size;
if ( (ost->enc_ctx->flags & (CODEC_FLAG_PASS1 | CODEC_FLAG_PASS2))
!= CODEC_FLAG_PASS1)
pass1_used = 0;
}
if (data_size && total_size>0 && total_size >= data_size)
@@ -1393,7 +1454,12 @@ static void print_final_stats(int64_t total_size)
total_packets, total_size);
}
if(video_size + data_size + audio_size + subtitle_size + extra_size == 0){
av_log(NULL, AV_LOG_WARNING, "Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)\n");
av_log(NULL, AV_LOG_WARNING, "Output file is empty, nothing was encoded ");
if (pass1_used) {
av_log(NULL, AV_LOG_WARNING, "\n");
} else {
av_log(NULL, AV_LOG_WARNING, "(check -ss / -t / -frames parameters if used)\n");
}
}
}
@@ -1506,8 +1572,8 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
nb_frames_drop += ost->last_droped;
}
secs = pts / AV_TIME_BASE;
us = pts % AV_TIME_BASE;
secs = FFABS(pts) / AV_TIME_BASE;
us = FFABS(pts) % AV_TIME_BASE;
mins = secs / 60;
secs %= 60;
hours = mins / 60;
@@ -1519,13 +1585,20 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
"size=N/A time=");
else snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
"size=%8.0fkB time=", total_size / 1024.0);
if (pts < 0)
snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "-");
snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
"%02d:%02d:%02d.%02d ", hours, mins, secs,
(100 * us) / AV_TIME_BASE);
if (bitrate < 0) snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
"bitrate=N/A");
else snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
"bitrate=%6.1fkbits/s", bitrate);
if (bitrate < 0) {
snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),"bitrate=N/A");
av_bprintf(&buf_script, "bitrate=N/A\n");
}else{
snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),"bitrate=%6.1fkbits/s", bitrate);
av_bprintf(&buf_script, "bitrate=%6.1fkbits/s\n", bitrate);
}
if (total_size < 0) av_bprintf(&buf_script, "total_size=N/A\n");
else av_bprintf(&buf_script, "total_size=%"PRId64"\n", total_size);
av_bprintf(&buf_script, "out_time_ms=%"PRId64"\n", pts);
@@ -1556,8 +1629,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
avio_flush(progress_avio);
av_bprint_finalize(&buf_script, NULL);
if (is_last_report) {
avio_close(progress_avio);
progress_avio = NULL;
avio_closep(&progress_avio);
}
}
@@ -1728,17 +1800,21 @@ static void do_streamcopy(InputStream *ist, OutputStream *ost, const AVPacket *p
opkt.duration = av_rescale_q(pkt->duration, ist->st->time_base, ost->st->time_base);
opkt.flags = pkt->flags;
// FIXME remove the following 2 lines they shall be replaced by the bitstream filters
if ( ost->enc_ctx->codec_id != AV_CODEC_ID_H264
&& ost->enc_ctx->codec_id != AV_CODEC_ID_MPEG1VIDEO
&& ost->enc_ctx->codec_id != AV_CODEC_ID_MPEG2VIDEO
&& ost->enc_ctx->codec_id != AV_CODEC_ID_VC1
if ( ost->st->codec->codec_id != AV_CODEC_ID_H264
&& ost->st->codec->codec_id != AV_CODEC_ID_MPEG1VIDEO
&& ost->st->codec->codec_id != AV_CODEC_ID_MPEG2VIDEO
&& ost->st->codec->codec_id != AV_CODEC_ID_VC1
) {
if (av_parser_change(ost->parser, ost->st->codec,
int ret = av_parser_change(ost->parser, ost->st->codec,
&opkt.data, &opkt.size,
pkt->data, pkt->size,
pkt->flags & AV_PKT_FLAG_KEY)) {
pkt->flags & AV_PKT_FLAG_KEY);
if (ret < 0) {
av_log(NULL, AV_LOG_FATAL, "av_parser_change failed\n");
exit_program(1);
}
if (ret) {
opkt.buf = av_buffer_create(opkt.data, opkt.size, av_buffer_default_free, NULL, 0);
if (!opkt.buf)
exit_program(1);
@@ -1749,9 +1825,15 @@ static void do_streamcopy(InputStream *ist, OutputStream *ost, const AVPacket *p
}
av_copy_packet_side_data(&opkt, pkt);
if (ost->st->codec->codec_type == AVMEDIA_TYPE_VIDEO && (of->ctx->oformat->flags & AVFMT_RAWPICTURE)) {
if (ost->st->codec->codec_type == AVMEDIA_TYPE_VIDEO &&
ost->st->codec->codec_id == AV_CODEC_ID_RAWVIDEO &&
(of->ctx->oformat->flags & AVFMT_RAWPICTURE)) {
/* store AVPicture in AVPacket, as expected by the output format */
avpicture_fill(&pict, opkt.data, ost->st->codec->pix_fmt, ost->st->codec->width, ost->st->codec->height);
int ret = avpicture_fill(&pict, opkt.data, ost->st->codec->pix_fmt, ost->st->codec->width, ost->st->codec->height);
if (ret < 0) {
av_log(NULL, AV_LOG_FATAL, "avpicture_fill failed\n");
exit_program(1);
}
opkt.data = (uint8_t *)&pict;
opkt.size = sizeof(AVPicture);
opkt.flags |= AV_PKT_FLAG_KEY;
@@ -1802,9 +1884,12 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
ret = AVERROR_INVALIDDATA;
}
if (*got_output || ret<0 || pkt->size)
if (*got_output || ret<0)
decode_error_stat[ret<0] ++;
if (ret < 0 && exit_on_error)
exit_program(1);
if (!*got_output || ret < 0) {
if (!pkt->size) {
for (i = 0; i < ist->nb_filters; i++)
@@ -1947,9 +2032,12 @@ static int decode_video(InputStream *ist, AVPacket *pkt, int *got_output)
);
}
if (*got_output || ret<0 || pkt->size)
if (*got_output || ret<0)
decode_error_stat[ret<0] ++;
if (ret < 0 && exit_on_error)
exit_program(1);
if (*got_output && ret >= 0) {
if (ist->dec_ctx->width != decoded_frame->width ||
ist->dec_ctx->height != decoded_frame->height ||
@@ -2065,9 +2153,12 @@ static int transcode_subtitles(InputStream *ist, AVPacket *pkt, int *got_output)
int i, ret = avcodec_decode_subtitle2(ist->dec_ctx,
&subtitle, got_output, pkt);
if (*got_output || ret<0 || pkt->size)
if (*got_output || ret<0)
decode_error_stat[ret<0] ++;
if (ret < 0 && exit_on_error)
exit_program(1);
if (ret < 0 || !*got_output) {
if (!pkt->size)
sub2video_flush(ist);
@@ -2266,16 +2357,38 @@ static void print_sdp(void)
{
char sdp[16384];
int i;
int j;
AVIOContext *sdp_pb;
AVFormatContext **avc = av_malloc_array(nb_output_files, sizeof(*avc));
if (!avc)
exit_program(1);
for (i = 0; i < nb_output_files; i++)
avc[i] = output_files[i]->ctx;
for (i = 0, j = 0; i < nb_output_files; i++) {
if (!strcmp(output_files[i]->ctx->oformat->name, "rtp")) {
avc[j] = output_files[i]->ctx;
j++;
}
}
av_sdp_create(avc, nb_output_files, sdp, sizeof(sdp));
printf("SDP:\n%s\n", sdp);
fflush(stdout);
if (!j)
goto fail;
av_sdp_create(avc, j, sdp, sizeof(sdp));
if (!sdp_filename) {
printf("SDP:\n%s\n", sdp);
fflush(stdout);
} else {
if (avio_open2(&sdp_pb, sdp_filename, AVIO_FLAG_WRITE, &int_cb, NULL) < 0) {
av_log(NULL, AV_LOG_ERROR, "Failed to open sdp file '%s'\n", sdp_filename);
} else {
avio_printf(sdp_pb, "SDP:\n%s", sdp);
avio_closep(&sdp_pb);
av_freep(&sdp_filename);
}
}
fail:
av_freep(&avc);
}
@@ -2314,7 +2427,7 @@ static enum AVPixelFormat get_format(AVCodecContext *s, const enum AVPixelFormat
"%s hwaccel requested for input stream #%d:%d, "
"but cannot be initialized.\n", hwaccel->name,
ist->file_index, ist->st->index);
exit_program(1);
return AV_PIX_FMT_NONE;
}
continue;
}
@@ -2521,7 +2634,7 @@ static int transcode_init(void)
AVFormatContext *oc;
OutputStream *ost;
InputStream *ist;
char error[1024];
char error[1024] = {0};
int want_sdp = 1;
for (i = 0; i < nb_filtergraphs; i++) {
@@ -2573,7 +2686,7 @@ static int transcode_init(void)
if (ost->attachment_filename)
continue;
enc_ctx = ost->enc_ctx;
enc_ctx = ost->stream_copy ? ost->st->codec : ost->enc_ctx;
if (ist) {
dec_ctx = ist->dec_ctx;
@@ -2620,11 +2733,13 @@ static int transcode_init(void)
enc_ctx->rc_max_rate = dec_ctx->rc_max_rate;
enc_ctx->rc_buffer_size = dec_ctx->rc_buffer_size;
enc_ctx->field_order = dec_ctx->field_order;
enc_ctx->extradata = av_mallocz(extra_size);
if (!enc_ctx->extradata) {
return AVERROR(ENOMEM);
if (dec_ctx->extradata_size) {
enc_ctx->extradata = av_mallocz(extra_size);
if (!enc_ctx->extradata) {
return AVERROR(ENOMEM);
}
memcpy(enc_ctx->extradata, dec_ctx->extradata, dec_ctx->extradata_size);
}
memcpy(enc_ctx->extradata, dec_ctx->extradata, dec_ctx->extradata_size);
enc_ctx->extradata_size= dec_ctx->extradata_size;
enc_ctx->bits_per_coded_sample = dec_ctx->bits_per_coded_sample;
@@ -2685,9 +2800,13 @@ static int transcode_init(void)
if (!ost->st->side_data)
return AVERROR(ENOMEM);
ost->st->nb_side_data = 0;
for (j = 0; j < ist->st->nb_side_data; j++) {
const AVPacketSideData *sd_src = &ist->st->side_data[j];
AVPacketSideData *sd_dst = &ost->st->side_data[j];
AVPacketSideData *sd_dst = &ost->st->side_data[ost->st->nb_side_data];
if (ost->rotate_overridden && sd_src->type == AV_PKT_DATA_DISPLAYMATRIX)
continue;
sd_dst->data = av_malloc(sd_src->size);
if (!sd_dst->data)
@@ -2740,11 +2859,13 @@ static int transcode_init(void)
sar = dec_ctx->sample_aspect_ratio;
ost->st->sample_aspect_ratio = enc_ctx->sample_aspect_ratio = sar;
ost->st->avg_frame_rate = ist->st->avg_frame_rate;
ost->st->r_frame_rate = ist->st->r_frame_rate;
break;
case AVMEDIA_TYPE_SUBTITLE:
enc_ctx->width = dec_ctx->width;
enc_ctx->height = dec_ctx->height;
break;
case AVMEDIA_TYPE_UNKNOWN:
case AVMEDIA_TYPE_DATA:
case AVMEDIA_TYPE_ATTACHMENT:
break;
@@ -2780,7 +2901,7 @@ static int transcode_init(void)
}
if (enc_ctx->codec_type == AVMEDIA_TYPE_VIDEO) {
if (ost->filter && !ost->frame_rate.num)
if (!ost->frame_rate.num)
ost->frame_rate = av_buffersink_get_frame_rate(ost->filter->filter);
if (ist && !ost->frame_rate.num)
ost->frame_rate = ist->framerate;
@@ -2800,6 +2921,7 @@ static int transcode_init(void)
int idx = av_find_nearest_q_idx(ost->frame_rate, ost->enc->supported_framerates);
ost->frame_rate = ost->enc->supported_framerates[idx];
}
// reduce frame rate for mpeg4 to be within the spec limits
if (enc_ctx->codec_id == AV_CODEC_ID_MPEG4) {
av_reduce(&ost->frame_rate.num, &ost->frame_rate.den,
ost->frame_rate.num, ost->frame_rate.den, 65535);
@@ -2816,7 +2938,7 @@ static int transcode_init(void)
break;
case AVMEDIA_TYPE_VIDEO:
enc_ctx->time_base = av_inv_q(ost->frame_rate);
if (ost->filter && !(enc_ctx->time_base.num && enc_ctx->time_base.den))
if (!(enc_ctx->time_base.num && enc_ctx->time_base.den))
enc_ctx->time_base = ost->filter->filter->inputs[0]->time_base;
if ( av_q2d(enc_ctx->time_base) < 0.001 && video_sync_method != VSYNC_PASSTHROUGH
&& (video_sync_method == VSYNC_CFR || video_sync_method == VSYNC_VSCFR || (video_sync_method == VSYNC_AUTO && !(oc->oformat->flags & AVFMT_VARIABLE_FPS)))){
@@ -2872,7 +2994,10 @@ static int transcode_init(void)
ost->forced_keyframes_expr_const_values[FKF_N_FORCED] = 0;
ost->forced_keyframes_expr_const_values[FKF_PREV_FORCED_N] = NAN;
ost->forced_keyframes_expr_const_values[FKF_PREV_FORCED_T] = NAN;
} else {
// Don't parse the 'forced_keyframes' in case of 'keep-source-keyframes',
// parse it only for static kf timings
} else if(strncmp(ost->forced_keyframes, "source", 6)) {
parse_forced_key_frames(ost->forced_keyframes, ost, ost->enc_ctx);
}
}
@@ -2884,6 +3009,8 @@ static int transcode_init(void)
enc_ctx->height = input_streams[ost->source_index]->st->codec->height;
}
break;
case AVMEDIA_TYPE_DATA:
break;
default:
abort();
break;
@@ -2922,6 +3049,37 @@ static int transcode_init(void)
}
}
}
if (ost->disposition) {
static const AVOption opts[] = {
{ "disposition" , NULL, 0, AV_OPT_TYPE_FLAGS, { .i64 = 0 }, INT64_MIN, INT64_MAX, .unit = "flags" },
{ "default" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_DEFAULT }, .unit = "flags" },
{ "dub" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_DUB }, .unit = "flags" },
{ "original" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_ORIGINAL }, .unit = "flags" },
{ "comment" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_COMMENT }, .unit = "flags" },
{ "lyrics" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_LYRICS }, .unit = "flags" },
{ "karaoke" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_KARAOKE }, .unit = "flags" },
{ "forced" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_FORCED }, .unit = "flags" },
{ "hearing_impaired" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_HEARING_IMPAIRED }, .unit = "flags" },
{ "visual_impaired" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_VISUAL_IMPAIRED }, .unit = "flags" },
{ "clean_effects" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_CLEAN_EFFECTS }, .unit = "flags" },
{ "captions" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_CAPTIONS }, .unit = "flags" },
{ "descriptions" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_DESCRIPTIONS }, .unit = "flags" },
{ "metadata" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_METADATA }, .unit = "flags" },
{ NULL },
};
static const AVClass class = {
.class_name = "",
.item_name = av_default_item_name,
.option = opts,
.version = LIBAVUTIL_VERSION_INT,
};
const AVClass *pclass = &class;
ret = av_opt_eval_flags(&pclass, &opts[0], ost->disposition, &ost->st->disposition);
if (ret < 0)
goto dump_format;
}
}
/* open each encoder */
@@ -2962,6 +3120,17 @@ static int transcode_init(void)
if (ost->enc_ctx->bit_rate && ost->enc_ctx->bit_rate < 1000)
av_log(NULL, AV_LOG_WARNING, "The bitrate parameter is set too low."
" It takes bits/s as argument, not kbits/s\n");
ret = avcodec_copy_context(ost->st->codec, ost->enc_ctx);
if (ret < 0) {
av_log(NULL, AV_LOG_FATAL,
"Error initializing the output stream codec context.\n");
exit_program(1);
}
// copy timebase while removing common factors
ost->st->time_base = av_add_q(ost->enc_ctx->time_base, (AVRational){0, 1});
ost->st->codec->codec= ost->enc_ctx->codec;
} else {
ret = av_opt_set_dict(ost->enc_ctx, &ost->encoder_opts);
if (ret < 0) {
@@ -2969,18 +3138,9 @@ static int transcode_init(void)
"Error setting up codec context options.\n");
return ret;
}
// copy timebase while removing common factors
ost->st->time_base = av_add_q(ost->st->codec->time_base, (AVRational){0, 1});
}
ret = avcodec_copy_context(ost->st->codec, ost->enc_ctx);
if (ret < 0) {
av_log(NULL, AV_LOG_FATAL,
"Error initializing the output stream codec context.\n");
exit_program(1);
}
ost->st->codec->codec= ost->enc_ctx->codec;
// copy timebase while removing common factors
ost->st->time_base = av_add_q(ost->enc_ctx->time_base, (AVRational){0, 1});
}
/* init input streams */
@@ -3090,17 +3250,22 @@ static int transcode_init(void)
const char *in_codec_name = "?";
const char *encoder_name = "?";
const char *out_codec_name = "?";
const AVCodecDescriptor *desc;
if (in_codec) {
decoder_name = in_codec->name;
in_codec_name = avcodec_descriptor_get(in_codec->id)->name;
desc = avcodec_descriptor_get(in_codec->id);
if (desc)
in_codec_name = desc->name;
if (!strcmp(decoder_name, in_codec_name))
decoder_name = "native";
}
if (out_codec) {
encoder_name = out_codec->name;
out_codec_name = avcodec_descriptor_get(out_codec->id)->name;
desc = avcodec_descriptor_get(out_codec->id);
if (desc)
out_codec_name = desc->name;
if (!strcmp(encoder_name, out_codec_name))
encoder_name = "native";
}
@@ -3117,7 +3282,7 @@ static int transcode_init(void)
return ret;
}
if (want_sdp) {
if (sdp_filename || want_sdp) {
print_sdp();
}
@@ -3227,6 +3392,8 @@ static int check_keyboard_interaction(int64_t cur_time)
ret = AVERROR_PATCHWELCOME;
} else {
ret = avfilter_graph_queue_command(fg->graph, target, command, arg, 0, time);
if (ret < 0)
fprintf(stderr, "Queing command failed with error %s\n", av_err2str(ret));
}
}
}
@@ -3276,6 +3443,7 @@ static int check_keyboard_interaction(int64_t cur_time)
static void *input_thread(void *arg)
{
InputFile *f = arg;
unsigned flags = f->non_blocking ? AV_THREAD_MESSAGE_NONBLOCK : 0;
int ret = 0;
while (1) {
@@ -3291,7 +3459,15 @@ static void *input_thread(void *arg)
break;
}
av_dup_packet(&pkt);
ret = av_thread_message_queue_send(f->in_thread_queue, &pkt, 0);
ret = av_thread_message_queue_send(f->in_thread_queue, &pkt, flags);
if (flags && ret == AVERROR(EAGAIN)) {
flags = 0;
ret = av_thread_message_queue_send(f->in_thread_queue, &pkt, flags);
av_log(f->ctx, AV_LOG_WARNING,
"Thread message queue blocking; consider raising the "
"thread_queue_size option (current value: %d)\n",
f->thread_queue_size);
}
if (ret < 0) {
if (ret != AVERROR_EOF)
av_log(f->ctx, AV_LOG_ERROR,
@@ -3340,7 +3516,7 @@ static int init_input_threads(void)
strcmp(f->ctx->iformat->name, "lavfi"))
f->non_blocking = 1;
ret = av_thread_message_queue_alloc(&f->in_thread_queue,
8, sizeof(AVPacket));
f->thread_queue_size, sizeof(AVPacket));
if (ret < 0)
return ret;
@@ -3528,6 +3704,8 @@ static int process_input(int file_index)
if (av_packet_get_side_data(&pkt, src_sd->type, NULL))
continue;
if (ist->autorotate && src_sd->type == AV_PKT_DATA_DISPLAYMATRIX)
continue;
dst_data = av_packet_new_side_data(&pkt, src_sd->type, src_sd->size);
if (!dst_data)
@@ -3646,10 +3824,10 @@ static int transcode_from_filter(FilterGraph *graph, InputStream **best_ist)
*best_ist = NULL;
ret = avfilter_graph_request_oldest(graph->graph);
if (ret >= 0)
return reap_filters();
return reap_filters(0);
if (ret == AVERROR_EOF) {
ret = reap_filters();
ret = reap_filters(1);
for (i = 0; i < graph->nb_outputs; i++)
close_output_stream(graph->outputs[i]->ost);
return ret;
@@ -3715,10 +3893,11 @@ static int transcode_step(void)
ost->unavailable = 1;
return 0;
}
if (ret < 0)
return ret == AVERROR_EOF ? 0 : ret;
return reap_filters();
return reap_filters(0);
}
/*
@@ -3763,11 +3942,15 @@ static int transcode(void)
ret = transcode_step();
if (ret < 0) {
if (ret == AVERROR_EOF || ret == AVERROR(EAGAIN))
if (ret == AVERROR_EOF || ret == AVERROR(EAGAIN)) {
continue;
} else {
char errbuf[128];
av_strerror(ret, errbuf, sizeof(errbuf));
av_log(NULL, AV_LOG_ERROR, "Error while filtering.\n");
break;
av_log(NULL, AV_LOG_ERROR, "Error while filtering: %s\n", errbuf);
break;
}
}
/* dump report by using the output first video and audio streams */
@@ -3833,6 +4016,7 @@ static int transcode(void)
}
av_freep(&ost->forced_kf_pts);
av_freep(&ost->apad);
av_freep(&ost->disposition);
av_dict_free(&ost->encoder_opts);
av_dict_free(&ost->swr_opts);
av_dict_free(&ost->resample_opts);

View File

@@ -92,6 +92,7 @@ typedef struct OptionsContext {
/* input/output options */
int64_t start_time;
int seek_timestamp;
const char *format;
SpecifierOpt *codec_names;
@@ -111,6 +112,7 @@ typedef struct OptionsContext {
int64_t input_ts_offset;
int rate_emu;
int accurate_seek;
int thread_queue_size;
SpecifierOpt *ts_scale;
int nb_ts_scale;
@@ -120,6 +122,8 @@ typedef struct OptionsContext {
int nb_hwaccels;
SpecifierOpt *hwaccel_devices;
int nb_hwaccel_devices;
SpecifierOpt *autorotate;
int nb_autorotate;
/* output options */
StreamMap *stream_maps;
@@ -206,6 +210,8 @@ typedef struct OptionsContext {
int nb_apad;
SpecifierOpt *discard;
int nb_discard;
SpecifierOpt *disposition;
int nb_disposition;
} OptionsContext;
typedef struct InputFilter {
@@ -272,6 +278,7 @@ typedef struct InputStream {
int top_field_first;
int guess_layout_max;
int autorotate;
int resample_height;
int resample_width;
int resample_pix_fmt;
@@ -336,6 +343,7 @@ typedef struct InputFile {
int64_t ts_offset;
int64_t last_ts;
int64_t start_time; /* user-specified start time in AV_TIME_BASE or AV_NOPTS_VALUE */
int seek_timestamp;
int64_t recording_time;
int nb_streams; /* number of stream that ffmpeg is aware of; may be different
from ctx.nb_streams if new streams appear during av_read_frame() */
@@ -348,6 +356,7 @@ typedef struct InputFile {
pthread_t thread; /* thread reading from this file */
int non_blocking; /* reading packets from the thread should not block */
int joined; /* the thread has been joined */
int thread_queue_size; /* maximum number of queued packets */
#endif
} InputFile;
@@ -390,11 +399,13 @@ typedef struct OutputStream {
AVFrame *filtered_frame;
AVFrame *last_frame;
int last_droped;
int last_nb0_frames[3];
/* video only */
AVRational frame_rate;
int force_fps;
int top_field_first;
int rotate_overridden;
AVRational frame_aspect_ratio;
@@ -430,6 +441,7 @@ typedef struct OutputStream {
const char *attachment_filename;
int copy_initial_nonkeyframes;
int copy_prior_start;
char *disposition;
int keep_pix_fmt;
@@ -470,6 +482,7 @@ extern FilterGraph **filtergraphs;
extern int nb_filtergraphs;
extern char *vstats_filename;
extern char *sdp_filename;
extern float audio_drift_threshold;
extern float dts_delta_threshold;
@@ -478,6 +491,7 @@ extern float dts_error_threshold;
extern int audio_volume;
extern int audio_sync_method;
extern int video_sync_method;
extern float frame_drop_threshold;
extern int do_benchmark;
extern int do_benchmark_all;
extern int do_deinterlace;

View File

@@ -52,6 +52,7 @@ DEFINE_GUID(DXVA2_ModeH264_F, 0x1b81be69, 0xa0c7,0x11d3,0xb9,0x84,0x00,0
DEFINE_GUID(DXVADDI_Intel_ModeH264_E, 0x604F8E68, 0x4951,0x4C54,0x88,0xFE,0xAB,0xD2,0x5C,0x15,0xB3,0xD6);
DEFINE_GUID(DXVA2_ModeVC1_D, 0x1b81beA3, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA2_ModeVC1_D2010, 0x1b81beA4, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA2_ModeHEVC_VLD_Main, 0x5b11d51b, 0x2f4c,0x4452,0xbc,0xc3,0x09,0xf2,0xa1,0x16,0x0c,0xc0);
DEFINE_GUID(DXVA2_NoEncrypt, 0x1b81beD0, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(GUID_NULL, 0x00000000, 0x0000,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
@@ -80,6 +81,9 @@ static const dxva2_mode dxva2_modes[] = {
{ &DXVA2_ModeVC1_D, AV_CODEC_ID_VC1 },
{ &DXVA2_ModeVC1_D, AV_CODEC_ID_WMV3 },
/* HEVC/H.265 */
{ &DXVA2_ModeHEVC_VLD_Main, AV_CODEC_ID_HEVC },
{ NULL, 0 },
};
@@ -360,7 +364,7 @@ static int dxva2_alloc(AVCodecContext *s)
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.Flags = D3DPRESENTFLAG_VIDEO;
hr = IDirect3D9_CreateDevice(ctx->d3d9, adapter, D3DDEVTYPE_HAL, GetShellWindow(),
hr = IDirect3D9_CreateDevice(ctx->d3d9, adapter, D3DDEVTYPE_HAL, GetDesktopWindow(),
D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_MULTITHREADED | D3DCREATE_FPU_PRESERVE,
&d3dpp, &ctx->d3d9device);
if (FAILED(hr)) {
@@ -526,6 +530,10 @@ static int dxva2_create_decoder(AVCodecContext *s)
but it causes issues for H.264 on certain AMD GPUs..... */
if (s->codec_id == AV_CODEC_ID_MPEG2VIDEO)
surface_alignment = 32;
/* the HEVC DXVA2 spec asks for 128 pixel aligned surfaces to ensure
all coding features have enough room to work with */
else if (s->codec_id == AV_CODEC_ID_HEVC)
surface_alignment = 128;
else
surface_alignment = 16;
@@ -533,7 +541,7 @@ static int dxva2_create_decoder(AVCodecContext *s)
ctx->num_surfaces = 4;
/* add surfaces based on number of possible refs */
if (s->codec_id == AV_CODEC_ID_H264)
if (s->codec_id == AV_CODEC_ID_H264 || s->codec_id == AV_CODEC_ID_HEVC)
ctx->num_surfaces += 16;
else
ctx->num_surfaces += 2;

View File

@@ -31,6 +31,7 @@
#include "libavutil/avstring.h"
#include "libavutil/bprint.h"
#include "libavutil/channel_layout.h"
#include "libavutil/display.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "libavutil/pixfmt.h"
@@ -339,6 +340,28 @@ static int insert_trim(int64_t start_time, int64_t duration,
return 0;
}
static int insert_filter(AVFilterContext **last_filter, int *pad_idx,
const char *filter_name, const char *args)
{
AVFilterGraph *graph = (*last_filter)->graph;
AVFilterContext *ctx;
int ret;
ret = avfilter_graph_create_filter(&ctx,
avfilter_get_by_name(filter_name),
filter_name, args, NULL, graph);
if (ret < 0)
return ret;
ret = avfilter_link(*last_filter, *pad_idx, ctx, 0);
if (ret < 0)
return ret;
*last_filter = ctx;
*pad_idx = 0;
return 0;
}
static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out)
{
char *pix_fmts;
@@ -676,6 +699,27 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
return ret;
last_filter = ifilter->filter;
if (ist->autorotate) {
double theta = get_rotation(ist->st);
if (fabs(theta - 90) < 1.0) {
ret = insert_filter(&last_filter, &pad_idx, "transpose", "clock");
} else if (fabs(theta - 180) < 1.0) {
ret = insert_filter(&last_filter, &pad_idx, "hflip", NULL);
if (ret < 0)
return ret;
ret = insert_filter(&last_filter, &pad_idx, "vflip", NULL);
} else if (fabs(theta - 270) < 1.0) {
ret = insert_filter(&last_filter, &pad_idx, "transpose", "cclock");
} else if (fabs(theta) > 1.0) {
char rotate_buf[64];
snprintf(rotate_buf, sizeof(rotate_buf), "%f*PI/180", theta);
ret = insert_filter(&last_filter, &pad_idx, "rotate", rotate_buf);
}
if (ret < 0)
return ret;
}
if (ist->framerate.num) {
AVFilterContext *setpts;

View File

@@ -77,6 +77,7 @@ const HWAccel hwaccels[] = {
};
char *vstats_filename;
char *sdp_filename;
float audio_drift_threshold = 0.1;
float dts_delta_threshold = 10;
@@ -85,6 +86,7 @@ float dts_error_threshold = 3600*30;
int audio_volume = 256;
int audio_sync_method = 0;
int video_sync_method = VSYNC_AUTO;
float frame_drop_threshold = 0;
int do_deinterlace = 0;
int do_benchmark = 0;
int do_benchmark_all = 0;
@@ -108,6 +110,9 @@ static int no_file_overwrite = 0;
static int do_psnr = 0;
static int input_sync;
static int override_ffserver = 0;
static int input_stream_potentially_available = 0;
static int ignore_unknown_streams = 0;
static int copy_unknown_streams = 0;
static void uninit_options(OptionsContext *o)
{
@@ -231,6 +236,8 @@ static int opt_map(void *optctx, const char *opt, const char *arg)
arg++;
}
map = av_strdup(arg);
if (!map)
return AVERROR(ENOMEM);
/* parse sync stream first, just pick first matching stream */
if (sync = strchr(map, ',')) {
@@ -379,6 +386,13 @@ static int opt_map_channel(void *optctx, const char *opt, const char *arg)
return 0;
}
static int opt_sdp_file(void *optctx, const char *opt, const char *arg)
{
av_free(sdp_filename);
sdp_filename = av_strdup(arg);
return 0;
}
/**
* Parse a metadata specifier passed as 'arg' parameter.
* @param arg metadata string to parse
@@ -509,7 +523,7 @@ static int opt_recording_timestamp(void *optctx, const char *opt, const char *ar
char buf[128];
int64_t recording_timestamp = parse_time_or_die(opt, arg, 0) / 1E6;
struct tm time = *gmtime((time_t*)&recording_timestamp);
if (!strftime(buf, sizeof(buf), "creation_time=%FT%T%z", &time))
if (!strftime(buf, sizeof(buf), "creation_time=%Y-%m-%dT%H:%M:%S%z", &time))
return -1;
parse_option(o, "metadata", buf, options);
@@ -590,6 +604,9 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
ist->ts_scale = 1.0;
MATCH_PER_STREAM_OPT(ts_scale, dbl, ist->ts_scale, ic, st);
ist->autorotate = 1;
MATCH_PER_STREAM_OPT(autorotate, i, ist->autorotate, ic, st);
MATCH_PER_STREAM_OPT(codec_tags, str, codec_tag, ic, st);
if (codec_tag) {
uint32_t tag = strtol(codec_tag, &next, 0);
@@ -794,6 +811,7 @@ static int open_input_file(OptionsContext *o, const char *filename)
char * video_codec_name = NULL;
char * audio_codec_name = NULL;
char *subtitle_codec_name = NULL;
char * data_codec_name = NULL;
int scan_all_pmts_set = 0;
if (o->format) {
@@ -847,6 +865,7 @@ static int open_input_file(OptionsContext *o, const char *filename)
MATCH_PER_TYPE_OPT(codec_names, str, video_codec_name, ic, "v");
MATCH_PER_TYPE_OPT(codec_names, str, audio_codec_name, ic, "a");
MATCH_PER_TYPE_OPT(codec_names, str, subtitle_codec_name, ic, "s");
MATCH_PER_TYPE_OPT(codec_names, str, data_codec_name, ic, "d");
ic->video_codec_id = video_codec_name ?
find_codec_or_die(video_codec_name , AVMEDIA_TYPE_VIDEO , 0)->id : AV_CODEC_ID_NONE;
@@ -854,6 +873,8 @@ static int open_input_file(OptionsContext *o, const char *filename)
find_codec_or_die(audio_codec_name , AVMEDIA_TYPE_AUDIO , 0)->id : AV_CODEC_ID_NONE;
ic->subtitle_codec_id= subtitle_codec_name ?
find_codec_or_die(subtitle_codec_name, AVMEDIA_TYPE_SUBTITLE, 0)->id : AV_CODEC_ID_NONE;
ic->data_codec_id = data_codec_name ?
find_codec_or_die(data_codec_name, AVMEDIA_TYPE_DATA, 0)->id : AV_CODEC_ID_NONE;
if (video_codec_name)
av_format_set_video_codec (ic, find_codec_or_die(video_codec_name , AVMEDIA_TYPE_VIDEO , 0));
@@ -861,6 +882,8 @@ static int open_input_file(OptionsContext *o, const char *filename)
av_format_set_audio_codec (ic, find_codec_or_die(audio_codec_name , AVMEDIA_TYPE_AUDIO , 0));
if (subtitle_codec_name)
av_format_set_subtitle_codec(ic, find_codec_or_die(subtitle_codec_name, AVMEDIA_TYPE_SUBTITLE, 0));
if (data_codec_name)
av_format_set_data_codec(ic, find_codec_or_die(data_codec_name, AVMEDIA_TYPE_DATA, 0));
ic->flags |= AVFMT_FLAG_NONBLOCK;
ic->interrupt_callback = int_cb;
@@ -901,12 +924,25 @@ static int open_input_file(OptionsContext *o, const char *filename)
timestamp = (o->start_time == AV_NOPTS_VALUE) ? 0 : o->start_time;
/* add the stream start time */
if (ic->start_time != AV_NOPTS_VALUE)
if (!o->seek_timestamp && ic->start_time != AV_NOPTS_VALUE)
timestamp += ic->start_time;
/* if seeking requested, we execute it */
if (o->start_time != AV_NOPTS_VALUE) {
ret = avformat_seek_file(ic, -1, INT64_MIN, timestamp, timestamp, 0);
int64_t seek_timestamp = timestamp;
if (!(ic->iformat->flags & AVFMT_SEEK_TO_PTS)) {
int dts_heuristic = 0;
for (i=0; i<ic->nb_streams; i++) {
AVCodecContext *avctx = ic->streams[i]->codec;
if (avctx->has_b_frames)
dts_heuristic = 1;
}
if (dts_heuristic) {
seek_timestamp -= 3*AV_TIME_BASE / 23;
}
}
ret = avformat_seek_file(ic, -1, INT64_MIN, seek_timestamp, seek_timestamp, 0);
if (ret < 0) {
av_log(NULL, AV_LOG_WARNING, "%s: could not seek to position %0.3f\n",
filename, (double)timestamp / AV_TIME_BASE);
@@ -934,6 +970,9 @@ static int open_input_file(OptionsContext *o, const char *filename)
f->nb_streams = ic->nb_streams;
f->rate_emu = o->rate_emu;
f->accurate_seek = o->accurate_seek;
#if HAVE_PTHREADS
f->thread_queue_size = o->thread_queue_size > 0 ? o->thread_queue_size : 8;
#endif
/* check if all codec options have been used */
unused_opts = strip_specifiers(o->g->codec_opts);
@@ -988,6 +1027,8 @@ static int open_input_file(OptionsContext *o, const char *filename)
av_dict_free(&opts[i]);
av_freep(&opts);
input_stream_potentially_available = 1;
return 0;
}
@@ -1111,7 +1152,7 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
av_dict_set(&ost->encoder_opts, buf, arg, AV_DICT_DONT_OVERWRITE);
av_free(buf);
} while (!s->eof_reached);
avio_close(s);
avio_closep(&s);
}
if (ret) {
av_log(NULL, AV_LOG_FATAL,
@@ -1162,6 +1203,7 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
uint32_t tag = strtol(codec_tag, &next, 0);
if (*next)
tag = AV_RL32(codec_tag);
ost->st->codec->codec_tag =
ost->enc_ctx->codec_tag = tag;
}
@@ -1171,6 +1213,9 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
ost->enc_ctx->global_quality = FF_QP2LAMBDA * qscale;
}
MATCH_PER_STREAM_OPT(disposition, str, ost->disposition, oc, st);
ost->disposition = av_strdup(ost->disposition);
if (oc->oformat->flags & AVFMT_GLOBALHEADER)
ost->enc_ctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
@@ -1371,10 +1416,13 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc, in
av_log(NULL, AV_LOG_FATAL, "error parsing rc_override\n");
exit_program(1);
}
/* FIXME realloc failure */
video_enc->rc_override =
av_realloc(video_enc->rc_override,
sizeof(RcOverride) * (i + 1));
av_realloc_array(video_enc->rc_override,
i + 1, sizeof(RcOverride));
if (!video_enc->rc_override) {
av_log(NULL, AV_LOG_FATAL, "Could not (re)allocate memory for rc_override.\n");
exit_program(1);
}
video_enc->rc_override[i].start_frame = start;
video_enc->rc_override[i].end_frame = end;
if (q > 0) {
@@ -1520,6 +1568,19 @@ static OutputStream *new_data_stream(OptionsContext *o, AVFormatContext *oc, int
return ost;
}
static OutputStream *new_unknown_stream(OptionsContext *o, AVFormatContext *oc, int source_index)
{
OutputStream *ost;
ost = new_output_stream(o, oc, AVMEDIA_TYPE_UNKNOWN, source_index);
if (!ost->stream_copy) {
av_log(NULL, AV_LOG_FATAL, "Unknown stream encoding not supported yet (only streamcopy)\n");
exit_program(1);
}
return ost;
}
static OutputStream *new_attachment_stream(OptionsContext *o, AVFormatContext *oc, int source_index)
{
OutputStream *ost = new_output_stream(o, oc, AVMEDIA_TYPE_ATTACHMENT, source_index);
@@ -1915,7 +1976,15 @@ static int open_output_file(OptionsContext *o, const char *filename)
}
}
}
/* do something with data? */
/* Data only if codec id match */
if (!o->data_disable ) {
enum AVCodecID codec_id = av_guess_codec(oc->oformat, NULL, filename, NULL, AVMEDIA_TYPE_DATA);
for (i = 0; codec_id != AV_CODEC_ID_NONE && i < nb_input_streams; i++) {
if (input_streams[i]->st->codec->codec_type == AVMEDIA_TYPE_DATA
&& input_streams[i]->st->codec->codec_id == codec_id )
new_data_stream(o, oc, i);
}
}
} else {
for (i = 0; i < o->nb_stream_maps; i++) {
StreamMap *map = &o->stream_maps[i];
@@ -1964,10 +2033,22 @@ loop_end:
case AVMEDIA_TYPE_SUBTITLE: ost = new_subtitle_stream (o, oc, src_idx); break;
case AVMEDIA_TYPE_DATA: ost = new_data_stream (o, oc, src_idx); break;
case AVMEDIA_TYPE_ATTACHMENT: ost = new_attachment_stream(o, oc, src_idx); break;
case AVMEDIA_TYPE_UNKNOWN:
if (copy_unknown_streams) {
ost = new_unknown_stream (o, oc, src_idx);
break;
}
default:
av_log(NULL, AV_LOG_FATAL, "Cannot map stream #%d:%d - unsupported type.\n",
av_log(NULL, ignore_unknown_streams ? AV_LOG_WARNING : AV_LOG_FATAL,
"Cannot map stream #%d:%d - unsupported type.\n",
map->file_index, map->stream_index);
exit_program(1);
if (!ignore_unknown_streams) {
av_log(NULL, AV_LOG_FATAL,
"If you want unsupported types ignored instead "
"of failing, please use the -ignore_unknown option\n"
"If you want them copied, please use -copy_unknown\n");
exit_program(1);
}
}
}
}
@@ -2001,12 +2082,12 @@ loop_end:
ost->stream_copy = 0;
ost->attachment_filename = o->attachments[i];
ost->finished = 1;
ost->enc_ctx->extradata = attachment;
ost->enc_ctx->extradata_size = len;
ost->st->codec->extradata = attachment;
ost->st->codec->extradata_size = len;
p = strrchr(o->attachments[i], '/');
av_dict_set(&ost->st->metadata, "filename", (p && *p) ? p + 1 : o->attachments[i], AV_DICT_DONT_OVERWRITE);
avio_close(pb);
avio_closep(&pb);
}
for (i = nb_output_streams - oc->nb_streams; i < nb_output_streams; i++) { //for all streams of this output file
@@ -2070,6 +2151,12 @@ loop_end:
}
}
if (!(oc->oformat->flags & AVFMT_NOSTREAMS) && !input_stream_potentially_available) {
av_log(NULL, AV_LOG_ERROR,
"No input streams but output needs an input stream\n");
exit_program(1);
}
if (!(oc->oformat->flags & AVFMT_NOFILE)) {
/* test if it already exists to avoid losing precious files */
assert_file_overwrite(filename);
@@ -2138,8 +2225,11 @@ loop_end:
continue;
ist = input_streams[output_streams[i]->source_index];
av_dict_copy(&output_streams[i]->st->metadata, ist->st->metadata, AV_DICT_DONT_OVERWRITE);
if (!output_streams[i]->stream_copy)
if (!output_streams[i]->stream_copy) {
av_dict_set(&output_streams[i]->st->metadata, "encoder", NULL, 0);
if (ist->autorotate)
av_dict_set(&output_streams[i]->st->metadata, "rotate", NULL, 0);
}
}
/* process manually set metadata */
@@ -2160,8 +2250,12 @@ loop_end:
parse_meta_type(o->metadata[i].specifier, &type, &index, &stream_spec);
if (type == 's') {
for (j = 0; j < oc->nb_streams; j++) {
ost = output_streams[nb_output_streams - oc->nb_streams + j];
if ((ret = check_stream_specifier(oc, oc->streams[j], stream_spec)) > 0) {
av_dict_set(&oc->streams[j]->metadata, o->metadata[i].u.str, *val ? val : NULL, 0);
if (!strcmp(o->metadata[i].u.str, "rotate")) {
ost->rotate_overridden = 1;
}
} else if (ret < 0)
exit_program(1);
}
@@ -2248,9 +2342,9 @@ static int opt_target(void *optctx, const char *opt, const char *arg)
opt_default(NULL, "g", norm == PAL ? "15" : "18");
opt_default(NULL, "b:v", "1150000");
opt_default(NULL, "maxrate", "1150000");
opt_default(NULL, "minrate", "1150000");
opt_default(NULL, "bufsize", "327680"); // 40*1024*8;
opt_default(NULL, "maxrate:v", "1150000");
opt_default(NULL, "minrate:v", "1150000");
opt_default(NULL, "bufsize:v", "327680"); // 40*1024*8;
opt_default(NULL, "b:a", "224000");
parse_option(o, "ar", "44100", options);
@@ -2277,9 +2371,9 @@ static int opt_target(void *optctx, const char *opt, const char *arg)
opt_default(NULL, "g", norm == PAL ? "15" : "18");
opt_default(NULL, "b:v", "2040000");
opt_default(NULL, "maxrate", "2516000");
opt_default(NULL, "minrate", "0"); // 1145000;
opt_default(NULL, "bufsize", "1835008"); // 224*1024*8;
opt_default(NULL, "maxrate:v", "2516000");
opt_default(NULL, "minrate:v", "0"); // 1145000;
opt_default(NULL, "bufsize:v", "1835008"); // 224*1024*8;
opt_default(NULL, "scan_offset", "1");
opt_default(NULL, "b:a", "224000");
@@ -2299,9 +2393,9 @@ static int opt_target(void *optctx, const char *opt, const char *arg)
opt_default(NULL, "g", norm == PAL ? "15" : "18");
opt_default(NULL, "b:v", "6000000");
opt_default(NULL, "maxrate", "9000000");
opt_default(NULL, "minrate", "0"); // 1500000;
opt_default(NULL, "bufsize", "1835008"); // 224*1024*8;
opt_default(NULL, "maxrate:v", "9000000");
opt_default(NULL, "minrate:v", "0"); // 1500000;
opt_default(NULL, "bufsize:v", "1835008"); // 224*1024*8;
opt_default(NULL, "packetsize", "2048"); // from www.mpucoder.com: DVD sectors contain 2048 bytes of data, this is also the size of one pack.
opt_default(NULL, "muxrate", "10080000"); // from mplex project: data_rate = 1260000. mux_rate = data_rate * 8
@@ -2345,6 +2439,9 @@ static int opt_vstats(void *optctx, const char *opt, const char *arg)
time_t today2 = time(NULL);
struct tm *today = localtime(&today2);
if (!today)
return AVERROR(errno);
snprintf(filename, sizeof(filename), "vstats_%02d%02d%02d.log", today->tm_hour, today->tm_min,
today->tm_sec);
return opt_vstats_file(NULL, opt, filename);
@@ -2574,6 +2671,9 @@ static int opt_filter_complex(void *optctx, const char *opt, const char *arg)
filtergraphs[nb_filtergraphs - 1]->graph_desc = av_strdup(arg);
if (!filtergraphs[nb_filtergraphs - 1]->graph_desc)
return AVERROR(ENOMEM);
input_stream_potentially_available = 1;
return 0;
}
@@ -2588,6 +2688,9 @@ static int opt_filter_complex_script(void *optctx, const char *opt, const char *
return AVERROR(ENOMEM);
filtergraphs[nb_filtergraphs - 1]->index = nb_filtergraphs - 1;
filtergraphs[nb_filtergraphs - 1]->graph_desc = graph_desc;
input_stream_potentially_available = 1;
return 0;
}
@@ -2783,6 +2886,10 @@ const OptionDef options[] = {
"overwrite output files" },
{ "n", OPT_BOOL, { &no_file_overwrite },
"never overwrite output files" },
{ "ignore_unknown", OPT_BOOL, { &ignore_unknown_streams },
"Ignore unknown stream types" },
{ "copy_unknown", OPT_BOOL | OPT_EXPERT, { &copy_unknown_streams },
"Copy unknown stream types" },
{ "c", HAS_ARG | OPT_STRING | OPT_SPEC |
OPT_INPUT | OPT_OUTPUT, { .off = OFFSET(codec_names) },
"codec name", "codec" },
@@ -2816,6 +2923,9 @@ const OptionDef options[] = {
{ "ss", HAS_ARG | OPT_TIME | OPT_OFFSET |
OPT_INPUT | OPT_OUTPUT, { .off = OFFSET(start_time) },
"set the start time offset", "time_off" },
{ "seek_timestamp", HAS_ARG | OPT_INT | OPT_OFFSET |
OPT_INPUT, { .off = OFFSET(seek_timestamp) },
"enable/disable seeking by timestamp with -ss" },
{ "accurate_seek", OPT_BOOL | OPT_OFFSET | OPT_EXPERT |
OPT_INPUT, { .off = OFFSET(accurate_seek) },
"enable/disable accurate seeking with -ss" },
@@ -2825,7 +2935,7 @@ const OptionDef options[] = {
{ "itsscale", HAS_ARG | OPT_DOUBLE | OPT_SPEC |
OPT_EXPERT | OPT_INPUT, { .off = OFFSET(ts_scale) },
"set the input ts scale", "scale" },
{ "timestamp", HAS_ARG | OPT_PERFILE, { .func_arg = opt_recording_timestamp },
{ "timestamp", HAS_ARG | OPT_PERFILE | OPT_OUTPUT, { .func_arg = opt_recording_timestamp },
"set the recording timestamp ('now' to set the current time)", "time" },
{ "metadata", HAS_ARG | OPT_STRING | OPT_SPEC | OPT_OUTPUT, { .off = OFFSET(metadata) },
"add metadata", "string=string" },
@@ -2854,6 +2964,8 @@ const OptionDef options[] = {
" \"dv\", \"dv50\", \"pal-vcd\", \"ntsc-svcd\", ...)", "type" },
{ "vsync", HAS_ARG | OPT_EXPERT, { opt_vsync },
"video sync method", "" },
{ "frame_drop_threshold", HAS_ARG | OPT_FLOAT | OPT_EXPERT, { &frame_drop_threshold },
"frame drop threshold", "" },
{ "async", HAS_ARG | OPT_INT | OPT_EXPERT, { &audio_sync_method },
"audio sync method", "" },
{ "adrift_threshold", HAS_ARG | OPT_FLOAT | OPT_EXPERT, { &audio_drift_threshold },
@@ -2921,6 +3033,12 @@ const OptionDef options[] = {
{ "discard", OPT_STRING | HAS_ARG | OPT_SPEC |
OPT_INPUT, { .off = OFFSET(discard) },
"discard", "" },
{ "disposition", OPT_STRING | HAS_ARG | OPT_SPEC |
OPT_OUTPUT, { .off = OFFSET(disposition) },
"disposition", "" },
{ "thread_queue_size", HAS_ARG | OPT_INT | OPT_OFFSET | OPT_EXPERT | OPT_INPUT,
{ .off = OFFSET(thread_queue_size) },
"set the maximum number of queued packets from the demuxer" },
/* video options */
{ "vframes", OPT_VIDEO | HAS_ARG | OPT_PERFILE | OPT_OUTPUT, { .func_arg = opt_video_frames },
@@ -2983,7 +3101,7 @@ const OptionDef options[] = {
OPT_INPUT | OPT_OUTPUT, { .off = OFFSET(top_field_first) },
"top=1/bottom=0/auto=-1 field first", "" },
{ "vtag", OPT_VIDEO | HAS_ARG | OPT_EXPERT | OPT_PERFILE |
OPT_OUTPUT, { .func_arg = opt_old2new },
OPT_INPUT | OPT_OUTPUT, { .func_arg = opt_old2new },
"force video tag/fourcc", "fourcc/tag" },
{ "qphist", OPT_VIDEO | OPT_BOOL | OPT_EXPERT , { &qp_hist },
"show QP histogram" },
@@ -3009,6 +3127,9 @@ const OptionDef options[] = {
#if HAVE_VDPAU_X11
{ "vdpau_api_ver", HAS_ARG | OPT_INT | OPT_EXPERT, { &vdpau_api_ver }, "" },
#endif
{ "autorotate", HAS_ARG | OPT_BOOL | OPT_SPEC |
OPT_EXPERT | OPT_INPUT, { .off = OFFSET(autorotate) },
"automatically insert correct rotate filters" },
/* audio options */
{ "aframes", OPT_AUDIO | HAS_ARG | OPT_PERFILE | OPT_OUTPUT, { .func_arg = opt_audio_frames },
@@ -3068,6 +3189,8 @@ const OptionDef options[] = {
"set the initial demux-decode delay", "seconds" },
{ "override_ffserver", OPT_BOOL | OPT_EXPERT | OPT_OUTPUT, { &override_ffserver },
"override the options from ffserver", "" },
{ "sdp_file", HAS_ARG | OPT_EXPERT | OPT_OUTPUT, { opt_sdp_file },
"specify a file in which to print sdp information", "file" },
{ "bsf", HAS_ARG | OPT_STRING | OPT_SPEC | OPT_EXPERT | OPT_OUTPUT, { .off = OFFSET(bitstream_filters) },
"A comma-separated list of bitstream filters", "bitstream_filters" },

View File

@@ -73,10 +73,12 @@ static int vda_retrieve_data(AVCodecContext *s, AVFrame *frame)
}
av_image_copy(vda->tmp_frame->data, vda->tmp_frame->linesize,
data, linesize, vda->tmp_frame->format,
(const uint8_t **)data, linesize, vda->tmp_frame->format,
frame->width, frame->height);
ret = av_frame_copy_props(vda->tmp_frame, frame);
CVPixelBufferUnlockBaseAddress(pixbuf, kCVPixelBufferLock_ReadOnly);
if (ret < 0)
return ret;

View File

@@ -100,9 +100,14 @@ static int vdpau_get_buffer(AVCodecContext *s, AVFrame *frame, int flags)
VDPAUContext *ctx = ist->hwaccel_ctx;
VdpVideoSurface *surface;
VdpStatus err;
VdpChromaType chroma;
uint32_t width, height;
av_assert0(frame->format == AV_PIX_FMT_VDPAU);
if (av_vdpau_get_surface_parameters(s, &chroma, &width, &height))
return AVERROR(ENOSYS);
surface = av_malloc(sizeof(*surface));
if (!surface)
return AVERROR(ENOMEM);
@@ -118,8 +123,8 @@ static int vdpau_get_buffer(AVCodecContext *s, AVFrame *frame, int flags)
// properly we should keep a pool of surfaces instead of creating
// them anew for each frame, but since we don't care about speed
// much in this code, we don't bother
err = ctx->video_surface_create(ctx->device, VDP_CHROMA_TYPE_420,
frame->width, frame->height, surface);
err = ctx->video_surface_create(ctx->device, chroma, width, height,
surface);
if (err != VDP_STATUS_OK) {
av_log(NULL, AV_LOG_ERROR, "Error allocating a VDPAU video surface: %s\n",
ctx->get_error_string(err));

204
ffplay.c
View File

@@ -32,6 +32,7 @@
#include "libavutil/avstring.h"
#include "libavutil/colorspace.h"
#include "libavutil/eval.h"
#include "libavutil/mathematics.h"
#include "libavutil/pixdesc.h"
#include "libavutil/imgutils.h"
@@ -185,21 +186,18 @@ typedef struct Decoder {
AVCodecContext *avctx;
int pkt_serial;
int finished;
int flushed;
int packet_pending;
SDL_cond *empty_queue_cond;
int64_t start_pts;
AVRational start_pts_tb;
int64_t next_pts;
AVRational next_pts_tb;
SDL_Thread *decoder_tid;
} Decoder;
typedef struct VideoState {
SDL_Thread *read_tid;
SDL_Thread *video_tid;
SDL_Thread *audio_tid;
AVInputFormat *iformat;
int no_background;
int abort_request;
int force_refresh;
int paused;
@@ -266,7 +264,6 @@ typedef struct VideoState {
int xpos;
double last_vis_time;
SDL_Thread *subtitle_tid;
int subtitle_stream;
AVStream *subtitle_st;
PacketQueue subtitleq;
@@ -282,6 +279,7 @@ typedef struct VideoState {
struct SwsContext *img_convert_ctx;
#endif
SDL_Rect last_display_rect;
int eof;
char filename[1024];
int width, height, xleft, ytop;
@@ -314,11 +312,7 @@ static int screen_height = 0;
static int audio_disable;
static int video_disable;
static int subtitle_disable;
static int wanted_stream[AVMEDIA_TYPE_NB] = {
[AVMEDIA_TYPE_AUDIO] = -1,
[AVMEDIA_TYPE_VIDEO] = -1,
[AVMEDIA_TYPE_SUBTITLE] = -1,
};
static const char* wanted_stream_spec[AVMEDIA_TYPE_NB] = {0};
static int seek_by_bytes = -1;
static int display_disable;
static int show_status = 1;
@@ -548,8 +542,6 @@ static void decoder_init(Decoder *d, AVCodecContext *avctx, PacketQueue *queue,
static int decoder_decode_frame(Decoder *d, AVFrame *frame, AVSubtitle *sub) {
int got_frame = 0;
d->flushed = 0;
do {
int ret = -1;
@@ -566,7 +558,6 @@ static int decoder_decode_frame(Decoder *d, AVFrame *frame, AVSubtitle *sub) {
if (pkt.data == flush_pkt.data) {
avcodec_flush_buffers(d->avctx);
d->finished = 0;
d->flushed = 1;
d->next_pts = d->start_pts;
d->next_pts_tb = d->start_pts_tb;
}
@@ -777,6 +768,15 @@ static int64_t frame_queue_last_pos(FrameQueue *f)
return -1;
}
static void decoder_abort(Decoder *d, FrameQueue *fq)
{
packet_queue_abort(d->queue);
frame_queue_signal(fq);
SDL_WaitThread(d->decoder_tid, NULL);
d->decoder_tid = NULL;
packet_queue_flush(d->queue);
}
static inline void fill_rectangle(SDL_Surface *screen,
int x, int y, int w, int h, int color, int update)
{
@@ -1248,7 +1248,10 @@ static void video_audio_display(VideoState *s)
s->rdft_bits = rdft_bits;
s->rdft_data = av_malloc_array(nb_freq, 4 *sizeof(*s->rdft_data));
}
{
if (!s->rdft || !s->rdft_data){
av_log(NULL, AV_LOG_ERROR, "Failed to allocate buffers for RDFT, switching to waves display\n");
s->show_mode = SHOW_MODE_WAVES;
} else {
FFTSample *data[2];
for (ch = 0; ch < nb_display_channels; ch++) {
data[ch] = s->rdft_data + 2 * nb_freq * ch;
@@ -1503,7 +1506,7 @@ static void stream_seek(VideoState *is, int64_t pos, int64_t rel, int seek_by_by
static void stream_toggle_pause(VideoState *is)
{
if (is->paused) {
is->frame_timer += av_gettime_relative() / 1000000.0 + is->vidclk.pts_drift - is->vidclk.pts;
is->frame_timer += av_gettime_relative() / 1000000.0 - is->vidclk.last_updated;
if (is->read_pause_return != AVERROR(ENOSYS)) {
is->vidclk.paused = 0;
}
@@ -1529,7 +1532,7 @@ static void step_to_next_frame(VideoState *is)
static double compute_target_delay(double delay, VideoState *is)
{
double sync_threshold, diff;
double sync_threshold, diff = 0;
/* update delay to follow master synchronisation source */
if (get_master_sync_type(is) != AV_SYNC_VIDEO_MASTER) {
@@ -1551,7 +1554,7 @@ static double compute_target_delay(double delay, VideoState *is)
}
}
av_dlog(NULL, "video: delay=%0.3f A-V=%f\n",
av_log(NULL, AV_LOG_TRACE, "video: delay=%0.3f A-V=%f\n",
delay, -diff);
return delay;
@@ -1993,20 +1996,20 @@ static int configure_video_filters(AVFilterGraph *graph, VideoState *is, const c
/* Note: this macro adds a filter before the lastly added filter, so the
* processing order of the filters is in reverse */
#define INSERT_FILT(name, arg) do { \
AVFilterContext *filt_ctx; \
\
ret = avfilter_graph_create_filter(&filt_ctx, \
avfilter_get_by_name(name), \
"ffplay_" name, arg, NULL, graph); \
if (ret < 0) \
goto fail; \
\
ret = avfilter_link(filt_ctx, 0, last_filter, 0); \
if (ret < 0) \
goto fail; \
\
last_filter = filt_ctx; \
#define INSERT_FILT(name, arg) do { \
AVFilterContext *filt_ctx; \
\
ret = avfilter_graph_create_filter(&filt_ctx, \
avfilter_get_by_name(name), \
"ffplay_" name, arg, NULL, graph); \
if (ret < 0) \
goto fail; \
\
ret = avfilter_link(filt_ctx, 0, last_filter, 0); \
if (ret < 0) \
goto fail; \
\
last_filter = filt_ctx; \
} while (0)
/* SDL YUV code is not handling odd width/height for some driver
@@ -2014,20 +2017,19 @@ static int configure_video_filters(AVFilterGraph *graph, VideoState *is, const c
INSERT_FILT("crop", "floor(in_w/2)*2:floor(in_h/2)*2");
if (autorotate) {
AVDictionaryEntry *rotate_tag = av_dict_get(is->video_st->metadata, "rotate", NULL, 0);
if (rotate_tag && *rotate_tag->value && strcmp(rotate_tag->value, "0")) {
if (!strcmp(rotate_tag->value, "90")) {
INSERT_FILT("transpose", "clock");
} else if (!strcmp(rotate_tag->value, "180")) {
INSERT_FILT("hflip", NULL);
INSERT_FILT("vflip", NULL);
} else if (!strcmp(rotate_tag->value, "270")) {
INSERT_FILT("transpose", "cclock");
} else {
char rotate_buf[64];
snprintf(rotate_buf, sizeof(rotate_buf), "%s*PI/180", rotate_tag->value);
INSERT_FILT("rotate", rotate_buf);
}
double theta = get_rotation(is->video_st);
if (fabs(theta - 90) < 1.0) {
INSERT_FILT("transpose", "clock");
} else if (fabs(theta - 180) < 1.0) {
INSERT_FILT("hflip", NULL);
INSERT_FILT("vflip", NULL);
} else if (fabs(theta - 270) < 1.0) {
INSERT_FILT("transpose", "cclock");
} else if (fabs(theta) > 1.0) {
char rotate_buf[64];
snprintf(rotate_buf, sizeof(rotate_buf), "%f*PI/180", theta);
INSERT_FILT("rotate", rotate_buf);
}
}
@@ -2205,6 +2207,12 @@ static int audio_thread(void *arg)
return ret;
}
static void decoder_start(Decoder *d, int (*fn)(void *), void *arg)
{
packet_queue_start(d->queue);
d->decoder_tid = SDL_CreateThread(fn, arg);
}
static int video_thread(void *arg)
{
VideoState *is = arg;
@@ -2223,8 +2231,20 @@ static int video_thread(void *arg)
enum AVPixelFormat last_format = -2;
int last_serial = -1;
int last_vfilter_idx = 0;
if (!graph) {
av_frame_free(&frame);
return AVERROR(ENOMEM);
}
#endif
if (!frame) {
#if CONFIG_AVFILTER
avfilter_graph_free(&graph);
#endif
return AVERROR(ENOMEM);
}
for (;;) {
ret = get_video_frame(is, frame);
if (ret < 0)
@@ -2392,9 +2412,9 @@ static int synchronize_audio(VideoState *is, int nb_samples)
wanted_nb_samples = nb_samples + (int)(diff * is->audio_src.freq);
min_nb_samples = ((nb_samples * (100 - SAMPLE_CORRECTION_PERCENT_MAX) / 100));
max_nb_samples = ((nb_samples * (100 + SAMPLE_CORRECTION_PERCENT_MAX) / 100));
wanted_nb_samples = FFMIN(FFMAX(wanted_nb_samples, min_nb_samples), max_nb_samples);
wanted_nb_samples = av_clip(wanted_nb_samples, min_nb_samples, max_nb_samples);
}
av_dlog(NULL, "diff=%f adiff=%f sample_diff=%d apts=%0.3f %f\n",
av_log(NULL, AV_LOG_TRACE, "diff=%f adiff=%f sample_diff=%d apts=%0.3f %f\n",
diff, avg_diff, wanted_nb_samples - nb_samples,
is->audio_clock, is->audio_diff_threshold);
}
@@ -2696,6 +2716,7 @@ static int stream_component_open(VideoState *is, int stream_index)
goto fail;
}
is->eof = 0;
ic->streams[stream_index]->discard = AVDISCARD_DEFAULT;
switch (avctx->codec_type) {
case AVMEDIA_TYPE_AUDIO:
@@ -2738,31 +2759,28 @@ static int stream_component_open(VideoState *is, int stream_index)
is->audio_stream = stream_index;
is->audio_st = ic->streams[stream_index];
packet_queue_start(&is->audioq);
decoder_init(&is->auddec, avctx, &is->audioq, is->continue_read_thread);
if ((is->ic->iformat->flags & (AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK)) && !is->ic->iformat->read_seek) {
is->auddec.start_pts = is->audio_st->start_time;
is->auddec.start_pts_tb = is->audio_st->time_base;
}
is->audio_tid = SDL_CreateThread(audio_thread, is);
decoder_start(&is->auddec, audio_thread, is);
SDL_PauseAudio(0);
break;
case AVMEDIA_TYPE_VIDEO:
is->video_stream = stream_index;
is->video_st = ic->streams[stream_index];
packet_queue_start(&is->videoq);
decoder_init(&is->viddec, avctx, &is->videoq, is->continue_read_thread);
is->video_tid = SDL_CreateThread(video_thread, is);
decoder_start(&is->viddec, video_thread, is);
is->queue_attachments_req = 1;
break;
case AVMEDIA_TYPE_SUBTITLE:
is->subtitle_stream = stream_index;
is->subtitle_st = ic->streams[stream_index];
packet_queue_start(&is->subtitleq);
decoder_init(&is->subdec, avctx, &is->subtitleq, is->continue_read_thread);
is->subtitle_tid = SDL_CreateThread(subtitle_thread, is);
decoder_start(&is->subdec, subtitle_thread, is);
break;
default:
break;
@@ -2785,13 +2803,9 @@ static void stream_component_close(VideoState *is, int stream_index)
switch (avctx->codec_type) {
case AVMEDIA_TYPE_AUDIO:
packet_queue_abort(&is->audioq);
frame_queue_signal(&is->sampq);
decoder_abort(&is->auddec, &is->sampq);
SDL_CloseAudio();
SDL_WaitThread(is->audio_tid, NULL);
decoder_destroy(&is->auddec);
packet_queue_flush(&is->audioq);
swr_free(&is->swr_ctx);
av_freep(&is->audio_buf1);
is->audio_buf1_size = 0;
@@ -2805,28 +2819,12 @@ static void stream_component_close(VideoState *is, int stream_index)
}
break;
case AVMEDIA_TYPE_VIDEO:
packet_queue_abort(&is->videoq);
/* note: we also signal this mutex to make sure we deblock the
video thread in all cases */
frame_queue_signal(&is->pictq);
SDL_WaitThread(is->video_tid, NULL);
decoder_abort(&is->viddec, &is->pictq);
decoder_destroy(&is->viddec);
packet_queue_flush(&is->videoq);
break;
case AVMEDIA_TYPE_SUBTITLE:
packet_queue_abort(&is->subtitleq);
/* note: we also signal this mutex to make sure we deblock the
video thread in all cases */
frame_queue_signal(&is->subpq);
SDL_WaitThread(is->subtitle_tid, NULL);
decoder_abort(&is->subdec, &is->subpq);
decoder_destroy(&is->subdec);
packet_queue_flush(&is->subtitleq);
break;
default:
break;
@@ -2882,7 +2880,6 @@ static int read_thread(void *arg)
int err, i, ret;
int st_index[AVMEDIA_TYPE_NB];
AVPacket pkt1, *pkt = &pkt1;
int eof = 0;
int64_t stream_start_time;
int pkt_in_play_range = 0;
AVDictionaryEntry *t;
@@ -2890,13 +2887,20 @@ static int read_thread(void *arg)
int orig_nb_streams;
SDL_mutex *wait_mutex = SDL_CreateMutex();
int scan_all_pmts_set = 0;
int64_t pkt_ts;
memset(st_index, -1, sizeof(st_index));
is->last_video_stream = is->video_stream = -1;
is->last_audio_stream = is->audio_stream = -1;
is->last_subtitle_stream = is->subtitle_stream = -1;
is->eof = 0;
ic = avformat_alloc_context();
if (!ic) {
av_log(NULL, AV_LOG_FATAL, "Could not allocate context.\n");
ret = AVERROR(ENOMEM);
goto fail;
}
ic->interrupt_callback.callback = decode_interrupt_cb;
ic->interrupt_callback.opaque = is;
if (!av_dict_get(format_opts, "scan_all_pmts", NULL, AV_DICT_MATCH_CASE)) {
@@ -2968,29 +2972,42 @@ static int read_thread(void *arg)
is->realtime = is_realtime(ic);
for (i = 0; i < ic->nb_streams; i++)
ic->streams[i]->discard = AVDISCARD_ALL;
if (show_status)
av_dump_format(ic, 0, is->filename, 0);
for (i = 0; i < ic->nb_streams; i++) {
AVStream *st = ic->streams[i];
enum AVMediaType type = st->codec->codec_type;
st->discard = AVDISCARD_ALL;
if (wanted_stream_spec[type] && st_index[type] == -1)
if (avformat_match_stream_specifier(ic, st, wanted_stream_spec[type]) > 0)
st_index[type] = i;
}
for (i = 0; i < AVMEDIA_TYPE_NB; i++) {
if (wanted_stream_spec[i] && st_index[i] == -1) {
av_log(NULL, AV_LOG_ERROR, "Stream specifier %s does not match any %s stream\n", wanted_stream_spec[i], av_get_media_type_string(i));
st_index[i] = INT_MAX;
}
}
if (!video_disable)
st_index[AVMEDIA_TYPE_VIDEO] =
av_find_best_stream(ic, AVMEDIA_TYPE_VIDEO,
wanted_stream[AVMEDIA_TYPE_VIDEO], -1, NULL, 0);
st_index[AVMEDIA_TYPE_VIDEO], -1, NULL, 0);
if (!audio_disable)
st_index[AVMEDIA_TYPE_AUDIO] =
av_find_best_stream(ic, AVMEDIA_TYPE_AUDIO,
wanted_stream[AVMEDIA_TYPE_AUDIO],
st_index[AVMEDIA_TYPE_AUDIO],
st_index[AVMEDIA_TYPE_VIDEO],
NULL, 0);
if (!video_disable && !subtitle_disable)
st_index[AVMEDIA_TYPE_SUBTITLE] =
av_find_best_stream(ic, AVMEDIA_TYPE_SUBTITLE,
wanted_stream[AVMEDIA_TYPE_SUBTITLE],
st_index[AVMEDIA_TYPE_SUBTITLE],
(st_index[AVMEDIA_TYPE_AUDIO] >= 0 ?
st_index[AVMEDIA_TYPE_AUDIO] :
st_index[AVMEDIA_TYPE_VIDEO]),
NULL, 0);
if (show_status) {
av_dump_format(ic, 0, is->filename, 0);
}
is->show_mode = show_mode;
if (st_index[AVMEDIA_TYPE_VIDEO] >= 0) {
@@ -3079,7 +3096,7 @@ static int read_thread(void *arg)
}
is->seek_req = 0;
is->queue_attachments_req = 1;
eof = 0;
is->eof = 0;
if (is->paused)
step_to_next_frame(is);
}
@@ -3119,14 +3136,14 @@ static int read_thread(void *arg)
}
ret = av_read_frame(ic, pkt);
if (ret < 0) {
if ((ret == AVERROR_EOF || avio_feof(ic->pb)) && !eof) {
if ((ret == AVERROR_EOF || avio_feof(ic->pb)) && !is->eof) {
if (is->video_stream >= 0)
packet_queue_put_nullpacket(&is->videoq, is->video_stream);
if (is->audio_stream >= 0)
packet_queue_put_nullpacket(&is->audioq, is->audio_stream);
if (is->subtitle_stream >= 0)
packet_queue_put_nullpacket(&is->subtitleq, is->subtitle_stream);
eof = 1;
is->eof = 1;
}
if (ic->pb && ic->pb->error)
break;
@@ -3135,12 +3152,13 @@ static int read_thread(void *arg)
SDL_UnlockMutex(wait_mutex);
continue;
} else {
eof = 0;
is->eof = 0;
}
/* check if packet is in play range specified by user, then queue, otherwise discard */
stream_start_time = ic->streams[pkt->stream_index]->start_time;
pkt_ts = pkt->pts == AV_NOPTS_VALUE ? pkt->dts : pkt->pts;
pkt_in_play_range = duration == AV_NOPTS_VALUE ||
(pkt->pts - (stream_start_time != AV_NOPTS_VALUE ? stream_start_time : 0)) *
(pkt_ts - (stream_start_time != AV_NOPTS_VALUE ? stream_start_time : 0)) *
av_q2d(ic->streams[pkt->stream_index]->time_base) -
(double)(start_time != AV_NOPTS_VALUE ? start_time : 0) / 1000000
<= ((double)duration / 1000000);
@@ -3674,9 +3692,9 @@ static const OptionDef options[] = {
{ "an", OPT_BOOL, { &audio_disable }, "disable audio" },
{ "vn", OPT_BOOL, { &video_disable }, "disable video" },
{ "sn", OPT_BOOL, { &subtitle_disable }, "disable subtitling" },
{ "ast", OPT_INT | HAS_ARG | OPT_EXPERT, { &wanted_stream[AVMEDIA_TYPE_AUDIO] }, "select desired audio stream", "stream_number" },
{ "vst", OPT_INT | HAS_ARG | OPT_EXPERT, { &wanted_stream[AVMEDIA_TYPE_VIDEO] }, "select desired video stream", "stream_number" },
{ "sst", OPT_INT | HAS_ARG | OPT_EXPERT, { &wanted_stream[AVMEDIA_TYPE_SUBTITLE] }, "select desired subtitle stream", "stream_number" },
{ "ast", OPT_STRING | HAS_ARG | OPT_EXPERT, { &wanted_stream_spec[AVMEDIA_TYPE_AUDIO] }, "select desired audio stream", "stream_specifier" },
{ "vst", OPT_STRING | HAS_ARG | OPT_EXPERT, { &wanted_stream_spec[AVMEDIA_TYPE_VIDEO] }, "select desired video stream", "stream_specifier" },
{ "sst", OPT_STRING | HAS_ARG | OPT_EXPERT, { &wanted_stream_spec[AVMEDIA_TYPE_SUBTITLE] }, "select desired subtitle stream", "stream_specifier" },
{ "ss", HAS_ARG, { .func_arg = opt_seek }, "seek to a given position in seconds", "pos" },
{ "t", HAS_ARG, { .func_arg = opt_duration }, "play \"duration\" seconds of audio/video", "duration" },
{ "bytes", OPT_INT | HAS_ARG, { &seek_by_bytes }, "seek by bytes 0=off 1=on -1=auto", "val" },

118
ffprobe.c
View File

@@ -33,10 +33,12 @@
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/bprint.h"
#include "libavutil/display.h"
#include "libavutil/hash.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "libavutil/dict.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/libm.h"
#include "libavutil/parseutils.h"
#include "libavutil/timecode.h"
@@ -86,7 +88,7 @@ static char *print_format;
static char *stream_specifier;
static char *show_data_hash;
typedef struct {
typedef struct ReadInterval {
int id; ///< identifier
int64_t start, end; ///< start, end in second/AV_TIME_BASE units
int has_start, has_end;
@@ -135,6 +137,8 @@ typedef enum {
SECTION_ID_PACKET,
SECTION_ID_PACKETS,
SECTION_ID_PACKETS_AND_FRAMES,
SECTION_ID_PACKET_SIDE_DATA_LIST,
SECTION_ID_PACKET_SIDE_DATA,
SECTION_ID_PIXEL_FORMAT,
SECTION_ID_PIXEL_FORMAT_FLAGS,
SECTION_ID_PIXEL_FORMAT_COMPONENT,
@@ -153,6 +157,8 @@ typedef enum {
SECTION_ID_STREAM_DISPOSITION,
SECTION_ID_STREAMS,
SECTION_ID_STREAM_TAGS,
SECTION_ID_STREAM_SIDE_DATA_LIST,
SECTION_ID_STREAM_SIDE_DATA,
SECTION_ID_SUBTITLE,
} SectionID;
@@ -172,7 +178,9 @@ static struct section sections[] = {
[SECTION_ID_LIBRARY_VERSION] = { SECTION_ID_LIBRARY_VERSION, "library_version", 0, { -1 } },
[SECTION_ID_PACKETS] = { SECTION_ID_PACKETS, "packets", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PACKET, -1} },
[SECTION_ID_PACKETS_AND_FRAMES] = { SECTION_ID_PACKETS_AND_FRAMES, "packets_and_frames", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PACKET, -1} },
[SECTION_ID_PACKET] = { SECTION_ID_PACKET, "packet", 0, { -1 } },
[SECTION_ID_PACKET] = { SECTION_ID_PACKET, "packet", 0, { SECTION_ID_PACKET_SIDE_DATA_LIST, -1 } },
[SECTION_ID_PACKET_SIDE_DATA_LIST] ={ SECTION_ID_PACKET_SIDE_DATA_LIST, "side_data_list", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PACKET_SIDE_DATA, -1 } },
[SECTION_ID_PACKET_SIDE_DATA] = { SECTION_ID_PACKET_SIDE_DATA, "side_data", 0, { -1 } },
[SECTION_ID_PIXEL_FORMATS] = { SECTION_ID_PIXEL_FORMATS, "pixel_formats", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PIXEL_FORMAT, -1 } },
[SECTION_ID_PIXEL_FORMAT] = { SECTION_ID_PIXEL_FORMAT, "pixel_format", 0, { SECTION_ID_PIXEL_FORMAT_FLAGS, SECTION_ID_PIXEL_FORMAT_COMPONENTS, -1 } },
[SECTION_ID_PIXEL_FORMAT_FLAGS] = { SECTION_ID_PIXEL_FORMAT_FLAGS, "flags", 0, { -1 }, .unique_name = "pixel_format_flags" },
@@ -191,9 +199,11 @@ static struct section sections[] = {
SECTION_ID_PACKETS, SECTION_ID_ERROR, SECTION_ID_PROGRAM_VERSION, SECTION_ID_LIBRARY_VERSIONS,
SECTION_ID_PIXEL_FORMATS, -1} },
[SECTION_ID_STREAMS] = { SECTION_ID_STREAMS, "streams", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM, -1 } },
[SECTION_ID_STREAM] = { SECTION_ID_STREAM, "stream", 0, { SECTION_ID_STREAM_DISPOSITION, SECTION_ID_STREAM_TAGS, -1 } },
[SECTION_ID_STREAM] = { SECTION_ID_STREAM, "stream", 0, { SECTION_ID_STREAM_DISPOSITION, SECTION_ID_STREAM_TAGS, SECTION_ID_STREAM_SIDE_DATA_LIST, -1 } },
[SECTION_ID_STREAM_DISPOSITION] = { SECTION_ID_STREAM_DISPOSITION, "disposition", 0, { -1 }, .unique_name = "stream_disposition" },
[SECTION_ID_STREAM_TAGS] = { SECTION_ID_STREAM_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "stream_tags" },
[SECTION_ID_STREAM_SIDE_DATA_LIST] ={ SECTION_ID_STREAM_SIDE_DATA_LIST, "side_data_list", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_SIDE_DATA, -1 } },
[SECTION_ID_STREAM_SIDE_DATA] = { SECTION_ID_STREAM_SIDE_DATA, "side_data", 0, { -1 } },
[SECTION_ID_SUBTITLE] = { SECTION_ID_SUBTITLE, "subtitle", 0, { -1 } },
};
@@ -338,7 +348,7 @@ struct WriterContext {
unsigned int nb_section_frame; ///< number of the frame section in case we are in "packets_and_frames" section
unsigned int nb_section_packet_frame; ///< nb_section_packet or nb_section_frame according if is_packets_and_frames
StringValidation string_validation;
int string_validation;
char *string_validation_replacement;
unsigned int string_validation_utf8_flags;
};
@@ -718,6 +728,32 @@ static void writer_print_data_hash(WriterContext *wctx, const char *name,
writer_print_string(wctx, name, buf, 0);
}
static void writer_print_integers(WriterContext *wctx, const char *name,
uint8_t *data, int size, const char *format,
int columns, int bytes, int offset_add)
{
AVBPrint bp;
int offset = 0, l, i;
av_bprint_init(&bp, 0, AV_BPRINT_SIZE_UNLIMITED);
av_bprintf(&bp, "\n");
while (size) {
av_bprintf(&bp, "%08x: ", offset);
l = FFMIN(size, columns);
for (i = 0; i < l; i++) {
if (bytes == 1) av_bprintf(&bp, format, *data);
else if (bytes == 2) av_bprintf(&bp, format, AV_RN16(data));
else if (bytes == 4) av_bprintf(&bp, format, AV_RN32(data));
data += bytes;
size --;
}
av_bprintf(&bp, "\n");
offset += offset_add;
}
writer_print_string(wctx, name, bp.str, 0);
av_bprint_finalize(&bp, NULL);
}
#define MAX_REGISTERED_WRITERS_NB 64
static const Writer *registered_writers[MAX_REGISTERED_WRITERS_NB + 1];
@@ -1192,7 +1228,7 @@ static const Writer flat_writer = {
/* INI format output */
typedef struct {
typedef struct INIContext {
const AVClass *class;
int hierarchical;
} INIContext;
@@ -1296,7 +1332,7 @@ static const Writer ini_writer = {
/* JSON output */
typedef struct {
typedef struct JSONContext {
const AVClass *class;
int indent_level;
int compact;
@@ -1458,7 +1494,7 @@ static const Writer json_writer = {
/* XML output */
typedef struct {
typedef struct XMLContext {
const AVClass *class;
int within_tag;
int indent_level;
@@ -1723,6 +1759,25 @@ static void show_packet(WriterContext *w, AVFormatContext *fmt_ctx, AVPacket *pk
if (pkt->pos != -1) print_fmt ("pos", "%"PRId64, pkt->pos);
else print_str_opt("pos", "N/A");
print_fmt("flags", "%c", pkt->flags & AV_PKT_FLAG_KEY ? 'K' : '_');
if (pkt->side_data_elems) {
int i;
writer_print_section_header(w, SECTION_ID_PACKET_SIDE_DATA_LIST);
for (i = 0; i < pkt->side_data_elems; i++) {
AVPacketSideData *sd = &pkt->side_data[i];
const char *name = av_packet_side_data_name(sd->type);
writer_print_section_header(w, SECTION_ID_PACKET_SIDE_DATA);
print_str("side_data_type", name ? name : "unknown");
print_int("side_data_size", sd->size);
if (sd->type == AV_PKT_DATA_DISPLAYMATRIX && sd->size >= 9*4) {
writer_print_integers(w, "displaymatrix", sd->data, 9, " %11d", 3, 4, 1);
print_int("rotation", av_display_rotation_get((int32_t *)sd->data));
}
writer_print_section_footer(w);
}
writer_print_section_footer(w);
}
if (do_show_data)
writer_print_data(w, "data", pkt->data, pkt->size);
writer_print_data_hash(w, "data_hash", pkt->data, pkt->size);
@@ -1769,6 +1824,7 @@ static void show_frame(WriterContext *w, AVFrame *frame, AVStream *stream,
s = av_get_media_type_string(stream->codec->codec_type);
if (s) print_str ("media_type", s);
else print_str_opt("media_type", "unknown");
print_int("stream_index", stream->index);
print_int("key_frame", frame->key_frame);
print_ts ("pkt_pts", frame->pkt_pts);
print_time("pkt_pts_time", frame->pkt_pts, &stream->time_base);
@@ -1833,6 +1889,11 @@ static void show_frame(WriterContext *w, AVFrame *frame, AVStream *stream,
name = av_frame_side_data_name(sd->type);
print_str("side_data_type", name ? name : "unknown");
print_int("side_data_size", sd->size);
if (sd->type == AV_FRAME_DATA_DISPLAYMATRIX && sd->size >= 9*4) {
abort();
writer_print_integers(w, "displaymatrix", sd->data, 9, " %11d", 3, 4, 1);
print_int("rotation", av_display_rotation_get((int32_t *)sd->data));
}
writer_print_section_footer(w);
}
writer_print_section_footer(w);
@@ -2094,6 +2155,8 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id
case AVMEDIA_TYPE_VIDEO:
print_int("width", dec_ctx->width);
print_int("height", dec_ctx->height);
print_int("coded_width", dec_ctx->coded_width);
print_int("coded_height", dec_ctx->coded_height);
print_int("has_b_frames", dec_ctx->has_b_frames);
sar = av_guess_sample_aspect_ratio(fmt_ctx, stream, NULL);
if (sar.den) {
@@ -2141,6 +2204,7 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id
} else {
print_str_opt("timecode", "N/A");
}
print_int("refs", dec_ctx->refs);
break;
case AVMEDIA_TYPE_AUDIO:
@@ -2238,6 +2302,25 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id
if (do_show_stream_tags)
ret = show_tags(w, stream->metadata, in_program ? SECTION_ID_PROGRAM_STREAM_TAGS : SECTION_ID_STREAM_TAGS);
if (stream->nb_side_data) {
int i;
writer_print_section_header(w, SECTION_ID_STREAM_SIDE_DATA_LIST);
for (i = 0; i < stream->nb_side_data; i++) {
AVPacketSideData *sd = &stream->side_data[i];
const char *name = av_packet_side_data_name(sd->type);
writer_print_section_header(w, SECTION_ID_STREAM_SIDE_DATA);
print_str("side_data_type", name ? name : "unknown");
print_int("side_data_size", sd->size);
if (sd->type == AV_PKT_DATA_DISPLAYMATRIX && sd->size >= 9*4) {
writer_print_integers(w, "displaymatrix", sd->data, 9, " %11d", 3, 4, 1);
print_int("rotation", av_display_rotation_get((int32_t *)sd->data));
}
writer_print_section_footer(w);
}
writer_print_section_footer(w);
}
writer_print_section_footer(w);
av_bprint_finalize(&pbuf, NULL);
fflush(stdout);
@@ -2397,6 +2480,7 @@ static int open_input_file(AVFormatContext **fmt_ctx_ptr, const char *filename)
print_error(filename, err);
return err;
}
*fmt_ctx_ptr = fmt_ctx;
if (scan_all_pmts_set)
av_dict_set(&format_opts, "scan_all_pmts", NULL, AV_DICT_MATCH_CASE);
if ((t = av_dict_get(format_opts, "", NULL, AV_DICT_IGNORE_SUFFIX))) {
@@ -2408,14 +2492,17 @@ static int open_input_file(AVFormatContext **fmt_ctx_ptr, const char *filename)
opts = setup_find_stream_info_opts(fmt_ctx, codec_opts);
orig_nb_streams = fmt_ctx->nb_streams;
if ((err = avformat_find_stream_info(fmt_ctx, opts)) < 0) {
print_error(filename, err);
return err;
}
err = avformat_find_stream_info(fmt_ctx, opts);
for (i = 0; i < orig_nb_streams; i++)
av_dict_free(&opts[i]);
av_freep(&opts);
if (err < 0) {
print_error(filename, err);
return err;
}
av_dump_format(fmt_ctx, 0, filename, 0);
/* bind a decoder to each input stream */
@@ -2465,7 +2552,7 @@ static void close_input_file(AVFormatContext **ctx_ptr)
static int probe_file(WriterContext *wctx, const char *filename)
{
AVFormatContext *fmt_ctx;
AVFormatContext *fmt_ctx = NULL;
int ret, i;
int section_id;
@@ -2474,7 +2561,7 @@ static int probe_file(WriterContext *wctx, const char *filename)
ret = open_input_file(&fmt_ctx, filename);
if (ret < 0)
return ret;
goto end;
#define CHECK_END if (ret < 0) goto end
@@ -2532,7 +2619,8 @@ static int probe_file(WriterContext *wctx, const char *filename)
}
end:
close_input_file(&fmt_ctx);
if (fmt_ctx)
close_input_file(&fmt_ctx);
av_freep(&nb_streams_frames);
av_freep(&nb_streams_packets);
av_freep(&selected_streams);
@@ -2556,8 +2644,6 @@ static void ffprobe_show_program_version(WriterContext *w)
print_str("version", FFMPEG_VERSION);
print_fmt("copyright", "Copyright (c) %d-%d the FFmpeg developers",
program_birth_year, CONFIG_THIS_YEAR);
print_str("build_date", __DATE__);
print_str("build_time", __TIME__);
print_str("compiler_ident", CC_IDENT);
print_str("configuration", FFMPEG_CONFIGURATION);
writer_print_section_footer(w);

File diff suppressed because it is too large Load Diff

View File

@@ -35,10 +35,12 @@
static int ffserver_save_avoption(const char *opt, const char *arg, int type,
FFServerConfig *config);
static void vreport_config_error(const char *filename, int line_num, int log_level,
int *errors, const char *fmt, va_list vl);
static void report_config_error(const char *filename, int line_num, int log_level,
int *errors, const char *fmt, ...);
static void vreport_config_error(const char *filename, int line_num,
int log_level, int *errors, const char *fmt,
va_list vl);
static void report_config_error(const char *filename, int line_num,
int log_level, int *errors, const char *fmt,
...);
#define ERROR(...) report_config_error(config->filename, config->line_num,\
AV_LOG_ERROR, &config->errors, __VA_ARGS__)
@@ -84,28 +86,24 @@ void ffserver_get_arg(char *buf, int buf_size, const char **pp)
{
const char *p;
char *q;
int quote;
int quote = 0;
p = *pp;
while (av_isspace(*p)) p++;
q = buf;
quote = 0;
while (av_isspace(*p)) p++;
if (*p == '\"' || *p == '\'')
quote = *p++;
for(;;) {
if (quote) {
if (*p == quote)
break;
} else {
if (av_isspace(*p))
break;
}
if (*p == '\0')
while (*p != '\0') {
if (quote && *p == quote || !quote && av_isspace(*p))
break;
if ((q - buf) < buf_size - 1)
*q++ = *p;
p++;
}
*q = '\0';
if (quote && *p == quote)
p++;
@@ -126,7 +124,7 @@ void ffserver_parse_acl_row(FFServerStream *stream, FFServerStream* feed,
else if (av_strcasecmp(arg, "deny") == 0)
acl.action = IP_DENY;
else {
fprintf(stderr, "%s:%d: ACL action '%s' is not ALLOW or DENY\n",
fprintf(stderr, "%s:%d: ACL action '%s' should be ALLOW or DENY.\n",
filename, line_num, arg);
errors++;
}
@@ -134,7 +132,8 @@ void ffserver_parse_acl_row(FFServerStream *stream, FFServerStream* feed,
ffserver_get_arg(arg, sizeof(arg), &p);
if (resolve_host(&acl.first, arg)) {
fprintf(stderr, "%s:%d: ACL refers to invalid host or IP address '%s'\n",
fprintf(stderr,
"%s:%d: ACL refers to invalid host or IP address '%s'\n",
filename, line_num, arg);
errors++;
} else
@@ -165,7 +164,7 @@ void ffserver_parse_acl_row(FFServerStream *stream, FFServerStream* feed,
else if (ext_acl)
naclp = &ext_acl;
else {
fprintf(stderr, "%s:%d: ACL found not in <stream> or <feed>\n",
fprintf(stderr, "%s:%d: ACL found not in <Stream> or <Feed>\n",
filename, line_num);
errors++;
}
@@ -196,12 +195,38 @@ static void add_codec(FFServerStream *stream, AVCodecContext *av,
av_dict_copy(&recommended, *opts, 0);
av_opt_set_dict2(av->priv_data, opts, AV_OPT_SEARCH_CHILDREN);
av_opt_set_dict2(av, opts, AV_OPT_SEARCH_CHILDREN);
if (av_dict_count(*opts))
av_log(NULL, AV_LOG_WARNING,
"Something is wrong, %d options are not set!\n", av_dict_count(*opts));
"Something is wrong, %d options are not set!\n",
av_dict_count(*opts));
if (!config->stream_use_defaults) {
switch(av->codec_type) {
case AVMEDIA_TYPE_AUDIO:
if (av->bit_rate == 0)
report_config_error(config->filename, config->line_num,
AV_LOG_ERROR, &config->errors,
"audio bit rate is not set\n");
if (av->sample_rate == 0)
report_config_error(config->filename, config->line_num,
AV_LOG_ERROR, &config->errors,
"audio sample rate is not set\n");
break;
case AVMEDIA_TYPE_VIDEO:
if (av->width == 0 || av->height == 0)
report_config_error(config->filename, config->line_num,
AV_LOG_ERROR, &config->errors,
"video size is not set\n");
break;
default:
av_assert0(0);
}
goto done;
}
/* stream_use_defaults = true */
if (config->stream_use_defaults) {
//TODO: reident
/* compute default parameters */
switch(av->codec_type) {
case AVMEDIA_TYPE_AUDIO:
@@ -264,8 +289,8 @@ static void add_codec(FFServerStream *stream, AVCodecContext *av,
if (!av_dict_get(recommended, "rc_eq", NULL, 0)) {
av->rc_eq = av_strdup("tex^qComp");
av_dict_set(&recommended, "rc_eq", "tex^qComp", 0);
WARNING("Setting default value for video rate control equation = %s. "
"Use NoDefaults to disable it.\n",
WARNING("Setting default value for video rate control equation = "
"%s. Use NoDefaults to disable it.\n",
av->rc_eq);
}
if (!av_dict_get(recommended, "maxrate", NULL, 0)) {
@@ -287,26 +312,8 @@ static void add_codec(FFServerStream *stream, AVCodecContext *av,
default:
abort();
}
} else {
switch(av->codec_type) {
case AVMEDIA_TYPE_AUDIO:
if (av->bit_rate == 0)
report_config_error(config->filename, config->line_num, AV_LOG_ERROR,
&config->errors, "audio bit rate is not set\n");
if (av->sample_rate == 0)
report_config_error(config->filename, config->line_num, AV_LOG_ERROR,
&config->errors, "audio sample rate is not set\n");
break;
case AVMEDIA_TYPE_VIDEO:
if (av->width == 0 || av->height == 0)
report_config_error(config->filename, config->line_num, AV_LOG_ERROR,
&config->errors, "video size is not set\n");
break;
default:
av_assert0(0);
}
}
done:
st = av_mallocz(sizeof(AVStream));
if (!st)
return;
@@ -317,13 +324,15 @@ static void add_codec(FFServerStream *stream, AVCodecContext *av,
stream->streams[stream->nb_streams++] = st;
}
static int ffserver_set_codec(AVCodecContext *ctx, const char *codec_name, FFServerConfig *config)
static int ffserver_set_codec(AVCodecContext *ctx, const char *codec_name,
FFServerConfig *config)
{
int ret;
AVCodec *codec = avcodec_find_encoder_by_name(codec_name);
if (!codec || codec->type != ctx->codec_type) {
report_config_error(config->filename, config->line_num, AV_LOG_ERROR,
&config->errors, "Invalid codec name: %s\n", codec_name);
&config->errors,
"Invalid codec name: '%s'\n", codec_name);
return 0;
}
if (ctx->codec_id == AV_CODEC_ID_NONE && !ctx->priv_data) {
@@ -332,8 +341,10 @@ static int ffserver_set_codec(AVCodecContext *ctx, const char *codec_name, FFSer
ctx->codec = codec;
}
if (ctx->codec_id != codec->id)
report_config_error(config->filename, config->line_num, AV_LOG_ERROR, &config->errors,
"Inconsistent configuration: trying to set %s codec option, but %s codec is used previously\n",
report_config_error(config->filename, config->line_num, AV_LOG_ERROR,
&config->errors,
"Inconsistent configuration: trying to set '%s' "
"codec option, but '%s' codec is used previously\n",
codec_name, avcodec_get_name(ctx->codec_id));
return 0;
}
@@ -370,12 +381,13 @@ static int ffserver_opt_preset(const char *arg, int type, FFServerConfig *config
continue;
e|= sscanf(line, "%999[^=]=%999[^\n]\n", tmp, tmp2) - 2;
if(e){
av_log(NULL, AV_LOG_ERROR, "%s: Invalid syntax: '%s'\n", filename, line);
av_log(NULL, AV_LOG_ERROR, "%s: Invalid syntax: '%s'\n", filename,
line);
ret = AVERROR(EINVAL);
break;
}
if ((!strcmp(tmp, "acodec") && avctx->codec_type == AVMEDIA_TYPE_AUDIO) ||
!strcmp(tmp, "vcodec") && avctx->codec_type == AVMEDIA_TYPE_VIDEO)
if (!strcmp(tmp, "acodec") && avctx->codec_type == AVMEDIA_TYPE_AUDIO ||
!strcmp(tmp, "vcodec") && avctx->codec_type == AVMEDIA_TYPE_VIDEO)
{
if (ffserver_set_codec(avctx, tmp2, config) < 0)
break;
@@ -392,7 +404,9 @@ static int ffserver_opt_preset(const char *arg, int type, FFServerConfig *config
return ret;
}
static AVOutputFormat *ffserver_guess_format(const char *short_name, const char *filename, const char *mime_type)
static AVOutputFormat *ffserver_guess_format(const char *short_name,
const char *filename,
const char *mime_type)
{
AVOutputFormat *fmt = av_guess_format(short_name, filename, mime_type);
@@ -411,7 +425,9 @@ static AVOutputFormat *ffserver_guess_format(const char *short_name, const char
return fmt;
}
static void vreport_config_error(const char *filename, int line_num, int log_level, int *errors, const char *fmt, va_list vl)
static void vreport_config_error(const char *filename, int line_num,
int log_level, int *errors, const char *fmt,
va_list vl)
{
av_log(NULL, log_level, "%s:%d: ", filename, line_num);
av_vlog(NULL, log_level, fmt, vl);
@@ -419,7 +435,9 @@ static void vreport_config_error(const char *filename, int line_num, int log_lev
(*errors)++;
}
static void report_config_error(const char *filename, int line_num, int log_level, int *errors, const char *fmt, ...)
static void report_config_error(const char *filename, int line_num,
int log_level, int *errors,
const char *fmt, ...)
{
va_list vl;
va_start(vl, fmt);
@@ -427,8 +445,9 @@ static void report_config_error(const char *filename, int line_num, int log_leve
va_end(vl);
}
static int ffserver_set_int_param(int *dest, const char *value, int factor, int min, int max,
FFServerConfig *config, const char *error_msg, ...)
static int ffserver_set_int_param(int *dest, const char *value, int factor,
int min, int max, FFServerConfig *config,
const char *error_msg, ...)
{
int tmp;
char *tailp;
@@ -459,8 +478,10 @@ static int ffserver_set_int_param(int *dest, const char *value, int factor, int
return AVERROR(EINVAL);
}
static int ffserver_set_float_param(float *dest, const char *value, float factor, float min, float max,
FFServerConfig *config, const char *error_msg, ...)
static int ffserver_set_float_param(float *dest, const char *value,
float factor, float min, float max,
FFServerConfig *config,
const char *error_msg, ...)
{
double tmp;
char *tailp;
@@ -488,7 +509,8 @@ static int ffserver_set_float_param(float *dest, const char *value, float factor
return AVERROR(EINVAL);
}
static int ffserver_save_avoption(const char *opt, const char *arg, int type, FFServerConfig *config)
static int ffserver_save_avoption(const char *opt, const char *arg, int type,
FFServerConfig *config)
{
static int hinted = 0;
int ret = 0;
@@ -522,7 +544,13 @@ static int ffserver_save_avoption(const char *opt, const char *arg, int type, FF
//explicit private option
snprintf(buff, sizeof(buff), "%s", opt);
codec_name = buff;
option = strchr(buff, ':');
if(!(option = strchr(buff, ':'))){
report_config_error(config->filename, config->line_num,
AV_LOG_ERROR, &config->errors,
"Syntax error. Unmatched ':'\n");
return -1;
}
buff[option - buff] = '\0';
option++;
if ((ret = ffserver_set_codec(ctx, codec_name, config)) < 0)
@@ -533,31 +561,35 @@ static int ffserver_save_avoption(const char *opt, const char *arg, int type, FF
option = opt;
}
o = av_opt_find(ctx, option, NULL, type | AV_OPT_FLAG_ENCODING_PARAM, AV_OPT_SEARCH_CHILDREN);
if (!o && (!strcmp(option, "time_base") || !strcmp(option, "pixel_format") ||
!strcmp(option, "video_size") || !strcmp(option, "codec_tag")))
o = av_opt_find(ctx, option, NULL, type | AV_OPT_FLAG_ENCODING_PARAM,
AV_OPT_SEARCH_CHILDREN);
if (!o &&
(!strcmp(option, "time_base") || !strcmp(option, "pixel_format") ||
!strcmp(option, "video_size") || !strcmp(option, "codec_tag")))
o = av_opt_find(ctx, option, NULL, 0, 0);
if (!o) {
report_config_error(config->filename, config->line_num, AV_LOG_ERROR,
&config->errors, "Option not found: %s\n", opt);
&config->errors, "Option not found: '%s'\n", opt);
if (!hinted && ctx->codec_id == AV_CODEC_ID_NONE) {
hinted = 1;
report_config_error(config->filename, config->line_num, AV_LOG_ERROR, NULL,
"If '%s' is a codec private option, then prefix it with codec name, "
"for example '%s:%s %s' or define codec earlier.\n",
opt, avcodec_get_name(guessed_codec_id) ,opt, arg);
report_config_error(config->filename, config->line_num,
AV_LOG_ERROR, NULL, "If '%s' is a codec private"
"option, then prefix it with codec name, for "
"example '%s:%s %s' or define codec earlier.\n",
opt, avcodec_get_name(guessed_codec_id) ,opt,
arg);
}
} else if ((ret = av_opt_set(ctx, option, arg, AV_OPT_SEARCH_CHILDREN)) < 0) {
report_config_error(config->filename, config->line_num, AV_LOG_ERROR,
&config->errors, "Invalid value for option %s (%s): %s\n", opt,
arg, av_err2str(ret));
} else if ((e = av_dict_get(*dict, option, NULL, 0))) {
if ((o->type == AV_OPT_TYPE_FLAGS) && arg && (arg[0] == '+' || arg[0] == '-'))
if ((o->type == AV_OPT_TYPE_FLAGS) && arg &&
(arg[0] == '+' || arg[0] == '-'))
return av_dict_set(dict, option, arg, AV_DICT_APPEND);
report_config_error(config->filename, config->line_num, AV_LOG_ERROR,
&config->errors,
"Redeclaring value of the option %s, previous value: %s\n",
opt, e->value);
&config->errors, "Redeclaring value of option '%s'."
"Previous value was: '%s'.\n", opt, e->value);
} else if (av_dict_set(dict, option, arg, 0) < 0) {
return AVERROR(ENOMEM);
}
@@ -579,21 +611,23 @@ static int ffserver_parse_config_global(FFServerConfig *config, const char *cmd,
char arg[1024];
if (!av_strcasecmp(cmd, "Port") || !av_strcasecmp(cmd, "HTTPPort")) {
if (!av_strcasecmp(cmd, "Port"))
WARNING("Port option is deprecated, use HTTPPort instead\n");
WARNING("Port option is deprecated. Use HTTPPort instead.\n");
ffserver_get_arg(arg, sizeof(arg), p);
ffserver_set_int_param(&val, arg, 0, 1, 65535, config,
"Invalid port: %s\n", arg);
if (val < 1024)
WARNING("Trying to use IETF assigned system port: %d\n", val);
WARNING("Trying to use IETF assigned system port: '%d'\n", val);
config->http_addr.sin_port = htons(val);
} else if (!av_strcasecmp(cmd, "HTTPBindAddress") || !av_strcasecmp(cmd, "BindAddress")) {
} else if (!av_strcasecmp(cmd, "HTTPBindAddress") ||
!av_strcasecmp(cmd, "BindAddress")) {
if (!av_strcasecmp(cmd, "BindAddress"))
WARNING("BindAddress option is deprecated, use HTTPBindAddress instead\n");
WARNING("BindAddress option is deprecated. Use HTTPBindAddress "
"instead.\n");
ffserver_get_arg(arg, sizeof(arg), p);
if (resolve_host(&config->http_addr.sin_addr, arg))
ERROR("Invalid host/IP address: %s\n", arg);
ERROR("Invalid host/IP address: '%s'\n", arg);
} else if (!av_strcasecmp(cmd, "NoDaemon")) {
WARNING("NoDaemon option has no effect, you should remove it\n");
WARNING("NoDaemon option has no effect. You should remove it.\n");
} else if (!av_strcasecmp(cmd, "RTSPPort")) {
ffserver_get_arg(arg, sizeof(arg), p);
ffserver_set_int_param(&val, arg, 0, 1, 65535, config,
@@ -608,17 +642,21 @@ static int ffserver_parse_config_global(FFServerConfig *config, const char *cmd,
ffserver_set_int_param(&val, arg, 0, 1, 65535, config,
"Invalid MaxHTTPConnections: %s\n", arg);
config->nb_max_http_connections = val;
if (config->nb_max_connections > config->nb_max_http_connections)
ERROR("Inconsistent configuration: MaxClients(%d) > MaxHTTPConnections(%d)\n",
config->nb_max_connections, config->nb_max_http_connections);
if (config->nb_max_connections > config->nb_max_http_connections) {
ERROR("Inconsistent configuration: MaxClients(%d) > "
"MaxHTTPConnections(%d)\n", config->nb_max_connections,
config->nb_max_http_connections);
}
} else if (!av_strcasecmp(cmd, "MaxClients")) {
ffserver_get_arg(arg, sizeof(arg), p);
ffserver_set_int_param(&val, arg, 0, 1, 65535, config,
"Invalid MaxClients: %s\n", arg);
"Invalid MaxClients: '%s'\n", arg);
config->nb_max_connections = val;
if (config->nb_max_connections > config->nb_max_http_connections)
ERROR("Inconsistent configuration: MaxClients(%d) > MaxHTTPConnections(%d)\n",
config->nb_max_connections, config->nb_max_http_connections);
if (config->nb_max_connections > config->nb_max_http_connections) {
ERROR("Inconsistent configuration: MaxClients(%d) > "
"MaxHTTPConnections(%d)\n", config->nb_max_connections,
config->nb_max_http_connections);
}
} else if (!av_strcasecmp(cmd, "MaxBandwidth")) {
int64_t llval;
char *tailp;
@@ -626,12 +664,14 @@ static int ffserver_parse_config_global(FFServerConfig *config, const char *cmd,
errno = 0;
llval = strtoll(arg, &tailp, 10);
if (llval < 10 || llval > 10000000 || tailp[0] || errno)
ERROR("Invalid MaxBandwidth: %s\n", arg);
ERROR("Invalid MaxBandwidth: '%s'\n", arg);
else
config->max_bandwidth = llval;
} else if (!av_strcasecmp(cmd, "CustomLog")) {
if (!config->debug)
ffserver_get_arg(config->logfilename, sizeof(config->logfilename), p);
if (!config->debug) {
ffserver_get_arg(config->logfilename, sizeof(config->logfilename),
p);
}
} else if (!av_strcasecmp(cmd, "LoadModule")) {
ERROR("Loadable modules are no longer supported\n");
} else if (!av_strcasecmp(cmd, "NoDefaults")) {
@@ -695,15 +735,16 @@ static int ffserver_parse_config_feed(FFServerConfig *config, const char *cmd, c
feed->child_argv[i] =
av_asprintf("http://%s:%d/%s",
(config->http_addr.sin_addr.s_addr == INADDR_ANY) ? "127.0.0.1" :
inet_ntoa(config->http_addr.sin_addr), ntohs(config->http_addr.sin_port),
feed->filename);
(config->http_addr.sin_addr.s_addr == INADDR_ANY) ?
"127.0.0.1" : inet_ntoa(config->http_addr.sin_addr),
ntohs(config->http_addr.sin_port), feed->filename);
if (!feed->child_argv[i])
return AVERROR(ENOMEM);
} else if (!av_strcasecmp(cmd, "ACL")) {
ffserver_parse_acl_row(NULL, feed, NULL, *p, config->filename,
config->line_num);
} else if (!av_strcasecmp(cmd, "File") || !av_strcasecmp(cmd, "ReadOnlyFile")) {
} else if (!av_strcasecmp(cmd, "File") ||
!av_strcasecmp(cmd, "ReadOnlyFile")) {
ffserver_get_arg(feed->feed_filename, sizeof(feed->feed_filename), p);
feed->readonly = !av_strcasecmp(cmd, "ReadOnlyFile");
} else if (!av_strcasecmp(cmd, "Truncate")) {
@@ -712,8 +753,8 @@ static int ffserver_parse_config_feed(FFServerConfig *config, const char *cmd, c
if (!arg[0]) {
feed->truncate = 1;
} else {
WARNING("Truncate N syntax in configuration file is deprecated, "
"use Truncate alone with no arguments\n");
WARNING("Truncate N syntax in configuration file is deprecated. "
"Use Truncate alone with no arguments.\n");
feed->truncate = strtod(arg, NULL);
}
} else if (!av_strcasecmp(cmd, "FileMaxSize")) {
@@ -734,13 +775,14 @@ static int ffserver_parse_config_feed(FFServerConfig *config, const char *cmd, c
fsize *= 1024 * 1024 * 1024;
break;
default:
ERROR("Invalid file size: %s\n", arg);
ERROR("Invalid file size: '%s'\n", arg);
break;
}
feed->feed_max_size = (int64_t)fsize;
if (feed->feed_max_size < FFM_PACKET_SIZE*4)
ERROR("Feed max file size is too small, must be at least %d\n",
FFM_PACKET_SIZE*4);
if (feed->feed_max_size < FFM_PACKET_SIZE*4) {
ERROR("Feed max file size is too small. Must be at least %d.\n",
FFM_PACKET_SIZE*4);
}
} else if (!av_strcasecmp(cmd, "</Feed>")) {
*pfeed = NULL;
} else {
@@ -820,11 +862,13 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
} else {
stream->stream_type = STREAM_TYPE_LIVE;
/* JPEG cannot be used here, so use single frame MJPEG */
if (!strcmp(arg, "jpeg"))
strcpy(arg, "mjpeg");
if (!strcmp(arg, "jpeg")) {
strcpy(arg, "singlejpeg");
stream->single_frame=1;
}
stream->fmt = ffserver_guess_format(arg, NULL, NULL);
if (!stream->fmt)
ERROR("Unknown Format: %s\n", arg);
ERROR("Unknown Format: '%s'\n", arg);
}
if (stream->fmt) {
config->guessed_audio_codec_id = stream->fmt->audio_codec;
@@ -834,7 +878,7 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
ffserver_get_arg(arg, sizeof(arg), p);
stream->ifmt = av_find_input_format(arg);
if (!stream->ifmt)
ERROR("Unknown input format: %s\n", arg);
ERROR("Unknown input format: '%s'\n", arg);
} else if (!av_strcasecmp(cmd, "FaviconURL")) {
if (stream->stream_type == STREAM_TYPE_STATUS)
ffserver_get_arg(stream->feed_filename,
@@ -851,8 +895,8 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
for (i = 0; i < strlen(cmd); i++)
key[i] = av_tolower(cmd[i]);
key[i] = 0;
WARNING("'%s' option in configuration file is deprecated, "
"use 'Metadata %s VALUE' instead\n", cmd, key);
WARNING("Deprecated '%s' option in configuration file. Use "
"'Metadata %s VALUE' instead.\n", cmd, key);
if (av_dict_set(&stream->metadata, key, arg, 0) < 0)
goto nomem;
} else if (!av_strcasecmp(cmd, "Metadata")) {
@@ -878,8 +922,9 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
float f;
ffserver_get_arg(arg, sizeof(arg), p);
ffserver_set_float_param(&f, arg, 1000, -FLT_MAX, FLT_MAX, config,
"Invalid %s: %s\n", cmd, arg);
if (ffserver_save_avoption_int("ab", (int64_t)lrintf(f), AV_OPT_FLAG_AUDIO_PARAM, config) < 0)
"Invalid %s: '%s'\n", cmd, arg);
if (ffserver_save_avoption_int("ab", (int64_t)lrintf(f),
AV_OPT_FLAG_AUDIO_PARAM, config) < 0)
goto nomem;
} else if (!av_strcasecmp(cmd, "AudioChannels")) {
ffserver_get_arg(arg, sizeof(arg), p);
@@ -897,15 +942,15 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
if (dash) {
*dash = '\0';
dash++;
if (ffserver_set_int_param(&minrate, arg, 1000, 0, INT_MAX, config, "Invalid %s: %s", cmd, arg) >= 0 &&
ffserver_set_int_param(&maxrate, dash, 1000, 0, INT_MAX, config, "Invalid %s: %s", cmd, arg) >= 0) {
if (ffserver_set_int_param(&minrate, arg, 1000, 0, INT_MAX, config, "Invalid %s: '%s'", cmd, arg) >= 0 &&
ffserver_set_int_param(&maxrate, dash, 1000, 0, INT_MAX, config, "Invalid %s: '%s'", cmd, arg) >= 0) {
if (ffserver_save_avoption_int("minrate", minrate, AV_OPT_FLAG_VIDEO_PARAM, config) < 0 ||
ffserver_save_avoption_int("maxrate", maxrate, AV_OPT_FLAG_VIDEO_PARAM, config) < 0)
goto nomem;
}
} else
ERROR("Incorrect format for VideoBitRateRange -- should be "
"<min>-<max>: %s\n", arg);
ERROR("Incorrect format for VideoBitRateRange. It should be "
"<min>-<max>: '%s'.\n", arg);
} else if (!av_strcasecmp(cmd, "Debug")) {
ffserver_get_arg(arg, sizeof(arg), p);
if (ffserver_save_avoption("debug", arg, AV_OPT_FLAG_AUDIO_PARAM, config) < 0 ||
@@ -919,19 +964,19 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
} else if (!av_strcasecmp(cmd, "VideoBufferSize")) {
ffserver_get_arg(arg, sizeof(arg), p);
ffserver_set_int_param(&val, arg, 8*1024, 0, INT_MAX, config,
"Invalid %s: %s", cmd, arg);
"Invalid %s: '%s'", cmd, arg);
if (ffserver_save_avoption_int("bufsize", val, AV_OPT_FLAG_VIDEO_PARAM, config) < 0)
goto nomem;
} else if (!av_strcasecmp(cmd, "VideoBitRateTolerance")) {
ffserver_get_arg(arg, sizeof(arg), p);
ffserver_set_int_param(&val, arg, 1000, INT_MIN, INT_MAX, config,
"Invalid %s: %s", cmd, arg);
"Invalid %s: '%s'", cmd, arg);
if (ffserver_save_avoption_int("bt", val, AV_OPT_FLAG_VIDEO_PARAM, config) < 0)
goto nomem;
} else if (!av_strcasecmp(cmd, "VideoBitRate")) {
ffserver_get_arg(arg, sizeof(arg), p);
ffserver_set_int_param(&val, arg, 1000, INT_MIN, INT_MAX, config,
"Invalid %s: %s", cmd, arg);
"Invalid %s: '%s'", cmd, arg);
if (ffserver_save_avoption_int("b", val, AV_OPT_FLAG_VIDEO_PARAM, config) < 0)
goto nomem;
} else if (!av_strcasecmp(cmd, "VideoSize")) {
@@ -956,7 +1001,7 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
ffserver_get_arg(arg, sizeof(arg), p);
pix_fmt = av_get_pix_fmt(arg);
if (pix_fmt == AV_PIX_FMT_NONE)
ERROR("Unknown pixel format: %s\n", arg);
ERROR("Unknown pixel format: '%s'\n", arg);
else if (ffserver_save_avoption("pixel_format", arg, AV_OPT_FLAG_VIDEO_PARAM, config) < 0)
goto nomem;
} else if (!av_strcasecmp(cmd, "VideoGopSize")) {
@@ -979,9 +1024,11 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
ffserver_get_arg(arg, sizeof(arg), p);
ffserver_get_arg(arg2, sizeof(arg2), p);
if (!av_strcasecmp(cmd, "AVOptionVideo"))
ret = ffserver_save_avoption(arg, arg2, AV_OPT_FLAG_VIDEO_PARAM, config);
ret = ffserver_save_avoption(arg, arg2, AV_OPT_FLAG_VIDEO_PARAM,
config);
else
ret = ffserver_save_avoption(arg, arg2, AV_OPT_FLAG_AUDIO_PARAM, config);
ret = ffserver_save_avoption(arg, arg2, AV_OPT_FLAG_AUDIO_PARAM,
config);
if (ret < 0)
goto nomem;
} else if (!av_strcasecmp(cmd, "AVPresetVideo") ||
@@ -994,7 +1041,8 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
} else if (!av_strcasecmp(cmd, "VideoTag")) {
ffserver_get_arg(arg, sizeof(arg), p);
if (strlen(arg) == 4 &&
ffserver_save_avoption_int("codec_tag", MKTAG(arg[0], arg[1], arg[2], arg[3]),
ffserver_save_avoption_int("codec_tag",
MKTAG(arg[0], arg[1], arg[2], arg[3]),
AV_OPT_FLAG_VIDEO_PARAM, config) < 0)
goto nomem;
} else if (!av_strcasecmp(cmd, "BitExact")) {
@@ -1009,7 +1057,7 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
} else if (!av_strcasecmp(cmd, "Qscale")) {
ffserver_get_arg(arg, sizeof(arg), p);
ffserver_set_int_param(&val, arg, 0, INT_MIN, INT_MAX, config,
"Invalid Qscale: %s\n", arg);
"Invalid Qscale: '%s'\n", arg);
if (ffserver_save_avoption("flags", "+qscale", AV_OPT_FLAG_VIDEO_PARAM, config) < 0 ||
ffserver_save_avoption_int("global_quality", FF_QP2LAMBDA * val,
AV_OPT_FLAG_VIDEO_PARAM, config) < 0)
@@ -1050,18 +1098,18 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
} else if (!av_strcasecmp(cmd, "MulticastAddress")) {
ffserver_get_arg(arg, sizeof(arg), p);
if (resolve_host(&stream->multicast_ip, arg))
ERROR("Invalid host/IP address: %s\n", arg);
ERROR("Invalid host/IP address: '%s'\n", arg);
stream->is_multicast = 1;
stream->loop = 1; /* default is looping */
} else if (!av_strcasecmp(cmd, "MulticastPort")) {
ffserver_get_arg(arg, sizeof(arg), p);
ffserver_set_int_param(&val, arg, 0, 1, 65535, config,
"Invalid MulticastPort: %s\n", arg);
"Invalid MulticastPort: '%s'\n", arg);
stream->multicast_port = val;
} else if (!av_strcasecmp(cmd, "MulticastTTL")) {
ffserver_get_arg(arg, sizeof(arg), p);
ffserver_set_int_param(&val, arg, 0, INT_MIN, INT_MAX, config,
"Invalid MulticastTTL: %s\n", arg);
"Invalid MulticastTTL: '%s'\n", arg);
stream->multicast_ttl = val;
} else if (!av_strcasecmp(cmd, "NoLoop")) {
stream->loop = 0;
@@ -1070,13 +1118,15 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
if (stream->feed && stream->fmt && strcmp(stream->fmt->name, "ffm")) {
if (config->dummy_actx->codec_id == AV_CODEC_ID_NONE)
config->dummy_actx->codec_id = config->guessed_audio_codec_id;
if (!config->no_audio && config->dummy_actx->codec_id != AV_CODEC_ID_NONE) {
if (!config->no_audio &&
config->dummy_actx->codec_id != AV_CODEC_ID_NONE) {
AVCodecContext *audio_enc = avcodec_alloc_context3(avcodec_find_encoder(config->dummy_actx->codec_id));
add_codec(stream, audio_enc, config);
}
if (config->dummy_vctx->codec_id == AV_CODEC_ID_NONE)
config->dummy_vctx->codec_id = config->guessed_video_codec_id;
if (!config->no_video && config->dummy_vctx->codec_id != AV_CODEC_ID_NONE) {
if (!config->no_video &&
config->dummy_vctx->codec_id != AV_CODEC_ID_NONE) {
AVCodecContext *video_enc = avcodec_alloc_context3(avcodec_find_encoder(config->dummy_vctx->codec_id));
add_codec(stream, video_enc, config);
}
@@ -1086,7 +1136,8 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
avcodec_free_context(&config->dummy_vctx);
avcodec_free_context(&config->dummy_actx);
*pstream = NULL;
} else if (!av_strcasecmp(cmd, "File") || !av_strcasecmp(cmd, "ReadOnlyFile")) {
} else if (!av_strcasecmp(cmd, "File") ||
!av_strcasecmp(cmd, "ReadOnlyFile")) {
ffserver_get_arg(stream->feed_filename, sizeof(stream->feed_filename),
p);
} else if (!av_strcasecmp(cmd, "UseDefaults")) {
@@ -1110,7 +1161,8 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
return AVERROR(ENOMEM);
}
static int ffserver_parse_config_redirect(FFServerConfig *config, const char *cmd, const char **p,
static int ffserver_parse_config_redirect(FFServerConfig *config,
const char *cmd, const char **p,
FFServerStream **predirect)
{
FFServerStream *redirect;
@@ -1157,7 +1209,6 @@ int ffserver_parse_ffconfig(const char *filename, FFServerConfig *config)
av_assert0(config);
config->line_num = 0;
f = fopen(filename, "r");
if (!f) {
ret = AVERROR(errno);
@@ -1167,14 +1218,14 @@ int ffserver_parse_ffconfig(const char *filename, FFServerConfig *config)
}
config->first_stream = NULL;
last_stream = &config->first_stream;
config->first_feed = NULL;
last_feed = &config->first_feed;
config->errors = config->warnings = 0;
for(;;) {
if (fgets(line, sizeof(line), f) == NULL)
break;
last_stream = &config->first_stream;
last_feed = &config->first_feed;
config->line_num = 0;
while (fgets(line, sizeof(line), f) != NULL) {
config->line_num++;
p = line;
while (av_isspace(*p))
@@ -1189,14 +1240,14 @@ int ffserver_parse_ffconfig(const char *filename, FFServerConfig *config)
if (opening && (stream || feed || redirect)) {
ERROR("Already in a tag\n");
} else {
if ((ret = ffserver_parse_config_feed(config, cmd, &p, &feed)) < 0)
ret = ffserver_parse_config_feed(config, cmd, &p, &feed);
if (ret < 0)
break;
if (opening) {
/* add in stream list */
/* add in stream & feed list */
*last_stream = feed;
last_stream = &feed->next;
/* add in feed list */
*last_feed = feed;
last_stream = &feed->next;
last_feed = &feed->next_feed;
}
}
@@ -1205,7 +1256,8 @@ int ffserver_parse_ffconfig(const char *filename, FFServerConfig *config)
if (opening && (stream || feed || redirect)) {
ERROR("Already in a tag\n");
} else {
if ((ret = ffserver_parse_config_stream(config, cmd, &p, &stream)) < 0)
ret = ffserver_parse_config_stream(config, cmd, &p, &stream);
if (ret < 0)
break;
if (opening) {
/* add in stream list */
@@ -1218,7 +1270,9 @@ int ffserver_parse_ffconfig(const char *filename, FFServerConfig *config)
if (opening && (stream || feed || redirect))
ERROR("Already in a tag\n");
else {
if ((ret = ffserver_parse_config_redirect(config, cmd, &p, &redirect)) < 0)
ret = ffserver_parse_config_redirect(config, cmd, &p,
&redirect);
if (ret < 0)
break;
if (opening) {
/* add in stream list */
@@ -1231,7 +1285,8 @@ int ffserver_parse_ffconfig(const char *filename, FFServerConfig *config)
}
}
if (stream || feed || redirect)
ERROR("Not closed tag %s\n", stream ? "<Stream>" : (feed ? "<Feed>" : "<Redirect>"));
ERROR("Missing closing </%s> tag\n",
stream ? "Stream" : (feed ? "Feed" : "Redirect"));
fclose(f);
if (ret < 0)

View File

@@ -79,6 +79,7 @@ typedef struct FFServerStream {
int multicast_port; /* first port used for multicast */
int multicast_ttl;
int loop; /* if true, send the stream in loops (only meaningful if file) */
char single_frame; /* only single frame */
/* feed specific */
int feed_opened; /* true if someone is writing to the feed */

View File

@@ -38,15 +38,15 @@ static av_cold int zero12v_decode_init(AVCodecContext *avctx)
static int zero12v_decode_frame(AVCodecContext *avctx, void *data,
int *got_frame, AVPacket *avpkt)
{
int line = 0, ret;
int line, ret;
const int width = avctx->width;
AVFrame *pic = data;
uint16_t *y, *u, *v;
const uint8_t *line_end, *src = avpkt->data;
int stride = avctx->width * 8 / 3;
if (width == 1) {
av_log(avctx, AV_LOG_ERROR, "Width 1 not supported.\n");
if (width <= 1 || avctx->height <= 0) {
av_log(avctx, AV_LOG_ERROR, "Dimensions %dx%d not supported.\n", width, avctx->height);
return AVERROR_INVALIDDATA;
}
@@ -67,45 +67,45 @@ static int zero12v_decode_frame(AVCodecContext *avctx, void *data,
pic->pict_type = AV_PICTURE_TYPE_I;
pic->key_frame = 1;
y = (uint16_t *)pic->data[0];
u = (uint16_t *)pic->data[1];
v = (uint16_t *)pic->data[2];
line_end = avpkt->data + stride;
for (line = 0; line < avctx->height; line++) {
uint16_t y_temp[6] = {0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000};
uint16_t u_temp[3] = {0x8000, 0x8000, 0x8000};
uint16_t v_temp[3] = {0x8000, 0x8000, 0x8000};
int x;
y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
while (line++ < avctx->height) {
while (1) {
uint32_t t = AV_RL32(src);
for (x = 0; x < width; x += 6) {
uint32_t t;
if (width - x < 6 || line_end - src < 16) {
y = y_temp;
u = u_temp;
v = v_temp;
}
if (line_end - src < 4)
break;
t = AV_RL32(src);
src += 4;
*u++ = t << 6 & 0xFFC0;
*y++ = t >> 4 & 0xFFC0;
*v++ = t >> 14 & 0xFFC0;
if (src >= line_end - 1) {
*y = 0x80;
src++;
line_end += stride;
y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
if (line_end - src < 4)
break;
}
t = AV_RL32(src);
src += 4;
*y++ = t << 6 & 0xFFC0;
*u++ = t >> 4 & 0xFFC0;
*y++ = t >> 14 & 0xFFC0;
if (src >= line_end - 2) {
if (!(width & 1)) {
*y = 0x80;
src += 2;
}
line_end += stride;
y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
if (line_end - src < 4)
break;
}
t = AV_RL32(src);
src += 4;
@@ -113,15 +113,8 @@ static int zero12v_decode_frame(AVCodecContext *avctx, void *data,
*y++ = t >> 4 & 0xFFC0;
*u++ = t >> 14 & 0xFFC0;
if (src >= line_end - 1) {
*y = 0x80;
src++;
line_end += stride;
y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
if (line_end - src < 4)
break;
}
t = AV_RL32(src);
src += 4;
@@ -129,18 +122,21 @@ static int zero12v_decode_frame(AVCodecContext *avctx, void *data,
*v++ = t >> 4 & 0xFFC0;
*y++ = t >> 14 & 0xFFC0;
if (src >= line_end - 2) {
if (width & 1) {
*y = 0x80;
src += 2;
}
line_end += stride;
y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
if (width - x < 6)
break;
}
}
if (x < width) {
y = x + (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
u = x/2 + (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
v = x/2 + (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
memcpy(y, y_temp, sizeof(*y) * (width - x));
memcpy(u, u_temp, sizeof(*u) * (width - x + 1) / 2);
memcpy(v, v_temp, sizeof(*v) * (width - x + 1) / 2);
}
line_end += stride;
src = line_end - stride;
}
*got_frame = 1;

View File

@@ -5,8 +5,10 @@ NAME = avcodec
HEADERS = avcodec.h \
avfft.h \
dv_profile.h \
d3d11va.h \
dxva2.h \
old_codec_ids.h \
qsv.h \
vaapi.h \
vda.h \
vdpau.h \
@@ -23,11 +25,11 @@ OBJS = allcodecs.o \
bitstream_filter.o \
codec_desc.o \
dv_profile.o \
fmtconvert.o \
imgconvert.o \
mathtables.o \
options.o \
parser.o \
qsv_api.o \
raw.o \
resample.o \
resample2.o \
@@ -54,6 +56,7 @@ FFT-OBJS-$(CONFIG_HARDCODED_TABLES) += cos_tables.o cos_fixed_tables.o
OBJS-$(CONFIG_FFT) += avfft.o fft_fixed.o fft_float.o \
fft_fixed_32.o fft_init_table.o \
$(FFT-OBJS-yes)
OBJS-$(CONFIG_FMTCONVERT) += fmtconvert.o
OBJS-$(CONFIG_GOLOMB) += golomb.o
OBJS-$(CONFIG_H263DSP) += h263dsp.o
OBJS-$(CONFIG_H264CHROMA) += h264chroma.o
@@ -66,7 +69,9 @@ OBJS-$(CONFIG_HUFFYUVDSP) += huffyuvdsp.o
OBJS-$(CONFIG_HUFFYUVENCDSP) += huffyuvencdsp.o
OBJS-$(CONFIG_IDCTDSP) += idctdsp.o simple_idct.o jrevdct.o
OBJS-$(CONFIG_IIRFILTER) += iirfilter.o
OBJS-$(CONFIG_IMDCT15) += imdct15.o
OBJS-$(CONFIG_INTRAX8) += intrax8.o intrax8dsp.o
OBJS-$(CONFIG_JPEGTABLES) += jpegtables.o
OBJS-$(CONFIG_LIBXVID) += libxvid_rc.o
OBJS-$(CONFIG_LLAUDDSP) += lossless_audiodsp.o
OBJS-$(CONFIG_LLVIDDSP) += lossless_videodsp.o
@@ -81,13 +86,18 @@ OBJS-$(CONFIG_MPEGAUDIODSP) += mpegaudiodsp.o \
mpegaudiodsp_data.o \
mpegaudiodsp_fixed.o \
mpegaudiodsp_float.o
OBJS-$(CONFIG_MPEGVIDEO) += mpegvideo.o mpegvideodsp.o \
mpegvideo_motion.o mpegutils.o
OBJS-$(CONFIG_MPEGVIDEO) += mpegvideo.o mpegvideodsp.o rl.o \
mpegvideo_motion.o mpegutils.o \
mpegvideodata.o
OBJS-$(CONFIG_MPEGVIDEOENC) += mpegvideo_enc.o mpeg12data.o \
motion_est.o ratecontrol.o \
mpegvideoencdsp.o
OBJS-$(CONFIG_NVENC) += nvenc.o
OBJS-$(CONFIG_PIXBLOCKDSP) += pixblockdsp.o
OBJS-$(CONFIG_QPELDSP) += qpeldsp.o
OBJS-$(CONFIG_QSV) += qsv.o
OBJS-$(CONFIG_QSVDEC) += qsvdec.o
OBJS-$(CONFIG_QSVENC) += qsvenc.o
OBJS-$(CONFIG_RANGECODER) += rangecoder.o
RDFT-OBJS-$(CONFIG_HARDCODED_TABLES) += sin_tables.o
OBJS-$(CONFIG_RDFT) += rdft.o $(RDFT-OBJS-yes)
@@ -129,7 +139,7 @@ OBJS-$(CONFIG_AMRWB_DECODER) += amrwbdec.o celp_filters.o \
celp_math.o acelp_filters.o \
acelp_vectors.o \
acelp_pitch_delay.o
OBJS-$(CONFIG_AMV_ENCODER) += mjpegenc.o mjpeg.o mjpegenc_common.o \
OBJS-$(CONFIG_AMV_ENCODER) += mjpegenc.o mjpegenc_common.o \
mpegvideo_enc.o motion_est.o \
ratecontrol.o mpeg12data.o \
mpegvideo.o
@@ -137,6 +147,7 @@ OBJS-$(CONFIG_ANM_DECODER) += anm.o
OBJS-$(CONFIG_ANSI_DECODER) += ansi.o cga_data.o
OBJS-$(CONFIG_APE_DECODER) += apedec.o
OBJS-$(CONFIG_APNG_DECODER) += png.o pngdec.o pngdsp.o
OBJS-$(CONFIG_APNG_ENCODER) += png.o pngenc.o
OBJS-$(CONFIG_SSA_DECODER) += assdec.o ass.o ass_split.o
OBJS-$(CONFIG_SSA_ENCODER) += assenc.o ass.o
OBJS-$(CONFIG_ASS_DECODER) += assdec.o ass.o ass_split.o
@@ -151,7 +162,7 @@ OBJS-$(CONFIG_ATRAC3P_DECODER) += atrac3plusdec.o atrac3plus.o \
atrac3plusdsp.o atrac.o
OBJS-$(CONFIG_AURA_DECODER) += cyuv.o
OBJS-$(CONFIG_AURA2_DECODER) += aura.o
OBJS-$(CONFIG_AVRN_DECODER) += avrndec.o mjpegdec.o mjpeg.o
OBJS-$(CONFIG_AVRN_DECODER) += avrndec.o mjpegdec.o
OBJS-$(CONFIG_AVRP_DECODER) += r210dec.o
OBJS-$(CONFIG_AVRP_ENCODER) += r210enc.o
OBJS-$(CONFIG_AVS_DECODER) += avs.o
@@ -173,13 +184,14 @@ OBJS-$(CONFIG_BRENDER_PIX_DECODER) += brenderpix.o
OBJS-$(CONFIG_C93_DECODER) += c93.o
OBJS-$(CONFIG_CAVS_DECODER) += cavs.o cavsdec.o cavsdsp.o \
cavsdata.o mpeg12data.o
OBJS-$(CONFIG_CCAPTION_DECODER) += ccaption_dec.o
OBJS-$(CONFIG_CDGRAPHICS_DECODER) += cdgraphics.o
OBJS-$(CONFIG_CDXL_DECODER) += cdxl.o
OBJS-$(CONFIG_CINEPAK_DECODER) += cinepak.o
OBJS-$(CONFIG_CINEPAK_ENCODER) += cinepakenc.o elbg.o
OBJS-$(CONFIG_CLJR_DECODER) += cljrdec.o
OBJS-$(CONFIG_CLJR_ENCODER) += cljrenc.o
OBJS-$(CONFIG_CLLC_DECODER) += cllc.o
OBJS-$(CONFIG_CLLC_DECODER) += cllc.o canopus.o
OBJS-$(CONFIG_COOK_DECODER) += cook.o
OBJS-$(CONFIG_COMFORTNOISE_DECODER) += cngdec.o celp_filters.o
OBJS-$(CONFIG_COMFORTNOISE_ENCODER) += cngenc.o
@@ -187,8 +199,9 @@ OBJS-$(CONFIG_CPIA_DECODER) += cpia.o
OBJS-$(CONFIG_CSCD_DECODER) += cscd.o
OBJS-$(CONFIG_CYUV_DECODER) += cyuv.o
OBJS-$(CONFIG_DCA_DECODER) += dcadec.o dca.o dcadsp.o \
synth_filter.o
OBJS-$(CONFIG_DCA_ENCODER) += dcaenc.o dca.o
dcadata.o dca_exss.o \
dca_xll.o synth_filter.o
OBJS-$(CONFIG_DCA_ENCODER) += dcaenc.o dca.o dcadata.o
OBJS-$(CONFIG_DIRAC_DECODER) += diracdec.o dirac.o diracdsp.o \
dirac_arith.o mpeg12data.o dirac_dwt.o
OBJS-$(CONFIG_DFA_DECODER) += dfa.o
@@ -202,6 +215,7 @@ OBJS-$(CONFIG_DSD_LSBF_PLANAR_DECODER) += dsddec.o
OBJS-$(CONFIG_DSD_MSBF_PLANAR_DECODER) += dsddec.o
OBJS-$(CONFIG_DSICINAUDIO_DECODER) += dsicinaudio.o
OBJS-$(CONFIG_DSICINVIDEO_DECODER) += dsicinvideo.o
OBJS-$(CONFIG_DSS_SP_DECODER) += dss_sp.o
OBJS-$(CONFIG_DVBSUB_DECODER) += dvbsubdec.o
OBJS-$(CONFIG_DVBSUB_ENCODER) += dvbsub.o
OBJS-$(CONFIG_DVDSUB_DECODER) += dvdsubdec.o
@@ -210,7 +224,7 @@ OBJS-$(CONFIG_DVVIDEO_DECODER) += dvdec.o dv.o dvdata.o
OBJS-$(CONFIG_DVVIDEO_ENCODER) += dvenc.o dv.o dvdata.o
OBJS-$(CONFIG_DXA_DECODER) += dxa.o
OBJS-$(CONFIG_DXTORY_DECODER) += dxtory.o
OBJS-$(CONFIG_EAC3_DECODER) += eac3dec.o eac3_data.o
OBJS-$(CONFIG_EAC3_DECODER) += eac3_data.o
OBJS-$(CONFIG_EAC3_ENCODER) += eac3enc.o eac3_data.o
OBJS-$(CONFIG_EACMV_DECODER) += eacmv.o
OBJS-$(CONFIG_EAMAD_DECODER) += eamad.o eaidct.o mpeg12.o \
@@ -239,7 +253,7 @@ OBJS-$(CONFIG_FLIC_DECODER) += flicvideo.o
OBJS-$(CONFIG_FOURXM_DECODER) += 4xm.o
OBJS-$(CONFIG_FRAPS_DECODER) += fraps.o
OBJS-$(CONFIG_FRWU_DECODER) += frwu.o
OBJS-$(CONFIG_G2M_DECODER) += g2meet.o mjpeg.o
OBJS-$(CONFIG_G2M_DECODER) += g2meet.o
OBJS-$(CONFIG_G723_1_DECODER) += g723_1.o acelp_vectors.o \
celp_filters.o celp_math.o
OBJS-$(CONFIG_G723_1_ENCODER) += g723_1.o acelp_vectors.o celp_math.o
@@ -259,11 +273,17 @@ OBJS-$(CONFIG_H264_DECODER) += h264.o h264_cabac.o h264_cavlc.o \
h264_direct.o h264_loopfilter.o \
h264_mb.o h264_picture.o h264_ps.o \
h264_refs.o h264_sei.o h264_slice.o
OBJS-$(CONFIG_H264_MMAL_DECODER) += mmaldec.o
OBJS-$(CONFIG_H264_VDA_DECODER) += vda_h264_dec.o
OBJS-$(CONFIG_H264_QSV_DECODER) += qsvdec_h264.o
OBJS-$(CONFIG_H264_QSV_ENCODER) += qsvenc_h264.o
OBJS-$(CONFIG_HEVC_DECODER) += hevc.o hevc_mvs.o hevc_ps.o hevc_sei.o \
hevc_cabac.o hevc_refs.o hevcpred.o \
hevcdsp.o hevc_filter.o
OBJS-$(CONFIG_HNM4_VIDEO_DECODER) += hnm4video.o
OBJS-$(CONFIG_HQ_HQA_DECODER) += hq_hqa.o hq_hqadata.o hq_hqadsp.o \
canopus.o
OBJS-$(CONFIG_HQX_DECODER) += hqx.o hqxvlc.o hqxdsp.o canopus.o
OBJS-$(CONFIG_HUFFYUV_DECODER) += huffyuv.o huffyuvdec.o
OBJS-$(CONFIG_HUFFYUV_ENCODER) += huffyuv.o huffyuvenc.o
OBJS-$(CONFIG_IDCIN_DECODER) += idcinvideo.o
@@ -273,8 +293,8 @@ OBJS-$(CONFIG_IFF_ILBM_DECODER) += iff.o
OBJS-$(CONFIG_IMC_DECODER) += imc.o
OBJS-$(CONFIG_INDEO2_DECODER) += indeo2.o
OBJS-$(CONFIG_INDEO3_DECODER) += indeo3.o
OBJS-$(CONFIG_INDEO4_DECODER) += indeo4.o ivi_common.o ivi_dsp.o
OBJS-$(CONFIG_INDEO5_DECODER) += indeo5.o ivi_common.o ivi_dsp.o
OBJS-$(CONFIG_INDEO4_DECODER) += indeo4.o ivi.o ivi_dsp.o
OBJS-$(CONFIG_INDEO5_DECODER) += indeo5.o ivi.o ivi_dsp.o
OBJS-$(CONFIG_INTERPLAY_DPCM_DECODER) += dpcm.o
OBJS-$(CONFIG_INTERPLAY_VIDEO_DECODER) += interplayvideo.o
OBJS-$(CONFIG_JACOSUB_DECODER) += jacosubdec.o ass.o
@@ -288,7 +308,7 @@ OBJS-$(CONFIG_JV_DECODER) += jvdec.o
OBJS-$(CONFIG_KGV1_DECODER) += kgv1dec.o
OBJS-$(CONFIG_KMVC_DECODER) += kmvc.o
OBJS-$(CONFIG_LAGARITH_DECODER) += lagarith.o lagarithrac.o
OBJS-$(CONFIG_LJPEG_ENCODER) += ljpegenc.o mjpeg.o mjpegenc_common.o
OBJS-$(CONFIG_LJPEG_ENCODER) += ljpegenc.o mjpegenc_common.o
OBJS-$(CONFIG_LOCO_DECODER) += loco.o
OBJS-$(CONFIG_MACE3_DECODER) += mace.o
OBJS-$(CONFIG_MACE6_DECODER) += mace.o
@@ -297,8 +317,8 @@ OBJS-$(CONFIG_METASOUND_DECODER) += metasound.o metasound_data.o \
twinvq.o
OBJS-$(CONFIG_MICRODVD_DECODER) += microdvddec.o ass.o
OBJS-$(CONFIG_MIMIC_DECODER) += mimic.o
OBJS-$(CONFIG_MJPEG_DECODER) += mjpegdec.o mjpeg.o
OBJS-$(CONFIG_MJPEG_ENCODER) += mjpegenc.o mjpeg.o mjpegenc_common.o
OBJS-$(CONFIG_MJPEG_DECODER) += mjpegdec.o
OBJS-$(CONFIG_MJPEG_ENCODER) += mjpegenc.o mjpegenc_common.o
OBJS-$(CONFIG_MJPEGB_DECODER) += mjpegbdec.o
OBJS-$(CONFIG_MLP_DECODER) += mlpdec.o mlpdsp.o
OBJS-$(CONFIG_MMVIDEO_DECODER) += mmvideo.o
@@ -349,8 +369,7 @@ OBJS-$(CONFIG_NELLYMOSER_ENCODER) += nellymoserenc.o nellymoser.o
OBJS-$(CONFIG_NUV_DECODER) += nuv.o rtjpeg.o
OBJS-$(CONFIG_ON2AVC_DECODER) += on2avc.o on2avcdata.o
OBJS-$(CONFIG_OPUS_DECODER) += opusdec.o opus.o opus_celt.o \
opus_imdct.o opus_silk.o \
vorbis_data.o
opus_silk.o vorbis_data.o
OBJS-$(CONFIG_PAF_AUDIO_DECODER) += pafaudio.o
OBJS-$(CONFIG_PAF_VIDEO_DECODER) += pafvideo.o
OBJS-$(CONFIG_PAM_DECODER) += pnmdec.o pnm.o
@@ -449,6 +468,7 @@ OBJS-$(CONFIG_TAK_DECODER) += takdec.o tak.o
OBJS-$(CONFIG_TARGA_DECODER) += targa.o
OBJS-$(CONFIG_TARGA_ENCODER) += targaenc.o rle.o
OBJS-$(CONFIG_TARGA_Y216_DECODER) += targa_y216dec.o
OBJS-$(CONFIG_TDSC_DECODER) += tdsc.o
OBJS-$(CONFIG_TIERTEXSEQVIDEO_DECODER) += tiertexseqv.o
OBJS-$(CONFIG_TIFF_DECODER) += tiff.o lzw.o faxcompr.o tiff_data.o tiff_common.o
OBJS-$(CONFIG_TIFF_ENCODER) += tiffenc.o rle.o lzwenc.o tiff_data.o
@@ -497,7 +517,8 @@ OBJS-$(CONFIG_VP6_DECODER) += vp6.o vp56.o vp56data.o vp56dsp.o \
vp6dsp.o vp56rac.o
OBJS-$(CONFIG_VP7_DECODER) += vp8.o vp8dsp.o vp56rac.o
OBJS-$(CONFIG_VP8_DECODER) += vp8.o vp8dsp.o vp56rac.o
OBJS-$(CONFIG_VP9_DECODER) += vp9.o vp9dsp.o vp56rac.o
OBJS-$(CONFIG_VP9_DECODER) += vp9.o vp9dsp.o vp56rac.o vp9dsp_8bpp.o \
vp9dsp_10bpp.o vp9dsp_12bpp.o
OBJS-$(CONFIG_VPLAYER_DECODER) += textdec.o ass.o
OBJS-$(CONFIG_VQA_DECODER) += vqavideo.o
OBJS-$(CONFIG_WAVPACK_DECODER) += wavpack.o
@@ -617,8 +638,8 @@ OBJS-$(CONFIG_ADPCM_EA_R1_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_EA_R2_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_EA_R3_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_EA_XAS_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_G722_DECODER) += g722.o g722dec.o
OBJS-$(CONFIG_ADPCM_G722_ENCODER) += g722.o g722enc.o
OBJS-$(CONFIG_ADPCM_G722_DECODER) += g722.o g722dsp.o g722dec.o
OBJS-$(CONFIG_ADPCM_G722_ENCODER) += g722.o g722dsp.o g722enc.o
OBJS-$(CONFIG_ADPCM_G726_DECODER) += g726.o
OBJS-$(CONFIG_ADPCM_G726_ENCODER) += g726.o
OBJS-$(CONFIG_ADPCM_G726LE_DECODER) += g726.o
@@ -652,27 +673,33 @@ OBJS-$(CONFIG_ADPCM_YAMAHA_ENCODER) += adpcmenc.o adpcm_data.o
OBJS-$(CONFIG_VIMA_DECODER) += vima.o adpcm_data.o
# hardware accelerators
OBJS-$(CONFIG_D3D11VA) += dxva2.o
OBJS-$(CONFIG_DXVA2) += dxva2.o
OBJS-$(CONFIG_VAAPI) += vaapi.o
OBJS-$(CONFIG_VDA) += vda.o
OBJS-$(CONFIG_VDPAU) += vdpau.o
OBJS-$(CONFIG_H263_VAAPI_HWACCEL) += vaapi_mpeg4.o vaapi_mpeg.o
OBJS-$(CONFIG_H263_VAAPI_HWACCEL) += vaapi_mpeg4.o
OBJS-$(CONFIG_H263_VDPAU_HWACCEL) += vdpau_mpeg4.o
OBJS-$(CONFIG_H264_D3D11VA_HWACCEL) += dxva2_h264.o
OBJS-$(CONFIG_H264_DXVA2_HWACCEL) += dxva2_h264.o
OBJS-$(CONFIG_H264_VAAPI_HWACCEL) += vaapi_h264.o
OBJS-$(CONFIG_H264_VDA_HWACCEL) += vda_h264.o
OBJS-$(CONFIG_H264_VDPAU_HWACCEL) += vdpau_h264.o
OBJS-$(CONFIG_HEVC_D3D11VA_HWACCEL) += dxva2_hevc.o
OBJS-$(CONFIG_HEVC_DXVA2_HWACCEL) += dxva2_hevc.o
OBJS-$(CONFIG_MPEG1_VDPAU_HWACCEL) += vdpau_mpeg12.o
OBJS-$(CONFIG_MPEG1_XVMC_HWACCEL) += mpegvideo_xvmc.o
OBJS-$(CONFIG_MPEG2_D3D11VA_HWACCEL) += dxva2_mpeg2.o
OBJS-$(CONFIG_MPEG2_DXVA2_HWACCEL) += dxva2_mpeg2.o
OBJS-$(CONFIG_MPEG2_VAAPI_HWACCEL) += vaapi_mpeg2.o vaapi_mpeg.o
OBJS-$(CONFIG_MPEG2_VAAPI_HWACCEL) += vaapi_mpeg2.o
OBJS-$(CONFIG_MPEG2_VDPAU_HWACCEL) += vdpau_mpeg12.o
OBJS-$(CONFIG_MPEG2_XVMC_HWACCEL) += mpegvideo_xvmc.o
OBJS-$(CONFIG_MPEG4_VAAPI_HWACCEL) += vaapi_mpeg4.o vaapi_mpeg.o
OBJS-$(CONFIG_MPEG4_VAAPI_HWACCEL) += vaapi_mpeg4.o
OBJS-$(CONFIG_MPEG4_VDPAU_HWACCEL) += vdpau_mpeg4.o
OBJS-$(CONFIG_VC1_D3D11VA_HWACCEL) += dxva2_vc1.o
OBJS-$(CONFIG_VC1_DXVA2_HWACCEL) += dxva2_vc1.o
OBJS-$(CONFIG_VC1_VAAPI_HWACCEL) += vaapi_vc1.o vaapi_mpeg.o
OBJS-$(CONFIG_VC1_VAAPI_HWACCEL) += vaapi_vc1.o
OBJS-$(CONFIG_VC1_VDPAU_HWACCEL) += vdpau_vc1.o
# libavformat dependencies
@@ -699,13 +726,13 @@ OBJS-$(CONFIG_MPEGTS_MUXER) += mpeg4audio.o
OBJS-$(CONFIG_MPEGTS_DEMUXER) += mpeg4audio.o mpegaudiodata.o
OBJS-$(CONFIG_MXF_MUXER) += dnxhddata.o
OBJS-$(CONFIG_NUT_MUXER) += mpegaudiodata.o
OBJS-$(CONFIG_NUT_DEMUXER) += mpegaudiodata.o mpeg4audio.o
OBJS-$(CONFIG_OGA_MUXER) += flac.o flacdata.o
OBJS-$(CONFIG_OGG_DEMUXER) += mpeg12data.o \
dirac.o vorbis_data.o
OBJS-$(CONFIG_OGG_MUXER) += flac.o flacdata.o \
vorbis_data.o
OBJS-$(CONFIG_RTP_MUXER) += mpeg4audio.o
OBJS-$(CONFIG_RTPDEC) += mjpeg.o
OBJS-$(CONFIG_SPDIF_DEMUXER) += aacadtsdec.o mpeg4audio.o
OBJS-$(CONFIG_SPDIF_MUXER) += dca.o
OBJS-$(CONFIG_TAK_DEMUXER) += tak.o
@@ -720,6 +747,7 @@ OBJS-$(CONFIG_ELBG_FILTER) += elbg.o
# external codec libraries
OBJS-$(CONFIG_LIBAACPLUS_ENCODER) += libaacplus.o
OBJS-$(CONFIG_LIBCELT_DECODER) += libcelt_dec.o
OBJS-$(CONFIG_LIBDCADEC_DECODER) += libdcadec.o dca.o
OBJS-$(CONFIG_LIBFAAC_ENCODER) += libfaac.o
OBJS-$(CONFIG_LIBFDK_AAC_DECODER) += libfdk-aacdec.o
OBJS-$(CONFIG_LIBFDK_AAC_ENCODER) += libfdk-aacenc.o
@@ -733,6 +761,7 @@ OBJS-$(CONFIG_LIBMP3LAME_ENCODER) += libmp3lame.o mpegaudiodecheader.o
OBJS-$(CONFIG_LIBOPENCORE_AMRNB_DECODER) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENCORE_AMRNB_ENCODER) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENCORE_AMRWB_DECODER) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENH264_ENCODER) += libopenh264enc.o
OBJS-$(CONFIG_LIBOPENJPEG_DECODER) += libopenjpegdec.o
OBJS-$(CONFIG_LIBOPENJPEG_ENCODER) += libopenjpegenc.o
OBJS-$(CONFIG_LIBOPUS_DECODER) += libopusdec.o libopus.o \
@@ -761,7 +790,8 @@ OBJS-$(CONFIG_LIBVPX_VP8_ENCODER) += libvpxenc.o
OBJS-$(CONFIG_LIBVPX_VP9_DECODER) += libvpxdec.o libvpx.o
OBJS-$(CONFIG_LIBVPX_VP9_ENCODER) += libvpxenc.o libvpx.o
OBJS-$(CONFIG_LIBWAVPACK_ENCODER) += libwavpackenc.o
OBJS-$(CONFIG_LIBWEBP_ENCODER) += libwebpenc.o
OBJS-$(CONFIG_LIBWEBP_ENCODER) += libwebpenc_common.o libwebpenc.o
OBJS-$(CONFIG_LIBWEBP_ANIM_ENCODER) += libwebpenc_common.o libwebpenc_animencoder.o
OBJS-$(CONFIG_LIBX264_ENCODER) += libx264.o
OBJS-$(CONFIG_LIBX265_ENCODER) += libx265.o
OBJS-$(CONFIG_LIBXAVS_ENCODER) += libxavs.o
@@ -808,9 +838,7 @@ OBJS-$(CONFIG_PNM_PARSER) += pnm_parser.o pnm.o
OBJS-$(CONFIG_RV30_PARSER) += rv34_parser.o
OBJS-$(CONFIG_RV40_PARSER) += rv34_parser.o
OBJS-$(CONFIG_TAK_PARSER) += tak_parser.o tak.o
OBJS-$(CONFIG_VC1_PARSER) += vc1_parser.o vc1.o vc1data.o vc1dsp.o \
msmpeg4.o msmpeg4data.o mpeg4video.o \
h263.o
OBJS-$(CONFIG_VC1_PARSER) += vc1_parser.o
OBJS-$(CONFIG_VP3_PARSER) += vp3_parser.o
OBJS-$(CONFIG_VP8_PARSER) += vp8_parser.o
OBJS-$(CONFIG_VP9_PARSER) += vp9_parser.o
@@ -822,8 +850,9 @@ OBJS-$(CONFIG_CHOMP_BSF) += chomp_bsf.o
OBJS-$(CONFIG_DUMP_EXTRADATA_BSF) += dump_extradata_bsf.o
OBJS-$(CONFIG_H264_MP4TOANNEXB_BSF) += h264_mp4toannexb_bsf.o
OBJS-$(CONFIG_IMX_DUMP_HEADER_BSF) += imx_dump_header_bsf.o
OBJS-$(CONFIG_MJPEG2JPEG_BSF) += mjpeg2jpeg_bsf.o mjpeg.o
OBJS-$(CONFIG_MJPEG2JPEG_BSF) += mjpeg2jpeg_bsf.o
OBJS-$(CONFIG_MJPEGA_DUMP_HEADER_BSF) += mjpega_dump_header_bsf.o
OBJS-$(CONFIG_MPEG4_UNPACK_BFRAMES_BSF) += mpeg4_unpack_bframes_bsf.o
OBJS-$(CONFIG_MOV2TEXTSUB_BSF) += movsub_bsf.o
OBJS-$(CONFIG_MP3_HEADER_DECOMPRESS_BSF) += mp3_header_decompress_bsf.o \
mpegaudiodata.o
@@ -847,17 +876,27 @@ SKIPHEADERS += %_tablegen.h \
libutvideo.h \
old_codec_ids.h \
tableprint.h \
tableprint_vlc.h \
$(ARCH)/vp56_arith.h \
SKIPHEADERS-$(CONFIG_D3D11VA) += d3d11va.h dxva2_internal.h
SKIPHEADERS-$(CONFIG_DXVA2) += dxva2.h dxva2_internal.h
SKIPHEADERS-$(CONFIG_LIBSCHROEDINGER) += libschroedinger.h
SKIPHEADERS-$(CONFIG_LIBUTVIDEO) += libutvideo.h
SKIPHEADERS-$(CONFIG_QSV) += qsv.h qsv_internal.h
SKIPHEADERS-$(CONFIG_QSVDEC) += qsvdec.h
SKIPHEADERS-$(CONFIG_QSVENC) += qsvenc.h
SKIPHEADERS-$(CONFIG_XVMC) += xvmc.h
SKIPHEADERS-$(CONFIG_VAAPI) += vaapi_internal.h
SKIPHEADERS-$(CONFIG_VDA) += vda.h vda_internal.h
SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h vdpau_internal.h
TESTPROGS = imgconvert \
mathops \
options \
avfft \
TESTPROGS += api-flac
TESTPROGS-$(CONFIG_CABAC) += cabac
TESTPROGS-$(CONFIG_FFT) += fft fft-fixed fft-fixed32

View File

@@ -28,6 +28,7 @@
#include "a64tables.h"
#include "elbg.h"
#include "internal.h"
#include "libavutil/avassert.h"
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
@@ -65,7 +66,7 @@ static const int mc_colors[5]={0x0,0xb,0xc,0xf,0x1};
//static const int mc_colors[5]={0x0,0x8,0xa,0xf,0x7};
//static const int mc_colors[5]={0x0,0x9,0x8,0xa,0x3};
static void to_meta_with_crop(AVCodecContext *avctx, AVFrame *p, int *dest)
static void to_meta_with_crop(AVCodecContext *avctx, const AVFrame *p, int *dest)
{
int blockx, blocky, x, y;
int luma = 0;
@@ -78,9 +79,13 @@ static void to_meta_with_crop(AVCodecContext *avctx, AVFrame *p, int *dest)
for (y = blocky; y < blocky + 8 && y < C64YRES; y++) {
for (x = blockx; x < blockx + 8 && x < C64XRES; x += 2) {
if(x < width && y < height) {
/* build average over 2 pixels */
luma = (src[(x + 0 + y * p->linesize[0])] +
src[(x + 1 + y * p->linesize[0])]) / 2;
if (x + 1 < width) {
/* build average over 2 pixels */
luma = (src[(x + 0 + y * p->linesize[0])] +
src[(x + 1 + y * p->linesize[0])]) / 2;
} else {
luma = src[(x + y * p->linesize[0])];
}
/* write blocks as linear data now so they are suitable for elbg */
dest[0] = luma;
}
@@ -186,7 +191,6 @@ static void render_charset(AVCodecContext *avctx, uint8_t *charset,
static av_cold int a64multi_close_encoder(AVCodecContext *avctx)
{
A64Context *c = avctx->priv_data;
av_frame_free(&avctx->coded_frame);
av_freep(&c->mc_meta_charset);
av_freep(&c->mc_best_cb);
av_freep(&c->mc_charset);
@@ -220,7 +224,7 @@ static av_cold int a64multi_encode_init(AVCodecContext *avctx)
a64_palette[mc_colors[a]][2] * 0.11;
}
if (!(c->mc_meta_charset = av_malloc_array(c->mc_lifetime, 32000 * sizeof(int))) ||
if (!(c->mc_meta_charset = av_mallocz_array(c->mc_lifetime, 32000 * sizeof(int))) ||
!(c->mc_best_cb = av_malloc(CHARSET_CHARS * 32 * sizeof(int))) ||
!(c->mc_charmap = av_mallocz_array(c->mc_lifetime, 1000 * sizeof(int))) ||
!(c->mc_colram = av_mallocz(CHARSET_CHARS * sizeof(uint8_t))) ||
@@ -238,14 +242,6 @@ static av_cold int a64multi_encode_init(AVCodecContext *avctx)
AV_WB32(avctx->extradata, c->mc_lifetime);
AV_WB32(avctx->extradata + 16, INTERLACED);
avctx->coded_frame = av_frame_alloc();
if (!avctx->coded_frame) {
a64multi_close_encoder(avctx);
return AVERROR(ENOMEM);
}
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
avctx->coded_frame->key_frame = 1;
if (!avctx->codec_tag)
avctx->codec_tag = AV_RL32("a64m");
@@ -270,10 +266,9 @@ static void a64_compress_colram(unsigned char *buf, int *charmap, uint8_t *colra
}
static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
const AVFrame *pict, int *got_packet)
const AVFrame *p, int *got_packet)
{
A64Context *c = avctx->priv_data;
AVFrame *const p = avctx->coded_frame;
int frame;
int x, y;
@@ -304,7 +299,7 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
}
/* no data, means end encoding asap */
if (!pict) {
if (!p) {
/* all done, end encoding */
if (!c->mc_lifetime) return 0;
/* no more frames in queue, prepare to flush remaining frames */
@@ -317,13 +312,10 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
} else {
/* fill up mc_meta_charset with data until lifetime exceeds */
if (c->mc_frame_counter < c->mc_lifetime) {
*p = *pict;
p->pict_type = AV_PICTURE_TYPE_I;
p->key_frame = 1;
to_meta_with_crop(avctx, p, meta + 32000 * c->mc_frame_counter);
c->mc_frame_counter++;
if (c->next_pts == AV_NOPTS_VALUE)
c->next_pts = pict->pts;
c->next_pts = p->pts;
/* lifetime is not reached so wait for next frame first */
return 0;
}
@@ -334,14 +326,20 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
req_size = 0;
/* any frames to encode? */
if (c->mc_lifetime) {
req_size = charset_size + c->mc_lifetime*(screen_size + colram_size);
if ((ret = ff_alloc_packet2(avctx, pkt, req_size)) < 0)
int alloc_size = charset_size + c->mc_lifetime*(screen_size + colram_size);
if ((ret = ff_alloc_packet2(avctx, pkt, alloc_size)) < 0)
return ret;
buf = pkt->data;
/* calc optimal new charset + charmaps */
avpriv_init_elbg(meta, 32, 1000 * c->mc_lifetime, best_cb, CHARSET_CHARS, 50, charmap, &c->randctx);
avpriv_do_elbg (meta, 32, 1000 * c->mc_lifetime, best_cb, CHARSET_CHARS, 50, charmap, &c->randctx);
ret = avpriv_init_elbg(meta, 32, 1000 * c->mc_lifetime, best_cb,
CHARSET_CHARS, 50, charmap, &c->randctx);
if (ret < 0)
return ret;
ret = avpriv_do_elbg(meta, 32, 1000 * c->mc_lifetime, best_cb,
CHARSET_CHARS, 50, charmap, &c->randctx);
if (ret < 0)
return ret;
/* create colorram map and a c64 readable charset */
render_charset(avctx, charset, colram);
@@ -351,6 +349,7 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
/* advance pointers */
buf += charset_size;
req_size += charset_size;
}
/* write x frames to buf */
@@ -387,6 +386,7 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
pkt->pts = pkt->dts = c->next_pts;
c->next_pts = AV_NOPTS_VALUE;
av_assert0(pkt->size >= req_size);
pkt->size = req_size;
pkt->flags |= AV_PKT_FLAG_KEY;
*got_packet = !!req_size;

View File

@@ -32,10 +32,10 @@
#include "libavutil/float_dsp.h"
#include "avcodec.h"
#include "imdct15.h"
#include "fft.h"
#include "mpeg4audio.h"
#include "sbr.h"
#include "fmtconvert.h"
#include <stdint.h>
@@ -141,6 +141,10 @@ typedef struct PredictorState {
#define SCALE_MAX_DIFF 60 ///< maximum scalefactor difference allowed by standard
#define SCALE_DIFF_ZERO 60 ///< codebook index corresponding to zero scalefactor indices difference
#define NOISE_PRE 256 ///< preamble for NOISE_BT, put in bitstream with the first noise band
#define NOISE_PRE_BITS 9 ///< length of preamble
#define NOISE_OFFSET 90 ///< subtracted from global gain, used as offset for the preamble
/**
* Long Term Prediction
*/
@@ -233,7 +237,8 @@ typedef struct SingleChannelElement {
float sf[120]; ///< scalefactors
int sf_idx[128]; ///< scalefactor indices (used by encoder)
uint8_t zeroes[128]; ///< band is not coded (used by encoder)
DECLARE_ALIGNED(32, float, coeffs)[1024]; ///< coefficients for IMDCT
DECLARE_ALIGNED(32, float, pcoeffs)[1024]; ///< coefficients for IMDCT, pristine
DECLARE_ALIGNED(32, float, coeffs)[1024]; ///< coefficients for IMDCT, maybe processed
DECLARE_ALIGNED(32, float, saved)[1536]; ///< overlap
DECLARE_ALIGNED(32, float, ret_buf)[2048]; ///< PCM output buffer
DECLARE_ALIGNED(16, float, ltp_state)[3072]; ///< time signal for LTP
@@ -294,7 +299,7 @@ struct AACContext {
FFTContext mdct_small;
FFTContext mdct_ld;
FFTContext mdct_ltp;
FmtConvertContext fmt_conv;
IMDCT15Context *mdct480;
AVFloatDSPContext *fdsp;
int random_state;
/** @} */

View File

@@ -90,6 +90,10 @@ static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc,
av_free(avctx->extradata);
avctx->extradata_size = 2 + pce_size;
avctx->extradata = av_mallocz(avctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
if (!avctx->extradata) {
avctx->extradata_size = 0;
return AVERROR(ENOMEM);
}
init_put_bits(&pb, avctx->extradata, avctx->extradata_size);
put_bits(&pb, 5, hdr.object_type);

Some files were not shown because too many files have changed in this diff Show More