diff options
-rw-r--r-- | libavformat/sdp.c | 15 | ||||
-rw-r--r-- | libavutil/x86/x86util.asm | 11 |
2 files changed, 19 insertions, 7 deletions
diff --git a/libavformat/sdp.c b/libavformat/sdp.c index cdc3e21..0124218 100644 --- a/libavformat/sdp.c +++ b/libavformat/sdp.c @@ -128,7 +128,7 @@ static int sdp_get_address(char *dest_addr, int size, int *ttl, const char *url) *ttl = 0; - if (strcmp(proto, "rtp")) { + if (strcmp(proto, "rtp") && strcmp(proto, "srtp")) { /* The url isn't for the actual rtp sessions, * don't parse out anything else than the destination. */ @@ -681,6 +681,19 @@ int av_sdp_create(AVFormatContext *ac[], int n_files, char *buf, int size) av_strlcatf(buf, size, "a=control:streamid=%d\r\n", i + j); } + if (ac[i]->pb && ac[i]->pb->av_class) { + uint8_t *crypto_suite = NULL, *crypto_params = NULL; + av_opt_get(ac[i]->pb, "srtp_out_suite", AV_OPT_SEARCH_CHILDREN, + &crypto_suite); + av_opt_get(ac[i]->pb, "srtp_out_params", AV_OPT_SEARCH_CHILDREN, + &crypto_params); + if (crypto_suite && crypto_suite[0]) + av_strlcatf(buf, size, + "a=crypto:1 %s inline:%s\r\n", + crypto_suite, crypto_params); + av_free(crypto_suite); + av_free(crypto_params); + } } } diff --git a/libavutil/x86/x86util.asm b/libavutil/x86/x86util.asm index 6768dec..babe34c 100644 --- a/libavutil/x86/x86util.asm +++ b/libavutil/x86/x86util.asm @@ -210,10 +210,14 @@ %endif %endmacro -%macro ABSB_MMX 2 +%macro ABSB 2 ; source mmreg, temp mmreg (unused for ssse3) +%if cpuflag(ssse3) + pabsb %1, %1 +%else pxor %2, %2 psubb %2, %1 pminub %1, %2 +%endif %endmacro %macro ABSB2_MMX 4 @@ -236,10 +240,6 @@ psubd %2, %4 %endmacro -%macro ABSB_SSSE3 2 - pabsb %1, %1 -%endmacro - %macro ABSB2_SSSE3 4 pabsb %1, %1 pabsb %2, %2 @@ -250,7 +250,6 @@ ABS2 %3, %4, %5, %6 %endmacro -%define ABSB ABSB_MMX %define ABSB2 ABSB2_MMX %macro SPLATB_LOAD 3 |