Vittorio Giovara
059a934806
lavc: Consistently prefix input buffer defines
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years ago
Vittorio Giovara
def97856de
lavc: AV-prefix all codec capabilities
...
Express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years ago
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>
9 years ago
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>
9 years ago
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>
9 years ago
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.
9 years ago
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().
9 years ago
Anton Khirnov
ab7b038906
avconv: factor out the output stream initialization
9 years ago
Anton Khirnov
6d5d924604
avconv: move handling the 2pass logfile into avconv_opt
...
It more logically belongs there.
9 years ago
Anton Khirnov
59245e0c5e
avconv: set the encoding/decoding_needed flags earlier
...
This will be useful in the following commits.
9 years ago
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.
9 years ago
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.
10 years ago
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.
10 years ago
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>
10 years ago
Himangi Saraogi
aa1a1b2496
avconv: Avoid theoretical NULL dereferences
...
Bug-Id: CID 1292519
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
10 years ago
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
10 years ago
Luca Barbato
22a6d48b0d
avconv: Print the avfilter errors
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
10 years ago
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.
10 years ago
Anton Khirnov
88b32673db
avconv: copy stream-level side data when streamcopying
10 years ago
Martin Storsjö
d0c0930219
avconv: Use av_gettime_relative
...
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years ago
Anton Khirnov
59b55c494e
lavc: deprecate unused me_threshold field
10 years ago
Vittorio Giovara
c92965dbfb
avconv: check return value
...
CC: libav-stable@libav.org
Bug-Id: CID 1224275
10 years ago
Anton Khirnov
557d4c4eca
avconv: replace AVCodecContext.time_base with framerate
10 years ago
Luca Barbato
6cfbe1de5a
avconv: Use only audio and video to guess discontinuities
...
Data and subtitle streams might cause false positive.
10 years ago
Gabriel Dume
f929ab0569
cosmetics: Write NULL pointer equality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years ago
Anton Khirnov
aa51b0492b
avconv: rename output_packet() to process_input_packet()
...
It more accurately describes what this function does
10 years ago
Anton Khirnov
3f3232a371
avconv: set the output stream timebase
...
This is required by the new API.
11 years ago
Anton Khirnov
452860d7e0
Use av_packet_rescale_ts() to simplify code.
11 years ago
Anton Khirnov
71d6551e67
avconv: use the correct variable in comparison
11 years ago
Anton Khirnov
48e5092133
avconv: make -shortest work with streamcopy
...
CC: libav-stable@libav.org
11 years ago
Luca Barbato
39ec5e1cf8
avconv: Report the codec and the encoder separately
...
Bug-Id: 694
11 years ago
Anton Khirnov
383136264e
avconv: do not use the stream codec context for encoding
11 years ago
Anton Khirnov
41776ba9c0
avconv: do not use the stream codec context for decoding
11 years ago
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.
11 years ago
Anton Khirnov
6656370b85
avconv: set the "encoder" tag when transcoding
11 years ago
Anton Khirnov
93afb6c98d
avconv: set output avg_frame_rate when known
11 years ago
Anton Khirnov
9580818c5d
avconv: rename OutputStream.opts to OutputStream.encoder_opts
...
This makes it more clear what is this variable for exactly.
11 years ago
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.
11 years ago
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.
11 years ago
Anton Khirnov
650a5206a9
avconv: rename 'icodec' to 'dec_ctx'
...
This more clearly describes what is the variable used for.
11 years ago
Anton Khirnov
f3a6ad22c9
avconv: rename InputStream.opts to InputStream.decoder_opts
...
This makes it more clear what is this variable for exactly.
11 years ago
Anton Khirnov
73ed8558a6
avconv: simplify exit_program() by using more local vars
11 years ago
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.
11 years ago
Vittorio Giovara
aa499568af
avconv: More descriptive message about framedrop
11 years ago
Anton Khirnov
d1780e01b8
avconv: don't warn on multiple frames per packet for codecs that expect it
11 years ago
Anton Khirnov
4754345027
avconv: print verbose per-stream transcoding statistics
11 years ago
Anton Khirnov
a220b07b0f
avconv: split printing the final statistics into a separate function
11 years ago
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.
11 years ago
Anton Khirnov
f759f66e36
avconv: explicitly report when the muxing overhead is unknown
11 years ago
Anton Khirnov
781d97fd54
avconv: remove unused nb_frames_dup
...
Frame duplication now happens in vf_fps.
11 years ago