Opened 2 weeks ago

Closed 2 weeks ago

#7008 closed defect (worksforme)

Sony A7S progressive footage recognised as interlaced

Reported by: pbogdan Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

It seems like the scan type of the below attached Sony A7S sample is not recognised correctly.
The sample was created with the camera set to progressive. Also other tools from Adobe and Apple recognise the samples scan type as progressive.

The video stream information indicate a (top first) scan type which I consider to be interlaced.
Using ffprobe with -show_frames and -show_streams options the following values seem strange to me.

FRAME:
interlaced_frame=0 (which indicates no interlacing and applies to all frames)
top_field_first=1 (which indicates interlacing and also applies to all frames)
STREAM:
field_order=tt (also indicating interlacing)

To further check this behaviour I also took an actual 50i sample created with the camera into account.
FRAME:
interlaced_frame=1
top_field_first=1
STREAM:
field_order=tt

I can provide additional samples if needed.

Thanks in advance,
pb

Files:
25p sample:
https://www.dropbox.com/s/dm8zxre82g9tipw/sony_a7s_1080_25p_10s.MTS?dl=0

50i sample:
https://www.dropbox.com/s/znvb3qv1fj8p9xg/sony_a7s_1080_50i_10s.MTS?dl=0

ffprobe output 25p

$ ffprobe sony_a7s_h264_1080_25p_10s.MTS -select_streams v -show_frames -show_streams -read_intervals %+#1
ffprobe version git-2018-01-26-30e9974 Copyright (c) 2007-2017 the FFmpeg developers
  built with Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
  configuration: --enable-shared --disable-static --disable-doc --disable-devices --disable-videotoolbox --disable-audiotoolbox --enable-indev=lavfi --prefix=/Users/teamcity/buildAgent/work/3b1b1b1b725f407e/build/ffmpeg --install-name-dir='@rpath' --extra-cflags=-I/Users/teamcity/buildAgent/work/3b1b1b1b725f407e/build/libmp3lame/include/ --extra-ldflags=-L/Users/teamcity/buildAgent/work/3b1b1b1b725f407e/build/libmp3lame/lib/ --extra-cflags=-I/Users/teamcity/buildAgent/work/3b1b1b1b725f407e/build/libogg/include/ --extra-ldflags=-L/Users/teamcity/buildAgent/work/3b1b1b1b725f407e/build/libogg/lib/ --extra-cflags=-I/Users/teamcity/buildAgent/work/3b1b1b1b725f407e/build/libvorbis/include/ --extra-ldflags=-L/Users/teamcity/buildAgent/work/3b1b1b1b725f407e/build/libvorbis/lib/ --extra-ldflags='-Wl,-rpath,@loader_path/../lib' --enable-libvorbis --enable-libvpx --enable-libmp3lame --enable-libopenh264 --enable-libfreetype
  libavutil      56.  5.100 / 56.  5.100
  libavcodec     58.  6.102 / 58.  6.102
  libavformat    58.  2.103 / 58.  2.103
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  6.100 /  7.  6.100
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
Input #0, mpegts, from 'sony_a7s_h264_1080_25p_10s.MTS':
  Duration: 00:00:10.40, start: 1.040000, bitrate: 16484 kb/s
  Program 1 
    Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 256 kb/s
    Stream #0:2[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 1920x1080
[FRAME]
media_type=video
stream_index=0
key_frame=1
pkt_pts=93600
pkt_pts_time=1.040000
pkt_dts=N/A
pkt_dts_time=N/A
best_effort_timestamp=93600
best_effort_timestamp_time=1.040000
pkt_duration=3600
pkt_duration_time=0.040000
pkt_pos=768
pkt_size=430501
width=1920
height=1080
pix_fmt=yuv420p
sample_aspect_ratio=1:1
pict_type=I
coded_picture_number=0
display_picture_number=0
interlaced_frame=0
top_field_first=1
repeat_pict=0
color_range=unknown
color_space=unknown
color_primaries=unknown
color_transfer=unknown
chroma_location=left
[/FRAME]
[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=High
codec_type=video
codec_time_base=1/50
codec_tag_string=HDMV
codec_tag=0x564d4448
width=1920
height=1080
coded_width=1920
coded_height=1088
has_b_frames=1
sample_aspect_ratio=1:1
display_aspect_ratio=16:9
pix_fmt=yuv420p
level=40
color_range=unknown
color_space=unknown
color_transfer=unknown
color_primaries=unknown
chroma_location=left
field_order=tt
timecode=N/A
refs=2
is_avc=false
nal_length_size=0
id=0x1011
r_frame_rate=25/1
avg_frame_rate=25/1
time_base=1/90000
start_pts=93600
start_time=1.040000
duration_ts=936000
duration=10.400000
bit_rate=N/A
max_bit_rate=N/A
bits_per_raw_sample=8
nb_frames=N/A
nb_read_frames=1
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
[/STREAM]

ffprobe output 50i

$ lffprobe sony_a7s_h264_1080_50i_10s.MTS -select_streams v -show_frames -show_streams -read_intervals %+#1
ffprobe version git-2018-01-26-30e9974 Copyright (c) 2007-2017 the FFmpeg developers
  built with Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
  configuration: --enable-shared --disable-static --disable-doc --disable-devices --disable-videotoolbox --disable-audiotoolbox --enable-indev=lavfi --prefix=/Users/teamcity/buildAgent/work/3b1b1b1b725f407e/build/ffmpeg --install-name-dir='@rpath' --extra-cflags=-I/Users/teamcity/buildAgent/work/3b1b1b1b725f407e/build/libmp3lame/include/ --extra-ldflags=-L/Users/teamcity/buildAgent/work/3b1b1b1b725f407e/build/libmp3lame/lib/ --extra-cflags=-I/Users/teamcity/buildAgent/work/3b1b1b1b725f407e/build/libogg/include/ --extra-ldflags=-L/Users/teamcity/buildAgent/work/3b1b1b1b725f407e/build/libogg/lib/ --extra-cflags=-I/Users/teamcity/buildAgent/work/3b1b1b1b725f407e/build/libvorbis/include/ --extra-ldflags=-L/Users/teamcity/buildAgent/work/3b1b1b1b725f407e/build/libvorbis/lib/ --extra-ldflags='-Wl,-rpath,@loader_path/../lib' --enable-libvorbis --enable-libvpx --enable-libmp3lame --enable-libopenh264 --enable-libfreetype
  libavutil      56.  5.100 / 56.  5.100
  libavcodec     58.  6.102 / 58.  6.102
  libavformat    58.  2.103 / 58.  2.103
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  6.100 /  7.  6.100
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
Input #0, mpegts, from 'sony_a7s_h264_1080_50i_10s.MTS':
  Duration: 00:00:10.40, start: 1.040000, bitrate: 16409 kb/s
  Program 1 
    Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 256 kb/s
    Stream #0:2[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 1920x1080
[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=High
codec_type=video
codec_time_base=1/50
codec_tag_string=HDMV
codec_tag=0x564d4448
width=1920
height=1080
coded_width=1920
coded_height=1088
has_b_frames=1
sample_aspect_ratio=1:1
display_aspect_ratio=16:9
pix_fmt=yuv420p
level=40
color_range=unknown
color_space=unknown
color_transfer=unknown
color_primaries=unknown
chroma_location=left
field_order=tt
timecode=N/A
refs=2
is_avc=false
nal_length_size=0
id=0x1011
r_frame_rate=50/1
avg_frame_rate=25/1
time_base=1/90000
start_pts=100800
start_time=1.120000
duration_ts=927000
duration=10.300000
bit_rate=N/A
max_bit_rate=N/A
bits_per_raw_sample=8
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
[/STREAM]

Change History (2)

comment:1 Changed 2 weeks ago by heleppkes

The stream level field_order property is something that comes from the container - which a .MTS file does not have, so any value should be taken with quite a bit of uncertainty.

The key information if a frame is interlaced is interlaced_frame, which is appropriately set to progressive for your 25p sample, so clearly its being identified as progressive.

comment:2 Changed 2 weeks ago by cehoyos

  • Component changed from avformat to undetermined
  • Keywords sony a7s scantype removed
  • Resolution set to worksforme
  • Status changed from new to closed

Works as expected afaict.

Note: See TracTickets for help on using tickets.