Commit Graph

83182 Commits

Author SHA1 Message Date
Nicolas George
912969a33e lavfi/buffersink: move to the new design. 2017-01-12 14:06:16 +01:00
Nicolas George
32c59a115d lavfi: do not call ff_filter_frame() with activate.
avfilter_graph_request_oldest() does work that should be done by
either the filter or the application.

The principle of this function, calling ff_request_frame() from
outside the filter was always shaky. This version is less elegant
since it requires making special cases for each filter, but it
is more robust since it no longer calls ff_request_frame()
directly without notifying the filter.

Eventually, avfilter_graph_request_oldest() will be deprecated
for a function to just run the graph.
2017-01-12 14:06:16 +01:00
Nicolas George
c619a4e525 lavfi: make two functions static.
ff_request_frame_to_filter() and ff_filter_frame_to_filter()
are only used in avfilter.c.
2017-01-12 14:06:16 +01:00
Nicolas George
ae4650f0b9 lavfi: disallow ff_request_frame for filters using activate.
Having two different functions allows to have stricter tests
and detect errors earlier.
2017-01-12 14:06:16 +01:00
Nicolas George
9eb4c79afd lavfi: add ff_inlink_request_frame(). 2017-01-12 14:06:16 +01:00
Nicolas George
d3cb140433 lavfi: move ff_update_link_current_pts() into the utility functions.
It does not change anything for the existing filters and makes
better code fatrorization when future code will use the utility
functions.
2017-01-12 14:06:16 +01:00
Nicolas George
7910127a8e lavfi: cosmetic: remove forward declaration. 2017-01-12 14:06:16 +01:00
Nicolas George
3ff01feda3 lavfi: add AVFilter.activate. 2017-01-12 14:06:16 +01:00
Nicolas George
db4a71c0ff lavfi: use the consume helpers in ff_filter_frame_to_filter(). 2017-01-12 14:06:16 +01:00
Nicolas George
d360ddf03b lavfi: add helpers to consume frames from link FIFOs. 2017-01-12 14:06:16 +01:00
Nicolas George
2e5af443c3 lavfi: pass min explicitly to samples_ready(). 2017-01-12 14:06:16 +01:00
Nicolas George
e7e4c8dfbe lavfi: add ff_inlink_evaluate_timeline_at_frame(). 2017-01-12 14:06:16 +01:00
Nicolas George
0e3d2496e2 lavfi: add ff_inlink_process_commands(). 2017-01-12 14:06:16 +01:00
Nicolas George
846f142134 lavfi: merge two variables after a recent commit. 2017-01-12 14:06:16 +01:00
Nicolas George
28c62df672 lavfi: implement ff_inlink_make_frame_writable().
Unlike av_frame_is_writable(), it uses the link's alloc callback,
making direct rendering possible.

The code comes from ff_filter_frame_framed(), moved with mostly
trivial changes.
2017-01-12 14:06:16 +01:00
Nicolas George
918891e146 lavfi: export ff_filter_set_ready() to the library. 2017-01-12 14:06:16 +01:00
Nicolas George
4c24f3ac16 lavfi: add ff_inlink_acknowledge_status().
Also introduce libavfilter/filters.h for all functions needed
to implement filters.
2017-01-12 14:06:16 +01:00
Nicolas George
485617ea0f lavfi: document that AVFilterLink is not for applications. 2017-01-12 14:06:16 +01:00
Nicolas George
e9ecada1d4 lavfi/tests/filtfmts: include internal.h. 2017-01-12 14:06:16 +01:00
Nicolas George
063b1a42c6 lavd/lavfi: use buffersink accessors. 2017-01-12 14:06:16 +01:00
Nicolas George
448f2972f9 ffplay: use buffersink accessors. 2017-01-12 14:06:16 +01:00
Nicolas George
d9b311d44c ffmpeg: use buffersink accessors. 2017-01-12 14:06:16 +01:00
Nicolas George
dbe9dbed31 lavfi/buffersink: add accessors for the stream properties.
av_buffersink_get_frame_rate() did already exist; its argument becomes const.
2017-01-12 14:06:16 +01:00
Nicolas George
0b66c456f9 lavfi, ffmpeg: simplify filter names.
The names are only used for technical output and debugging.
Make them similar to C identifiers for easier quick reading
of debug dumps.
2017-01-12 14:06:16 +01:00
Nicolas George
57789cfb9d lavf/hlsenc: fix typo in last commit. 2017-01-12 14:01:22 +01:00
Bodecs Bela
8811d6d9a0 avformat/hlsenc: hls_start_number_source and start_number
start_number option starts the playlist sequence number
(#EXT-X-MEDIA-SEQUENCE) from the specified number. Unless hls_flags
single_file is set, it also specifies starting sequence numbers of
segment and subtitle filenames. Sometimes it is usefull to have unique
starting numbers at each run, but currently it is only achiveable by
setting this parameter manually.
This patch enables to specify start_number source parameter by
introducing hls_start_number_source with 3 possible values:
generic/epoch/datetime. This ensures to set start sequence number
automatically for practically unique numbers. Generic option is the
default and this is the curent behaviour: start_number option value
specifies the start sequence number. (start_number default value is 0)
If hls_start_number_source is set to epoch, then the start number will
be the seconds since epoch (1970-01-01 00:00:00). If set to datetime,
then the start sequence number will be based on the current date/time
value as YYYYmmddHHMMSS. e.g. 20161231235659.
Hls speficication allows 64 bit integers as sequence numbers. This patch
also changes some code where only 32 bit integer values were handled
correctly.

Reviewed-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-01-12 20:43:10 +08:00
Matthieu Bouron
e1f4971209 lavfi: use an audio frame pool for each link of the filtergraph 2017-01-12 10:22:52 +01:00
Matthieu Bouron
b1ed7957b8 lavfi/framepool: cosmetic style fixes 2017-01-12 10:22:52 +01:00
Matthieu Bouron
e2d336cf64 lavfi/framepool: re-indent after previous commit 2017-01-12 10:22:52 +01:00
Matthieu Bouron
eb3368178e lavfi/framepool: add audio support 2017-01-12 10:22:52 +01:00
Matthieu Bouron
b1f68f00b1 lavfi/framepool: rename FFVideoFramePool to FFFramePool 2017-01-12 10:22:52 +01:00
James Almer
e71b8119e7 avcodec/mathops: add missing header for ff_reverse
Signed-off-by: James Almer <jamrial@gmail.com>
2017-01-11 21:18:03 -03:00
Martin Vignali
682769d3d3 fate/psd : add test for 256 color
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-01-11 22:25:21 +01:00
Zhengxu
1a79b8f8d2 ffmpeg: Add an option "qsv_device" to choose proper node for QSV child device (vaapi or dxva2)
Reason: For some cases, such as 2 or more graphics cards existing, the
default command line may fail because ffmpeg does not open the correct
device node:
    ffmpeg -hwaccel qsv -c:v h264_qsv -i test.264 -c:v h264_qsv out.264
Let user choose the proper one by running like below:
    ffmpeg -hwaccel qsv -qsv_device /dev/dri/renderD128 -c:v h264_qsv \
-i test.264 -c:v h264_qsv out.264

Signed-off-by: ChaoX A Liu <chaox.a.liu@gmail.com>
Signed-off-by: Huang, Zhengxu <zhengxu.maxwell@gmail.com>
Signed-off-by: Andrew, Zhang <huazh407@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-01-11 20:21:09 +00:00
Carl Eugen Hoyos
f55da2200d lavf/dss: Support version 3 files / files with larger header.
Fixes ticket #6072.
2017-01-11 18:27:00 +01:00
Derek Buitenhuis
14b9060160 hevc: Mark as having threadsafe init
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2017-01-11 12:21:43 -05:00
Steinar H. Gunderson
2a293ec7ac avcodec: add Newtek SpeedHQ decoder
This decoder can decode all existing SpeedHQ formats (SHQ0–5, 7, and 9),
including correct decoding of the alpha channel.

1080p is decoded in 142 fps on one core of my i7-4600U (2.1 GHz Haswell),
about evenly split between bitstream reader and IDCT. There is currently
no attempt at slice or frame threading, even though the format trivially
supports both.

NewTek very helpfully provided a full set of SHQ samples, as well as
source code for an SHQ2 encoder (not included) and assistance with
understanding some details of the format.
2017-01-11 16:02:10 +01:00
Steinar H. Gunderson
eaff1aa09e avcodec: move bitswap_32() into a header file
Allows more codecs than mpeg12video to make use of it.
2017-01-11 15:40:01 +01:00
Paul B Mahol
107b3064d8 avcodec/wmaprodec: do not force extradata presence for XMA
Mainly useful for supporting decoding of headerless files.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-01-11 11:48:07 +01:00
Paul B Mahol
45cd50e5e2 avcodec/psd: fix ugly typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-01-11 11:42:50 +01:00
Steven Liu
184c13f64a avfilter/vf_libopencv: fix resource leak in read_shape_frame_filter
CID: 1324298
add a label when error goto the label to release resource

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-01-11 09:59:55 +08:00
Martin Vignali
658e626cc0 libavcodec/psd : add support for psd bitmap mode
Fixes ticket #6044

Based on patch by Carl Eugen Hoyos
2017-01-11 00:22:25 +01:00
Carl Eugen Hoyos
4313ed511a lavc/psd: Interpret DUOTONE as GRAYSCALE.
This is what gimp, ImageMagick and FreeImage do and what the
Adobe Photoshop file format specification suggests.
Fixes a sample from ticket #6045.

Reviewed-by: Martin Vignali
2017-01-11 00:17:59 +01:00
Steven Liu
daff04bd18 avformat/hlsenc: fix the bug when the largest segment duration pointer right value is 0
when the segments largest duration value is look like 4.000000, the
EXT-X-TARGETDURATION value should equ 4.
it's wrong when hlsenc use ceil, so fix it.

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-01-11 04:38:34 +08:00
Steven Liu
2deafd9898 avformat/hlsenc: fix hls start and tail segment duration
problem

fix ticket: #6067

Tested-by: Pero
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-01-11 04:33:13 +08:00
Steven Liu
d9c2cfd316 avcodec/bsf: fix resource leak in av_bsf_list_parse_str
cid: 1396268
when av_strdup(str) error, the lst need release

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-01-11 04:09:47 +08:00
Michael Niedermayer
f48b6b8b91 avcodec/tiff: Perform multiply in tiff_unpack_lzma() as 64bit
This should make no difference as the value should not be able to be that large
but its more correct this way

Fixes CID1348138

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-01-10 00:55:15 +01:00
Lou Logan
890320b1c0 doc/scaler: mention default scaling algorithm
Default is "bicubic".

Signed-off-by: Lou Logan <lou@lrcd.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
2017-01-09 12:58:25 -09:00
Paul B Mahol
24d31a8074 avcodec/qdm2: make use of bytestream2
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-01-09 18:43:19 +01:00
Paul B Mahol
7aef56864c avfilter/af_sofalizer: speed and clean up fast convolution a little
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-01-09 18:38:25 +01:00