чт, 26 сент. 2024 г., 20:37 Phyllis Smith <[email protected]>:

> Unfortunately, it has a problem.  I started testing a couple of days ago
> because I am still going through cinelerra-5.1/thirdparty/downloads.txt to
> see which packages can be updated.  Here is some of the output but I have
> not diagnosed anything.
>


try attached patch? (tested on termux's 6.1.2 ffmpeg)



> x265 [info]: HEVC encoder *version 4.0*+1-6318f22
>> x265 [info]: build info [Linux][GCC 10.3.1][64 bit] 8bit+10bit+12bit
>> x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX
>> FMA3 BMI2 AVX2
>> x265 [info]: Main profile, Level-2 (Main tier)
>> x265 [info]: Thread pool created using 16 threads
>> x265 [info]: Slices                              : 1
>> x265 [info]: frame threads / pool features       : 4 / wpp(4 rows)
>> x265 [warning]: Source height < 720p; disabling lookahead-slices
>> x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
>> x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
>> x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 3
>> x265 [info]: Keyframe min / max / scenecut / bias  : 30 / 30 / 40 / 5.00
>>
> x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
>> x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 0
>> x265 [info]: References / ref-limit  cu / depth  : 3 / off / on
>> x265 [info]: AQ: mode / str / qg-size / cu-tree  : 2 / 1.0 / 32 / 1
>> x265 [info]: Rate Control / qCompress            : CRF-25.0 / 0.60
>> x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp
>> x265 [info]: tools: b-intra strong-intra-smoothing deblock sao
>> FFStream::encode_frame: encode failed.
>> file: /tmp/bsnew.mp4
>>   *err: Generic error in an external library*
>>
> FFMPEG::mux_video  err: Operation not permitted
>> FFStream::encode_frame: encode failed.
>> file: /tmp/bsnew.mp4
>>   err: Generic error in an external library
>> FFMPEG::mux_video  err: Operation not permitted
>> FFStream::encode_frame: encode failed.
>>
> ...
>
> On Thu, Sep 26, 2024 at 2:58 AM Andrew Randrianasulu via Cin <
> [email protected]> wrote:
>
>>
>> https://bitbucket.org/multicoreware/x265_git/commits/6318f223684118a2c71f67f3f4633a9e35046b00
>>
>> ======
>>
>> Version 4.0
>>
>> ===========
>>
>> Release date - 13th September, 2024.
>>
>> New feature
>>
>> -----------
>>
>> 1. Alpha Channel feature.
>>
>> 2. Screen Content Coding (SCC).
>>
>> 3. MV-HEVC feature.
>>
>> Enhancements to existing features
>>
>> ---------------------------------
>>
>> 1. Added support for the VMAF v3.x.
>>
>> API changes
>>
>> -----------
>>
>> 1. Add command line parameter for Alpha Channel feature :option:`--alpha`.
>>
>> 2. Add command line parameter for SCC feature :option:`--scc 1`.
>>
>> 3. Add command line parameters for the MV-HEVC feature 
>> :option:`--multiview-config "multiview_config.txt"`.
>>
>> Optimizations
>>
>> ---------------------
>>
>> 1. Arm SIMD optimizations: Several time-consuming scalar C functions now 
>> have SIMD implementations on Arm platforms. Existing Arm SIMD 
>> implementations have also been optimized. These optimizations result in up 
>> to 57% faster encoding compared to release 3.6.
>>
>> 2. Arm SIMD optimizations include use of Armv8.4 DotProd, Armv8.6 I8MM, and 
>> Armv9 SVE2 instruction set extensions. The following algorithms now have 
>> optimized SIMD implementations: SAD, SSE, DCT, SAO, convolution, 
>> quantization, intra_planar, intraFilter, intrapred DC and IDCT16x16.
>>
>> Bug fixes
>>
>> ---------
>>
>> 1. Fix for y4m pipe input broken.
>>
>> 2. Fix SCC crash on multipass encode.
>>
>> 3. Fix mcstf when :option:`--bframes` value was less than 5.
>>
>> 4. Fix lowpass DCT for high bit depth.
>>
>> 5. Added build support for Visual Studio 17.
>>
>> 6. Fix issue in default code flow and memory leak.
>>
>> 7. Framethreads tuning for Windows ARM devices.
>>
>> 8. Fix scc crash on multipass encode.
>>
>> ====
>>
>>
>> I think only ffmpeg 7.1 (already branched)
>>
>>  will have multiview (stereo?) HEVC decoding, not
>>
>> even sure how(if) it can be represented in cinelerras ...
>>
>>
>> Time to test, I guess.
>>
>>
>> --
>> Cin mailing list
>> [email protected]
>> https://lists.cinelerra-gg.org/mailman/listinfo/cin
>>
>
X-Git-Url: http://git.ffmpeg.org/gitweb/ffmpeg.git/blobdiff_plain/a041b7be2c1b2b02d283dac883c0ce5e57c31112..f749aaf108696fcfc2be6a9f6c1059415474caf3:/libavcodec/libx265.c

diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c
index 447e6da25f..29fc26eab4 100644
--- a/libavcodec/libx265.c
+++ b/libavcodec/libx265.c
@@ -581,7 +581,13 @@ static int libx265_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
 {
     libx265Context *ctx = avctx->priv_data;
     x265_picture x265pic;
-    x265_picture x265pic_out = { 0 };
+#if X265_BUILD >= 210
+    x265_picture x265pic_layers_out[MAX_SCALABLE_LAYERS];
+    x265_picture* x265pic_lyrptr_out[MAX_SCALABLE_LAYERS];
+#else
+    x265_picture x265pic_solo_out = { 0 };
+#endif
+    x265_picture* x265pic_out;
     x265_nal *nal;
     x265_sei *sei;
     uint8_t *dst;
@@ -704,8 +710,16 @@ FF_ENABLE_DEPRECATION_WARNINGS
         }
     }
 
+#if X265_BUILD >= 210
+    for (i = 0; i < MAX_SCALABLE_LAYERS; i++)
+        x265pic_lyrptr_out[i] = &x265pic_layers_out[i];
+
+    ret = ctx->api->encoder_encode(ctx->encoder, &nal, &nnal,
+                                   pic ? &x265pic : NULL, x265pic_lyrptr_out);
+#else
     ret = ctx->api->encoder_encode(ctx->encoder, &nal, &nnal,
-                                   pic ? &x265pic : NULL, &x265pic_out);
+                                   pic ? &x265pic : NULL, &x265pic_solo_out);
+#endif
 
     for (i = 0; i < sei->numPayloads; i++)
         av_free(sei->payloads[i].payload);
@@ -735,10 +749,16 @@ FF_ENABLE_DEPRECATION_WARNINGS
             pkt->flags |= AV_PKT_FLAG_KEY;
     }
 
-    pkt->pts = x265pic_out.pts;
-    pkt->dts = x265pic_out.dts;
+#if X265_BUILD >= 210
+    x265pic_out = x265pic_lyrptr_out[0];
+#else
+    x265pic_out = &x265pic_solo_out;
+#endif
+
+    pkt->pts = x265pic_out->pts;
+    pkt->dts = x265pic_out->dts;
 
-    switch (x265pic_out.sliceType) {
+    switch (x265pic_out->sliceType) {
     case X265_TYPE_IDR:
     case X265_TYPE_I:
         pict_type = AV_PICTURE_TYPE_I;
@@ -756,16 +776,16 @@ FF_ENABLE_DEPRECATION_WARNINGS
     }
 
 #if X265_BUILD >= 130
-    if (x265pic_out.sliceType == X265_TYPE_B)
+    if (x265pic_out->sliceType == X265_TYPE_B)
 #else
-    if (x265pic_out.frameData.sliceType == 'b')
+    if (x265pic_out->frameData.sliceType == 'b')
 #endif
         pkt->flags |= AV_PKT_FLAG_DISPOSABLE;
 
-    ff_side_data_set_encoder_stats(pkt, x265pic_out.frameData.qp * FF_QP2LAMBDA, NULL, 0, pict_type);
+    ff_side_data_set_encoder_stats(pkt, x265pic_out->frameData.qp * FF_QP2LAMBDA, NULL, 0, pict_type);
 
-    if (x265pic_out.userData) {
-        int idx = (int)(intptr_t)x265pic_out.userData - 1;
+    if (x265pic_out->userData) {
+        int idx = (int)(intptr_t)x265pic_out->userData - 1;
         ReorderedData *rd = &ctx->rd[idx];
 
 #if FF_API_REORDERED_OPAQUE
-- 
Cin mailing list
[email protected]
https://lists.cinelerra-gg.org/mailman/listinfo/cin

Reply via email to