Opened 3 years ago

Closed 3 years ago

#9176 closed defect (fixed)

H.264 data fields not populated when threaded

Reported by: Chris Olekas Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: h264
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: yes

Description

Summary of the bug: H.264 context members are not being populated when ran in a threaded manner. When ran single threaded they are being populated. May be related to just DASH and AVC related fields.

How to reproduce:

ffprobe -hide_banner -threads 2  -select_streams v:0 -show_entries program_stream=is_avc,nal_length_size https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd
ffmpeg version HEAD (
built on 2021-04-09

ffprobe version N-101901-gb593abda6c Copyright (c) 2007-2021 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)
  configuration: --disable-x86asm --disable-debug --disable-doc --disable-shared --disable-autodetect --disable-programs --disable-alsa --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-libxml2 --enable-gnutls --enable-static --enable-version3 --enable-nonfree --enable-pthreads --enable-alsa --enable-pic --enable-ffprobe --pkg-config-flags=--static --disable-stripping --disable-optimizations --extra-ldflags='-L/usr/lib -L/usr/lib/x86_64-linux-gnu -Bstatic'
  libavutil      56. 72.100 / 56. 72.100
  libavcodec     58.135.100 / 58.135.100
  libavformat    58. 78.100 / 58. 78.100
  libavdevice    58. 14.100 / 58. 14.100
  libavfilter     7.111.100 /  7.111.100
  libswscale      5. 10.100 /  5. 10.100
  libswresample   3. 10.100 /  3. 10.100

When running with the following

ffprobe  -select_streams v:0 -show_entries stream=is_avc,nal_length_size https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd

I get the following

[PROGRAM]
[STREAM]
is_avc=true
nal_length_size=4
[/STREAM]
[/PROGRAM]

When -threads 2 is added

ffprobe -threads 2 -select_streams v:0 -show_entries stream=is_avc,nal_length_size https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd

I get the following

[PROGRAM]
[STREAM]
is_avc=false
nal_length_size=0
[/STREAM]
[/PROGRAM]

Change History (3)

comment:1 by Carl Eugen Hoyos, 3 years ago

Keywords: avc removed

Is this only reproducible with dash or only with network input?

comment:2 by Chris Olekas, 3 years ago

I have only tested with DASH because I know h.264 and DASH streams have is_avc set. My guess though is that it would also be impacted by network input.

comment:3 by James, 3 years ago

Analyzed by developer: set
Keywords: dash removed
Reproduced by developer: set
Resolution: fixed
Status: newclosed

Doesn't need network input to reproduce.

Should be fixed in 42551a3407b0619c97cd4365bc277682c40234c3.

Note: See TracTickets for help on using tickets.