Anton Khirnov
885da7b082
lavf: simplify is_intra_only() by using codec descriptors.
2012-08-11 11:34:24 +02:00
Anton Khirnov
51efed152d
lavc: add an intra-only codec property.
2012-08-11 11:34:09 +02:00
Anton Khirnov
c223d79945
lavc: add codec descriptors.
...
They describe properties that are inherent to a codec (as described by
an AVCodecID) without referring to a specific implementation.
2012-08-11 11:32:11 +02:00
Anton Khirnov
2ff67c909c
lavc: fix mixing CODEC_ID/AV_CODEC_ID in C++ code.
...
C++ does not allow to mix different enums, so e.g. code comparing
ACodecID with CodecID would fail to compile with gcc.
This very evil hack should fix this problem.
2012-08-10 18:48:40 +02:00
Anton Khirnov
7ca14c731e
vsrc_movie: discourage its use with avconv.
2012-08-08 21:56:44 +02:00
Anton Khirnov
ab29609701
avconv: allow no input files.
...
It is now possible to use lavfi sources.
2012-08-08 21:56:26 +02:00
Anton Khirnov
a5fd7c607f
avconv: prevent invalid reads in transcode_init()
2012-08-08 21:55:54 +02:00
Anton Khirnov
57d2422559
avconv: rename OutputStream.is_past_recording_time to finished.
...
The new name is shorter and more accurate, since this variable is no
longer used only for checking recording time constraint.
2012-08-08 21:55:45 +02:00
Anton Khirnov
0c00fd80ee
avconv: split the code for processing input packets out of transcode()
2012-08-08 21:55:15 +02:00
Anton Khirnov
f154ef1ae5
avconv: send EOF to lavfi even if flushing the decoder fails
2012-08-08 20:16:29 +02:00
Anton Khirnov
cc2133b66a
avconv: get rid of pointless temporary variable.
2012-08-08 20:16:13 +02:00
Anton Khirnov
8391602913
avconv: simplify transcode().
...
Operate with a pointer to InputFile instead of its index in input_files.
2012-08-08 20:15:36 +02:00
Anton Khirnov
c0fbf9713c
avconv: cosmetics
...
Replace for (;foo == 0;) with while (!foo)
This is prettier.
2012-08-08 20:15:13 +02:00
Anton Khirnov
0b26ef4228
avconv: replace no_packet array in transcode() with a var in InputStream
...
This simplifies splitting code for reading from input out of
transcode().
2012-08-08 20:12:47 +02:00
Anton Khirnov
bed43d58b0
avconv: remove unused variable from InputFile.
2012-08-08 20:12:22 +02:00
Anton Khirnov
d64901f99d
avconv: remove commented out cruft.
2012-08-08 20:12:11 +02:00
Anton Khirnov
a4f5011065
avconv: maintain sync on lavfi outputs.
...
Before this commit, poll_filters() reads all frames available on each
lavfi output. This does not work for lavfi sources that produce
an unlimited number of frames, e.g. color and similar.
With this commit, poll_filters() reads from output with the lowest
timestamp and returns to wait for more input if no frames are available
on it.
2012-08-08 20:04:27 +02:00
Anton Khirnov
fe2147e936
avconv: split configuring filter configuration to a separate file.
2012-08-08 11:11:52 +02:00
Anton Khirnov
f5e668273a
avconv: split option parsing into a separate file.
2012-08-08 11:10:06 +02:00
Anton Khirnov
94364b7d42
mpegaudioenc: list supported channel layouts.
2012-08-08 07:53:48 +02:00
Anton Khirnov
927e92cdc7
mpegaudiodec: don't print an error on > 1 frame in a packet.
...
It's a perfectly normal situation, nothing to spam about.
2012-08-08 07:53:48 +02:00
Anton Khirnov
5702c8670e
api-example: update to new audio encoding API.
2012-08-08 07:53:47 +02:00
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
2012-08-07 16:00:24 +02:00
Anton Khirnov
104e10fb42
lavc: add AV prefix to codec ids.
2012-08-07 15:56:39 +02:00
Anton Khirnov
921063877e
apetag: change a forgotten return to return 0
2012-07-31 21:32:25 +02:00
Anton Khirnov
f2ed006c90
mpc8: return more meaningful error codes.
2012-07-31 20:54:22 +02:00
Anton Khirnov
263dbe9d95
mpc: return more meaningful error codes.
2012-07-31 20:54:17 +02:00
Anton Khirnov
782e64fbe1
wv,mpc8: don't return apetag data in packets.
2012-07-31 20:53:54 +02:00
Anton Khirnov and Diego Biurrun
29d70274ec
wv: K&R formatting cosmetics
2012-07-30 00:42:20 +02:00
Anton Khirnov
aba232cfa9
lavf: deprecate r_frame_rate.
...
According to its description, it is supposed to be the LCM of all the
frame durations. The usability of such a thing is vanishingly small,
especially since we cannot determine it with any amount of reliability.
Therefore get rid of it after the next bump.
Replace it with the average framerate where it makes sense.
FATE results for the wtv and xmv demux tests change. In the wtv case
this is caused by the file being corrupted (or possibly badly cut) and
containing invalid timestamps. This results in lavf estimating the
framerate wrong and making up wrong frame durations.
In the xmv case the file contains pts jumps, so again the estimated
framerate is far from anything sane and lavf again makes up different
frame durations.
In some other tests lavf starts making up frame durations from different
frame.
2012-07-29 08:06:30 +02:00
Anton Khirnov
f66eeff1c8
lavf: round estimated average fps to a "standard" fps.
2012-07-29 08:05:46 +02:00
Anton Khirnov
fe1c1198e6
lavf: use dts difference instead of AVPacket.duration in find_stream_info()
...
AVPacket.duration is mostly made up and thus completely useless, this is
especially true for video streams.
Therefore use dts difference for framerate estimation and
the max_analyze_duration check.
The asyncts test now needs -analyzeduration, because the default is 5
seconds and the audio stream in the sample appears at ~10 seconds.
2012-07-29 08:04:42 +02:00
Anton Khirnov
c1d865d563
wv: return meaningful error codes.
2012-07-28 14:37:16 +02:00
Anton Khirnov
ccc10acb5b
wv: return AVERROR_EOF on EOF, not EIO.
2012-07-28 14:37:12 +02:00
Anton Khirnov
f73e3938ac
mp3dec: forward errors for av_get_packet().
...
Don't invent a bogus EIO error.
The code now doesn't check for ret == 0, but that check is redundant,
av_get_packet() never returns 0.
2012-07-28 14:37:00 +02:00
Anton Khirnov
67b1156fe8
mp3dec: remove a pointless local variable.
2012-07-28 14:36:55 +02:00
Anton Khirnov
61f8bb74f3
mp3dec: remove commented out cruft.
2012-07-28 14:36:51 +02:00
Anton Khirnov
b3fa478823
lavfi: bump minor to mark stabilizing the ABI.
2012-07-28 14:33:48 +02:00
Anton Khirnov
8f9537f314
FATE: add tests for yadif.
2012-07-28 14:33:44 +02:00
Anton Khirnov
8112710f17
FATE: add a test for delogo video filter.
2012-07-28 14:33:32 +02:00
Anton Khirnov
7339340787
FATE: add a test for amix audio filter.
2012-07-28 14:32:53 +02:00
Anton Khirnov
67ef5f4eb5
audiogen: allow specifying random seed as a commandline parameter.
2012-07-28 14:32:48 +02:00
Anton Khirnov
efd34918ba
lavf: remove commented out cruft in avformat_find_stream_info()
2012-07-28 10:00:38 +02:00
Anton Khirnov
c4ef6a3e4b
Add missing libavutil/time.h includes.
2012-07-28 09:02:07 +02:00
Anton Khirnov and Luca Barbato
b5c8aa745e
vf_yadif: unset cur_buf on the input link.
...
The buffer is stored internally, so this prevents it from being unreffed
automatically.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2012-07-26 00:01:04 +02:00
Anton Khirnov and Luca Barbato
f431315a86
vf_overlay: ensure the overlay frame does not get leaked.
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2012-07-26 00:01:04 +02:00
Anton Khirnov
df53a4a7c1
FATE: fix the asyncts test
...
Nellymoser is float, so use oneoff comparison instead of md5.
2012-07-22 17:58:56 +02:00
Anton Khirnov
73cd131ebc
FATE: add a test for the asyncts audio filter.
2012-07-22 10:14:16 +02:00
Anton Khirnov
721113bed2
matroskadec: return more correct error code on read error.
2012-07-22 09:14:05 +02:00
Anton Khirnov
a8a2271fe0
buffersrc: check ff_get_audio_buffer() for errors.
2012-07-22 09:14:05 +02:00
Anton Khirnov
8f3a3ce730
lavfi: check all ff_get_video_buffer() calls for errors.
2012-07-22 09:14:05 +02:00
Anton Khirnov
1dc4205018
lavfi: check all avfilter_ref_buffer() calls for errors.
2012-07-22 09:14:05 +02:00
Anton Khirnov
80e4ed279b
vf_select: avoid an unnecessary avfilter_ref_buffer().
2012-07-22 09:14:05 +02:00
Anton Khirnov
785fa50f0b
buffersrc: avoid creating unnecessary buffer reference
2012-07-22 09:14:05 +02:00
Anton Khirnov
02ac7311c8
lavfi: use avfilter_unref_bufferp() where appropriate.
2012-07-22 09:14:05 +02:00
Anton Khirnov
043800a968
vf_fps: add more error checks.
2012-07-22 09:14:05 +02:00
Anton Khirnov
d515e9c225
vf_fps: fix a memleak on malloc failure.
2012-07-22 09:14:05 +02:00
Anton Khirnov
3825b52688
lavfi: check all ff_start_frame/draw_slice/end_frame calls for errors
2012-07-22 09:14:05 +02:00
Anton Khirnov
d4f89906e3
lavfi: add error handling to end_frame().
2012-07-22 09:14:05 +02:00
Anton Khirnov
e9b992d035
lavfi: add error handling to draw_slice().
2012-07-22 09:14:05 +02:00
Anton Khirnov
ebc8d97481
lavfi: add error handling to start_frame().
2012-07-22 09:14:04 +02:00
Anton Khirnov
4c9080a7ef
lavfi: unref AVFilterLink.out_buf in ff_end_frame().
...
This reduces code duplication and prevents stale pointers from remaining
on the link.
2012-07-20 21:12:49 +02:00
Anton Khirnov
07bad27810
lavfi: unref AVFilterLink.cur_buf in ff_end_frame().
...
This reduces code duplication and prevents stale pointers from remaining
on the link.
2012-07-20 21:10:42 +02:00
Anton Khirnov
533fd5b5b4
vsrc_testsrc: avoid an unnecessary avfilter_ref_buffer().
2012-07-20 21:09:57 +02:00
Anton Khirnov
5b50ae94e6
vf_slicify: clear AVFilterLink.cur_buf in start_frame().
...
The buffer is passed on to the next filter, so we shouldn't keep any
pointers to it.
2012-07-20 21:09:48 +02:00
Anton Khirnov
0393af4f0b
vf_settb: simplify start_frame().
...
Avoid pointless filter ref/unref. Just use the reference passed to
start_frame().
2012-07-20 21:08:50 +02:00
Anton Khirnov
9203fa0b32
vf_fieldorder: don't give up its own reference to the output buffer.
2012-07-20 21:08:26 +02:00
Anton Khirnov
f493c644cd
vf_pad: don't give up its own reference to the output buffer.
2012-07-20 21:08:13 +02:00
Anton Khirnov
ad8b6326aa
vf_overlay: don't access a buffer reference that's been given away.
2012-07-20 21:07:51 +02:00
Anton Khirnov
7155763b78
vf_drawtext: don't give up its own reference to the input buffer.
...
Directly forwarding the input buffer to the next filter means that
drawtext no longer owns any references to it and thus shouldn't refer to
it in any way.
2012-07-20 21:07:32 +02:00
Anton Khirnov
d19499c796
vf_gradfun: don't store two pointers to one AVFilterBufferRef.
2012-07-20 21:07:11 +02:00
Anton Khirnov
0fe010a36f
vf_delogo: don't store two pointers to one AVFilterBufferRef.
2012-07-20 21:06:49 +02:00
Anton Khirnov
51a8049be8
vf_aspect: clear AVFilterLink.cur_buf in start_frame().
...
The buffer is passed on to the next filter, so we shouldn't keep any
pointers to it.
2012-07-20 21:06:40 +02:00
Anton Khirnov
5eb9c495af
FATE: add a test for flac cover art.
2012-07-20 10:17:25 +02:00
Anton Khirnov
5417efbbf3
avconv: print an error message when demuxing fails.
...
Also exit in such a case if -xerror is used.
Fixes bug 329.
2012-07-17 09:50:26 +02:00
Anton Khirnov and Diego Biurrun
82f82ccfc8
motion-test: do not use getopt()
...
It is not available on all systems and using argc/argv directly actually
makes the code simpler.
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2012-07-09 17:20:52 +02:00
Anton Khirnov
8a645bfc31
avconv: propagate fatal errors from lavfi.
2012-07-09 08:32:49 +02:00
Anton Khirnov
cd99146253
lavfi: add error handling to filter_samples().
2012-07-09 08:25:19 +02:00
Anton Khirnov
8d18bc550e
fate-run: make avconv() properly deal with multiple inputs.
2012-07-09 08:22:38 +02:00
Anton Khirnov
083d0f6be8
asplit: don't leak the input buffer.
2012-07-09 08:22:11 +02:00
Anton Khirnov
1ffb645662
af_resample: fix request_frame() behavior.
...
Make sure that an output frame has really been produced before returning
0.
2012-07-09 08:21:37 +02:00
Anton Khirnov
6f834293d3
af_asyncts: fix request_frame() behavior.
...
Make sure that an output frame has really been produced before returning
0.
2012-07-09 08:21:15 +02:00
Anton Khirnov
5b7a88f0ba
matroskadec: honor error_recognition when encountering unknown elements.
2012-07-09 07:43:11 +02:00
Anton Khirnov
25b51b2c44
id3v2: add a mimetype for bmp pictures.
2012-07-07 20:34:41 +02:00
Anton Khirnov
b7d3a9a015
flacdec: be less strict when parsing attached pictures.
...
Only return an error if memory allocation fails or error recognition is
set to explode. Otherwise just print an error message and continue
reading the file.
2012-07-07 20:34:20 +02:00
Anton Khirnov
dba5b06ead
flacdec: don't create an attached picture stream until we have all information.
...
This way we don't end with an invalid stream if parsing the picture
fails.
2012-07-07 20:33:44 +02:00
Anton Khirnov
b7558ac293
af_amix: avoid spurious EAGAIN.
...
Input on/off state can change in request_samples(), which can result in
a state where only the first input is active. get_available_samples()
will then return 0, and request_frame() will fail with EAGAIN even
though there is data on the single active input.
Take this into account and check the number of active inputs again after
calling request_samples().
2012-07-06 13:51:58 +02:00
Anton Khirnov
54bf88e65f
af_amix: return AVERROR(EAGAIN) when request_frame didn't produce output.
...
0 should only be returned when there was at least one output frame.
2012-07-06 13:51:58 +02:00
Anton Khirnov
428b369804
af_amix: only consider negative return codes as errors.
2012-07-06 13:51:58 +02:00
Anton Khirnov
53ddd43f0c
avconv: use only meaningful timestamps in start time check.
2012-07-06 12:59:11 +02:00
Anton Khirnov
b98c8f4f2b
avconv: fix the check for -ss as an output option.
...
start time is already substracted from the frame timestamp, so it needs
to be checked against 0, not start time.
2012-07-06 12:54:52 +02:00
Anton Khirnov
2696789c52
avplay: update input filter pointer when the filtergraph is reset.
...
Fixes an invalid read on size change.
2012-07-05 13:15:36 +02:00
Anton Khirnov
1c840fa227
FATE: add a test for WMA cover art.
2012-07-04 05:59:14 +02:00
Anton Khirnov
8059d3b7d4
FATE: add a test for apetag cover art
2012-07-04 05:59:05 +02:00
Anton Khirnov
bf2a7f9161
FATE: add a test for itunes cover art.
2012-07-04 05:58:47 +02:00
Anton Khirnov
5e745cefc0
asfdec: read attached pictures.
2012-07-02 16:16:45 +02:00
Anton Khirnov
728d2afa17
apetag: reindent
2012-07-02 16:16:38 +02:00
Anton Khirnov
02a951b919
apetag: export attached covers as video streams.
2012-07-02 16:16:11 +02:00
Anton Khirnov
b72767df8e
apetag: fix the amount of data read from binary tags.
...
Substract the filename size from the data size.
2012-07-02 16:15:45 +02:00
Anton Khirnov
f2e175c756
apetag: make sure avio_get_str() doesn't read more than it should.
2012-07-02 16:15:34 +02:00