чт, 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

