| Commit message (Collapse) | Author | Age |
|
|
|
| |
Use the estimated duration only to calculate missing timestamps if needed.
|
|
|
|
|
|
|
|
|
|
| |
Also, do not give AVCodecContext.frame_size priority for muxing.
Updated 2 FATE references:
dxa-feeble - adds 1 audio frame that is still within 2 seconds as specified
by -t 2 in the FATE test
wmv8-drm-nodec - durations are not needed. previously they were estimated
using the packet size and average bit rate.
|
| |
|
|
|
|
| |
It is not necessary
|
|
|
|
| |
It is not necessary
|
|
|
|
| |
It is not necessary
|
|
|
|
|
| |
also, properly set AVCodecContext.bits_per_coded_sample, AVStreasm.start_time,
and AVPacket.duration.
|
|
|
|
| |
it is not necessary.
|
|
|
|
|
|
|
|
|
| |
It is unnecessary. Also, for some codecs we're reading more than 1 frame per
packet. Instead we use a private context variable to calculate the bit rate,
stream duration, and packet durations.
Updated FATE seek test, which has slightly different timestamps due to a
more accurate bit rate calculation.
|
|
|
|
| |
It is not necessary.
|
|
|
|
| |
prevents lavf from setting incorrect packet durations.
|
|
|
|
| |
avformat_find_stream_info() no longer hangs while waiting for AAC frame_size
|
|
|
|
|
| |
In Ogg/CELT, frame_size is found in the same place as the sample_rate and
channels, so we do not need to force the frame_size to be parsed.
|
|
|
|
|
| |
It was only needed to avoid a bad time base (and thus non-monotone timestamps)
for stream copy to avi.
|
|
|
|
| |
We already will get the needed info because of CODEC_CAP_CHANNEL_CONF
|
|
|
|
|
| |
This way we can do stream copy without having the demuxer wait until
frame_size has been set.
|
|
|
|
|
| |
It is more reliable than AVCodecContext.frame_size for codecs with constant
packet duration.
|
|
|
|
|
|
| |
For encoding, frame_size is not a reliable indicator of packet duration.
Also, we don't want to have to force the demuxer to find frame_size for
stream copy to work.
|
|
|
|
|
| |
This is a utility function for the user to get the frame duration based on
the codec id, frame size in bytes, and various AVCodecContext parameters.
|
|
|
|
|
|
| |
This only returns bits per sample when it is exactly correct. That is, the
codec contains only raw samples with no frame headers or padding. This applies
to basically all PCM codecs and a small subset of ADPCM codecs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Split off packet parsing into a separate function. Parse full packets at
once and store them in a queue, eliminating the need for tracking
parsing state in AVStream.
The horrible unreadable loop in read_frame_internal() now isn't weirdly
ordered and doesn't contain evil gotos, so it should be much easier to
understand.
compute_pkt_fields() now invents slightly different timestamps for two
raw vc1 tests, due to has_b_frames being set a bit later. They shouldn't
be more wrong (or right) than previous ones.
|
|
|
|
|
|
|
|
| |
Make packet buffer a parameter, don't hardcode it to be
AVFormatContext.packet_buffer.
Also move the function higher in the file, since it will be called from
read_frame_internal().
|
| |
|
|
|
|
| |
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
| |
|
|
|
|
|
|
|
|
| |
This splits ff_dsputil_init_mmx() into multiple functions, one for
each MMX/SSE level, somewhat simplifying the nested conditions.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
|
|
| |
Fixes listing encoders.
|
| |
|
|
|
|
|
|
|
| |
In most places where it's used, it's as a pointless write-only field.
Only rv10 decoder actually reads from it, but it stores some internal
version info in it. There is no reason for it to be in a public field.
|
| |
|
| |
|
|
|
|
|
| |
This allows user to select quantisation matrix from different profile,
stamp frames with custom vendor string and change target bitrate.
|
| |
|
|
|
|
|
|
| |
Use CODEC_CAP_DELAY and CODEC_CAP_SMALL_LAST_FRAME to properly pad and flush
the encoder at the end of encoding. This is needed in order to have all input
samples decoded.
|
|
|
|
|
|
| |
Use CODEC_CAP_DELAY and CODEC_CAP_SMALL_LAST_FRAME to properly pad and flush
the encoder at the end of encoding. This is needed in order to have all input
samples decoded.
|
|
|
|
| |
fixes writing of uninitialized packet data
|
| |
|
|
|
|
| |
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
|
|
|
|
| |
Fixes pre-processing with latest versions of nasm.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
|
|
|
|
|
| |
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
|
|
|
|
|
|
|
|
| |
We need to set ms_stereo in encode_init() in order to avoid incorrectly
encoding the first frame as non-m/s while flagging it as m/s. Fixes an
uncomfortable pop in the left channel at the start of playback.
CC:libav-stable@libav.org
|
| |
|
|
|
|
|
|
|
| |
Currently we have an assert() that prevents the frame from being too large,
but it is more user-friendly to give an error message instead of aborting on
assert(). This condition is quite unlikely due to the minimum bit rate check
in encode_init(), but it is still worth having.
|