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

FFmpeg trac at avcodec.org
Thu Sep 24 10:46:48 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 zylthinking):

 Replying to [comment:10 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:11>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list