Opened 10 years ago

Last modified 5 years ago

#3726 reopened defect

mpeg4 vdpau decoding failed

Reported by: Ilya87 Owned by:
Priority: important Component: avcodec
Version: git-master Keywords: vdpau regression
Cc: rogerxx@gmail.com Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:
How to reproduce:

My OS' configuration is Arch Linux x86_64, libvdpau 0.7, nvidia driver 337.25, GeForce GTX 560, ffmpeg built 17.06.2014 15:26 MSK from git
Every time I play mpeg4 part2 encoded files using QMPlay2 (with VDPAU) I have the following error (and no image obviously):
[mpeg4 @ 0x1b05120] Image too small, temporary buffers cannot function                
[mpeg4 @ 0x1b05120] get_buffer() failed to allocate context scratch buffers.
Without VDPAU all is OK.

The same situation repeats with mplayer -vc ffodivxvdpau -vo vdpau "file.avi"
[mpeg4 @ 0x7fd25a5ff380]Image too small, temporary buffers cannot function
[mpeg4 @ 0x7fd25a5ff380]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
And again all is good with decoding using -vc ffodivx
ffplay -decoders show me the following:
V....D mpeg4_vdpau          MPEG-4 part 2 (VDPAU) (codec mpeg4)

Change History (8)

comment:1 by Carl Eugen Hoyos, 10 years ago

Keywords: mpeg4 removed

Please provide your failing MPlayer command line including the complete, uncut console output.

comment:2 by Carl Eugen Hoyos, 10 years ago

Keywords: regression added
Priority: normalimportant

comment:3 by Ilya87, 10 years ago

mplayer -vc ffodivxvdpau -vo vdpau Kak_voda_dlya_shokolada_[torrents.ru].avi
MPlayer SVN-r37225-4.2.1 (C) 2000-2014 MPlayer Team

Playing Kak_voda_dlya_shokolada_[torrents.ru].avi.
libavformat version 55.43.100 (internal)
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
VIDEO: [XVID] 640x480 12bpp 25.000 fps 1654.0 kbps (201.9 kbyte/s)
Clip info:

Software: VirtualDubMod 1.5.10.2 (build 2540/release)

Load subtitles in ./
==========================================================================
Forced video codec: ffodivxvdpau
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 55.67.100 (internal)
Movie-Aspect is undefined - no prescaling applied.
VO: [vdpau] 640x480 => 640x480 MPEG-4 Part 2 VDPAU acceleration
Selected video codec: [ffodivxvdpau] vfm: ffmpeg (FFmpeg MPEG-4,DIVX-4/5 (VDPAU))
==========================================================================
==========================================================================
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, floatle, 128.0 kbit/4.17% (ratio: 16000->384000)
Selected audio codec: [ffmp3float] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
==========================================================================
AO: [alsa] 48000Hz 2ch floatle (4 bytes per sample)
Starting playback...
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO: [vdpau] 640x480 => 640x480 MPEG-4 Part 2 VDPAU acceleration
[mpeg4 @ 0x7fc7f2e9a380]Image too small, temporary buffers cannot function
[mpeg4 @ 0x7fc7f2e9a380]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
[mpeg4 @ 0x7fc7f2e9a380]Image too small, temporary buffers cannot function
[mpeg4 @ 0x7fc7f2e9a380]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
[mpeg4 @ 0x7fc7f2e9a380]Image too small, temporary buffers cannot function
[mpeg4 @ 0x7fc7f2e9a380]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
[mpeg4 @ 0x7fc7f2e9a380]Image too small, temporary buffers cannot function
[mpeg4 @ 0x7fc7f2e9a380]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
A: 0.0 V: 0.4 A-V: -0.321 ct: -0.004 10/ 10 ??% ??% ??,?% 0 0
[mpeg4 @ 0x7fc7f2e9a380]Image too small, temporary buffers cannot function
[mpeg4 @ 0x7fc7f2e9a380]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
A: 0.2 V: 0.5 A-V: -0.309 ct: -0.016 13/ 13 ??% ??% ??,?% 0 0
[mpeg4 @ 0x7fc7f2e9a380]Image too small, temporary buffers cannot function
[mpeg4 @ 0x7fc7f2e9a380]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
A: 0.3 V: 0.6 A-V: -0.296 ct: -0.028 16/ 16 0% 0% 0.2% 0 0
[mpeg4 @ 0x7fc7f2e9a380]Image too small, temporary buffers cannot function
[mpeg4 @ 0x7fc7f2e9a380]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
A: 0.4 V: 0.7 A-V: -0.284 ct: -0.040 19/ 19 0% 0% 0.2% 0 0
[mpeg4 @ 0x7fc7f2e9a380]Image too small, temporary buffers cannot function
[mpeg4 @ 0x7fc7f2e9a380]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
A: 0.6 V: 0.8 A-V: -0.272 ct: -0.052 22/ 22 0% 0% 0.2% 0 0
[mpeg4 @ 0x7fc7f2e9a380]Image too small, temporary buffers cannot function
[mpeg4 @ 0x7fc7f2e9a380]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
A: 0.7 V: 1.0 A-V: -0.260 ct: -0.064 25/ 25 0% 0% 0.2% 0 0
[mpeg4 @ 0x7fc7f2e9a380]Image too small, temporary buffers cannot function
[mpeg4 @ 0x7fc7f2e9a380]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
A: 0.8 V: 1.1 A-V: -0.248 ct: -0.076 28/ 28 0% 0% 0.2% 0 0
[mpeg4 @ 0x7fc7f2e9a380]Image too small, temporary buffers cannot function
[mpeg4 @ 0x7fc7f2e9a380]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
A: 1.0 V: 1.2 A-V: -0.236 ct: -0.088 31/ 31 0% 0% 0.2% 0 0
[mpeg4 @ 0x7fc7f2e9a380]Image too small, temporary buffers cannot function
[mpeg4 @ 0x7fc7f2e9a380]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!

comment:4 by Carl Eugen Hoyos, 10 years ago

Reproduced by developer: set
Status: newopen

Regression since dffb85a9 - a possible patch currently gets reviewed.

comment:5 by Carl Eugen Hoyos, 10 years ago

Resolution: fixed
Status: openclosed

Should be fixed in 076ab9f7 - thank you for the report!

comment:6 by Scott Larson, 6 years ago

Resolution: fixed
Status: closedreopened

This problem has returned in the latest version of mplayer.

-bash-4.4$ ./mplayer -vo vdpau -vc ffmpeg12vdpau 111817/Seinfeld\:21\:00\:33
MPlayer SVN-r38017-7 (C) 2000-2018 MPlayer Team

Playing 111817/Seinfeld:21:00:33.
libavformat version 58.5.100 (internal)
TS file format detected.
VIDEO MPEG2(pid=49) AUDIO A52(pid=52) NO SUBS (yet)! PROGRAM N. 0
VIDEO: MPEG2 1920x1080 (aspect 3) 29.970 fps 79975.2 kbps (9996.9 kbyte/s)
==========================================================================
Forced video codec: ffmpeg12vdpau
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 58.9.100 (internal)
Selected video codec: [ffmpeg12vdpau] vfm: ffmpeg (FFmpeg MPEG-1/2 (VDPAU))
==========================================================================
Load subtitles in 111817/
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, floatle, 384.0 kbit/12.50% (ratio: 48000->384000)
Selected audio codec: [ffac3] afm: ffmpeg (FFmpeg AC-3)
==========================================================================
AO: [alsa] 48000Hz 2ch floatle (4 bytes per sample)
Starting playback...
Movie-Aspect is undefined - no prescaling applied.
VO: [vdpau] 1920x1080 => 1920x1080 MPEG2 VDPAU acceleration
[mpegvideo @ 0x55e8f9781980]Image too small, temporary buffers cannot function
[mpegvideo @ 0x55e8f9781980]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
[mpegvideo @ 0x55e8f9781980]Image too small, temporary buffers cannot function
[mpegvideo @ 0x55e8f9781980]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
[mpegvideo @ 0x55e8f9781980]Image too small, temporary buffers cannot function
[mpegvideo @ 0x55e8f9781980]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
[mpegvideo @ 0x55e8f9781980]Image too small, temporary buffers cannot function
[mpegvideo @ 0x55e8f9781980]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
[mpegvideo @ 0x55e8f9781980]Image too small, temporary buffers cannot function
[mpegvideo @ 0x55e8f9781980]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
[mpegvideo @ 0x55e8f9781980]Image too small, temporary buffers cannot function
[mpegvideo @ 0x55e8f9781980]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
[mpegvideo @ 0x55e8f9781980]Image too small, temporary buffers cannot function
[mpegvideo @ 0x55e8f9781980]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
[mpegvideo @ 0x55e8f9781980]Image too small, temporary buffers cannot function
[mpegvideo @ 0x55e8f9781980]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
[mpegvideo @ 0x55e8f9781980]Image too small, temporary buffers cannot function
[mpegvideo @ 0x55e8f9781980]get_buffer() failed to allocate context scratch buffers.
Error while decoding frame!
A:30644.1 V:30644.8 A-V: -0.752 ct: 0.000 9/ 9 ??% ??% ??,?% 0 0

comment:7 by Roger, 5 years ago

Ditto. ffmpeg-4* seems to have reintroduced this bug using mplayer-1.3.0-r5, when using NVidia vdpau/ffmpeg12vdpau. (Using ffmpeg-4.1)

comment:8 by Roger, 5 years ago

Cc: rogerxx@gmail.com added
Note: See TracTickets for help on using tickets.