I used the omxh265enc gstreamer element to encode a YUV file at a low bitrate (2000000) but saw a lot of artifacts. When I used the omxh264enc gstreamer element the decoded video looks better than the decoded h.265.
Below is the gstreamer command I used:
Encode:
./gst-launch-1.0 filesrc location=VANC-59_wVico.i420 ! videoparse format=2 width=1296 height=740 framerate=60/1 ! omxh265enc SliceIntraRefreshEnable=true SliceIntraRefreshInterval=0 bit-packetization=true quant-i-frames=30 quant-p-frames=30 quality-level=2 low-latency=1 iframeinterval=1600 control-rate=2 bitrate=2000000 ! ‘video/x-h265, stream-format=(string)byte-stream’ ! h265parse ! rtph265pay mtu=1500 ! udpsink host=10.10.0.109 port=5000 sync=false async=false
Decode:
./gst-launch-1.0 udpsrc port=5000 ! application/x-rtp,encoding-name=H265,payload=96 ! rtph265depay ! h265parse ! queue ! omxh265dec ! nvoverlaysink sync=false async=false -e
I used two nvidia tx1 boards - one for encode and the other to decode.