Opened 3 months ago

Last modified 3 months ago

#10832 new defect

h264 codec mxf file stream copy works weirdly

Reported by: syehoonkim Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: mxf H264
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by syehoonkim)

Summary of the bug:
When trying to make a stream copy of h264 codec mxf file, the output seems to have problems on dts.
The dts seems to be duplicated every 3 frames. Please note below:

[Parsed_showinfo_0 @ 000002967cb79c40] n:   1 pts:      2 pts_time:0.0667333 duration:      1 duration_time:0.0333667 fmt:yuv422p10le cl:left sar:1/1 s:1920x1080 i:T iskey:0 type:B checksum:4360C96A plane_checksum:[AC14C627 CC6DC0BD 71754277] mean:[219 486 569] stdev:[209.8 27.8 31.7]
[Parsed_showinfo_0 @ 000002967cb79c40]   side data - SMPTE 12-1 timecode: timecode - 00:00:00:00
[Parsed_showinfo_0 @ 000002967cb79c40] color_range:tv color_space:bt709 color_primaries:bt709 color_trc:bt709
[Parsed_showinfo_0 @ 000002967cb79c40] n:   2 pts:      0 pts_time:0       duration:      1 duration_time:0.0333667 fmt:yuv422p10le cl:left sar:1/1 s:1920x1080 i:T iskey:1 type:I checksum:223C10C9 plane_checksum:[319CEFE3 D55DA81D 43B078AB] mean:[219 486 569] stdev:[209.8 27.8 31.7]
[Parsed_showinfo_0 @ 000002967cb79c40]   side data - H.26[45] User Data Unregistered SEI message: UUID=a74602bb-f8a1-4cc0-a936-48e391dce761
[Parsed_showinfo_0 @ 000002967cb79c40] User Data=535249443011
[Parsed_showinfo_0 @ 000002967cb79c40]
[Parsed_showinfo_0 @ 000002967cb79c40]   side data - H.26[45] User Data Unregistered SEI message: UUID=dba1adef-b20c-40b4-8c85-8c0b46d5241e
[Parsed_showinfo_0 @ 000002967cb79c40] User Data=494d494401000000
[Parsed_showinfo_0 @ 000002967cb79c40]
[Parsed_showinfo_0 @ 000002967cb79c40]   side data - SMPTE 12-1 timecode: timecode - 00:00:00:00
[Parsed_showinfo_0 @ 000002967cb79c40] color_range:tv color_space:bt709 color_primaries:bt709 color_trc:bt709
[null @ 000002967c208c00] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 2 >= 0
[Parsed_showinfo_0 @ 000002967cb79c40] n:   3 pts:      4 pts_time:0.133467 duration:      1 duration_time:0.0333667 fmt:yuv422p10le cl:left sar:1/1 s:1920x1080 i:T iskey:0 type:B checksum:621CB96F plane_checksum:[BFA555AE CFB30BDD 8B9157E4] mean:[219 486 569] stdev:[209.7 27.8 31.6]
[Parsed_showinfo_0 @ 000002967cb79c40]   side data - SMPTE 12-1 timecode: timecode - 00:00:00:00
[Parsed_showinfo_0 @ 000002967cb79c40] color_range:tv color_space:bt709 color_primaries:bt709 color_trc:bt709
[Parsed_showinfo_0 @ 000002967cb79c40] n:   4 pts:      5 pts_time:0.166833 duration:      1 duration_time:0.0333667 fmt:yuv422p10le cl:left sar:1/1 s:1920x1080 i:T iskey:0 type:B checksum:EA130FF7 plane_checksum:[071C6426 7FD85BF0 0A374FD2] mean:[219 486 569] stdev:[209.7 27.7 31.6]
[Parsed_showinfo_0 @ 000002967cb79c40]   side data - SMPTE 12-1 timecode: timecode - 00:00:00:00
[Parsed_showinfo_0 @ 000002967cb79c40] color_range:tv color_space:bt709 color_primaries:bt709 color_trc:bt709
[Parsed_showinfo_0 @ 000002967cb79c40] n:   5 pts:      3 pts_time:0.1001  duration:      1 duration_time:0.0333667 fmt:yuv422p10le cl:left sar:1/1 s:1920x1080 i:T iskey:0 type:P checksum:ACEC2AC6 plane_checksum:[18186F28 23F23D94 F0DB7DFB] mean:[219 486 569] stdev:[209.7 27.8 31.7]
[Parsed_showinfo_0 @ 000002967cb79c40]   side data - SMPTE 12-1 timecode: timecode - 00:00:00:00
[Parsed_showinfo_0 @ 000002967cb79c40] color_range:tv color_space:bt709 color_primaries:bt709 color_trc:bt709
[null @ 000002967c208c00] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 5 >= 3
[Parsed_showinfo_0 @ 000002967cb79c40] n:   6 pts:      7 pts_time:0.233567 duration:      1 duration_time:0.0333667 fmt:yuv422p10le cl:left sar:1/1 s:1920x1080 i:T iskey:0 type:B checksum:AEC5E43A plane_checksum:[4DE4C8D9 F909E08C 67543AC6] mean:[219 486 569] stdev:[209.7 27.7 31.6]
[Parsed_showinfo_0 @ 000002967cb79c40]   side data - SMPTE 12-1 timecode: timecode - 00:00:00:00
[Parsed_showinfo_0 @ 000002967cb79c40] color_range:tv color_space:bt709 color_primaries:bt709 color_trc:bt709
[Parsed_showinfo_0 @ 000002967cb79c40] n:   7 pts:      8 pts_time:0.266933 duration:      1 duration_time:0.0333667 fmt:yuv422p10le cl:left sar:1/1 s:1920x1080 i:T iskey:0 type:B checksum:8FAF60F1 plane_checksum:[CC499F8E 22A94FB8 3DCD719C] mean:[219 486 569] stdev:[209.7 27.7 31.6]
[Parsed_showinfo_0 @ 000002967cb79c40]   side data - SMPTE 12-1 timecode: timecode - 00:00:00:00
[Parsed_showinfo_0 @ 000002967cb79c40] color_range:tv color_space:bt709 color_primaries:bt709 color_trc:bt709
[Parsed_showinfo_0 @ 000002967cb79c40] n:   8 pts:      6 pts_time:0.2002  duration:      1 duration_time:0.0333667 fmt:yuv422p10le cl:left sar:1/1 s:1920x1080 i:T iskey:0 type:P checksum:38971DE5 plane_checksum:[43CC9EB6 D6FC5C4C 78DA22D4] mean:[219 486 569] stdev:[209.7 27.7 31.7]
[Parsed_showinfo_0 @ 000002967cb79c40]   side data - SMPTE 12-1 timecode: timecode - 00:00:00:00
[Parsed_showinfo_0 @ 000002967cb79c40] color_range:tv color_space:bt709 color_primaries:bt709 color_trc:bt709
[null @ 000002967c208c00] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 8 >= 6
[Parsed_showinfo_0 @ 000002967cb79c40] n:   9 pts:     10 pts_time:0.333667 duration:      1 duration_time:0.0333667 fmt:yuv422p10le cl:left sar:1/1 s:1920x1080 i:T iskey:0 type:B checksum:B2523268 plane_checksum:[F85CDE24 8C09EB71 354468B5] mean:[219 486 569] stdev:[209.7 27.7 31.7]
[Parsed_showinfo_0 @ 000002967cb79c40]   side data - SMPTE 12-1 timecode: timecode - 00:00:00:00
[Parsed_showinfo_0 @ 000002967cb79c40] color_range:tv color_space:bt709 color_primaries:bt709 color_trc:bt709
[Parsed_showinfo_0 @ 000002967cb79c40] n:  10 pts:     11 pts_time:0.367033 duration:      1 duration_time:0.0333667 fmt:yuv422p10le cl:left sar:1/1 s:1920x1080 i:T iskey:0 type:B checksum:781E38E6 plane_checksum:[1BBCF0AB 44DC8498 2C07C385] mean:[219 486 569] stdev:[209.7 27.7 31.7]
[Parsed_showinfo_0 @ 000002967cb79c40]   side data - SMPTE 12-1 timecode: timecode - 00:00:00:00
[Parsed_showinfo_0 @ 000002967cb79c40] color_range:tv color_space:bt709 color_primaries:bt709 color_trc:bt709
[Parsed_showinfo_0 @ 000002967cb79c40] n:  11 pts:      9 pts_time:0.3003  duration:      1 duration_time:0.0333667 fmt:yuv422p10le cl:left sar:1/1 s:1920x1080 i:T iskey:0 type:P checksum:F899D41C plane_checksum:[67769489 27DDAF99 5D458FEB] mean:[219 486 569] stdev:[209.7 27.7 31.7]
[Parsed_showinfo_0 @ 000002967cb79c40]   side data - SMPTE 12-1 timecode: timecode - 00:00:00:00
[Parsed_showinfo_0 @ 000002967cb79c40] color_range:tv color_space:bt709 color_primaries:bt709 color_trc:bt709
[null @ 000002967c208c00] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 11 >= 9
[Parsed_showinfo_0 @ 000002967cb79c40] n:  12 pts:     13 pts_time:0.433767 duration:      1 duration_time:0.0333667 fmt:yuv422p10le cl:left sar:1/1 s:1920x1080 i:T iskey:0 type:B checksum:453E7CE3 plane_checksum:[47E8034D 6A50DFD1 BF6499B6] mean:[219 486 569] stdev:[209.7 27.7 31.6]
[Parsed_showinfo_0 @ 000002967cb79c40]   side data - SMPTE 12-1 timecode: timecode - 00:00:00:00
[Parsed_showinfo_0 @ 000002967cb79c40] color_range:tv color_space:bt709 color_primaries:bt709 color_trc:bt709
[Parsed_showinfo_0 @ 000002967cb79c40] n:  13 pts:     14 pts_time:0.467133 duration:      1 duration_time:0.0333667 fmt:yuv422p10le cl:left sar:1/1 s:1920x1080 i:T iskey:0 type:B checksum:1D8E7458 plane_checksum:[16275587 CF5B9F58 31E57F6A] mean:[219 486 569] stdev:[209.7 27.7 31.6]
[Parsed_showinfo_0 @ 000002967cb79c40]   side data - SMPTE 12-1 timecode: timecode - 00:00:00:00
[Parsed_showinfo_0 @ 000002967cb79c40] color_range:tv color_space:bt709 color_primaries:bt709 color_trc:bt709
[Parsed_showinfo_0 @ 000002967cb79c40] n:  14 pts:     12 pts_time:0.4004  duration:      1 duration_time:0.0333667 fmt:yuv422p10le cl:left sar:1/1 s:1920x1080 i:T iskey:0 type:P checksum:BD507B15 plane_checksum:[CAB973B5 54D402E8 91A10478] mean:[219 486 569] stdev:[209.7 27.7 31.7]
[Parsed_showinfo_0 @ 000002967cb79c40]   side data - SMPTE 12-1 timecode: timecode - 00:00:00:00
[Parsed_showinfo_0 @ 000002967cb79c40] color_range:tv color_space:bt709 color_primaries:bt709 color_trc:bt709
[null @ 000002967c208c00] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 14 >= 12

The ffprobe result is as follows:

[FRAME]
media_type=video
stream_index=0
key_frame=0
pts=1
pts_time=0.033367
pkt_dts=1
pkt_dts_time=0.033367
best_effort_timestamp=1
best_effort_timestamp_time=0.033367
pkt_duration=1
pkt_duration_time=0.033367
duration=1
duration_time=0.033367
pkt_pos=906240
pkt_size=82883
width=1920
height=1080
crop_top=0
crop_bottom=0
crop_left=0
crop_right=0
pix_fmt=yuv422p10le
sample_aspect_ratio=1:1
pict_type=B
coded_picture_number=1
display_picture_number=0
interlaced_frame=1
top_field_first=1
repeat_pict=0
color_range=tv
color_space=bt709
color_primaries=bt709
color_transfer=bt709
chroma_location=left
TAG:timecode=00:00:00:00
[SIDE_DATA]
side_data_type=SMPTE 12-1 timecode
[TIMECODE]
value=00:00:00:00
[/TIMECODE]
[/SIDE_DATA]
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=0
pts=2
pts_time=0.066733
pkt_dts=2
pkt_dts_time=0.066733
best_effort_timestamp=2
best_effort_timestamp_time=0.066733
pkt_duration=1
pkt_duration_time=0.033367
duration=1
duration_time=0.033367
pkt_pos=994816
pkt_size=85453
width=1920
height=1080
crop_top=0
crop_bottom=0
crop_left=0
crop_right=0
pix_fmt=yuv422p10le
sample_aspect_ratio=1:1
pict_type=B
coded_picture_number=2
display_picture_number=0
interlaced_frame=1
top_field_first=1
repeat_pict=0
color_range=tv
color_space=bt709
color_primaries=bt709
color_transfer=bt709
chroma_location=left
TAG:timecode=00:00:00:00
[SIDE_DATA]
side_data_type=SMPTE 12-1 timecode
[TIMECODE]
value=00:00:00:00
[/TIMECODE]
[/SIDE_DATA]
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=1
pts=0
pts_time=0.000000
pkt_dts=2
pkt_dts_time=0.066733
best_effort_timestamp=0
best_effort_timestamp_time=0.000000
pkt_duration=1
pkt_duration_time=0.033367
duration=1
duration_time=0.033367
pkt_pos=7168
pkt_size=893392
width=1920
height=1080
crop_top=0
crop_bottom=0
crop_left=0
crop_right=0
pix_fmt=yuv422p10le
sample_aspect_ratio=1:1
pict_type=I
coded_picture_number=0
display_picture_number=0
interlaced_frame=1
top_field_first=1
repeat_pict=0
color_range=tv
color_space=bt709
color_primaries=bt709
color_transfer=bt709
chroma_location=left
TAG:timecode=00:00:00:00
[SIDE_DATA]
side_data_type=H.26[45] User Data Unregistered SEI message
[/SIDE_DATA]
[SIDE_DATA]
side_data_type=H.26[45] User Data Unregistered SEI message
[/SIDE_DATA]
[SIDE_DATA]
side_data_type=SMPTE 12-1 timecode
[TIMECODE]
value=00:00:00:00
[/TIMECODE]
[/SIDE_DATA]
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=0
pts=4
pts_time=0.133467
pkt_dts=4
pkt_dts_time=0.133467
best_effort_timestamp=4
best_effort_timestamp_time=0.133467
pkt_duration=1
pkt_duration_time=0.033367
duration=1
duration_time=0.033367
pkt_pos=1387008
pkt_size=78518
width=1920
height=1080
crop_top=0
crop_bottom=0
crop_left=0
crop_right=0
pix_fmt=yuv422p10le
sample_aspect_ratio=1:1
pict_type=B
coded_picture_number=4
display_picture_number=0
interlaced_frame=1
top_field_first=1
repeat_pict=0
color_range=tv
color_space=bt709
color_primaries=bt709
color_transfer=bt709
chroma_location=left
TAG:timecode=00:00:00:00
[SIDE_DATA]
side_data_type=SMPTE 12-1 timecode
[TIMECODE]
value=00:00:00:00
[/TIMECODE]
[/SIDE_DATA]
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=0
pts=5
pts_time=0.166833
pkt_dts=5
pkt_dts_time=0.166833
best_effort_timestamp=5
best_effort_timestamp_time=0.166833
pkt_duration=1
pkt_duration_time=0.033367
duration=1
duration_time=0.033367
pkt_pos=1471488
pkt_size=77660
width=1920
height=1080
crop_top=0
crop_bottom=0
crop_left=0
crop_right=0
pix_fmt=yuv422p10le
sample_aspect_ratio=1:1
pict_type=B
coded_picture_number=5
display_picture_number=0
interlaced_frame=1
top_field_first=1
repeat_pict=0
color_range=tv
color_space=bt709
color_primaries=bt709
color_transfer=bt709
chroma_location=left
TAG:timecode=00:00:00:00
[SIDE_DATA]
side_data_type=SMPTE 12-1 timecode
[TIMECODE]
value=00:00:00:00
[/TIMECODE]
[/SIDE_DATA]
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=0
pts=3
pts_time=0.100100
pkt_dts=5
pkt_dts_time=0.166833
best_effort_timestamp=3
best_effort_timestamp_time=0.100100
pkt_duration=1
pkt_duration_time=0.033367
duration=1
duration_time=0.033367
pkt_pos=1085952
pkt_size=295239
width=1920
height=1080
crop_top=0
crop_bottom=0
crop_left=0
crop_right=0
pix_fmt=yuv422p10le
sample_aspect_ratio=1:1
pict_type=P
coded_picture_number=3
display_picture_number=0
interlaced_frame=1
top_field_first=1
repeat_pict=0
color_range=tv
color_space=bt709
color_primaries=bt709
color_transfer=bt709
chroma_location=left
TAG:timecode=00:00:00:00
[SIDE_DATA]
side_data_type=SMPTE 12-1 timecode
[TIMECODE]
value=00:00:00:00
[/TIMECODE]
[/SIDE_DATA]
[/FRAME]

How to reproduce:

% ffmpeg -i (h264 file).mxf -codec copy output.mxf

What is interesting is if I rewrap the output.mxf to other format such as mov or avi, it plays well. And If I rewrap it to mxf again, the problem appears.

I have uploaded original.mxf and output.mxf via VideoLan File Uploader with ticket number 10832 and VLC Version 3.0.20(which should have been 6.1. I made a mistake.)

Change History (4)

comment:1 by syehoonkim, 3 months ago

Description: modified (diff)

comment:2 by Tomas Härdin, 3 months ago

This needs a sample

comment:4 by Marton Balint, 3 months ago

Component: undeterminedavformat

Improper index table creation for Long GOP h264 in MXF is a known issue with our MXF muxer.
See ticket #9571, #9647.

Note: See TracTickets for help on using tickets.