| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This makes sure the actual stream parameters are used, which is
important mainly for hardware decoding+filtering cases, which would
previously require various weird workarounds to handle the fact that a
fake software graph has to be constructed, but never used.
This should also improve behaviour in rare cases where
avformat_find_stream_info() does not provide accurate information.
|
|
|
|
|
| |
This will be useful in the following commit, after which the muxer
timebase is not always available when encoding.
|
|
|
|
| |
The reasoning is the same as in 563aa6b80bf87712910404d6fb5495a75e40ae86
|
|
|
|
|
|
|
|
|
|
| |
Setting the filter input parameters is moved to init_input_stream(),
so that it is done before the decoder is opened, potentially overwriting
the information from avformat_find_stream_info() with less accurate
data.
This commit temporarily disabled QSV transcoding with hw frames. The
functionality will be re-added in the following commits.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, calling configure_filtergraph() will pull in the input
parameters from the corresponding decoder context. This has the
following disadvantages:
- the decoded frame is a more proper source for this information
- a filter accessing decoder data breaks proper layering
Add functions for explicitly sending the input stream parameters to a
filtergraph input - currently from a frame and a decoder. The decoder
one will be dropped in future commits after some more restructuring.
|
| |
|
|
|
|
|
| |
This should have no practical effect for now, but will make a difference
in the following commits.
|
| |
|
|
|
|
| |
This will be needed in the following commits.
|
| |
|
|
|
|
|
| |
Fail immediately if automatic encoder selection failed. Always set the
stream_copy/encoding_needed flags in one place.
|
|
|
|
|
|
| |
The current code assumes that encoding_needed is simply an inverse of
stream_copy, which is not true for manually attached files (for which
neither of those is true).
|
|
|
|
|
|
| |
We already have all the necessary information in open_output_file().
This makes the information about the stream/filtergraph mappings
available earlier.
|
|
|
|
| |
This makes the code easier to read.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This is a more appropriate place for it.
|
|
|
|
|
| |
For now it will only be used by the default get_buffer2 callback for
allocating hw frames.
|
|
|
|
|
| |
This is a video test and there are no audio packets in the sample
anyway.
|
|
|
|
|
|
| |
The current code modifies the user-supplied string, which is shared for
the whole output file. So a bitstream filter specification applied to
multiple streams would not work correctly.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
avcodec_copy_context() didn't handle hw_frames_ctx references correctly
which could cause crashes.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This is only used for logging a human readable codec name for
debugging.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
| |
|
|
|
|
| |
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
| |
|
|
|
|
|
|
|
| |
We cannot deprecate it until the new parser API is in place, because of
the way libavformat works. But the majority of the users can already
simply replace it with avcodec_free_context(), which will simplify the
transition once it is finally deprecated.
|
|
|
|
|
|
|
|
|
| |
This function is supposed to "reset" a codec context to a clean state so
that it can be opened again. The only reason it exists is to allow using
AVStream.codec as a decoding context (after it was already
opened/used/closed by avformat_find_stream_info()). Since that behaviour
is now deprecated, there is no reason for this function to exist
anymore.
|
|
|
|
|
|
|
|
|
| |
Since AVCodecContext contains a lot of complex state, copying a codec
context is not a well-defined operation. The purpose for which it is
typically used (which is well-defined) is copying the stream parameters
from one codec context to another. That is now possible with through the
AVCodecParameters API. Therefore, there is no reason for
avcodec_copy_context() to exist.
|
|
|
|
| |
Describe the new AVCodecParameters API.
|
|
|
|
|
|
|
|
|
| |
Initialize the bit buffer with the correct size (amount of bits that will
be read) instead of relying on the bitstream reader overreading the
correct values.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
|
|
| |
It will not be provided by the new bit reader anyway.
|
| |
|
|
|
|
| |
This fixes compilation with the libavcodec version bumped to 58.
|
|
|
|
|
|
|
|
| |
It is now only used by the av_parser_change() call during streamcopy, so
allocate a special AVCodecContext instance for this case. This instance
should go away when the new parser API is finished.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|