mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-04 06:08:26 +02:00
vaapi_h264: Add source version identifier as unregistered SEI
Contains the libavcodec version, the VAAPI version and the libva driver vendor string.
This commit is contained in:
parent
48e2967cd5
commit
02fa1ad926
@ -606,6 +606,30 @@ static void vaapi_encode_h264_write_pic_timing(PutBitContext *pbc,
|
||||
}
|
||||
}
|
||||
|
||||
static void vaapi_encode_h264_write_identifier(PutBitContext *pbc,
|
||||
VAAPIEncodeContext *ctx,
|
||||
VAAPIEncodePicture *pic)
|
||||
{
|
||||
const char *lavc = LIBAVCODEC_IDENT;
|
||||
const char *vaapi = VA_VERSION_S;
|
||||
const char *driver = vaQueryVendorString(ctx->hwctx->display);
|
||||
char tmp[256];
|
||||
int i;
|
||||
|
||||
// Random (version 4) ISO 11578 UUID.
|
||||
uint8_t uuid[16] = {
|
||||
0x59, 0x94, 0x8b, 0x28, 0x11, 0xec, 0x45, 0xaf,
|
||||
0x96, 0x75, 0x19, 0xd4, 0x1f, 0xea, 0xa9, 0x4d,
|
||||
};
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
u(8, uuid[i], uuid_iso_iec_11578);
|
||||
|
||||
snprintf(tmp, sizeof(tmp), "%s / VAAPI %s / %s", lavc, vaapi, driver);
|
||||
for (i = 0; i < sizeof(tmp) && tmp[i]; i++)
|
||||
u(8, tmp[i], user_data_payload_byte);
|
||||
}
|
||||
|
||||
static void vaapi_encode_h264_write_sei(PutBitContext *pbc,
|
||||
VAAPIEncodeContext *ctx,
|
||||
VAAPIEncodePicture *pic)
|
||||
@ -633,6 +657,11 @@ static void vaapi_encode_h264_write_sei(PutBitContext *pbc,
|
||||
continue;
|
||||
write_payload = &vaapi_encode_h264_write_pic_timing;
|
||||
break;
|
||||
case SEI_TYPE_USER_DATA_UNREGISTERED:
|
||||
if (pic->encode_order != 0)
|
||||
continue;
|
||||
write_payload = &vaapi_encode_h264_write_identifier;
|
||||
break;
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user