#11572: HEVC interlaced reported as progressive; wrong DAR
-------------------------------------+-------------------------------------
             Reporter:  Peter        |                     Type:  defect
  Krefting                           |
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:  hevc         |               Blocked By:
  interlaced                         |
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug: A HEVC broadcast video stream encoded by the Makito
 encoder configured to use HEVC 1920×1080i video is identified as
 1920×540p.

 How to reproduce: The following captures were provided to us by the
 broadcaster, and I have been given permission to share them for the
 purpose of this bug report. They were created by the Makito encoder
 software:

 * [https://www.dropbox.com/scl/fi/77pmthkf3uv3zf3a4yjfk/hevc-
 interlace-1.ts?rlkey=ray5xnepc2lwuzzomccujiaqf&dl=1 Sample 1]
 * [https://www.dropbox.com/scl/fi/oqag1b7f8t8lqettjolst/hevc-
 interlace-2.ts?rlkey=pp1wah7ep32pbx355tcbszb7v&dl=1 Sample 2]

 Running ffprobe on the samples detects them as 1920×540p with a 32:9 DAR,
 and playing them with ffplay do display them in 32:9.

 {{{
 $ ffprobe /tmp/hevc-interlace-2.ts
 ffprobe version N-119410-g33d0d1c672 Copyright (c) 2007-2025 the FFmpeg
 developers
   built with gcc 12 (Debian 12.2.0-14)
   configuration:
   libavutil      60.  2.100 / 60.  2.100
   libavcodec     62.  2.100 / 62.  2.100
   libavformat    62.  0.102 / 62.  0.102
   libavdevice    62.  0.100 / 62.  0.100
   libavfilter    11.  0.100 / 11.  0.100
   libswscale      9.  0.100 /  9.  0.100
   libswresample   6.  0.100 /  6.  0.100
 [hevc @ 0x55a556e149c0] PPS id out of range: 0
 [hevc @ 0x55a556e149c0] Skipping invalid undecodable NALU: 39
 [hevc @ 0x55a556e149c0] PPS id out of range: 0
 [hevc @ 0x55a556e149c0] Skipping invalid undecodable NALU: 0
 [hevc @ 0x55a556e149c0] PPS id out of range: 0
 [hevc @ 0x55a556e149c0] Skipping invalid undecodable NALU: 39
 [hevc @ 0x55a556e149c0] PPS id out of range: 0
 [hevc @ 0x55a556e149c0] Skipping invalid undecodable NALU: 1
 [hevc @ 0x55a556e149c0] PPS id out of range: 0
 (...messages repeats...)
 [mpegts @ 0x55a556e0ea00] PES packet size mismatch
 [mpegts @ 0x55a556e0ea00] Packet corrupt (stream = 0, dts = 6953319369).
 [mpegts @ 0x55a556e0ea00] PES packet size mismatch
 [mpegts @ 0x55a556e0ea00] Packet corrupt (stream = 1, dts = 6953274618).
 [mpegts @ 0x55a556e0ea00] PES packet size mismatch
 [mpegts @ 0x55a556e0ea00] Packet corrupt (stream = 2, dts = 6953274618).
 [mpegts @ 0x55a556e0ea00] PES packet size mismatch
 [mpegts @ 0x55a556e0ea00] Packet corrupt (stream = 3, dts = 6953274614).
 [mpegts @ 0x55a556e0ea00] PES packet size mismatch
 [mpegts @ 0x55a556e0ea00] Packet corrupt (stream = 4, dts = 6953274614).
 [mpegts @ 0x55a556e0ea00] PES packet size mismatch
 [mpegts @ 0x55a556e0ea00] Packet corrupt (stream = 5, dts = 6953274614).
 [mpegts @ 0x55a556e0ea00] PES packet size mismatch
 [mpegts @ 0x55a556e0ea00] Packet corrupt (stream = 6, dts = 6953274622).
 [mpegts @ 0x55a556e0ea00] PES packet size mismatch
 [mpegts @ 0x55a556e0ea00] Packet corrupt (stream = 7, dts = 6953274618).
 [mpegts @ 0x55a556e0ea00] PES packet size mismatch
 [mpegts @ 0x55a556e0ea00] Packet corrupt (stream = 8, dts = 6953274614).
 Input #0, mpegts, from '/tmp/hevc-interlace-2.ts':
   Duration: 00:01:01.53, start: 77197.593489, bitrate: 9267 kb/s
   Program 1
     Metadata:
       service_name    : (redacted; run on sample to see)
       service_provider: (redacted; run on sample to see)
   Stream #0:0[0x79]: Video: hevc (Main 10) ([36][0][0][0] / 0x0024),
 yuv420p10le(tv, bt709, progressive), 1920x540 [SAR 1:1 DAR 32:9], 59.94
 fps, 59.94 tbr, 90k tbn, Start-Time 77197.709s
   Stream #0:1[0xdd](und): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000
 Hz, stereo, fltp, 129 kb/s, Start-Time 77197.594s
   Stream #0:2[0xde](und): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000
 Hz, stereo, fltp, 129 kb/s, Start-Time 77197.594s
   Stream #0:3[0xdf](und): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000
 Hz, stereo, fltp, 129 kb/s, Start-Time 77197.593s
   Stream #0:4[0xe0](und): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000
 Hz, stereo, fltp, 129 kb/s, Start-Time 77197.593s
   Stream #0:5[0xe1](und): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000
 Hz, stereo, fltp, 129 kb/s, Start-Time 77197.593s
   Stream #0:6[0xe2](und): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000
 Hz, stereo, fltp, 129 kb/s, Start-Time 77197.594s
   Stream #0:7[0xe3](und): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000
 Hz, stereo, fltp, 129 kb/s, Start-Time 77197.594s
   Stream #0:8[0xe4](und): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000
 Hz, stereo, fltp, 129 kb/s, Start-Time 77197.593s
 }}}

 When feeding frames directly to the codec, it does look like the
 AV_FRAME_FLAG_INTERLACED bit is set correctly in the returned frame.

 According to the provider of the sample, the Makito encoder (the version
 number was not indicated) is configured as follows:

 * Codec Algorithm: HEVC/H.265
 * Resolution: 1920×1080i
 * GOP Size: 60
 * Encoding Profile: Main 10
 * Resizing: Scale
 * Closed Captioning: on
 * Chroma Subsampling: 4:2:0 10-bit
 * Frame Rate: Automatic
 * Transcode Source: System
 * Rate Control: CBR
 * Framing: IBBBBP
 * Counting Mode: UTC Conversion
 * Bitrate: 6000
 * Aspect Ratio: Automatic
 * Scene Change Detection: off
 * Partial Image Skip: on
 * Intra Refresh: off
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/11572>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
_______________________________________________
FFmpeg-trac mailing list
FFmpeg-trac@avcodec.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-trac

To unsubscribe, visit link above, or email
ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to