[Mesa-dev] [PATCH 08/11] st/va: clear the video surface on allocation

Andy Furniss adf.lists at gmail.com
Thu Mar 16 12:33:02 UTC 2017


Christian König wrote:
> From: Christian König <christian.koenig at amd.com>
>
> This makes debugging of decoding problems quite a bit easier.

This breaks gstreamer encode for me.

ffmpeg is OK, but then IIRC ffmpeg only uses one of something that
gstreamer uses two of, not wishing to get too technical here :-)

Whatever the cause, gst is twice as fast as ffmpeg and with this
I get -

[drm:amdgpu_vce_cs_reloc [amdgpu]] *ERROR* BO to small for addr 
0x01000b0000 48 47

andy [vce-tests]$ time gst-launch-1.0 -f filesrc 
location=/mnt/ramdisk/trees-1440p50.nv12 blocksize=5529600 ! 
video/x-raw,format=NV12,width=2560,height=1440,framerate=50/1,pixel-aspect-ratio=1/1 
! queue ! vaapih264enc  rate-control=cbr bitrate=10000 
keyframe-period=25 max-bframes=0 ! video/x-h264, profile=main ! filesink 
location=/mnt/ramdisk/gst.264
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'radeonsi'
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva info: va_openDriver() returns 0
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'radeonsi'
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva info: va_openDriver() returns 0
Setting pipeline to PAUSED ...
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'radeonsi'
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva info: va_openDriver() returns 0
Pipeline is PREROLLING ...
Got context from element 'vaapiencodeh264-0': gst.vaapi.Display=context, 
gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ 
vaapidisplayglx1";
0:00:01.134997848   790      0x19310f0 ERROR       vaapivideomemory 
gstvaapivideomemory.c:736:gst_video_info_update_from_surface: Cannot 
create a VA derived image from surface 0x7fefcc002b70
amdgpu: The CS has been rejected, see dmesg for more information (-22).
amdgpu: The CS has been cancelled because the context is lost.
amdgpu: The CS has been cancelled because the context is lost.
0:00:01.157992874   790 0x7fefcc0028a0 ERROR            vaapiencode 
gstvaapiencode.c:210:gst_vaapiencode_default_alloc_buffer: invalid 
GstVaapiCodedBuffer size (0 bytes)
amdgpu: The CS has been cancelled because the context is lost.
0:00:01.161509344   790 0x7fefcc0028a0 ERROR            vaapiencode 
gstvaapiencode.c:316:gst_vaapiencode_push_frame: failed to allocate 
encoded buffer in system memory
amdgpu: The CS has been cancelled because the context is lost.
amdgpu: The CS has been cancelled because the context is lost.
amdgpu: The CS has been cancelled because the context is lost.
amdgpu: The CS has been cancelled because the context is lost.
amdgpu: The CS has been cancelled because the context is lost.
amdgpu: The CS has been cancelled because the context is lost.




More information about the mesa-dev mailing list