Opened 8 years ago
Closed 8 years ago
#6020 closed defect (invalid)
DTS decoder produces invalid sample format for last frame
Reported by: | Marton Balint | Owned by: | |
---|---|---|---|
Priority: | important | Component: | avcodec |
Version: | git-master | Keywords: | dca regression |
Cc: | Marton Balint | Blocked By: | |
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
How to reproduce:
% ffprobe invalid-sample-fmt-in-last-frame.dts -show_frames -of compact
Output
ffprobe version N-82844-g265d451 Copyright (c) 2007-2016 the FFmpeg developers built with gcc 4.8 (SUSE Linux) configuration: --disable-vaapi --enable-vdpau --enable-gpl --enable-libfreetype --enable-libzvbi --enable-libass --enable-frei0r --enable-openssl --enable-nonfree --enable-libx264 --enable-libfdk-aac --enable-nonfree --enable-libvorbis --enable-decklink --enable-libmp3lame --enable-openal libavutil 55. 43.100 / 55. 43.100 libavcodec 57. 67.100 / 57. 67.100 libavformat 57. 59.100 / 57. 59.100 libavdevice 57. 2.100 / 57. 2.100 libavfilter 6. 68.100 / 6. 68.100 libswscale 4. 3.101 / 4. 3.101 libswresample 2. 4.100 / 2. 4.100 libpostproc 54. 2.100 / 54. 2.100 [dts @ 0x24ee260] Estimating duration from bitrate, this may be inaccurate Input #0, dts, from 'invalid-sample-fmt-in-last-frame.dts': Duration: 00:00:00.07, start: 0.000000, bitrate: 1535 kb/s Stream #0:0: Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 1536 kb/s frame|media_type=audio|stream_index=0|key_frame=1|pkt_pts=0|pkt_pts_time=0.000000|pkt_dts=0|pkt_dts_time=0.000000|best_effort_timestamp=0|best_effort_timestamp_time=0.000000|pkt_duration=960|pkt_duration_time=0.010667|pkt_pos=0|pkt_size=2012|sample_fmt=fltp|nb_samples=512|channels=6|channel_layout=5.1(side)side_data|side_data_type=AVMatrixEncoding|side_data_size=4 frame|media_type=audio|stream_index=0|key_frame=1|pkt_pts=960|pkt_pts_time=0.010667|pkt_dts=960|pkt_dts_time=0.010667|best_effort_timestamp=960|best_effort_timestamp_time=0.010667|pkt_duration=960|pkt_duration_time=0.010667|pkt_pos=2012|pkt_size=2012|sample_fmt=fltp|nb_samples=512|channels=6|channel_layout=5.1(side)side_data|side_data_type=AVMatrixEncoding|side_data_size=4 frame|media_type=audio|stream_index=0|key_frame=1|pkt_pts=1920|pkt_pts_time=0.021333|pkt_dts=1920|pkt_dts_time=0.021333|best_effort_timestamp=1920|best_effort_timestamp_time=0.021333|pkt_duration=960|pkt_duration_time=0.010667|pkt_pos=4024|pkt_size=2012|sample_fmt=fltp|nb_samples=512|channels=6|channel_layout=5.1(side)side_data|side_data_type=AVMatrixEncoding|side_data_size=4 frame|media_type=audio|stream_index=0|key_frame=1|pkt_pts=2880|pkt_pts_time=0.032000|pkt_dts=2880|pkt_dts_time=0.032000|best_effort_timestamp=2880|best_effort_timestamp_time=0.032000|pkt_duration=960|pkt_duration_time=0.010667|pkt_pos=6036|pkt_size=2012|sample_fmt=fltp|nb_samples=512|channels=6|channel_layout=5.1(side)side_data|side_data_type=AVMatrixEncoding|side_data_size=4 frame|media_type=audio|stream_index=0|key_frame=1|pkt_pts=3840|pkt_pts_time=0.042667|pkt_dts=3840|pkt_dts_time=0.042667|best_effort_timestamp=3840|best_effort_timestamp_time=0.042667|pkt_duration=960|pkt_duration_time=0.010667|pkt_pos=8048|pkt_size=2012|sample_fmt=fltp|nb_samples=512|channels=6|channel_layout=5.1(side)side_data|side_data_type=AVMatrixEncoding|side_data_size=4 frame|media_type=audio|stream_index=0|key_frame=1|pkt_pts=4800|pkt_pts_time=0.053333|pkt_dts=4800|pkt_dts_time=0.053333|best_effort_timestamp=4800|best_effort_timestamp_time=0.053333|pkt_duration=960|pkt_duration_time=0.010667|pkt_pos=10060|pkt_size=2012|sample_fmt=fltp|nb_samples=512|channels=6|channel_layout=5.1(side)side_data|side_data_type=AVMatrixEncoding|side_data_size=4 frame|media_type=audio|stream_index=0|key_frame=1|pkt_pts=5760|pkt_pts_time=0.064000|pkt_dts=5760|pkt_dts_time=0.064000|best_effort_timestamp=5760|best_effort_timestamp_time=0.064000|pkt_duration=960|pkt_duration_time=0.010667|pkt_pos=12072|pkt_size=2080|sample_fmt=s16p|nb_samples=512|channels=6|channel_layout=5.1(side)side_data|side_data_type=AVMatrixEncoding|side_data_size=4
The old DTS decoder worked correctly. The new DTS decoder also works if -core_only 1 is speicified.
Attachments (1)
Change History (5)
by , 8 years ago
Attachment: | invalid-sample-fmt-in-last-frame.dts added |
---|
comment:1 by , 8 years ago
comment:2 by , 8 years ago
Component: | undetermined → avcodec |
---|---|
Keywords: | dts sample_fmt removed |
comment:3 by , 8 years ago
What makes you even think its an "invalid" sample format? s16p is perfectly valid as a sample format. And as jamrial explained, the decoder picks up the lossless extension and switches to lossless output, as it should.
comment:4 by , 8 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
I was actually hunting down an assertion failure in af_atempo, and I thought that an audio decoder should not change its sample format during decoding, it seemed very unusual.
But if this is not a bug, then I guess it is OK, and I will take a second look at af_atempo to fix the original assertion failure there. Thanks.
I'm not sure if this is a bug. The last frame has an extension substream (XLL it seems) and the new decoder is processing it.
It's also why the previous decoder and the current one with -core_only 1 don't display this behavior: In both, exss is simply ignored.