Vittorio Giovara
6064f697a3
lavc: Enable side data only packets by default
...
Deprecate the now unused option, but temporarily retain the capability
to disable the now default behaviour.
Mention this change in the AVPacket documentation.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-09-12 13:38:31 +02:00
Vittorio Giovara
059a934806
lavc: Consistently prefix input buffer defines
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:59 +01:00
Vittorio Giovara
def97856de
lavc: AV-prefix all codec capabilities
...
Express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:58 +01:00
Vittorio Giovara
7c6eb0a1b7
lavc: AV-prefix all codec flags
...
Convert doxygen to multiline and express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:58 +01:00
Vittorio Giovara
40cf1bbacc
Deprecate avctx.coded_frame
...
The rationale is that coded_frame was only used to communicate key_frame,
pict_type and quality to the caller, as well as a few other random fields,
in a non predictable, let alone consistent way.
There was agreement that there was no use case for coded_frame, as it is
a full-sized AVFrame container used for just 2-3 int-sized properties,
which shouldn't even belong into the AVCodecContext in the first place.
The appropriate AVPacket flag can be used instead of key_frame, while
quality is exported with the new AVPacketSideData quality factor.
There is no replacement for the other fields as they were unreliable,
mishandled or just not used at all.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-20 15:06:50 +01:00
Vittorio Giovara
5d3addb937
Add a quality factor packet side data
...
This is necessary to preserve the quality information currently exported
with coded_frame. Add the new side data to every encoder that needs it,
and use it in avconv.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-20 15:06:47 +01:00
Anton Khirnov
6d592fbd0d
avconv: split creating and (re-)configuring complex filtergraphs
...
The current code is less than straightforward due to the fact that
output streams can be created based on filtergraph definitions. This
change should make the code simpler and more readable. It will also be
useful in the future commits.
2015-07-19 09:38:53 +02:00
Anton Khirnov
1959351aec
avconv: move the no streams failure to open_output_file()
...
It is a better place for it, there is no reason to wait until
transcode_init().
2015-07-19 09:38:28 +02:00
Anton Khirnov
ab7b038906
avconv: factor out the output stream initialization
2015-07-19 09:38:25 +02:00
Anton Khirnov
6d5d924604
avconv: move handling the 2pass logfile into avconv_opt
...
It more logically belongs there.
2015-07-19 09:34:24 +02:00
Anton Khirnov
59245e0c5e
avconv: set the encoding/decoding_needed flags earlier
...
This will be useful in the following commits.
2015-07-19 09:34:08 +02:00
Anton Khirnov
56c2f37727
avconv: drop update_sample_fmt()
...
There is only one decoder left that supports this (libopus, which is not
used by default since we have a native one) and this code goes against
the avconv design, since it propagates information back from the encoder
to decoder.
2015-07-19 09:33:51 +02:00
Anton Khirnov
9a5e4fbec8
avconv: do not stop processing the input packet on decoding error
...
We still want to flush the filters on EOF and possibly apply streamcopy.
2015-06-27 16:45:41 +02:00
Anton Khirnov
b114f6d48a
avconv: factor out flushing the filters
...
This also ensures this is always done, avoiding infinite loops if an
error occurs at the end of the input.
2015-06-27 16:45:04 +02:00
Martin Storsjö
16302246b1
avconv: Add an option for automatically rotating video according to display matrix
...
The option is enabled by default, but can be disabled.
If this is enabled, such side data isn't copied into the output stream
(except when doing stream copy).
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-02 22:09:06 +03:00
Himangi Saraogi
aa1a1b2496
avconv: Avoid theoretical NULL dereferences
...
Bug-Id: CID 1292519
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-04 19:32:10 +02:00
Anton Khirnov
3892bdab9b
avconv: do not overwrite the stream codec context for streamcopy
...
Since we are not doing encoding, there is no point in ever touching the
separate encoding context. Always use the stream codec context.
Fixes writing attachments.
CC:libav-devel@libav.org
2015-04-03 13:10:03 +02:00
Luca Barbato
22a6d48b0d
avconv: Print the avfilter errors
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-20 18:42:26 +01:00
Anton Khirnov
dc7536ca3d
avconv: do not abort immediately if initializing hwaccel fails
...
exit_program() will try to free the decoders, which is not a good idea
from within get_format().
Return an error instead.
2015-03-10 07:40:11 +01:00
Anton Khirnov
88b32673db
avconv: copy stream-level side data when streamcopying
2014-10-24 09:03:16 +02:00
Martin Storsjö
d0c0930219
avconv: Use av_gettime_relative
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-24 09:53:45 +03:00
Anton Khirnov
59b55c494e
lavc: deprecate unused me_threshold field
2014-10-18 05:26:56 +02:00
Vittorio Giovara
c92965dbfb
avconv: check return value
...
CC: libav-stable@libav.org
Bug-Id: CID 1224275
2014-10-17 09:55:46 +01:00
Anton Khirnov
557d4c4eca
avconv: replace AVCodecContext.time_base with framerate
2014-10-15 06:38:16 +00:00
Luca Barbato
6cfbe1de5a
avconv: Use only audio and video to guess discontinuities
...
Data and subtitle streams might cause false positive.
2014-09-26 20:56:16 +02:00
Gabriel Dume
f929ab0569
cosmetics: Write NULL pointer equality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 03:18:18 -07:00
Anton Khirnov
aa51b0492b
avconv: rename output_packet() to process_input_packet()
...
It more accurately describes what this function does
2014-08-13 17:24:18 +00:00
Anton Khirnov
3f3232a371
avconv: set the output stream timebase
...
This is required by the new API.
2014-07-09 13:30:33 +00:00
Anton Khirnov
452860d7e0
Use av_packet_rescale_ts() to simplify code.
2014-06-20 14:14:48 +02:00
Anton Khirnov
71d6551e67
avconv: use the correct variable in comparison
2014-06-17 09:01:26 +02:00
Anton Khirnov
48e5092133
avconv: make -shortest work with streamcopy
...
CC: libav-stable@libav.org
2014-06-12 08:17:50 +02:00
Luca Barbato
39ec5e1cf8
avconv: Report the codec and the encoder separately
...
Bug-Id: 694
2014-06-04 13:04:40 +02:00
Anton Khirnov
383136264e
avconv: do not use the stream codec context for encoding
2014-06-01 08:33:21 +02:00
Anton Khirnov
41776ba9c0
avconv: do not use the stream codec context for decoding
2014-06-01 08:33:11 +02:00
Anton Khirnov
dc40d88625
avconv: do not use poorly defined and undocumented AVStream.pts
...
Use OutputStream.last_mux_dts as an approximation of 'current' output
time instead.
2014-05-19 07:14:11 +02:00
Anton Khirnov
6656370b85
avconv: set the "encoder" tag when transcoding
2014-05-18 20:33:46 +02:00
Anton Khirnov
93afb6c98d
avconv: set output avg_frame_rate when known
2014-05-18 10:24:36 +02:00
Anton Khirnov
9580818c5d
avconv: rename OutputStream.opts to OutputStream.encoder_opts
...
This makes it more clear what is this variable for exactly.
2014-05-03 21:44:24 +02:00
Anton Khirnov
01947f07b8
avconv: remove a useless line
...
Doing anything with that field when we are doing streamcopy (so the
encoder is not opened) should have absolutely no effect.
2014-05-03 21:44:10 +02:00
Anton Khirnov
65ed9e7585
avconv: rename 'codec' to 'enc_ctx'
...
This more clearly describes what is the variable used for.
Also, move its declaration into the block where it is actually used.
2014-05-03 21:43:43 +02:00
Anton Khirnov
650a5206a9
avconv: rename 'icodec' to 'dec_ctx'
...
This more clearly describes what is the variable used for.
2014-05-03 21:43:24 +02:00
Anton Khirnov
f3a6ad22c9
avconv: rename InputStream.opts to InputStream.decoder_opts
...
This makes it more clear what is this variable for exactly.
2014-05-03 21:43:05 +02:00
Anton Khirnov
73ed8558a6
avconv: simplify exit_program() by using more local vars
2014-05-03 21:42:02 +02:00
Anton Khirnov
1ae8198bca
avconv: always reset packet pts after decoding an audio frame
...
Currently, if a decoder sets AVFrame.pts, we'd send the same timestamp
to it twice, which is wrong.
2014-04-22 07:45:49 +02:00
Vittorio Giovara
aa499568af
avconv: More descriptive message about framedrop
2014-03-25 12:26:24 +01:00
Anton Khirnov
d1780e01b8
avconv: don't warn on multiple frames per packet for codecs that expect it
2014-03-24 06:21:13 +01:00
Anton Khirnov
4754345027
avconv: print verbose per-stream transcoding statistics
2014-03-24 06:20:38 +01:00
Anton Khirnov
a220b07b0f
avconv: split printing the final statistics into a separate function
2014-03-24 06:17:19 +01:00
Anton Khirnov
baeb59d89b
avconv: rewrite output data size tracking
...
Store a variable per OutputStream instead of globals for
audio/video/extradata. This makes the code simpler and cleaner and fixes
2pass with multiple output streams.
2014-03-24 06:17:04 +01:00
Anton Khirnov
f759f66e36
avconv: explicitly report when the muxing overhead is unknown
2014-03-24 06:16:58 +01:00