qtdemux/libav: Add support for HAP video codec
I'm able to use FFmpeg ffplay to play HAP encoded videos and it's supported in libav, but it seems that the caps mapping for AV_CODEC_ID_HAP is missing from gst-libav.
$ gst-inspect-1.0 | grep hap
libav: avdec_hap: libav Vidvox Hap decoder
Here's what I received when I play a HAP encoded video (audio plays fine):
ERROR Your GStreamer installation is missing a plug-in. for file:///C:/Users/james/Downloads/VDMX_Halloween_Hap_4K/projection_zigzag_zoom_hap.mov ERROR debug information: ../gst/playback/gsturidecodebin.c(988): no_more_pads_full (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin18: no suitable plugins found: ../gst/playback/gstdecodebin2.c(4679): gst_decode_bin_expose (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin18/GstDecodeBin:decodebin18: no suitable plugins found: Missing decoder: video/x-gst-fourcc-Hap1 (video/x-gst-fourcc-Hap1, width=(int)3840, height=(int)2160, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1)
This happens with Hap1, HapY, HapM, and Hap5 encoded videos from this sample: https://s3.amazonaws.com/vidvox/hap/Hap_Test_Vidvox_QuickTime_Codec.zip
Is there any easy way I can add support for libav HAP decoding? It would be a huge help for a current project I'm involved with ;)