[FFmpeg-trac] #4873(avcodec:new): crashes in h264 decoder(decode_postinit)

FFmpeg trac at avcodec.org
Wed Sep 23 09:13:07 CEST 2015


#4873: crashes in h264 decoder(decode_postinit)
-------------------------------------+-----------------------------------
             Reporter:  zylthinking  |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  important    |                Component:  avcodec
              Version:  unspecified  |               Resolution:
             Keywords:  h264 crash   |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-----------------------------------

Comment (by cehoyos):

 Replying to [comment:9 zylthinking]:
 > Replying to [comment:8 cehoyos]:
 > > I am unable to reproduce the issue on Android with 2.6.1.
 > > If you need a fix for your issue, please test versions 2.6.4, 2.7.2
 and 2.8.
 > > {{{
 > > $ ./ffmpeg -i nalu -f null -
 > > ffmpeg version n2.6.1 Copyright (c) 2000-2015 the FFmpeg developers
 > >   built with gcc 4.9 (GCC) 20140827 (prerelease)
 > >   configuration: --cross-prefix=../android-ndk-r10e/toolchains/arm-
 linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-
 --arch=arm --target-os=linux --sysroot=/mnt/cehoyos/android/android-ndk-
 r10e/platforms/android-17/arch-arm/ --enable-gpl --cpu=cortex-a8
 >
 > do you turn on the CODEC_FLAG_LOW_DELAY,  CODEC_FLAG_TRUNCATED and
 CODEC_FLAG2_CHUNKS in the flags & flags2?

 No, how would I have known that I should use them?
 No crash here with these flags used:
 {{{
 $ ./ffmpeg -flags +low_delay+truncated -flags2 +chunks -i nalu -f null -
 ffmpeg version n2.6.1 Copyright (c) 2000-2015 the FFmpeg developers
   built with gcc 4.9 (GCC) 20140827 (prerelease)
   configuration: --cross-prefix=../android-ndk-r10e/toolchains/arm-linux-
 androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-
 --arch=arm --target-os=linux --sysroot=/mnt/cehoyos/android/android-ndk-
 r10e/platforms/android-17/arch-arm/ --enable-gpl --cpu=cortex-a8
   libavutil      54. 20.100 / 54. 20.100
   libavcodec     56. 26.100 / 56. 26.100
   libavformat    56. 25.101 / 56. 25.101
   libavdevice    56.  4.100 / 56.  4.100
   libavfilter     5. 11.102 /  5. 11.102
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
   libpostproc    53.  3.100 / 53.  3.100
 Input #0, h264, from 'nalu':
   Duration: N/A, bitrate: N/A
     Stream #0:0: Video: h264 (Main), yuv420p(tv), 720x576 [SAR 64:45 DAR
 16:9], 25 fps, 25 tbr, 1200k tbn, 50 tbc
 Output #0, null, to 'pipe:':
   Metadata:
     encoder         : Lavf56.25.101
     Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 720x576
 [SAR 64:45 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
     Metadata:
       encoder         : Lavc56.26.100 rawvideo
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
 Press [q] to stop, [?] for help
 [null @ 0x1236b90] Encoder did not produce proper pts, making some up.
 [h264 @ 0x136c300] Cannot parallelize slice decoding with deblocking
 filter type 1, decoding such frames in sequential order
 To parallelize slice decoding you need video encoded with
 disable_deblocking_filter_idc set to 2 (deblock only edges that do not
 cross slices).
 Setting the flags2 libavcodec option to +fast (-flags2 +fast) will disable
 deblocking across slices and enable parallel slice decoding but will
 generate non-standard-compliant output.
 frame=  206 fps= 57 q=0.0 Lsize=N/A time=00:00:08.24 bitrate=N/A
 video:13kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: unknown
 }}}

 > Ok, 2.8 have been tested and shows no crashing any more

 If you want this fixed, you will either have to explain how I can
 reproduce or run a bisect to find the change fixing the issue for you.

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


More information about the FFmpeg-trac mailing list