Log in

View Full Version : My Hevc stream file encoded using my hw encoding board


hi3516a
16th June 2015, 05:08
I made a Hevc hardware encoding board , now it could generate Hevc streams. But I don't know how to evaluate the quality of the encoder. Is there any free evaluation sw?
The generated h265 fiel is attached. The video source is a 1080i HDMI input from a STB. The h265 file is too big to be uploaded. So i attach a shortcut here:
http://www.vo2.com.cn/upload/image/1080i.h265

foxyshadis
16th June 2015, 10:13
Parabola Verifier (http://www.parabolaresearch.com/verifier-hevc-validation.html)

Otherwise, many people just run TAppDecoder on the bitstream and make sure it doesn't report any errors and that the decoded stream looks correct. However, it's not possible to visibly notice tiny encoding errors that might only impact file size.

fb39ca4
21st June 2015, 08:39
Did you design the encoder yourself on an FPGA?

Ely
21st June 2015, 14:56
Did you design the encoder yourself on an FPGA?

More probably his board has an ARM SoC with an HEVC encoder.

pieter3d
22nd June 2015, 16:32
Weird, all intra modes are DC only.

Parabola
29th June 2015, 12:55
Weird, all intra modes are DC only.

Indeed - see the attached.

This does seem to be a conforming bitstream but the generally accepted way to encode interlaced content in HEVC is to encode fields (i.e. 1920x540 pictures at 60Hz). With appropriate SEI (I didn't check for this).

hi3516a
27th August 2015, 17:09
Thanks Parabola for the detailed data.
But why there's no B frame in the stream?

Slice Statistics
slice_type by picture area by bits
B 0% 0%
P 96.6% 64.7%
I 3.4% 35.3%
Coding Unit Statistics
coding unit size by picture area by bits
8x8 1.3% 18.1%
16x16 10.6% 26%
32x32 38% 38.5%
64x64 50% 17.3%
CuPredMode by area by bits
MODE_INTER 43% 51%
MODE_INTRA 5.1% 46%
MODE_SKIP 51.9% 3.1%
cu_transquant_bypass_flag by area by bits
0 100% 100%
1 0% 0%
Intra Coding Unit
pcm_flag by intra area by intra bits
0 100% 100%
1 0% 0%
PartMode ﴾INTRA﴿ by intra area by intra bits
PART_2Nx2N 98.5% 91.4%
PART_NxN 1.5% 8.6%

Parabola
27th August 2015, 19:19
Thanks Parabola for the detailed data.
But why there's no B frame in the stream?

Good question and really one for the encoder manufacturer. By using only L0 with a single reference, the encoder has a lot less work to do. But this means the encoder can never perform as well as one supporting bi prediction. (guess ~20% penalty). For low latency applications (no backwards prediction), the penalty is probably smaller and L0-single-ref may represent a reasonable tradeoff of complexity for performance.

Golgot13
30th September 2015, 19:13
Hi all,

Did you design the encoder yourself on an FPGA?


It is not FPGA (aka similar than software encoding), it use ASIC encoder.

The stream has not B frame because the preset used did not ask it...
So B frame is supported.

About feature, the chipset could realtime encode:
- 1 stream in H265 or H264 with UHD/4K resolution (and more... 16Mpix max in H264)
- 3/4 streams in H265 and/or H264 with max ~5Mpix: so 2 * 1080P + 1 * 720P
- I frame only, IPP or IBBP with GoP max at 800 frames

I worked on it, so today it is very stable (24h/24 7D/7), it support:
- Protocols: MPEG DASH, HLS (Http Live Streaming), HDS (Http Dynamic Streaming), RTP, RTSP, RTMP, MPEG multicast, MPEG unicast
- MPEG DASH for eMMBS (broadcast video on 4G network)
- File record: MOV and MP4
- Preview on board by web interface
- soon, Youtube API to broadcast with only Youtube Login/Pass, and maybe other streaming website
........

The board was on VideoLan Day two week ago, it will be nice to push it to OpenSource community, to be the first OpenSource Hardware encoder.
But there is the SDK's problem, the SDK is not free and the price depend of chipset encoder used (eg: if it is a Fujitsu chipset the official SDK price is at 20k$ by SDK...)

CruNcher
1st October 2015, 07:51
Did you give a Session ?

if yes it seems it wasn't recorded ?

https://www.youtube.com/user/VideoLANorg/videos

Do you have comparisons with other hardware stacks non Open Source IP Cores especially in terms of Possible Quality/Power Ratio like Nvidia/AMD/Intel, Imagination, Rockchip, Allwinner, Mediatek, Broadcom, Sony, Samsung, Sigma, Realtek, Vanguard, Elecard, Ateme, Mainconcept ect ?

Golgot13
1st October 2015, 08:21
Did you give a Session ?


No session

if yes it seems it wasn't recorded ?

https://www.youtube.com/user/VideoLANorg/videos


Only to show the board and give some stream link.
To know if the communities could be interested by OpenSource hardware encoder.
The price of board is not the big "problem" (by big quantity it could be down less than a iPhone), the price of SDK is the problem.

CruNcher
1st October 2015, 08:30
Ok but that is not really a fully valid Open Source solution

A Open Source Hardware solution would be

You own the Hardware IP Stack
You own the SDK

And open up the source of the SDK you can't currently do that as you would violate a 3rd party in the chain, with who you have no agreement yet and so the cost is pretty high and so pretty unreachable for a big audience.

Only the Board and it's Design seems yours ;)

You have to get those other component suppliers into the boat and handle out some license agreement with them @ least, not easy if you can't assure them you have a big target audience you can reach (big demand).

Or you have to push down the license cost of that component to your products customers and that's the problem 20k Encoder board surely some will pay that depending on your target but then what makes your solution stand out of the available ones ? ;)

Golgot13
1st October 2015, 10:02
Ok but that is not really a fully valid Open Source solution

You're right about term OpenSource.
Sure, we will never have access at code of chipset firmware...

About design, it is not from me or hi3516, but from chipset manufactor...

We want to give all features/possibilities of encoder chipset and access at OS kernel (embedded Linux with only 16MB...)
We are sure, many development and research could be born with it (eg: adaptive bitrate encoding by upload bandwidth available)


When I see Raspberry Pi device/project, some friends and me want to do same for video.
Broadcom gave many code for RaspberryPI project, but there are a part closed

CruNcher
1st October 2015, 10:59
What is the Peak power consumption currently for the highest quality stream you can push out of it @ 4K :) ?