Commit Graph
100 Commits
Author SHA1 Message Date
Nicolas George 299387ebf4 vf_settb: rename the file as f_settb. 2012-07-08 19:54:08 +02:00
Nicolas George 65e65e3ce2 settb: cosmetic: reindent vf_settb structure. 2012-07-08 19:54:08 +02:00
Nicolas George ba856c0be5 lavfi: implement asettb filter. 2012-07-08 19:54:08 +02:00
Nicolas George bba819bd8f fate: FLAC tests require SAMPLES. 2012-07-08 13:41:39 +02:00
Nicolas George 5997285d3a ffmpeg: poll filters even after -t limit.
If not, frames can still arrive to the sink and accumulate.
The frames past recording time will be ignored in do_*_out.
2012-07-06 18:33:48 +02:00
Nicolas GeorgeandMichael Niedermayer 8293a21a9c lavc: fix shared build after dnxhd merge.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-06 02:44:17 +02:00
Nicolas George 8b421fad24 dpx: sanitize aspect ratio.
Fixes some samples where the ratio is declared as -1/-1.
2012-07-04 18:59:39 +02:00
Nicolas George 2fc354f90d ffmpeg: rework checks for the -t option.
This commit is based on libav's implementation and
makes sure to compare output timestamps together.
It also reduces the differences with avconv.

The changes to the test reference files are caused
by an additional packet at the end, the timestamp
of the frame encoded by this packet is always
strictly below the limit stated by the -t option.
2012-07-04 16:20:47 +02:00
Nicolas George 7beeea8f17 error: define AVERROR_EXTERNAL.
This code is intended for errors in external libraries
when no corresponding error code can be found.
AVERROR_UNKNOWN is too vague for that and looks like AVERROR_BUG.
2012-07-04 15:45:05 +02:00
Nicolas George aa39516a04 error: define AVERROR_BUFFER_TOO_SMALL.
Some API require a buffer and return a specific error
if it is too small. This error code helps to map codes.
2012-07-04 15:33:14 +02:00
Nicolas George be24f85176 ffmpeg: re-set frame_size after filter graph reset.
The filter contexts are completely cleared,
so the frame size can not be kept.
2012-06-30 21:44:25 +02:00
Nicolas George 6f5e7e8690 ffmpeg: use the more powerful version of abuffersink. 2012-06-30 14:03:54 +02:00
Nicolas George 1f5c1333a7 sink_buffer: implement fixed frame size. 2012-06-30 14:03:54 +02:00
Nicolas George 0689d5e17a lavfi: implement samples framing on links.
Links can be set up to group samples into buffers of
specified minimum and maximum size.
2012-06-30 14:03:54 +02:00
Nicolas George c9c4835f51 fate: add a test for the -force_key_frames option.
It broke twice in the last three months due to other changes.
2012-06-30 13:49:43 +02:00
Nicolas George 20a8dca57f ffmpeg: fix parsing of -force_key_frames option.
Identical to commit 4f6a1c9 by Reimar Döffinger,
that was lost after the merge of 19ad567.
2012-06-30 13:49:43 +02:00
Nicolas George 8069db8633 ffmpeg: warn that -t does not work with -filter_complex. 2012-06-28 21:40:50 +02:00
Nicolas George 2c793b8501 ffmpeg: warn when -t is used for inputs.
Using -t on an input already have surprising results.
Furthermore, using it on an input or an output makes
a real difference if there are speed-altering filters.

Implementing -t for inputs will probably result in some
behavour changes.
2012-06-28 21:40:43 +02:00
Nicolas George fcf8706ed9 sink_buffer: warn when there are too many buffers. 2012-06-28 21:10:03 +02:00
Nicolas George 05d6cc116e buffersrc: warn when there are too many buffers. 2012-06-28 21:10:03 +02:00
Nicolas George d4c45b8adf Revert "Revert "x86: fft: win64: fix stack alignment for memcpy() call""
This reverts commit f767658414.

The bug it introduces has been fixed.
2012-06-26 15:56:01 +02:00
Nicolas George 91765594dd Revert "Revert "x86: fft: convert sse inline asm to yasm""
This reverts commit fd91a3ec44.

The bug it introduced has been fixed.
2012-06-26 15:55:41 +02:00
Nicolas George 784675ca91 sink_buffer: make opaque argument optional. 2012-06-26 13:17:30 +02:00
Nicolas George a2bd8a9384 buffersink: group libav API functions. 2012-06-26 13:17:29 +02:00
Nicolas George fd91a3ec44 Revert "x86: fft: convert sse inline asm to yasm"
This reverts commit 8299260470.

It breaks shared builds on x86_64.
2012-06-26 13:00:14 +02:00
Nicolas George f767658414 Revert "x86: fft: win64: fix stack alignment for memcpy() call"
This reverts commit 8725da49a2.

Necerrary to revert 8299260470.
2012-06-26 12:59:48 +02:00
Nicolas George 6fd0b55ab2 showwaves: fix PTS computation. 2012-06-23 15:08:23 +02:00
Nicolas George 6d627eae3c showwaves: fix first sample of frame test.
Avoids a huge memleak when n != 1.
2012-06-23 15:08:22 +02:00
Nicolas George bd9939f495 lavfi: display pad type with mismatch error message. 2012-06-23 11:34:46 +02:00
Nicolas George 9e63c30daa lavf: add a real SRT muxer.
This muxer supports CODEC_ID_SRT with the timestamps in the packet data
and CODEC_ID_TEXT with the timestamps in the packet fields.

Makes -scodec copy work from Matroska.
2012-06-21 20:52:56 +02:00
Nicolas George 7681d0eaca lavd/lavfi: do not set the channel layout list.
The list was set to avfilter_all_channel_layouts,
which is really all common channel layouts.
Not setting it leaves an empty list,
which now means really all.
2012-06-21 19:40:49 +02:00
Nicolas George 8c3514647e ffmpeg.c: count subtitles in total size.
This avoids the "Output file is empty" warning
with subtitles-only files.
2012-06-18 09:40:01 +02:00
Nicolas George c49e960a60 ffprobe: dump AVPacket.convergence_duration. 2012-06-18 09:39:17 +02:00
Nicolas George 9ae3e45521 ffprobe: add -show_data option. 2012-06-18 09:38:36 +02:00
Nicolas George 69bf775e9f bprint: implement vsnprintf for win32. 2012-06-14 13:54:00 +02:00
Nicolas George 0d24931604 vf_fps: set frame_rate. 2012-06-10 10:53:03 +02:00
Nicolas George c8428a0d06 vf_tile: update deprecated functions. 2012-06-10 10:40:33 +02:00
Nicolas George 7b993c4a51 vf_tile: set frame_rate. 2012-06-10 10:35:17 +02:00
Nicolas George 4adf5dfadb sdl: fix aspect ratio computations.
The rounding was wrong due to incorrect ue of floats,
changed to rationals and av_rescale.

The results were not properly passed to SDL.
2012-06-10 09:57:50 +02:00
Nicolas George 3ff6b1a2b3 sdl: fix overlay size.
The size passed to SDL_CreateYUVOverlay is the size
of the video in pixels, it must not take the aspect ratio
into account.
2012-06-10 09:42:31 +02:00
Nicolas George 2f9907be3e sdl: add AVFMT_VARIABLE_FPS and AVFMT_NOTIMESTAMPS.
It allows vsync to be automatically set to passthrough.
2012-06-10 09:42:31 +02:00
Nicolas George 6fef82f22d ffmpeg: with filter_complex, avoid random in<->out mapping.
With complex filters, an output can come from any input,
or several inputs, including inputs of a different type.
Copying the codec parameters from the first input with
the same type does not make any sense.

This does not change anything for simple 1->1 filters,
as source_index is set in that case.
2012-06-09 08:42:50 +02:00
Nicolas George fbaa8fe6c6 ffmpeg: init icodec.
With complex filter graphs, it can end up accessed
without having been set.
2012-06-09 08:42:50 +02:00
Nicolas George 8362d734a3 ffmpeg: use the frame rate computed by lavfi.
This frame rate is more reliable than the one copied
from the input stream, so it is used in priority.
2012-06-09 08:42:50 +02:00
Nicolas George 5f281e94ba ffmpeg: add frame rate to the buffersrc arguments.
The arguments now use the key=value syntax.
2012-06-09 08:42:50 +02:00
Nicolas George 0f62125643 buffersrc: deprecate flat options syntax. 2012-06-09 08:42:50 +02:00
Nicolas George 9ca440679d buffersrc: accept the frame rate as argument. 2012-06-09 08:42:50 +02:00
Nicolas George dcaa4efcee buffersrc: accept key=value arguments.
The current flat arguments syntax is not easily extensible
due to sws_param possibly containing commas.
This is also consistent with abuffersrc.
2012-06-09 08:42:50 +02:00
Nicolas George 283cc05938 buffersink: add av_buffersink_get_frame_rate(). 2012-06-09 08:42:50 +02:00
Nicolas George 7b42036b3b lavfi: add a frame_rate field to AVFilterLink. 2012-06-09 08:42:50 +02:00
Nicolas George 6668ef7567 cmdutils: include threading caps in codecs listing.
Suggested by Roger Pack on ffmpeg-user.
2012-06-07 23:19:20 +02:00
Nicolas George e0545262a2 amerge: accept multiple inputs. 2012-06-07 22:51:08 +02:00
Nicolas George e8e492b302 af_amerge: move nb_in_ch into the in structure.
With that change, there is only one array for the inputs,
it will make easier to implement a variable number of inputs.
2012-06-07 22:28:32 +02:00
Nicolas George e45a92dc88 audioconvert: implement av_bprint_channel_layout().
And reimplement av_get_channel_layout_string() on top of it.
2012-06-07 22:28:32 +02:00
Nicolas George 7a2b429175 fate: add bprint test. 2012-06-07 22:28:32 +02:00
Nicolas George b3e2bb08a9 bprint: add av_bprint_init_for_buffer(). 2012-06-07 22:28:32 +02:00
Nicolas George 9148ae5b91 opt: add test for IMAGE_SIZE and PIXEL_FMT. 2012-06-07 22:13:59 +02:00
Nicolas George 61c266d72f opt: free test_ctx.string at the end.
Makes valgrind happy.
2012-06-07 22:13:59 +02:00
Nicolas George 42b774ab6f opt: init test_ctx to 0.
Otherwise, setting string will try to free a random address.
2012-06-07 22:13:59 +02:00
Nicolas George d9b0d75c56 opt: add AV_OPT_TYPE_PIXEL_FMT. 2012-06-07 22:13:59 +02:00
Nicolas George 25e87fc5f6 ffmpeg: move keyboard interaction in a function.
It makes the transcode loop easier to read (30% less code)
and the differences with avconv easier to spot.
2012-06-07 17:13:02 +02:00
Nicolas George 9915a33fc2 lavfi/audio: fix size of copied samples.
Fixes sporadic segfaults with some filters.
2012-06-07 17:03:45 +02:00
Nicolas George aba8065adb avfiltergraph: call query_formats on inputs first.
This is a temporary workaround for amerge,
until format renegociation is implemented.

Should fix trac ticket #1400.
2012-06-05 13:26:34 +02:00
Nicolas George 6a4c5c730e avfiltergraph: check query_formats return value. 2012-06-05 13:26:34 +02:00
Nicolas George 8b0e173529 ffmpeg: use filter time base as codec time base. 2012-06-03 23:43:57 +02:00
Nicolas George 48b5bcb3dd ffmpeg: avoid NULL dereference with filters.
icodec can be NULL if there is no input stream
clearly associated with the output stream.
2012-06-03 23:43:57 +02:00
Nicolas George 7f17f4f1a7 af_amerge: use the buferqueue API. 2012-06-03 10:04:01 +02:00
Nicolas George 2f2d47ab63 af_astreamsync: set samples rate in query_formats. 2012-06-03 10:04:01 +02:00
Nicolas George 06bf6d3bc0 vf_overlay: rewrite request/push logic.
The old implementation, upon receiving a frame on the main
input, would request an overlay frame if necessary. This could
generate an infinite recursion, off-by-one frame mismatch and
other harmful effects, especially it the split filter is present
upgraph.

The new implementation uses the linear approach: it uses two
buffer queues for frames received out of turn and forwards
request_frame calls to the input where a frame is necessary.
2012-05-31 17:27:27 +02:00
Nicolas George 6d679c4359 lavfi: add a generic API for buffer queues. 2012-05-31 17:27:27 +02:00
Nicolas George 72f3786d0f sink_buffer: guard against NULL frames.
This only happens if some filter somewhere is bogus,
but it helps debugging.
2012-05-31 17:27:27 +02:00
Nicolas George 0da28d689c af_amerge: compute output timestamp.
Use the timestamps from the first input.
2012-05-23 14:56:51 +02:00
Nicolas George e6aee46760 af_amerge: set samples rate in query_formats. 2012-05-23 14:56:50 +02:00
Nicolas George 4a5d18b6e2 vsrc_mandelbrot: use AV_OPT_TYPE_IMAGE_SIZE. 2012-05-20 18:24:20 +02:00
Nicolas George dc6a02de01 vsrc_life: use AV_OPT_TYPE_IMAGE_SIZE. 2012-05-20 18:24:20 +02:00
Nicolas George ca554fbc2f vsrc_cellauto: use AV_OPT_TYPE_IMAGE_SIZE. 2012-05-20 18:24:20 +02:00
Nicolas George 2987efe9ba vf_ass: use AV_OPT_TYPE_IMAGE_SIZE. 2012-05-20 18:24:20 +02:00
Nicolas George 5732f40e3f x11grab: use AV_OPT_TYPE_IMAGE_SIZE. 2012-05-20 18:24:20 +02:00
Nicolas George 3e63071115 v4l2: use AV_OPT_TYPE_IMAGE_SIZE. 2012-05-20 18:24:20 +02:00
Nicolas George 0ef4924db4 sdl: use AV_OPT_TYPE_IMAGE_SIZE. 2012-05-20 18:24:20 +02:00
Nicolas George 9bcd70aa23 bktr: use AV_OPT_TYPE_IMAGE_SIZE. 2012-05-20 18:24:20 +02:00
Nicolas George 16a44b41ab vsrc_testsrc: use AV_OPT_TYPE_IMAGE_SIZE. 2012-05-20 18:24:20 +02:00
Nicolas George 2ec3e5767e opt: add AV_OPT_TYPE_IMAGE_SIZE. 2012-05-20 18:24:20 +02:00
Nicolas George 6adefeef45 buffersrc: cosmetic: reindent. 2012-05-20 15:41:58 +02:00
Nicolas George ea07063fd8 cmdutils: allow to specify a stream by its ID.
The stream can be specified as "#129" or "#0x81".
It is especially useful for VOBs dumped from a DVD,
where the language-id mapping is available externally
and the probing can find the streams in a random order.
2012-05-20 12:47:27 +02:00
Nicolas GeorgeandMichael Niedermayer 3d2515a8f3 f_split: fix output type.
The previous version checked the filter context name,
instead of checking the filter name.
The new version just uses the same type as the input.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
2012-05-19 19:23:37 +02:00
Nicolas George 5ac9ef6493 avfilter: make AVFilterFormats compatible with libav.
The list goes back to being simple integers,
and avfilter_make_format64_list is fixed to work
with the correct structure directly.
2012-05-19 15:30:51 +02:00
Nicolas George 00be2f5726 ffmpeg: adapt to the buffersrc API changes. 2012-05-19 10:59:52 +02:00
Nicolas George aa1246ea42 lavfi: unify src_buffer and buffersrc.
Most of the code is moved to buffersrc.c
to help Git see the similarities.

src_buffer.c still contains the obsolete compatibility functions.

The format change detection code was removed as it has been
implemented directly in ffmpeg.
It can easily be brought back from the history.
2012-05-19 10:59:52 +02:00
Nicolas George 7997fc49ef lavfi: remove stray reference to planar/packed. 2012-05-19 10:59:52 +02:00
Nicolas George 9567f410aa avfilter: move some fields in AVFilterLink.
It restores ABI compatibility with libav.

The fields that move were very recent or morally private.
2012-05-19 10:59:52 +02:00
Nicolas George c0c2424f73 fate: ffprobe tests require SAMPLES. 2012-05-18 15:19:03 +02:00
Nicolas George 9cf5bcded0 ffmpeg: accept + prefix to -pix_fmt option to disable automatic conversions. 2012-05-14 21:29:58 +02:00
Nicolas George 440af105f2 lavfi: add avfilter_graph_set_auto_convert(). 2012-05-14 21:29:58 +02:00
Nicolas George 281bde2789 udp: check for HAVE_PTHREAD_CANCEL instead of HAVE_PTHREADS.
Some environments, for example Android, pretend to have pthreads
but actually have only a partial implementation.
2012-05-14 19:32:43 +02:00
Nicolas George 83f954e859 configure: check for pthread_cancel. 2012-05-14 19:32:43 +02:00
Nicolas George 7a44223319 lavfi: document filter design subtleties.
The details on reference ownership and permissions are missing.
2012-05-14 18:56:52 +02:00
Nicolas George 75e0324eab src_buffer: move code to avoid forward declarations. 2012-05-08 19:38:18 +02:00
Nicolas George 67a316bbda vsrc_buffer: deprecate the header. 2012-05-06 16:18:11 +02:00
Nicolas George aaa94f2890 vsrc_buffer: deprecate av_vsrc_buffer_add_video_buffer_ref. 2012-05-06 16:18:10 +02:00