rpmfusion-infra / fedy

Fedy makes it easy to install third-party software in Fedora.
GNU General Public License v3.0
185 stars 20 forks source link

vlc-libde265 #119

Closed RWL-69 closed 1 year ago

RWL-69 commented 1 year ago

Summary: libde265 VLC plugin to allow VLC to play HEVC videos.
URLS: https://www.libde265.org/ https://github.com/strukturag/vlc-libde265

Why not in Fedora : Fear of patents. Distribution limits for the libde265 which is already by RPMFusion. https://admin.rpmfusion.org/pkgdb/package/free/libde265/

Licence is LGPL
NOTES: RPMFusion already supplies libde265 and this would just be an extension of that package for VLC which is also supplied by RPM fusion. With more videos being provided as HEVC, this is a requirement.

leigh123linux commented 1 year ago

This requires vlc-2.2 or below, see the readme.

https://github.com/strukturag/vlc-libde265/blob/master/README.md

RWL-69 commented 1 year ago

Oops, missed the version number. Still cannot get HEVC videos to play in VLC. Thanks.

leigh123linux commented 1 year ago

It appears it does have vlc-3 support but the code fails to compile.

https://github.com/strukturag/vlc-libde265/releases/tag/0.1.7

x.c  -fPIC -DPIC -o src/demux/.libs/libde265demux_plugin_la-libde265demux.o
src/codec/libde265dec.c: In function 'Decode':
src/codec/libde265dec.c:384:13: error: 'decoder_t' has no member named 'b_pace_control'
  384 |     if (!dec->b_pace_control && (sys->late_frames > 0) &&
      |             ^~
src/codec/libde265dec.c:392:13: error: 'decoder_t' has no member named 'b_pace_control'
  392 |     if (!dec->b_pace_control &&
      |             ^~
src/codec/libde265dec.c: In function 'Open':
src/codec/libde265dec.c:879:10: error: 'decoder_t' has no member named 'pf_decode_video'; did you mean 'pf_queue_video'?
  879 |     dec->pf_decode_video = Decode;
      |          ^~~~~~~~~~~~~~~
      |          pf_queue_video
src/codec/libde265dec.c:886:8: error: 'decoder_t' has no member named 'b_need_packetized'
  886 |     dec->b_need_packetized = true;
      |        ^~
src/demux/libde265demux.c: In function 'Open':
src/demux/libde265demux.c:118:15: error: 'demux_t' has no member named 'b_force'
  118 |     if (!demux->b_force) {
      |               ^~
src/demux/libde265demux.c:139:19: warning: implicit declaration of function 'stream_Peek' [-Wimplicit-function-declaration]
  139 |     buffer_size = stream_Peek(demux->s, &buffer, DETECT_BUFFER_SIZE);
      |                   ^~~~~~~~~~~
src/demux/libde265demux.c: In function 'Demux':
kwizart commented 1 year ago

I can read https://www.libde265.org/hevc-bitstreams/tos-1720x720-cfg01.mkv with vlc in f37

Please verify to have switched to rpmfusion ffmpeg instead of fedora

RWL-69 commented 1 year ago

Just a comment. I found out that even though I had HEVC code on my computer, HEVC content wouldn't play and then I tested in a different account last night, and HEVC worked. I found that there is something in the vlcrc file that was preventing HEVC from playing. Don't know what, for anyone else having HEVC issues, something to look for.