On 30.04.2021 13:34, Brad Hards wrote:
Signed-off-by: Brad Hards <br...@frogmouth.net> --- libavcodec/nvenc.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c index 0dcd93a99c..1a895a64f4 100644 --- a/libavcodec/nvenc.c +++ b/libavcodec/nvenc.c @@ -2173,6 +2173,8 @@ static int nvenc_send_frame(AVCodecContext *avctx, const AVFrame *frame) NV_ENC_SEI_PAYLOAD sei_data[8]; int sei_count = 0; int i; + AVFrameSideData *sd; + int num_unregistered_sei;NvencContext *ctx = avctx->priv_data;NvencDynLoadFunctions *dl_fn = &ctx->nvenc_dload_funcs; @@ -2261,6 +2263,20 @@ static int nvenc_send_frame(AVCodecContext *avctx, const AVFrame *frame) } }+ num_unregistered_sei = av_frame_num_side_data(frame, AV_FRAME_DATA_SEI_UNREGISTERED);+ for (int i = 0; i < num_unregistered_sei; i++) {
redefines i from above. Not sure if that's even valid.
+ sd = av_frame_get_side_data_n(frame, AV_FRAME_DATA_SEI_UNREGISTERED, i); + if (sd) { + sei_data[sei_count].payloadSize = sd->size; + sei_data[sei_count].payloadType = SEI_TYPE_USER_DATA_UNREGISTERED; + sei_data[sei_count].payload = av_memdup(sd->data, sd->size); + sei_count ++; + if (sei_count >= 8) { + break; + } + } + }
I'm not at all a fan of writing an arbitrary amount of stuff into a small fixed size array.
nvenc_codec_specific_pic_params(avctx, &pic_params, sei_data,
sei_count);
} else { pic_params.encodePicFlags = NV_ENC_PIC_FLAG_EOS;
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".