ffmpeg/tests/ref/fate/ffprobe_json
Anton Khirnov bd55552d69 ffmpeg: rewrite setting the stream disposition
Currently, the code doing this is spread over several places and may
behave in unexpected ways. E.g. automatic 'default' marking is only done
for streams fed by complex filtergraphs. It is also applied in the order
in which the output streams are initialized, which is effectively
random.

Move processing the dispositions at the end of open_output_file(), when
we already have all the necessary information.

Apply the automatic default marking only if no explicit -disposition
options were supplied by the user, and apply it to the first stream of
each type (excluding attached pics) when there is more than one stream
of that type and no default markings were copied from the input streams.

Explicitly document the new behavior.

Changes the results of some tests, where the output file gets a default
disposition, while it previously did not.
2021-11-16 10:51:32 +01:00

681 lines
20 KiB
Plaintext

{
"packets_and_frames": [
{
"type": "packet",
"codec_type": "audio",
"stream_index": 0,
"pts": 0,
"pts_time": "0.000000",
"dts": 0,
"dts_time": "0.000000",
"duration": 1024,
"duration_time": "0.023220",
"size": "2048",
"pos": "669",
"flags": "K_"
},
{
"type": "frame",
"media_type": "audio",
"stream_index": 0,
"key_frame": 1,
"pts": 0,
"pts_time": "0.000000",
"pkt_dts": 0,
"pkt_dts_time": "0.000000",
"best_effort_timestamp": 0,
"best_effort_timestamp_time": "0.000000",
"pkt_duration": 1024,
"pkt_duration_time": "0.023220",
"pkt_pos": "669",
"pkt_size": "2048",
"sample_fmt": "s16",
"nb_samples": 1024,
"channels": 1
},
{
"type": "packet",
"codec_type": "video",
"stream_index": 1,
"pts": 0,
"pts_time": "0.000000",
"dts": 0,
"dts_time": "0.000000",
"duration": 2048,
"duration_time": "0.040000",
"size": "230400",
"pos": "2744",
"flags": "K_"
},
{
"type": "frame",
"media_type": "video",
"stream_index": 1,
"key_frame": 1,
"pts": 0,
"pts_time": "0.000000",
"pkt_dts": 0,
"pkt_dts_time": "0.000000",
"best_effort_timestamp": 0,
"best_effort_timestamp_time": "0.000000",
"pkt_duration": 2048,
"pkt_duration_time": "0.040000",
"pkt_pos": "2744",
"pkt_size": "230400",
"width": 320,
"height": 240,
"pix_fmt": "rgb24",
"sample_aspect_ratio": "1:1",
"pict_type": "I",
"coded_picture_number": 0,
"display_picture_number": 0,
"interlaced_frame": 0,
"top_field_first": 0,
"repeat_pict": 0
},
{
"type": "packet",
"codec_type": "video",
"stream_index": 2,
"pts": 0,
"pts_time": "0.000000",
"dts": 0,
"dts_time": "0.000000",
"duration": 2048,
"duration_time": "0.040000",
"size": "30000",
"pos": "233165",
"flags": "K_"
},
{
"type": "frame",
"media_type": "video",
"stream_index": 2,
"key_frame": 1,
"pts": 0,
"pts_time": "0.000000",
"pkt_dts": 0,
"pkt_dts_time": "0.000000",
"best_effort_timestamp": 0,
"best_effort_timestamp_time": "0.000000",
"pkt_duration": 2048,
"pkt_duration_time": "0.040000",
"pkt_pos": "233165",
"pkt_size": "30000",
"width": 100,
"height": 100,
"pix_fmt": "rgb24",
"sample_aspect_ratio": "1:1",
"pict_type": "I",
"coded_picture_number": 0,
"display_picture_number": 0,
"interlaced_frame": 0,
"top_field_first": 0,
"repeat_pict": 0
},
{
"type": "packet",
"codec_type": "audio",
"stream_index": 0,
"pts": 1024,
"pts_time": "0.023220",
"dts": 1024,
"dts_time": "0.023220",
"duration": 1024,
"duration_time": "0.023220",
"size": "2048",
"pos": "263170",
"flags": "K_"
},
{
"type": "frame",
"media_type": "audio",
"stream_index": 0,
"key_frame": 1,
"pts": 1024,
"pts_time": "0.023220",
"pkt_dts": 1024,
"pkt_dts_time": "0.023220",
"best_effort_timestamp": 1024,
"best_effort_timestamp_time": "0.023220",
"pkt_duration": 1024,
"pkt_duration_time": "0.023220",
"pkt_pos": "263170",
"pkt_size": "2048",
"sample_fmt": "s16",
"nb_samples": 1024,
"channels": 1
},
{
"type": "packet",
"codec_type": "video",
"stream_index": 1,
"pts": 2048,
"pts_time": "0.040000",
"dts": 2048,
"dts_time": "0.040000",
"duration": 2048,
"duration_time": "0.040000",
"size": "230400",
"pos": "265248",
"flags": "K_"
},
{
"type": "frame",
"media_type": "video",
"stream_index": 1,
"key_frame": 1,
"pts": 2048,
"pts_time": "0.040000",
"pkt_dts": 2048,
"pkt_dts_time": "0.040000",
"best_effort_timestamp": 2048,
"best_effort_timestamp_time": "0.040000",
"pkt_duration": 2048,
"pkt_duration_time": "0.040000",
"pkt_pos": "265248",
"pkt_size": "230400",
"width": 320,
"height": 240,
"pix_fmt": "rgb24",
"sample_aspect_ratio": "1:1",
"pict_type": "I",
"coded_picture_number": 0,
"display_picture_number": 0,
"interlaced_frame": 0,
"top_field_first": 0,
"repeat_pict": 0
},
{
"type": "packet",
"codec_type": "video",
"stream_index": 2,
"pts": 2048,
"pts_time": "0.040000",
"dts": 2048,
"dts_time": "0.040000",
"duration": 2048,
"duration_time": "0.040000",
"size": "30000",
"pos": "495672",
"flags": "K_"
},
{
"type": "frame",
"media_type": "video",
"stream_index": 2,
"key_frame": 1,
"pts": 2048,
"pts_time": "0.040000",
"pkt_dts": 2048,
"pkt_dts_time": "0.040000",
"best_effort_timestamp": 2048,
"best_effort_timestamp_time": "0.040000",
"pkt_duration": 2048,
"pkt_duration_time": "0.040000",
"pkt_pos": "495672",
"pkt_size": "30000",
"width": 100,
"height": 100,
"pix_fmt": "rgb24",
"sample_aspect_ratio": "1:1",
"pict_type": "I",
"coded_picture_number": 0,
"display_picture_number": 0,
"interlaced_frame": 0,
"top_field_first": 0,
"repeat_pict": 0
},
{
"type": "packet",
"codec_type": "audio",
"stream_index": 0,
"pts": 2048,
"pts_time": "0.046440",
"dts": 2048,
"dts_time": "0.046440",
"duration": 1024,
"duration_time": "0.023220",
"size": "2048",
"pos": "525677",
"flags": "K_"
},
{
"type": "frame",
"media_type": "audio",
"stream_index": 0,
"key_frame": 1,
"pts": 2048,
"pts_time": "0.046440",
"pkt_dts": 2048,
"pkt_dts_time": "0.046440",
"best_effort_timestamp": 2048,
"best_effort_timestamp_time": "0.046440",
"pkt_duration": 1024,
"pkt_duration_time": "0.023220",
"pkt_pos": "525677",
"pkt_size": "2048",
"sample_fmt": "s16",
"nb_samples": 1024,
"channels": 1
},
{
"type": "packet",
"codec_type": "audio",
"stream_index": 0,
"pts": 3072,
"pts_time": "0.069660",
"dts": 3072,
"dts_time": "0.069660",
"duration": 1024,
"duration_time": "0.023220",
"size": "2048",
"pos": "527748",
"flags": "K_"
},
{
"type": "frame",
"media_type": "audio",
"stream_index": 0,
"key_frame": 1,
"pts": 3072,
"pts_time": "0.069660",
"pkt_dts": 3072,
"pkt_dts_time": "0.069660",
"best_effort_timestamp": 3072,
"best_effort_timestamp_time": "0.069660",
"pkt_duration": 1024,
"pkt_duration_time": "0.023220",
"pkt_pos": "527748",
"pkt_size": "2048",
"sample_fmt": "s16",
"nb_samples": 1024,
"channels": 1
},
{
"type": "packet",
"codec_type": "video",
"stream_index": 1,
"pts": 4096,
"pts_time": "0.080000",
"dts": 4096,
"dts_time": "0.080000",
"duration": 2048,
"duration_time": "0.040000",
"size": "230400",
"pos": "529826",
"flags": "K_"
},
{
"type": "frame",
"media_type": "video",
"stream_index": 1,
"key_frame": 1,
"pts": 4096,
"pts_time": "0.080000",
"pkt_dts": 4096,
"pkt_dts_time": "0.080000",
"best_effort_timestamp": 4096,
"best_effort_timestamp_time": "0.080000",
"pkt_duration": 2048,
"pkt_duration_time": "0.040000",
"pkt_pos": "529826",
"pkt_size": "230400",
"width": 320,
"height": 240,
"pix_fmt": "rgb24",
"sample_aspect_ratio": "1:1",
"pict_type": "I",
"coded_picture_number": 0,
"display_picture_number": 0,
"interlaced_frame": 0,
"top_field_first": 0,
"repeat_pict": 0
},
{
"type": "packet",
"codec_type": "video",
"stream_index": 2,
"pts": 4096,
"pts_time": "0.080000",
"dts": 4096,
"dts_time": "0.080000",
"duration": 2048,
"duration_time": "0.040000",
"size": "30000",
"pos": "760250",
"flags": "K_"
},
{
"type": "frame",
"media_type": "video",
"stream_index": 2,
"key_frame": 1,
"pts": 4096,
"pts_time": "0.080000",
"pkt_dts": 4096,
"pkt_dts_time": "0.080000",
"best_effort_timestamp": 4096,
"best_effort_timestamp_time": "0.080000",
"pkt_duration": 2048,
"pkt_duration_time": "0.040000",
"pkt_pos": "760250",
"pkt_size": "30000",
"width": 100,
"height": 100,
"pix_fmt": "rgb24",
"sample_aspect_ratio": "1:1",
"pict_type": "I",
"coded_picture_number": 0,
"display_picture_number": 0,
"interlaced_frame": 0,
"top_field_first": 0,
"repeat_pict": 0
},
{
"type": "packet",
"codec_type": "audio",
"stream_index": 0,
"pts": 4096,
"pts_time": "0.092880",
"dts": 4096,
"dts_time": "0.092880",
"duration": 1024,
"duration_time": "0.023220",
"size": "2048",
"pos": "790255",
"flags": "K_"
},
{
"type": "frame",
"media_type": "audio",
"stream_index": 0,
"key_frame": 1,
"pts": 4096,
"pts_time": "0.092880",
"pkt_dts": 4096,
"pkt_dts_time": "0.092880",
"best_effort_timestamp": 4096,
"best_effort_timestamp_time": "0.092880",
"pkt_duration": 1024,
"pkt_duration_time": "0.023220",
"pkt_pos": "790255",
"pkt_size": "2048",
"sample_fmt": "s16",
"nb_samples": 1024,
"channels": 1
},
{
"type": "packet",
"codec_type": "audio",
"stream_index": 0,
"pts": 5120,
"pts_time": "0.116100",
"dts": 5120,
"dts_time": "0.116100",
"duration": 393,
"duration_time": "0.008912",
"size": "786",
"pos": "792326",
"flags": "K_"
},
{
"type": "frame",
"media_type": "audio",
"stream_index": 0,
"key_frame": 1,
"pts": 5120,
"pts_time": "0.116100",
"pkt_dts": 5120,
"pkt_dts_time": "0.116100",
"best_effort_timestamp": 5120,
"best_effort_timestamp_time": "0.116100",
"pkt_duration": 393,
"pkt_duration_time": "0.008912",
"pkt_pos": "792326",
"pkt_size": "786",
"sample_fmt": "s16",
"nb_samples": 393,
"channels": 1
},
{
"type": "packet",
"codec_type": "video",
"stream_index": 1,
"pts": 6144,
"pts_time": "0.120000",
"dts": 6144,
"dts_time": "0.120000",
"duration": 2048,
"duration_time": "0.040000",
"size": "230400",
"pos": "793142",
"flags": "K_"
},
{
"type": "frame",
"media_type": "video",
"stream_index": 1,
"key_frame": 1,
"pts": 6144,
"pts_time": "0.120000",
"pkt_dts": 6144,
"pkt_dts_time": "0.120000",
"best_effort_timestamp": 6144,
"best_effort_timestamp_time": "0.120000",
"pkt_duration": 2048,
"pkt_duration_time": "0.040000",
"pkt_pos": "793142",
"pkt_size": "230400",
"width": 320,
"height": 240,
"pix_fmt": "rgb24",
"sample_aspect_ratio": "1:1",
"pict_type": "I",
"coded_picture_number": 0,
"display_picture_number": 0,
"interlaced_frame": 0,
"top_field_first": 0,
"repeat_pict": 0
},
{
"type": "packet",
"codec_type": "video",
"stream_index": 2,
"pts": 6144,
"pts_time": "0.120000",
"dts": 6144,
"dts_time": "0.120000",
"duration": 2048,
"duration_time": "0.040000",
"size": "30000",
"pos": "1023566",
"flags": "K_"
},
{
"type": "frame",
"media_type": "video",
"stream_index": 2,
"key_frame": 1,
"pts": 6144,
"pts_time": "0.120000",
"pkt_dts": 6144,
"pkt_dts_time": "0.120000",
"best_effort_timestamp": 6144,
"best_effort_timestamp_time": "0.120000",
"pkt_duration": 2048,
"pkt_duration_time": "0.040000",
"pkt_pos": "1023566",
"pkt_size": "30000",
"width": 100,
"height": 100,
"pix_fmt": "rgb24",
"sample_aspect_ratio": "1:1",
"pict_type": "I",
"coded_picture_number": 0,
"display_picture_number": 0,
"interlaced_frame": 0,
"top_field_first": 0,
"repeat_pict": 0
}
],
"streams": [
{
"index": 0,
"codec_name": "pcm_s16le",
"codec_type": "audio",
"codec_tag_string": "PSD[16]",
"codec_tag": "0x10445350",
"sample_fmt": "s16",
"sample_rate": "44100",
"channels": 1,
"bits_per_sample": 16,
"r_frame_rate": "0/0",
"avg_frame_rate": "0/0",
"time_base": "1/44100",
"start_pts": 0,
"start_time": "0.000000",
"bit_rate": "705600",
"nb_read_frames": "6",
"nb_read_packets": "6",
"disposition": {
"default": 0,
"dub": 0,
"original": 0,
"comment": 0,
"lyrics": 0,
"karaoke": 0,
"forced": 0,
"hearing_impaired": 0,
"visual_impaired": 0,
"clean_effects": 0,
"attached_pic": 0,
"timed_thumbnails": 0,
"captions": 0,
"descriptions": 0,
"metadata": 0,
"dependent": 0,
"still_image": 0
},
"tags": {
"E": "mc²",
"encoder": "Lavc pcm_s16le"
}
},
{
"index": 1,
"codec_name": "rawvideo",
"codec_type": "video",
"codec_tag_string": "RGB[24]",
"codec_tag": "0x18424752",
"width": 320,
"height": 240,
"coded_width": 320,
"coded_height": 240,
"closed_captions": 0,
"film_grain": 0,
"has_b_frames": 0,
"sample_aspect_ratio": "1:1",
"display_aspect_ratio": "4:3",
"pix_fmt": "rgb24",
"level": -99,
"refs": 1,
"r_frame_rate": "25/1",
"avg_frame_rate": "25/1",
"time_base": "1/51200",
"start_pts": 0,
"start_time": "0.000000",
"nb_read_frames": "4",
"nb_read_packets": "4",
"disposition": {
"default": 1,
"dub": 0,
"original": 0,
"comment": 0,
"lyrics": 0,
"karaoke": 0,
"forced": 0,
"hearing_impaired": 0,
"visual_impaired": 0,
"clean_effects": 0,
"attached_pic": 0,
"timed_thumbnails": 0,
"captions": 0,
"descriptions": 0,
"metadata": 0,
"dependent": 0,
"still_image": 0
},
"tags": {
"title": "foobar",
"duration_ts": "field-and-tags-conflict-attempt",
"encoder": "Lavc rawvideo"
}
},
{
"index": 2,
"codec_name": "rawvideo",
"codec_type": "video",
"codec_tag_string": "RGB[24]",
"codec_tag": "0x18424752",
"width": 100,
"height": 100,
"coded_width": 100,
"coded_height": 100,
"closed_captions": 0,
"film_grain": 0,
"has_b_frames": 0,
"sample_aspect_ratio": "1:1",
"display_aspect_ratio": "1:1",
"pix_fmt": "rgb24",
"level": -99,
"refs": 1,
"r_frame_rate": "25/1",
"avg_frame_rate": "25/1",
"time_base": "1/51200",
"start_pts": 0,
"start_time": "0.000000",
"nb_read_frames": "4",
"nb_read_packets": "4",
"disposition": {
"default": 0,
"dub": 0,
"original": 0,
"comment": 0,
"lyrics": 0,
"karaoke": 0,
"forced": 0,
"hearing_impaired": 0,
"visual_impaired": 0,
"clean_effects": 0,
"attached_pic": 0,
"timed_thumbnails": 0,
"captions": 0,
"descriptions": 0,
"metadata": 0,
"dependent": 0,
"still_image": 0
},
"tags": {
"encoder": "Lavc rawvideo"
}
}
],
"format": {
"filename": "tests/data/ffprobe-test.nut",
"nb_streams": 3,
"nb_programs": 0,
"format_name": "nut",
"start_time": "0.000000",
"duration": "0.120000",
"size": "1053646",
"bit_rate": "70243066",
"probe_score": 100,
"tags": {
"title": "ffprobe test file",
"comment": "'A comment with CSV, XML & JSON special chars': <tag value=\"x\">",
"comment2": "I ♥ Üñîçød€"
}
}
}