Clément Bœsch and Clément Bœsch
1f68be4764
timecode: show frame rate when invalid.
2012-08-01 17:36:37 +02:00
Clément Bœsch and Clément Bœsch
20e46aafbd
mov: export orphan tmcd track metadata to global format metadata.
2012-06-11 07:40:58 +02:00
Clément Bœsch and Clément Bœsch
1ec23d9c02
mov: copy timecode metadata from tmcd track to the related video stream.
...
Apple softwares seem not to add a tref for the timecode (the next commit
fixes this issue), but at least FFmpeg does.
This can be used to generate a sample that demonstrates the feature:
./ffmpeg -f lavfi -i testsrc \
-f lavfi -i mptestsrc \
-f lavfi -i rgbtestsrc \
-map 0 -map 1 -map 2 \
-metadata:s:0 timecode=00:00:00:12 \
-metadata:s:2 timecode=01:02:12:20 \
-t 10 -y out.mov
./ffprobe out.mov
The timecode metadata being transmitted to the video streams, it can be
kept while transmuxed/transcoded.
2012-06-11 07:40:26 +02:00
Clément Bœsch and Clément Bœsch
0d96ec19eb
mov: parse tref atom.
2012-06-11 07:35:14 +02:00
Clément Bœsch and Clément Bœsch
9fb2e234d0
movenc: add timecode track support.
2012-06-11 07:35:14 +02:00
Clément Bœsch and Clément Bœsch
9846a9c701
riff: add ISMP/timecode tag.
2012-06-11 07:28:26 +02:00
Clément Bœsch and Clément Bœsch
c790ae0265
ffmpeg: add missing return carriage in error message.
2012-06-04 09:10:07 +02:00
Clément Bœsch and Clément Bœsch
e00b2d284e
options: stop after option is found.
...
This reverts 78da04384a6c22820518706d84631006d31a85ea; it is not
required anymore since the previous commit (these extended checks were
for the -timecode option in both muxers and encoders), and reduces the
diff with the fork.
2012-06-04 07:41:22 +02:00
Clément Bœsch and Clément Bœsch
6b35f1a2a6
timecode: move timecode muxer options to metadata.
...
Some demuxers set a timecode in the format or streams metadata. The
muxers now make use of this metadata instead of a duplicated private
option.
This makes possible transparent copy of the timecode when transmuxing
and transcoding.
-timecode option for MPEG1/2 codec is also renamed to -gop_timecode. The
global ffmpeg -timecode option will set it anyway so no option change
visible for the user.
2012-06-04 07:41:22 +02:00
Clément Bœsch and Clément Bœsch
735fb8ce59
ffmpeg: remove unused MetadataMap.
...
This struct was forgotten after
e5df74dc56 .
2012-04-06 14:25:35 +02:00
Clément Bœsch and Clément Bœsch
e5df74dc56
ffmpeg: remove unused meta_data_maps.
...
This is unused since a7b5e841ff .
2012-04-06 14:09:48 +02:00
Clément Bœsch and Clément Bœsch
614716f583
mov: do not print string len in handler_name.
...
The handler name is stored as a pascal string in the QT specs (first
byte is the length of the string), thus leading to an invalid metadata
string export.
Also add a second length check based on the first character 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.
2012-04-05 17:32:54 +02:00
Clément Bœsch and Clément Bœsch
e29f66d64a
ffmpeg: fix a few typo.
2012-04-04 11:50:16 +02:00
Clément Bœsch and Clément Bœsch
29679f4a37
aac: reference supported sample rates in encoders.
2012-03-26 22:46:40 +02:00
Clément Bœsch and Clément Bœsch
21d650cb69
ffmpeg: more expressive sample rate automatic selection.
...
Output now lists the available sample rates with commands like
ffmpeg -f lavfi -i aevalsrc=0 -ar 20000 -y /tmp/out.mp3
2012-03-26 22:46:40 +02:00
Clément Bœsch and Clément Bœsch
a67d9cfa58
lavfi: add avfilter_fill_frame_from_{audio_,}buffer_ref().
2012-03-26 22:46:40 +02:00
Clément Bœsch and Clément Bœsch
9dd649c004
flv: clarify use of video info/cmd frame.
...
Also add generated key frame in the enum, and doxycomment the existing
ones. Descriptions are directly taken from the public specifications.
2012-03-20 07:53:40 +01:00
Clément Bœsch and Clément Bœsch
4fe5448790
lavfi/drawtext: add 24 hours wrapping option for timecode.
...
Fixes ticket #1044 .
2012-03-12 18:17:02 +01:00
Clément Bœsch and Clément Bœsch
aecf0cf5ed
doc/examples: add audio decoding/filtering example.
...
Mostly based on doc/examples/filtering.c. lavfi API is still limited to
"buffer feeding" instead of "frame feeding" at the moment, so this
example code sticks with it.
2012-02-21 16:45:37 +01:00
Clément Bœsch and Clément Bœsch
241f8465d0
lavfi/abuffer: init the data planes with NULL pointers.
...
Samples buffer ref is allocated and loaded with the uninitialized data
pointers:
av_asrc_buffer_add_buffer()
-> av_asrc_buffer_add_samples()
-> avfilter_get_audio_buffer_ref_from_arrays(data, ...)
...which leads to a crash with at least lavfi/ashowinfo in case of !NULL
(see the for loop while samplesref->data[plane]).
2012-02-21 16:45:34 +01:00
Clément Bœsch and Clément Bœsch
6e6bdeb137
doc: fix channel layout value in abuffer example.
...
The channel layout must start with 0x, otherwise it is parsed as a
number of channels.
2012-02-20 09:23:44 +01:00
Clément Bœsch and Clément Bœsch
cba4e2cbbc
pan: fix uninitialized channel_id variable.
...
Fix broken parsing with pan=2:FL=FR:FR=FL and similar.
2012-02-15 10:26:30 +01:00
Clément Bœsch and Clément Bœsch
95317821ea
audioconvert: consistent use of FF_ARRAY_ELEMS for channel_layout_map.
2012-02-15 10:26:25 +01:00
Clément Bœsch and Clément Bœsch
158bd596a6
ffmpeg: move quality parameter to do_video_out() scope.
...
This make do_video_out() and do_audio_out() consistent. Also simplifies
callers.
2012-02-10 20:13:36 +01:00
Clément Bœsch and Clément Bœsch
63b5e99fab
ffmpeg: make use of ret error out in transcode_video().
2012-02-10 20:13:36 +01:00
Clément Bœsch and Clément Bœsch
086fc4d765
ffmpeg: move filtered_frame to the CONFIG_AVFILTER scope.
...
This simplifies a bit the #ifdefery.
2012-02-10 20:13:36 +01:00
Clément Bœsch and Clément Bœsch
9303b794b8
ffmpeg: move do_video_stats() above do_video_out().
...
This avoid a forward declaration.
2012-02-10 20:12:52 +01:00
Clément Bœsch and Clément Bœsch
a78dd826ee
ffmpeg: move video stats code to do_video_out().
...
This will allow some simplifications in transcode_video().
2012-02-10 20:12:52 +01:00
Clément Bœsch and Clément Bœsch
cf31060127
ffmpeg: move filtered_frame to video stream processing scope.
2012-02-10 20:12:52 +01:00
Clément Bœsch and Clément Bœsch
aede21f1b6
ffmpeg: reindent after video frame polling simplification.
2012-02-10 19:59:38 +01:00
Clément Bœsch and Clément Bœsch
e22c7b4e25
ffmpeg: simplify video frame polling.
...
input_video_filter and output_video_filter can't be NULL at this point.
If they are, the current code would likely crash anyway (since
filtered_frame would be NULL and sent to do_video_out().
2012-02-10 19:59:38 +01:00
Clément Bœsch and Clément Bœsch
4ab4b3db5a
ffmpeg: use exit_program() if configure_video_filters() fails.
2012-02-10 19:59:38 +01:00
Clément Bœsch and Clément Bœsch
d50a4c4a5b
lavfi/amerge: copy ref props after filtering samples.
...
This fixes various issues with ffmpeg -ss and -t.
2012-02-02 14:31:18 +01:00
Clément Bœsch and Clément Bœsch
d055c3286c
doc: document amerge filter as an alternative for the -map_channel limitation.
2012-02-02 14:31:17 +01:00
Clément Bœsch and Clément Bœsch
b90d79ec1f
timecode: drop lavc timecode on next bump.
2012-02-02 14:31:17 +01:00
Clément Bœsch and Clément Bœsch
6f55156234
dvenc: use new public timecode API.
2012-02-02 14:31:17 +01:00
Clément Bœsch and Clément Bœsch
bf6e83a8e8
mxfenc: use new public timecode API.
2012-02-02 14:31:17 +01:00
Clément Bœsch and Clément Bœsch
e2407556f1
gxfenc: use new public timecode API.
2012-02-02 14:31:17 +01:00
Clément Bœsch and Clément Bœsch
d8804905eb
mpeg12enc: use new public timecode API.
2012-02-02 14:31:17 +01:00
Clément Bœsch and Clément Bœsch
f65600d519
drawtext: use new public timecode API.
2012-02-02 14:31:17 +01:00
Clément Bœsch and Clément Bœsch
11e5d3b9cf
dv: use new public timecode API.
2012-02-02 14:31:17 +01:00
Clément Bœsch and Clément Bœsch
77971609de
mov: honor tmcd flags while extracting timecode meta.
2012-02-02 14:31:17 +01:00
Clément Bœsch and Clément Bœsch
bd10f01aa8
mov: use new public timecode API.
2012-02-02 14:31:17 +01:00
Clément Bœsch and Clément Bœsch
ed67dac093
mpeg12: use av_mpegtc_to_timecode_string().
2012-02-02 14:31:17 +01:00
Clément Bœsch and Clément Bœsch
dc386a5e3c
ffprobe: use av_mpegtc_to_timecode_string().
2012-02-02 14:31:17 +01:00
Clément Bœsch and Clément Bœsch
0eaa123b34
lavu: add public timecode API.
2012-02-02 14:30:28 +01:00
Clément Bœsch and Clément Bœsch
b18ebcbe83
timecode: add write regressions tests.
2012-02-02 14:16:34 +01:00
Clément Bœsch and Clément Bœsch
c673671333
ffmpeg: fix -map_channel being ignored when resampling is not needed.
2012-01-31 17:44:46 +01:00
Clément Bœsch and Clément Bœsch
5dfc7f7342
doc: add Timecode documentation.
2012-01-24 16:20:21 +01:00
Clément Bœsch and Clément Bœsch
9bd44b42a8
pan: drop unecessary includes.
2012-01-24 10:43:42 +01:00
Clément Bœsch and Clément Bœsch
66b1b7e5fa
pan: move query_formats() to avoid forward declarations.
2012-01-24 10:43:42 +01:00
Clément Bœsch and Clément Bœsch
94dc4a5046
pan: reindent after remap commit.
2012-01-24 10:43:41 +01:00
Clément Bœsch and Clément Bœsch
6728dd37ac
pan: add channel mapping capability.
2012-01-24 10:43:41 +01:00
Clément Bœsch and Clément Bœsch
66fdbcbbc9
pan: raise correct error when there is no param specified.
2012-01-24 10:43:41 +01:00
Clément Bœsch and Clément Bœsch
5fc51c3155
lavu: add 2.1 channel layout.
2012-01-16 17:38:23 +01:00
Clément Bœsch and Clément Bœsch
ca1bae3983
timecode: support >24h timecode.
2012-01-11 18:14:13 +01:00
Clément Bœsch and Clément Bœsch
f1db99166b
timecode: string representation can be negative.
...
Timecode can be specified with a negative value in MOV...
2012-01-11 18:14:09 +01:00
Clément Bœsch and Clément Bœsch
98aafc5bbf
timecode: set a fixed buffer size of 16B for tc string.
2012-01-11 18:14:03 +01:00
Clément Bœsch and Clément Bœsch
ed14b7242a
timecode: more tolerant frame rate check for drop flag.
...
This fixes some timecode probing in MOV.
2012-01-06 12:16:06 +01:00
Clément Bœsch and Clément Bœsch
35da85562d
mov: support timecode extraction.
2012-01-05 20:59:52 +01:00
Clément Bœsch and Clément Bœsch
adc278788b
mov: annotate read values in tmcd track.
2012-01-05 20:59:52 +01:00
Clément Bœsch and Clément Bœsch
2aa7375a98
timecode: add avpriv_check_timecode_rate().
2012-01-05 20:59:52 +01:00
Clément Bœsch and Clément Bœsch
dc7ad85c40
doc: use @command{} for commands.
2012-01-04 13:21:08 +01:00
Clément Bœsch and Clément Bœsch
837126568c
doc: use @code{} for --{enable,disable}-options.
2012-01-04 13:21:08 +01:00
Clément Bœsch and Clément Bœsch
e1a8164d62
mp3enc: fix playback with mp3 encoded files on some devices.
...
This partially reverts 1fea432b; header variable needs to keep its value
in case it triggers "if (needed <= c.frame_size)".
2012-01-02 15:34:03 +01:00
Clément Bœsch and Clément Bœsch
940d3cc0b0
drawtext: fix hard dependency to lavc (timecode).
2012-01-02 15:33:56 +01:00
Clément Bœsch and Clément Bœsch
15a2a29ba3
lavfi: add thumbnail video filter.
2011-12-27 11:05:08 +01:00
Clément Bœsch and Clément Bœsch
0b4e5451ba
lavfi: use the new audio API in amovie source filter.
2011-12-13 20:25:12 +01:00
Clément Bœsch and Clément Bœsch
220481e1d6
lavfi: skip the frame in case of error.
...
This fixes playback with some audio files through filters.
2011-12-13 20:19:49 +01:00
Clément Bœsch and Clément Bœsch
80914cde6f
timecode: rename internal ff_* symbols to avpriv_*.
...
Those functions are shared between libs.
Also fix a typo in function names: smtpe → smpte.
2011-12-12 17:49:34 +01:00
Clément Bœsch and Clément Bœsch
fa4e30af7e
drawtext: allow burning the timecode.
2011-12-12 17:49:34 +01:00
Clément Bœsch and Clément Bœsch
ad5ade6615
timecode: add avpriv_timecode_to_string().
2011-12-12 17:49:34 +01:00
Clément Bœsch and Clément Bœsch
98aca4bbef
timecode: better input checks in init function.
2011-12-12 17:49:34 +01:00
Clément Bœsch and Clément Bœsch
b6ffe441cd
ffmpeg: do not use a negative total_size (AVERROR) in bitrate estimation.
2011-11-29 23:07:13 +01:00
Clément Bœsch and Clément Bœsch
81a65b82fb
swr: handle correctly muted channel with u8 sample fmt.
2011-11-29 17:14:25 +01:00
Clément Bœsch and Clément Bœsch
fbe6e29646
ffprobe: print codec timecode if available.
2011-11-28 14:06:02 +01:00
Clément Bœsch and Clément Bœsch
b1ca5634fd
mpeg12: raise timecode to codec context.
2011-11-28 14:06:02 +01:00
Clément Bœsch and Clément Bœsch
16b809ce8e
lavfi: fix misc typo in avfilter.h header.
2011-11-16 09:53:58 +01:00
Clément Bœsch and Clément Bœsch
efb1ce28b2
mpeg12: use drop_frame_flag to fix timecode debug format.
2011-10-17 09:14:36 +02:00
Clément Bœsch and Clément Bœsch
cdd30e5642
doc: small ascii diagram on I/O files and streams in ffmpeg.c
2011-10-12 15:43:52 +02:00
Clément Bœsch and Clément Bœsch
ade3ec8457
swresample: fix another broken indent chunk.
...
Also use a consistent style inside that block.
2011-10-10 15:55:28 +02:00
Clément Bœsch and Clément Bœsch
9719f25e7b
swresample: fix broken indent.
2011-10-10 09:57:41 +02:00
Clément Bœsch and Clément Bœsch
677a831ec6
ffmpeg: remove unused data_codec_name.
2011-09-12 12:09:09 +02:00
Clément Bœsch and Clément Bœsch
525d4852b9
ffmpeg: set {audio,video,subtitle}_codec_name const.
...
This fixes "assignment discards ‘const’ qualifier from pointer target
type." warnings.
2011-09-12 12:09:08 +02:00
Clément Bœsch and Clément Bœsch
4b961ddfea
ffmpeg: a bit more consistent prototypes.
2011-09-12 11:52:55 +02:00
Clément Bœsch and Clément Bœsch
c975cfaef2
build: fix install rule with --progs-suffix.
2011-09-11 01:48:29 +02:00
Clément Bœsch and Clément Bœsch
f738388bba
Makefile: remove unused PROGS_G.
2011-09-01 20:23:40 +02:00
Clément Bœsch and Clément Bœsch
33d9077001
build: introduce --progs-suffix option.
2011-09-01 20:23:40 +02:00
Clément Bœsch and Clément Bœsch
75af0e6a16
dv: honor timecode in DV muxer.
...
This is based on the original work by Baptiste Coudurier.
2011-08-13 19:13:03 +02:00
Clément Bœsch and Clément Bœsch
b49fe589ea
mxf: honor timecode drop flag in mxf muxer if set.
2011-08-13 19:13:02 +02:00
Clément Bœsch and Clément Bœsch
b33ca05b46
mxf: add cli option in mxfenc to replace GOP timecode parsing.
...
This is based on the original work by Baptiste Coudurier.
2011-08-13 19:13:02 +02:00
Clément Bœsch and Clément Bœsch
4c3c6e60f9
mxf: move framenum to timecode convert to timecode helpers.
...
This is based on the original work by Baptiste Coudurier.
2011-08-13 19:13:02 +02:00
Clément Bœsch and Clément Bœsch
51fb933dd0
timecode: move dropframe code and doxycomment it.
...
This is based on the original work by Baptiste Coudurier.
2011-08-10 16:00:32 +02:00
Clément Bœsch and Clément Bœsch
5231454560
timecode: introduce timecode and honor it in MPEG-1/2.
...
This is based on the original work by Baptiste Coudurier.
2011-08-10 16:00:32 +02:00
Clément Bœsch and Clément Bœsch
78da04384a
options: handle options with the same name in codecs and formats.
...
This will allow the incoming -timecode option to be handled in both
encoders (mpeg12enc in that case) and demuxers (dv, mxf, etc.).
2011-08-10 16:00:32 +02:00
Clément Bœsch and Clément Bœsch
76f105967b
mxfenc: fix ignored drop flag in binary timecode representation.
2011-07-05 17:22:51 +02:00
Clément Bœsch and Clément Bœsch
50f8c26579
dv: fix comment spelling.
2011-07-05 17:22:29 +02:00
Clément Bœsch and Ronald S. Bultje
4d5e7ab5c4
mxfenc: fix ignored drop flag in binary timecode representation.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com >
2011-07-05 08:04:44 -07:00
Clément Bœsch and Diego Biurrun
65614321db
dv: fix comment spelling
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2011-07-05 16:48:04 +02:00
Clément Bœsch and Diego Biurrun
19b6127365
mxfenc: small typo fix
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2011-07-04 12:54:26 +02:00