Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HEVC files cannot be opened #62

Open
mdirik opened this issue May 17, 2018 · 0 comments
Open

HEVC files cannot be opened #62

mdirik opened this issue May 17, 2018 · 0 comments

Comments

@mdirik
Copy link

mdirik commented May 17, 2018

Hi,

I'm not sure how well the VE in R40 is supported but I seem to have a problem with opening HEVC encoded files.

H264 works fine:

mpv --hwdec-codecs=all --vo=vdpau --hwdec=vdpau jellyfish-3-mbps-hd-h264.mkv
Playing: jellyfish-3-mbps-hd-h264.mkv
 (+) Video --vid=1 (*) (h264 1920x1080 29.970fps)
[VDPAU SUNXI] VE version 0x1701 opened
[VDPAU SUNXI] OSD disabled!
Using hardware decoding (vdpau).
VO: [vdpau] 1920x1080 vdpau[yuv420p]
[VDPAU SUNXI] Presentation time not supported

But hevc one prints a warning and just hangs without showing any video output (also no audio output on files with audio):


$ mpv --hwdec-codecs=all --vo=vdpau --hwdec=vdpau jellyfish-3-mbps-hd-hevc.mkv 
Playing: jellyfish-3-mbps-hd-hevc.mkv
 (+) Video --vid=1 (*) (hevc 1920x1080 29.970fps)
[VDPAU SUNXI] VE version 0x1701 opened
[VDPAU SUNXI] OSD disabled!
HEVC video output may be broken due to nVidia bugs.

Mplayer just shows blank screen:


$ mplayer -vo vdpau -vc ffmpeg12vdpau,ffh264vdpau,ffhevcvdpau, jellyfish-3-mbps-hd-hevc.mkv 
MPlayer 1.2.1 (Debian), built with gcc-5.3.1 (C) 2000-2016 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing jellyfish-3-mbps-hd-hevc.mkv.
libavformat version 56.40.101 (external)
libavformat file format detected.
[lavf] stream 0: video (hevc), -vid 0
VIDEO:  [HEVC]  1920x1080  0bpp  29.970 fps    0.0 kbps ( 0.0 kbyte/s)
Clip info:
 COMPATIBLE_BRANDS: iso4hvc1iso6
 MAJOR_BRAND: iso4
 MINOR_VERSION: 1
 ENCODER: Lavf56.3.100
Load subtitles in ./
[VDPAU SUNXI] VE version 0x1701 opened
[VDPAU SUNXI] OSD disabled!
==========================================================================
Forced video codec: ffmpeg12vdpau
Forced video codec: ffh264vdpau
Forced video codec: ffhevcvdpau
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 56.60.100 (external)
Selected video codec: [ffhevcvdpau] vfm: ffmpeg (FFmpeg HEVC / H.265 (VDPAU))
==========================================================================
Audio: no sound
Starting playback...
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [vdpau] 1920x1080 => 1920x1080 HEVC VDPAU acceleration 

System details:

  • Banana Pi M2 Ultra (Alwinner R40)
  • Display mode is 1080p25, connected with HDMI
  • Sinovoip's Ubuntu 16.04 image
  • Kernel: Linux bpi-iot-ros-ai 3.10.108-BPI-M2U-Kernel #1 SMP Wed Mar 28 16:57:21 +03 2018 armv7l armv7l armv7l GNU/Linux
  • libcedrus, libvdpau and libvdpau-sunxi are compiled from their git repositories (preinstalled ones are replaced with compiled ones)
  • mpv is self compiled (with its own ffmpeg)
mpv 0.27.0 (C) 2000-2017 mpv/MPlayer/mplayer2 projects
 built on Thu Dec 21 16:30:39 UTC 2017
ffmpeg library versions:
   libavutil       56.6.100
   libavcodec      58.8.100
   libavformat     58.3.100
   libswscale      5.0.101
   libavfilter     7.7.100
   libswresample   3.0.101
ffmpeg version: N-89544-gcfd5209

Here is a VDPAU trace:


$ env VDPAU_TRACE=1 mpv --hwdec-codecs=all --vo=vdpau --hwdec=vdpau jellyfish-3-mbps-hd-hevc.mkv 
Playing: jellyfish-3-mbps-hd-hevc.mkv
 (+) Video --vid=1 (*) (hevc 1920x1080 29.970fps)
VDPAU capture: Enabled
vdp_imp_device_create_x11(0xad00dec0, 0, -, -)
[VDPAU SUNXI] VE version 0x1701 opened
[VDPAU SUNXI] OSD disabled!
    -> 0, 1, 0xadb303c1
vdp_get_proc_address(1, 0, -)
    -> 0, 0xadb56039
vdp_get_proc_address(1, 26, -)
    -> 0, 0xadb57805
vdp_get_proc_address(1, 27, -)
    -> 0, 0xadb55e69
vdp_get_proc_address(1, 29, -)
    -> 0, 0xadb5b9c5
vdp_get_proc_address(1, 25, -)
    -> 0, 0xadb578f9
vdp_get_proc_address(1, 37, -)
    -> 0, 0xadb572b9
vdp_get_proc_address(1, 38, -)
    -> 0, 0xadb55df1
vdp_get_proc_address(1, 40, -)
    -> 0, 0xadb588dd
vdp_get_proc_address(1, 36, -)
    -> 0, 0xadb573ad
vdp_get_proc_address(1, 5, -)
    -> 0, 0xadb55fc5
vdp_get_proc_address(1, 4, -)
    -> 0, 0xadb58755
vdp_get_proc_address(1, 6, -)
    -> 0, 0xadb58605
vdp_get_proc_address(1, 18, -)
    -> 0, 0xadb57c11
vdp_get_proc_address(1, 19, -)
    -> 0, 0xadb55edd
vdp_get_proc_address(1, 21, -)
    -> 0, 0xadb5b315
vdp_get_proc_address(1, 23, -)
    -> 0, 0xadb5b5fd
vdp_get_proc_address(1, 22, -)
    -> 0, 0xadb5b491
vdp_get_proc_address(1, 34, -)
    -> 0, 0xadb5adb9
vdp_get_proc_address(1, 33, -)
    -> 0, 0xadb5aeb9
vdp_get_proc_address(1, 66, -)
    -> 0, 0xadb55b65
vdp_get_proc_address(1, 64, -)
    -> 0, 0xadb56c1d
vdp_get_proc_address(1, 56, -)
    -> 0, 0xadb56dd1
vdp_get_proc_address(1, 57, -)
    -> 0, 0xadb55c89
vdp_get_proc_address(1, 63, -)
    -> 0, 0xadb55bed
vdp_get_proc_address(1, 62, -)
    -> 0, 0xadb56cf9
vdp_get_proc_address(1, 65, -)
    -> 0, 0xadb56ae5
vdp_get_proc_address(1, 58, -)
    -> 0, 0xadb5a579
vdp_get_proc_address(1, 59, -)
    -> 0, 0xadb5a9c5
vdp_get_proc_address(1, 4096, -)
    -> 0, 0xadb56a0d
vdp_get_proc_address(1, 55, -)
    -> 0, 0xadb55d01
vdp_get_proc_address(1, 46, -)
    -> 0, 0xadb5a2f5
vdp_get_proc_address(1, 53, -)
    -> 0, 0xadb55d79
vdp_get_proc_address(1, 41, -)
    -> 0, 0xadb57059
vdp_get_proc_address(1, 54, -)
    -> 0, 0xadb5ab35
vdp_get_proc_address(1, 48, -)
    -> 0, 0xadb5a911
vdp_get_proc_address(1, 47, -)
    -> 0, 0xadb5a155
vdp_get_proc_address(1, 9, -)
    -> 0, 0xadb582ad
vdp_get_proc_address(1, 10, -)
    -> 0, 0xadb55f51
vdp_get_proc_address(1, 13, -)
    -> 0, 0xadb5b19d
vdp_get_proc_address(1, 12, -)
    -> 0, 0xadb5b041
vdp_get_proc_address(1, 11, -)
    -> 0, 0xadb58125
vdp_get_proc_address(1, 7, -)
    -> 0, 0xadb58475
vdp_get_proc_address(1, 14, -)
    -> 0, 0xadb57f95
vdp_get_proc_address(1, 20, -)
    -> 0, 0xadb57a89
vdp_output_surface_create(1, 0, 1, 1, -)
    -> 0, 2
vdp_preemption_callback_register(1, 0xb5b541f1, 0xad035578)
    -> 0
vdp_get_proc_address(1, 8, -)
    -> 0, 0xadb58395
vdp_get_proc_address(1, 12, -)
    -> 0, 0xadb5b041
vdp_get_proc_address(1, 13, -)
    -> 0, 0xadb5b19d
vdp_get_proc_address(1, 9, -)
    -> 0, 0xadb582ad
vdp_get_proc_address(1, 10, -)
    -> 0, 0xadb55f51
vdp_video_surface_query_get_put_bits_y_cb_cr_capabilities(1, 0, 0, -)
    -> 0, 1
vdp_video_surface_query_get_put_bits_y_cb_cr_capabilities(1, 0, 1, -)
    -> 0, 1
vdp_video_surface_query_get_put_bits_y_cb_cr_capabilities(1, 1, 0, -)
    -> 0, 0
vdp_video_surface_query_get_put_bits_y_cb_cr_capabilities(1, 1, 1, -)
    -> 0, 0
vdp_video_surface_query_get_put_bits_y_cb_cr_capabilities(1, 1, 2, -)
    -> 0, 0
vdp_video_surface_query_get_put_bits_y_cb_cr_capabilities(1, 1, 3, -)
    -> 0, 0
vdp_video_surface_query_get_put_bits_y_cb_cr_capabilities(1, 2, 1, -)
    -> 0, 0
vdp_output_surface_put_bits_native(2, {0xacdfbb40}, {4}, {0, 0, 0, 0})
    -> 0
vdp_get_information_string(-)
    -> 0, "sunxi VDPAU Driver"
vdp_output_surface_put_bits_native(2, {0xacdfbb50}, {4}, {0, 0, 0, 0})
    -> 0
vdp_bitmap_surface_query_capabilities(1, 4, -, -, -)
    -> 0, 0, 8192, 8192
vdp_output_surface_put_bits_native(2, {0xacdfbb28}, {4}, {0, 0, 0, 0})
    -> 0
vdp_output_surface_put_bits_native(2, {0xacdfbaf0}, {4}, {0, 0, 0, 0})
    -> 0
vdp_output_surface_put_bits_native(2, {0xacdfbab8}, {4}, {0, 0, 0, 0})
    -> 0
vdp_output_surface_put_bits_native(2, {0xacdfbb28}, {4}, {0, 0, 0, 0})
    -> 0
vdp_output_surface_put_bits_native(2, {0xbeac7da8}, {4}, {0, 0, 0, 0})
    -> 0
vdp_output_surface_put_bits_native(2, {0xacdfbab8}, {4}, {0, 0, 0, 0})
    -> 0
vdp_output_surface_put_bits_native(2, {0xacdfbb28}, {4}, {0, 0, 0, 0})
    -> 0
vdp_output_surface_put_bits_native(2, {0xacdfbb28}, {4}, {0, 0, 0, 0})
    -> 0
vdp_output_surface_put_bits_native(2, {0xacdfbb28}, {4}, {0, 0, 0, 0})
    -> 0
vdp_output_surface_put_bits_native(2, {0xacdfbab8}, {4}, {0, 0, 0, 0})
    -> 0
vdp_output_surface_put_bits_native(2, {0xacdfbab8}, {4}, {0, 0, 0, 0})
    -> 0
vdp_output_surface_put_bits_native(2, {0xacdfbab8}, {4}, {0, 0, 0, 0})
    -> 0
vdp_output_surface_put_bits_native(2, {0xacdfbb28}, {4}, {0, 0, 0, 0})
    -> 0
HEVC video output may be broken due to nVidia bugs.
vdp_get_proc_address(1, 4, -)
    -> 0, 0xadb58755
vdp_get_information_string(-)
    -> 0, "sunxi VDPAU Driver"
vdp_get_proc_address(1, 7, -)
    -> 0, 0xadb58475
vdp_video_surface_query_capabilities(1, 0, -, -, -)
    -> 0, 1, 8192, 8192
vdp_get_proc_address(1, 36, -)
    -> 0, 0xadb573ad
vdp_decoder_query_capabilities(1, 100, -, -, -, -, -)
    -> 0, 1, 150, 32400, 3840, 2160
vdp_get_proc_address(1, 37, -)
    -> 0, 0xadb572b9
vdp_get_proc_address(1, 40, -)
    -> 0, 0xadb588dd
vdp_decoder_create(1, 100, 1920, 1080, 1, -)
    -> 0, 3
vdp_video_surface_create(1, 0, 1920, 1080, -)
    -> 0, 4
vdp_decoder_render(3, 4, {1, 0, 1920, 1080, 0, 0, 4, 5, 0, 3, 0, 3, 0, 0, 0, {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, {0, 0, 0, 0, 0, 0}, {0, 0}, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, {4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0, 0, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}}, 2, {{(ver 0) 3, ...}, {(ver 0) 45236, ...}})
vdp_output_surface_put_bits_native(2, {0xacdfbb28}, {4}, {0, 0, 0, 0})
    -> 0
vdp_output_surface_put_bits_native(2, {0xacdfbb28}, {4}, {0, 0, 0, 0})
    -> 0
vdp_output_surface_put_bits_native(2, {0xacdfbb28}, {4}, {0, 0, 0, 0})
    -> 0
vdp_output_surface_put_bits_native(2, {0xacdfbb28}, {4}, {0, 0, 0, 0})
    -> 0
^C
$ 

Last line is printed again every ~10 seconds.

Thanks

@mdirik mdirik changed the title HEVC file cannot be opened HEVC files cannot be opened May 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant