~~tag>VIM4 decoding~~ ====== VIM4 Hardware Decoding ====== ===== Introduction ===== This page introduces how to use hardware decoding. Only supoport Amlgoic 5.4/5.15 Kernel. ===== H264 Hardware Decoding ===== Here is an example to decode H264 file to NV12 and then encode to H264. Decoding & encoding: ```shell gst-launch-1.0 filesrc location=/home/khadas/bbb_sunflower_1080p_60fps_normal.mp4 ! qtdemux name=d d.video_0 ! h264parse ! v4l2h264dec ! video/x-raw,format=NV12 ! amlvenc ! h264parse ! filesink location=/home/khadas/h264dec.h264 ``` ===== H265 Hardware Decoding ===== Here is an example to decode H265 file to NV12 and then encode to H265. Decoding & encoding: ```shell gst-launch-1.0 filesrc location=/home/khadas/4K_6.1_2012.mkv ! matroskademux name=demux demux. ! h265parse ! v4l2h265dec ! video/x-raw,format=NV12 ! amlvenc ! h265parse ! filesink location=/home/khadas/h265dec.h265 ``` ===== MJPEG Hardware Decoding ===== An example to decode video from USB camera and encode to H264: ```shell gst-launch-1.0 v4l2src device=/dev/video0 io-mode=mmap num-buffers=300 ! image/jpeg,width=1280,height=720,framerate=30/1 ! jpegdec ! amlvenc ! h264parse ! filesink location=test_0.h264 ```