[FFmpeg-trac] #5514(avcodec:open): Interlaced HEVC Steam not Decoded Properly

FFmpeg trac at avcodec.org
Thu Dec 17 22:47:55 EET 2020


#5514: Interlaced HEVC Steam not Decoded Properly
-------------------------------------+-----------------------------------
             Reporter:  jlsantiago0  |                    Owner:
                 Type:  defect       |                   Status:  open
             Priority:  normal       |                Component:  avcodec
              Version:  git-master   |               Resolution:
             Keywords:  hevc         |               Blocked By:
             Blocking:               |  Reproduced by developer:  1
Analyzed by developer:  0            |
-------------------------------------+-----------------------------------

Comment (by tmm1):

 I have a simple patch to make ffprobe report these hevc files as
 interlaced. Not sure if it is completely correct though, as the spec was
 hard for me to parse. See page 326 of Rec. ITU-T H.265 v7 (11/2019)

 {{{
 diff --git a/libavcodec/hevc_parser.c b/libavcodec/hevc_parser.c
 index b444b99955..da9b9019e2 100644
 --- a/libavcodec/hevc_parser.c
 +++ b/libavcodec/hevc_parser.c
 @@ -65,7 +65,24 @@ static int hevc_parse_slice_header(AVCodecParserContext
 *s, H2645NAL *nal,

      sh->first_slice_in_pic_flag = get_bits1(gb);
      s->picture_structure = sei->picture_timing.picture_struct;
 -    s->field_order = sei->picture_timing.picture_struct;
 +    switch (s->picture_structure) {
 +        case 0:
 +            s->field_order = AV_FIELD_PROGRESSIVE;
 +            break;
 +        case 1:
 +        case 9:
 +        case 11:
 +            s->field_order = AV_FIELD_TT;
 +            break;
 +        case 2:
 +        case 10:
 +        case 12:
 +            s->field_order = AV_FIELD_BB;
 +            break;
 +        default:
 +            s->field_order = AV_FIELD_UNKNOWN;
 +            break;
 +    }

      if (IS_IRAP_NAL(nal)) {
          s->key_frame = 1;
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/5514#comment:11>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list