From 037df191bb82e0031681729a8801511cbd3da8a8 Mon Sep 17 00:00:00 2001 From: Daniel Stankewitz Date: Thu, 8 Sep 2022 17:51:11 +0200 Subject: [PATCH] Update action.yml --- .github/actions/libsvtav1/action.yml | 42 ++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/.github/actions/libsvtav1/action.yml b/.github/actions/libsvtav1/action.yml index 0840eb7..ac2950c 100644 --- a/.github/actions/libsvtav1/action.yml +++ b/.github/actions/libsvtav1/action.yml @@ -17,8 +17,46 @@ runs: git config --global core.autocrlf false git config --global core.eol lf git clone -b ${{ inputs.refId }} https://gitlab.com/AOMediaCodec/SVT-AV1 svtav1 - echo -e "From 213854249dc8d69653a9f3281cdd4c2063cd3779 Mon Sep 17 00:00:00 2001\nFrom: Christopher Degawa \nDate: Wed, 10 Aug 2022 13:53:17 -0500\nSubject: [PATCH] copy_input_buffer: only copy metadata if a frame was actaully\n sent\n\nFixes a segfault if EOS was send through the library without zeroing\nout the metadata array\n\nSigned-off-by: Christopher Degawa \n---\n Source/Lib/Encoder/Globals/EbEncHandle.c | 9 +++++----\n 1 file changed, 5 insertions(+), 4 deletions(-)\n\ndiff --git a/Source/Lib/Encoder/Globals/EbEncHandle.c b/Source/Lib/Encoder/Globals/EbEncHandle.c\nindex ba5e719a4..fc7a2b1f4 100644\n--- a/Source/Lib/Encoder/Globals/EbEncHandle.c\n+++ b/Source/Lib/Encoder/Globals/EbEncHandle.c\n@@ -4814,11 +4814,12 @@ static void copy_input_buffer(SequenceControlSet* scs, EbBufferHeaderType* dst,\n } else if (pass != ENCODE_FIRST_PASS || copy_frame) {\n // Bypass copy for the unecessary picture in IPPP pass\n // Copy the picture buffer\n- if (src->p_buffer != NULL)\n+ if (src->p_buffer != NULL) {\n copy_frame_buffer(scs, dst->p_buffer, dst_y8b->p_buffer, src->p_buffer, pass);\n- // Copy the metadata array\n- if (svt_aom_copy_metadata_buffer(dst, src->metadata) != EB_ErrorNone)\n- dst->metadata = NULL;\n+ // Copy the metadata array\n+ if (svt_aom_copy_metadata_buffer(dst, src->metadata) != EB_ErrorNone)\n+ dst->metadata = NULL;\n+ }\n }\n \n // Copy the private data list\n-- \nGitLab\n" > segfault.patch - cd svt1av1 ; git apply --ignore-whitespace --verbose ../segfault.patch ; cd .. + ( + echo From 213854249dc8d69653a9f3281cdd4c2063cd3779 Mon Sep 17 00:00:00 2001 + echo From: Christopher Degawa + echo Date: Wed, 10 Aug 2022 13:53:17 -0500 + echo Subject: [PATCH] copy_input_buffer: only copy metadata if a frame was actaully + echo sent + echo + echo Fixes a segfault if EOS was send through the library without zeroing + echo out the metadata array + echo + echo Signed-off-by: Christopher Degawa + echo --- + echo Source/Lib/Encoder/Globals/EbEncHandle.c | 9 +++++---- + echo 1 file changed, 5 insertions(+), 4 deletions(-) + echo + echo diff --git a/Source/Lib/Encoder/Globals/EbEncHandle.c b/Source/Lib/Encoder/Globals/EbEncHandle.c + echo index ba5e719a4..fc7a2b1f4 100644 + echo --- a/Source/Lib/Encoder/Globals/EbEncHandle.c + echo +++ b/Source/Lib/Encoder/Globals/EbEncHandle.c + echo @@ -4814,11 +4814,12 @@ static void copy_input_buffer(SequenceControlSet* scs, EbBufferHeaderType* dst, + echo } else if (pass != ENCODE_FIRST_PASS || copy_frame) { + echo // Bypass copy for the unecessary picture in IPPP pass + echo // Copy the picture buffer + echo - if (src->p_buffer != NULL) + echo + if (src->p_buffer != NULL) { + echo copy_frame_buffer(scs, dst->p_buffer, dst_y8b->p_buffer, src->p_buffer, pass); + echo - // Copy the metadata array + echo - if (svt_aom_copy_metadata_buffer(dst, src->metadata) != EB_ErrorNone) + echo - dst->metadata = NULL; + echo + // Copy the metadata array + echo + if (svt_aom_copy_metadata_buffer(dst, src->metadata) != EB_ErrorNone) + echo + dst->metadata = NULL; + echo + } + echo } + echo + echo // Copy the private data list + echo -- + echo GitLab + ) > "segfault.patch" + cd svt1av1 ; git apply --ignore-whitespace --verbose ..\segfault.patch ; cd .. #- name: Checkout SVT AV1 # uses: actions/checkout@v3 # with: