Ronald S. Bultje
bc1ef85520
lavc/avconv: support changing frame sizes in codecs with frame mt.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-03-24 21:29:16 +01:00
Justin Ruggles
4094fc9971
avconv: fix the resampling safety factors for output audio buffer allocation
...
This matches the output size required for audio_resample()
2012-03-23 01:19:43 -04:00
Justin Ruggles
9869e963a6
avconv: move audio output buffer allocation to a separate function
...
Allows for removing a goto and makes the code easier to follow.
2012-03-23 01:19:43 -04:00
Justin Ruggles
f3ab3e1aee
avconv: make the async buffer global and free it in exit_program()
2012-03-23 01:19:42 -04:00
Justin Ruggles
c9594fe0fb
avconv: free packet in write_frame() when discarding due to frame number limit
...
Fixes a memleak when using the -frames option with audio.
2012-03-20 15:51:58 -04:00
Justin Ruggles
9b9fc9ba32
avconv: pass input stream timestamps to audio encoders
...
5 FATE test references updated due to using demuxer-generated timestamps that
are either not sample-accurate or are slightly off in the input file.
2012-03-20 14:12:54 -04:00
Anton Khirnov
251422982b
avconv: remove pointless checks.
...
OutputStream.picref is guaranteed to be non-NULL if
get_filtered_video_frame() succeeds.
2012-03-15 09:01:18 +01:00
Anton Khirnov
ce326c1130
avconv: check for get_filtered_frame() failure.
2012-03-15 09:00:55 +01:00
Anton Khirnov
2636e691ce
avconv: remove a pointless check.
...
output_video_filter is always guaranteed to be set and is in fact
dereferenced right above the check.
2012-03-15 09:00:49 +01:00
Anton Khirnov
64334ddbbc
avconv: reindent
...
CC: libav-stable@libav.org
2012-03-13 12:21:44 +01:00
Anton Khirnov
6e8be949f1
avconv: link '-passlogfile' option to libx264 'stats' AVOption.
...
Fixes bug 204.
CC: libav-stable@libav.org
2012-03-13 12:21:14 +01:00
Anton Khirnov
4138cd2907
avconv: add -cpuflags option for setting supported cpuflags.
...
Useful for testing.
2012-03-06 15:03:22 +01:00
Anton Khirnov
39da3b223f
avconv: fix counting encoded video size.
...
avcodec_encode_video2() return value is 0 on success, encoded frame size
is stored in the packet.
2012-03-06 10:06:21 +01:00
Anton Khirnov
13f6917ca9
avconv: set discard on input streams automatically.
2012-02-26 19:30:50 +01:00
Anton Khirnov
832ba44d8d
avconv: saner output video timebase.
...
r_frame_rate should in theory have something to do with input framerate,
but in practice it is often made up from thin air by lavf. So unless we
are targeting a constant output framerate, it's better to just use input
stream timebase.
Brings back dropped frames in nuv and cscd tests introduced in
cd1ad18a65
2012-02-26 07:48:45 +01:00
Anton Khirnov
d43040e28b
avconv: refactor vsync code.
...
No functional changes, just make it more readable.
2012-02-26 07:28:27 +01:00
Justin Ruggles
f320fb894c
bethsoftvid: pass palette in side data instead of in a separate packet.
...
Update FATE reference to account for now non-existent palette packet.
This also fixes the FATE test if frame data is not initialized in
get_buffer(), so update comment in avconv accordingly.
2012-02-16 10:47:11 -05:00
Martin Storsjö
ae5a935574
avconv: Don't split out inline sequence headers when stream copying VC1
...
This is required when stream copying VC1 in ismv - there's one
global header in the moov atom, but keyframes have a separate
sequence header prepended.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-14 16:12:15 +02:00
Andrey Utkin
c22e2ec9d1
avconv: set AVFormatContext.duration from '-t'
...
Set output files duration to recording_time option, if given.
Rationale: to save duration into metadata for file that is written to
non-seekable output, for formats like FLV (with metadata at beginning).
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-12 17:15:41 +01:00
Justin Ruggles
a75bc764ec
avcodec: for audio encoding, set packet dts to packet pts.
...
There are no audio encoders which do frame reordering.
2012-02-09 21:51:29 -05:00
Anton Khirnov
8e37038a34
avconv: switch to avcodec_encode_video2().
2012-02-08 21:00:00 +01:00
Anton Khirnov
722410ade5
avconv: estimate next_dts from framerate if it is set.
2012-02-07 20:14:54 +01:00
Anton Khirnov
b34856a116
avconv: better next_dts usage.
...
next_dts is used for estimating the dts of the next packet if it's
missing. Therefore, it makes no sense to set it from the pts of the last
decoded frame. Also it should be estimated from the current packet
duration/ticks_per_frame always, not only when a frame was successfully
decoded.
2012-02-07 20:14:41 +01:00
Anton Khirnov
23576b3fbb
avconv: rename InputStream.pts to last_dts.
...
It more accurately describes what does this variable store.
2012-02-07 20:13:15 +01:00
Anton Khirnov
6e98390258
avconv: reduce overloading for InputStream.pts.
...
It currently has different meanings at different times (dts of the last
read packet/pts of the last decoded frame). Reduce obfuscation by
storing pts of the decoded frame in the frame itself.
2012-02-07 20:12:04 +01:00
Anton Khirnov
3101bb6669
avconv: rename InputStream.next_pts to next_dts.
...
It's used to predict dts, not pts.
2012-02-07 20:11:22 +01:00
Anton Khirnov
1270e12e49
avconv: rework -t handling for encoding.
...
Current code compares the desired recording time with InputStream.pts,
which has a very unclear meaning. Change the code to use actual
timestamps of the frames passed to the encoder.
In several tests, one less frame is encoded, which is more correct.
In the idroq test one more frame is encoded, which is again more
correct.
Behavior with stream copy should be unchanged.
2012-02-07 20:11:11 +01:00
Anton Khirnov
c9af832623
avconv: set encoder timebase for subtitles.
...
The actual number (1/1000) will probably require some
discussion/tweaking in the future, but should be good enough for now,
since the timestamps in AVSubtitle are in this timebase by definition.
2012-02-07 20:07:14 +01:00
Anton Khirnov
324fbadff9
avconv: remove debugging cruft from do_video_out().
2012-02-03 13:45:02 +01:00
Anton Khirnov
61a099680c
avconv: factorize setting stream_index for the output packet.
2012-02-03 13:44:59 +01:00
Anton Khirnov
d7edd359ec
avconv: deprecate the -deinterlace option
...
Its quality is horrible, yadif should always be used instead.
2012-01-30 21:43:08 +01:00
Mans Rullgard
3715d841a6
Fix non-C89 declarations in for loops
...
Some compilers still do not support this syntax.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-01-29 23:26:04 +00:00
Diego Biurrun
abe655a472
Drop unnecessary prefix from *sink* variable and struct names.
2012-01-25 12:28:36 +01:00
Janne Grunau
2473a45c85
threads: change the default for threads back to 1
...
Using threaded decoding by default breaks backward compatibility if
AVHWAccel is used or if an appliction sets threadunsafe callbacks.
Avconv and avplay still use -threads auto if not specified.
2012-01-21 13:26:44 +01:00
Diego Biurrun
45f2908d02
cosmetics: Rename ffsink to avsink.
2012-01-19 00:19:43 +01:00
Anton Khirnov
9993284793
avconv: fix -frames for video encoders with delay.
...
Frames must be counted when they are passed to the encoder, not when
they come out.
Fixes Bug 202.
2012-01-17 09:39:32 +01:00
Justin Ruggles
ee458cb1fa
avconv: use avcodec_encode_audio2()
2012-01-15 21:24:18 -05:00
Anton Khirnov
b2ce3b998b
avconv: use AVFrame.width/height/format instead of corresponding AVCodecContext fields
2012-01-12 09:02:01 +01:00
Anton Khirnov
ac64607682
avconv: reinitialize the filtergraph on resolution change.
...
This is a hopefully temporary solution until lavfi can properly deal
with resolution changes.
2012-01-10 16:47:15 +01:00
Anton Khirnov
7b9373db89
avconv: fix -copyinkf.
...
This option only applies to streamcopy, but is currently processed only
when encoding.
2012-01-10 16:47:15 +01:00
Anton Khirnov
e8c04f6240
avconv: add symbolic names for -vsync parameters
2012-01-04 21:25:25 +01:00
Anton Khirnov
c88d53199b
avconv: remove the 'codec framerate is different from stream' warning
...
Codec timebase is not framerate and the situation when it's different
from AVStream.r_frame_rate is quite common, nothing to warn about.
2012-01-02 14:15:09 +01:00
Anton Khirnov
f15f02c204
avconv: make -frames work for all types of streams, not just video.
2012-01-01 22:27:52 +01:00
Janne Grunau
1135a07146
avconv: free bitstream filters
2012-01-01 21:48:50 +01:00
Aneesh Dogra
7636c8c6a3
avconv: K&R cosmetics
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-29 21:45:44 +01:00
Anton Khirnov
04a14d4d25
avconv: avoid memcpy in vsrc_buffer when possible.
...
Decoding Sintel.2010.1080p.mkv with 4 threads on an i7 2600K goes from
260s to 244s.
2011-12-25 16:18:57 +01:00
Anton Khirnov
64dca32cdf
avconv: implement get_buffer()/release_buffer().
...
This will allow memcpy-free passing frames to lavfi.
2011-12-25 16:18:57 +01:00
Alex Converse
4bf3c8f226
mov: Don't stick the QuickTime field ordering atom in extradata.
...
The 'fiel' atoms can be found in H.264 tracks clobbering the extradata.
MJPEG supports non field based extradata, and this data should be
preserved when copying.
2011-12-21 22:04:37 -08:00
Alexandra Khirnova
a7b5e841ff
avconv: support stream specifiers in -metadata and -map_metadata
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-16 21:12:53 +01:00
Anton Khirnov
cd3716b9aa
Replace all uses of av_close_input_file() with avformat_close_input().
2011-12-12 20:34:38 +01:00