cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1409
Views
0
Helpful
1
Replies

C series codecs cannot decode H.264 from the popular X265 encoder

friatider
Level 1
Level 1

When using the widely deployed X265 encoder library to encode a SIP video stream from my computer, I cannot call any C20, C40, C60 or C90 with video support. The H.264 decoder fails on all Cisco devices with the following error:

arm2 video2: parse_sps: Profile mismatch: profile_idc 100, set0_flag 0 Nov 12 14:55:19.000 arm2 video2: H264D_TI: IS_IDR_EXPECTED_ERROR (frame 133: ERROR 0x00008860|Corrupt Data|Concealment NOT Applied|H264D_ERR_IMPL_PPSUNAVAIL)

The ASIC Cisco is using here is the Texas Instruments H264D, and the error is documented in https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/81/H264_5F00_Decoder_5F00_C6678_5F00_UserGuide-_2800_1_2900_.pdf as:

"The PPS referred to in the slice header is unavailable" with the following note:

"These error codes reports that the specific feature is not available in the decoder, or implementation specific errors."

I have set X265 to add PPS headers to all frames in the stream, but the problem persists. I have also turned on and off PacketLossResilence and all kind of other settings at the codecs without solving the problem. My guess is that the software encoder can be set to using a profile that Cisco accepts, but being no H.264, I'm stuck for now.

I have tested with TC7.3.1, TC7.3.11 and some older versions with the same unsuccessful result. I will test at an SX80 later this week and update this discussion when tested.

1 Reply 1

The older C series endpoints only support H.264 AVC, so perhaps this could be the cause of the issue you are encountering, if you're encoding as SVC and expecting the endpoint to cope with it, it can't.

Similarly, if you're encoding as H.265, then the C series endpoints don't support it.

If you're having issues with the x265 encoder, then you're more likely to get a suitable response on a forum specialising in that, than in these support forums where people generally aren't trying to create their own endpoints to talk with the Cisco devices, but for your application, you're probably better off using the x264 library (which is made to do H.264 AVC) than the x265/HEVC one.

Wayne

Please remember to mark helpful responses and to set your question as answered if appropriate.