Commit Graph

51402 Commits

Author SHA1 Message Date
Wu Jianhua ec2a7ef867 avcodec/x86/vvc: add alf filter luma and chroma avx2 optimizations
ff_vvc_alf_filter_luma_4x4_10_c: 135
ff_vvc_alf_filter_luma_4x4_10_avx2: 54
ff_vvc_alf_filter_luma_4x8_10_c: 268
ff_vvc_alf_filter_luma_4x8_10_avx2: 106
ff_vvc_alf_filter_luma_4x12_10_c: 400
ff_vvc_alf_filter_luma_4x12_10_avx2: 160
ff_vvc_alf_filter_luma_4x16_10_c: 535
ff_vvc_alf_filter_luma_4x16_10_avx2: 213
ff_vvc_alf_filter_luma_4x20_10_c: 646
ff_vvc_alf_filter_luma_4x20_10_avx2: 262
ff_vvc_alf_filter_luma_4x24_10_c: 783
ff_vvc_alf_filter_luma_4x24_10_avx2: 309
ff_vvc_alf_filter_luma_4x28_10_c: 908
ff_vvc_alf_filter_luma_4x28_10_avx2: 361
ff_vvc_alf_filter_luma_4x32_10_c: 1039
ff_vvc_alf_filter_luma_4x32_10_avx2: 412
ff_vvc_alf_filter_luma_8x4_10_c: 260
ff_vvc_alf_filter_luma_8x4_10_avx2: 53
ff_vvc_alf_filter_luma_8x8_10_c: 516
ff_vvc_alf_filter_luma_8x8_10_avx2: 105
ff_vvc_alf_filter_luma_8x12_10_c: 779
ff_vvc_alf_filter_luma_8x12_10_avx2: 157
ff_vvc_alf_filter_luma_8x16_10_c: 1038
ff_vvc_alf_filter_luma_8x16_10_avx2: 210
ff_vvc_alf_filter_luma_8x20_10_c: 1293
ff_vvc_alf_filter_luma_8x20_10_avx2: 259
ff_vvc_alf_filter_luma_8x24_10_c: 1553
ff_vvc_alf_filter_luma_8x24_10_avx2: 309
ff_vvc_alf_filter_luma_8x28_10_c: 1815
ff_vvc_alf_filter_luma_8x28_10_avx2: 361
ff_vvc_alf_filter_luma_8x32_10_c: 2067
ff_vvc_alf_filter_luma_8x32_10_avx2: 419
ff_vvc_alf_filter_luma_12x4_10_c: 390
ff_vvc_alf_filter_luma_12x4_10_avx2: 54
ff_vvc_alf_filter_luma_12x8_10_c: 773
ff_vvc_alf_filter_luma_12x8_10_avx2: 107
ff_vvc_alf_filter_luma_12x12_10_c: 1159
ff_vvc_alf_filter_luma_12x12_10_avx2: 155
ff_vvc_alf_filter_luma_12x16_10_c: 1550
ff_vvc_alf_filter_luma_12x16_10_avx2: 207
ff_vvc_alf_filter_luma_12x20_10_c: 1970
ff_vvc_alf_filter_luma_12x20_10_avx2: 260
ff_vvc_alf_filter_luma_12x24_10_c: 2379
ff_vvc_alf_filter_luma_12x24_10_avx2: 309
ff_vvc_alf_filter_luma_12x28_10_c: 2763
ff_vvc_alf_filter_luma_12x28_10_avx2: 362
ff_vvc_alf_filter_luma_12x32_10_c: 3158
ff_vvc_alf_filter_luma_12x32_10_avx2: 419
ff_vvc_alf_filter_luma_16x4_10_c: 523
ff_vvc_alf_filter_luma_16x4_10_avx2: 53
ff_vvc_alf_filter_luma_16x8_10_c: 1049
ff_vvc_alf_filter_luma_16x8_10_avx2: 103
ff_vvc_alf_filter_luma_16x12_10_c: 1566
ff_vvc_alf_filter_luma_16x12_10_avx2: 159
ff_vvc_alf_filter_luma_16x16_10_c: 2078
ff_vvc_alf_filter_luma_16x16_10_avx2: 211
ff_vvc_alf_filter_luma_16x20_10_c: 2631
ff_vvc_alf_filter_luma_16x20_10_avx2: 259
ff_vvc_alf_filter_luma_16x24_10_c: 3149
ff_vvc_alf_filter_luma_16x24_10_avx2: 316
ff_vvc_alf_filter_luma_16x28_10_c: 3631
ff_vvc_alf_filter_luma_16x28_10_avx2: 359
ff_vvc_alf_filter_luma_16x32_10_c: 4233
ff_vvc_alf_filter_luma_16x32_10_avx2: 428
ff_vvc_alf_filter_luma_20x4_10_c: 649
ff_vvc_alf_filter_luma_20x4_10_avx2: 106
ff_vvc_alf_filter_luma_20x8_10_c: 1294
ff_vvc_alf_filter_luma_20x8_10_avx2: 206
ff_vvc_alf_filter_luma_20x12_10_c: 1936
ff_vvc_alf_filter_luma_20x12_10_avx2: 310
ff_vvc_alf_filter_luma_20x16_10_c: 2594
ff_vvc_alf_filter_luma_20x16_10_avx2: 411
ff_vvc_alf_filter_luma_20x20_10_c: 3234
ff_vvc_alf_filter_luma_20x20_10_avx2: 517
ff_vvc_alf_filter_luma_20x24_10_c: 3894
ff_vvc_alf_filter_luma_20x24_10_avx2: 621
ff_vvc_alf_filter_luma_20x28_10_c: 4542
ff_vvc_alf_filter_luma_20x28_10_avx2: 722
ff_vvc_alf_filter_luma_20x32_10_c: 5205
ff_vvc_alf_filter_luma_20x32_10_avx2: 832
ff_vvc_alf_filter_luma_24x4_10_c: 774
ff_vvc_alf_filter_luma_24x4_10_avx2: 104
ff_vvc_alf_filter_luma_24x8_10_c: 1546
ff_vvc_alf_filter_luma_24x8_10_avx2: 206
ff_vvc_alf_filter_luma_24x12_10_c: 2318
ff_vvc_alf_filter_luma_24x12_10_avx2: 312
ff_vvc_alf_filter_luma_24x16_10_c: 3104
ff_vvc_alf_filter_luma_24x16_10_avx2: 411
ff_vvc_alf_filter_luma_24x20_10_c: 3893
ff_vvc_alf_filter_luma_24x20_10_avx2: 513
ff_vvc_alf_filter_luma_24x24_10_c: 4681
ff_vvc_alf_filter_luma_24x24_10_avx2: 616
ff_vvc_alf_filter_luma_24x28_10_c: 5474
ff_vvc_alf_filter_luma_24x28_10_avx2: 721
ff_vvc_alf_filter_luma_24x32_10_c: 6271
ff_vvc_alf_filter_luma_24x32_10_avx2: 832
ff_vvc_alf_filter_luma_28x4_10_c: 907
ff_vvc_alf_filter_luma_28x4_10_avx2: 103
ff_vvc_alf_filter_luma_28x8_10_c: 1797
ff_vvc_alf_filter_luma_28x8_10_avx2: 206
ff_vvc_alf_filter_luma_28x12_10_c: 2708
ff_vvc_alf_filter_luma_28x12_10_avx2: 309
ff_vvc_alf_filter_luma_28x16_10_c: 3632
ff_vvc_alf_filter_luma_28x16_10_avx2: 413
ff_vvc_alf_filter_luma_28x20_10_c: 4537
ff_vvc_alf_filter_luma_28x20_10_avx2: 519
ff_vvc_alf_filter_luma_28x24_10_c: 5463
ff_vvc_alf_filter_luma_28x24_10_avx2: 616
ff_vvc_alf_filter_luma_28x28_10_c: 6372
ff_vvc_alf_filter_luma_28x28_10_avx2: 719
ff_vvc_alf_filter_luma_28x32_10_c: 7274
ff_vvc_alf_filter_luma_28x32_10_avx2: 823
ff_vvc_alf_filter_luma_32x4_10_c: 1029
ff_vvc_alf_filter_luma_32x4_10_avx2: 104
ff_vvc_alf_filter_luma_32x8_10_c: 2060
ff_vvc_alf_filter_luma_32x8_10_avx2: 206
ff_vvc_alf_filter_luma_32x12_10_c: 3112
ff_vvc_alf_filter_luma_32x12_10_avx2: 307
ff_vvc_alf_filter_luma_32x16_10_c: 4161
ff_vvc_alf_filter_luma_32x16_10_avx2: 413
ff_vvc_alf_filter_luma_32x20_10_c: 5211
ff_vvc_alf_filter_luma_32x20_10_avx2: 514
ff_vvc_alf_filter_luma_32x24_10_c: 6238
ff_vvc_alf_filter_luma_32x24_10_avx2: 614
ff_vvc_alf_filter_luma_32x28_10_c: 7261
ff_vvc_alf_filter_luma_32x28_10_avx2: 720
ff_vvc_alf_filter_luma_32x32_10_c: 8312
ff_vvc_alf_filter_luma_32x32_10_avx2: 819
ff_vvc_alf_filter_chroma_4x4_10_c: 70
ff_vvc_alf_filter_chroma_4x4_10_avx2: 53
ff_vvc_alf_filter_chroma_4x8_10_c: 139
ff_vvc_alf_filter_chroma_4x8_10_avx2: 104
ff_vvc_alf_filter_chroma_4x12_10_c: 208
ff_vvc_alf_filter_chroma_4x12_10_avx2: 155
ff_vvc_alf_filter_chroma_4x16_10_c: 275
ff_vvc_alf_filter_chroma_4x16_10_avx2: 218
ff_vvc_alf_filter_chroma_4x20_10_c: 344
ff_vvc_alf_filter_chroma_4x20_10_avx2: 257
ff_vvc_alf_filter_chroma_4x24_10_c: 411
ff_vvc_alf_filter_chroma_4x24_10_avx2: 309
ff_vvc_alf_filter_chroma_4x28_10_c: 481
ff_vvc_alf_filter_chroma_4x28_10_avx2: 361
ff_vvc_alf_filter_chroma_4x32_10_c: 545
ff_vvc_alf_filter_chroma_4x32_10_avx2: 411
ff_vvc_alf_filter_chroma_8x4_10_c: 138
ff_vvc_alf_filter_chroma_8x4_10_avx2: 53
ff_vvc_alf_filter_chroma_8x8_10_c: 274
ff_vvc_alf_filter_chroma_8x8_10_avx2: 106
ff_vvc_alf_filter_chroma_8x12_10_c: 422
ff_vvc_alf_filter_chroma_8x12_10_avx2: 158
ff_vvc_alf_filter_chroma_8x16_10_c: 545
ff_vvc_alf_filter_chroma_8x16_10_avx2: 206
ff_vvc_alf_filter_chroma_8x20_10_c: 683
ff_vvc_alf_filter_chroma_8x20_10_avx2: 257
ff_vvc_alf_filter_chroma_8x24_10_c: 816
ff_vvc_alf_filter_chroma_8x24_10_avx2: 312
ff_vvc_alf_filter_chroma_8x28_10_c: 951
ff_vvc_alf_filter_chroma_8x28_10_avx2: 359
ff_vvc_alf_filter_chroma_8x32_10_c: 1098
ff_vvc_alf_filter_chroma_8x32_10_avx2: 409
ff_vvc_alf_filter_chroma_12x4_10_c: 204
ff_vvc_alf_filter_chroma_12x4_10_avx2: 53
ff_vvc_alf_filter_chroma_12x8_10_c: 410
ff_vvc_alf_filter_chroma_12x8_10_avx2: 104
ff_vvc_alf_filter_chroma_12x12_10_c: 614
ff_vvc_alf_filter_chroma_12x12_10_avx2: 155
ff_vvc_alf_filter_chroma_12x16_10_c: 814
ff_vvc_alf_filter_chroma_12x16_10_avx2: 210
ff_vvc_alf_filter_chroma_12x20_10_c: 1017
ff_vvc_alf_filter_chroma_12x20_10_avx2: 258
ff_vvc_alf_filter_chroma_12x24_10_c: 1221
ff_vvc_alf_filter_chroma_12x24_10_avx2: 308
ff_vvc_alf_filter_chroma_12x28_10_c: 1423
ff_vvc_alf_filter_chroma_12x28_10_avx2: 366
ff_vvc_alf_filter_chroma_12x32_10_c: 1624
ff_vvc_alf_filter_chroma_12x32_10_avx2: 410
ff_vvc_alf_filter_chroma_16x4_10_c: 272
ff_vvc_alf_filter_chroma_16x4_10_avx2: 52
ff_vvc_alf_filter_chroma_16x8_10_c: 541
ff_vvc_alf_filter_chroma_16x8_10_avx2: 105
ff_vvc_alf_filter_chroma_16x12_10_c: 812
ff_vvc_alf_filter_chroma_16x12_10_avx2: 155
ff_vvc_alf_filter_chroma_16x16_10_c: 1091
ff_vvc_alf_filter_chroma_16x16_10_avx2: 206
ff_vvc_alf_filter_chroma_16x20_10_c: 1354
ff_vvc_alf_filter_chroma_16x20_10_avx2: 257
ff_vvc_alf_filter_chroma_16x24_10_c: 1637
ff_vvc_alf_filter_chroma_16x24_10_avx2: 313
ff_vvc_alf_filter_chroma_16x28_10_c: 1899
ff_vvc_alf_filter_chroma_16x28_10_avx2: 359
ff_vvc_alf_filter_chroma_16x32_10_c: 2161
ff_vvc_alf_filter_chroma_16x32_10_avx2: 410
ff_vvc_alf_filter_chroma_20x4_10_c: 339
ff_vvc_alf_filter_chroma_20x4_10_avx2: 103
ff_vvc_alf_filter_chroma_20x8_10_c: 681
ff_vvc_alf_filter_chroma_20x8_10_avx2: 207
ff_vvc_alf_filter_chroma_20x12_10_c: 1013
ff_vvc_alf_filter_chroma_20x12_10_avx2: 307
ff_vvc_alf_filter_chroma_20x16_10_c: 1349
ff_vvc_alf_filter_chroma_20x16_10_avx2: 415
ff_vvc_alf_filter_chroma_20x20_10_c: 1685
ff_vvc_alf_filter_chroma_20x20_10_avx2: 522
ff_vvc_alf_filter_chroma_20x24_10_c: 2037
ff_vvc_alf_filter_chroma_20x24_10_avx2: 622
ff_vvc_alf_filter_chroma_20x28_10_c: 2380
ff_vvc_alf_filter_chroma_20x28_10_avx2: 733
ff_vvc_alf_filter_chroma_20x32_10_c: 2712
ff_vvc_alf_filter_chroma_20x32_10_avx2: 838
ff_vvc_alf_filter_chroma_24x4_10_c: 408
ff_vvc_alf_filter_chroma_24x4_10_avx2: 104
ff_vvc_alf_filter_chroma_24x8_10_c: 818
ff_vvc_alf_filter_chroma_24x8_10_avx2: 207
ff_vvc_alf_filter_chroma_24x12_10_c: 1219
ff_vvc_alf_filter_chroma_24x12_10_avx2: 308
ff_vvc_alf_filter_chroma_24x16_10_c: 1648
ff_vvc_alf_filter_chroma_24x16_10_avx2: 420
ff_vvc_alf_filter_chroma_24x20_10_c: 2061
ff_vvc_alf_filter_chroma_24x20_10_avx2: 525
ff_vvc_alf_filter_chroma_24x24_10_c: 2437
ff_vvc_alf_filter_chroma_24x24_10_avx2: 617
ff_vvc_alf_filter_chroma_24x28_10_c: 2832
ff_vvc_alf_filter_chroma_24x28_10_avx2: 722
ff_vvc_alf_filter_chroma_24x32_10_c: 3271
ff_vvc_alf_filter_chroma_24x32_10_avx2: 830
ff_vvc_alf_filter_chroma_28x4_10_c: 476
ff_vvc_alf_filter_chroma_28x4_10_avx2: 104
ff_vvc_alf_filter_chroma_28x8_10_c: 948
ff_vvc_alf_filter_chroma_28x8_10_avx2: 205
ff_vvc_alf_filter_chroma_28x12_10_c: 1420
ff_vvc_alf_filter_chroma_28x12_10_avx2: 310
ff_vvc_alf_filter_chroma_28x16_10_c: 1889
ff_vvc_alf_filter_chroma_28x16_10_avx2: 423
ff_vvc_alf_filter_chroma_28x20_10_c: 2372
ff_vvc_alf_filter_chroma_28x20_10_avx2: 513
ff_vvc_alf_filter_chroma_28x24_10_c: 2843
ff_vvc_alf_filter_chroma_28x24_10_avx2: 618
ff_vvc_alf_filter_chroma_28x28_10_c: 3307
ff_vvc_alf_filter_chroma_28x28_10_avx2: 724
ff_vvc_alf_filter_chroma_28x32_10_c: 3801
ff_vvc_alf_filter_chroma_28x32_10_avx2: 827
ff_vvc_alf_filter_chroma_32x4_10_c: 543
ff_vvc_alf_filter_chroma_32x4_10_avx2: 105
ff_vvc_alf_filter_chroma_32x8_10_c: 1084
ff_vvc_alf_filter_chroma_32x8_10_avx2: 206
ff_vvc_alf_filter_chroma_32x12_10_c: 1621
ff_vvc_alf_filter_chroma_32x12_10_avx2: 309
ff_vvc_alf_filter_chroma_32x16_10_c: 2173
ff_vvc_alf_filter_chroma_32x16_10_avx2: 408
ff_vvc_alf_filter_chroma_32x20_10_c: 2703
ff_vvc_alf_filter_chroma_32x20_10_avx2: 513
ff_vvc_alf_filter_chroma_32x24_10_c: 3245
ff_vvc_alf_filter_chroma_32x24_10_avx2: 612
ff_vvc_alf_filter_chroma_32x28_10_c: 3795
ff_vvc_alf_filter_chroma_32x28_10_avx2: 722
ff_vvc_alf_filter_chroma_32x32_10_c: 4339
ff_vvc_alf_filter_chroma_32x32_10_avx2: 820

Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2024-05-14 19:21:35 +08:00
Rémi Denis-Courmont cdcb4b98b7 lavc/riscv: use ff_rv_vlen_least() 2024-05-13 18:36:07 +03:00
Rémi Denis-Courmont 38e7b0ecf8 lavc/vp9dsp: fix indentation 2024-05-13 18:36:07 +03:00
James Almer b450c44630 x86/flacdsp: remove unused parameters to pmacsdql macro
Signed-off-by: James Almer <jamrial@gmail.com>
2024-05-13 12:18:38 -03:00
James Almer eb5733f38f x86/flacdsp: add an SSE4 version of wasted33
flac_wasted_33_c: 214.1
flac_wasted_33_sse4: 103.2

Signed-off-by: James Almer <jamrial@gmail.com>
2024-05-13 12:18:10 -03:00
Ramiro Polla d4d09c8e42 lavc/aarch64/fdct: add neon-optimized fdct for aarch64
The code is imported from libjpeg-turbo-3.0.1. The neon registers used
have been changed to avoid modifying v8-v15.

Reviewed-by: Martin Storsjö <martin@martin.st>
2024-05-13 14:54:10 +02:00
Ramiro Polla 27f6211c74 lavc/aarch64: fix include for cpu.h 2024-05-13 14:50:38 +02:00
Andreas Rheinhardt 06d1840b56 configure, avcodec/Makefile: Add h264parse->h264data,golomb dependencies
Fixes standalone compilation of the dts2pts BSF.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-05-13 14:32:21 +02:00
Andreas Rheinhardt 4df43df6e1 avcodec/bsf/dts2pts: Fix shadowing
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-05-13 14:32:21 +02:00
Lynne baf8651d56 aacdec: restore arm32 dequantization optimizations
Unintentionally removed as part of 03cf101645.
Untested, but its assumed that unlike most of the old ARM code,
this one was still working.
2024-05-13 13:02:02 +02:00
Tomas Härdin 37db0454e4 lavc/speedhqdec: Obey AVDISCARD_ALL 2024-05-13 08:35:09 +02:00
Tomas Härdin 5b32685d77 lavc/speedhqdec: Add AV_CODEC_CAP_FRAME_THREADS 2024-05-13 08:35:09 +02:00
Michael Niedermayer 36126e4c14 avcodec/exr: Fix preview overflow
Fixes: CID1515456 Unintentional integer overflow

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-05-13 03:40:19 +02:00
Michael Niedermayer 73d6d9f129 avcodec/dovi_rpuenc: fix compaatibility
Fixes: a frequency
Found while reviewing: CID1596607

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-05-13 03:40:18 +02:00
Michael Niedermayer 46ad68084e avcodec/dovi_rpuenc: initialize profile
Code is taken from dovi_rpudec

Fixes: CID1596604 Uninitialized scalar variable

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-05-13 03:40:18 +02:00
Michael Niedermayer e9bb586543 avcodec/decode: decode_simple_internal() only implements audio and video
Fixes: CID1538861 Uninitialized scalar variable

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-05-13 03:40:18 +02:00
Michael Niedermayer 96c1162545 avcodec/fmvc: remove dead assignment
Fixes: CID1529220 Unused value

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-05-13 03:40:17 +02:00
Michael Niedermayer fdaa6ae2b6 avcodec/h2645_sei: Remove dead checks
Fixes: CID1596534 Dereference after null check

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-05-13 03:40:17 +02:00
Michael Niedermayer a68aa951b2 avcodec/h264_slice: Remove dead sps check
Fixes: CID1439574 Dereference after null check

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-05-13 03:40:17 +02:00
Michael Niedermayer c2d897f356 avcodec/lpc: copy levenson coeffs only when they have been computed
Fixes: CID1473514 Uninitialized scalar variable

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-05-13 03:40:16 +02:00
James Almer 0664cbd732 x86/flacdsp: add a SSE2 version of wasted32
flac_wasted_32_c: 851.3
flac_wasted_32_sse2: 41.3

Signed-off-by: James Almer <jamrial@gmail.com>
2024-05-12 17:24:08 -03:00
James Almer 1ba5287697 avcodec/flacdsp: split off wasted bit handling into dsp functions
Signed-off-by: James Almer <jamrial@gmail.com>
2024-05-12 17:23:58 -03:00
James Almer c00c8679ed x86/flacdsp: add a SSE4 version of lpc16
flac_lpc_16_13_c: 2841.3
flac_lpc_16_13_sse4: 2151.8
flac_lpc_16_16_c: 3382.8
flac_lpc_16_16_sse4: 2228.3
flac_lpc_16_29_c: 5800.3
flac_lpc_16_29_sse4: 3727.3
flac_lpc_16_32_c: 5972.8
flac_lpc_16_32_sse4: 4052.3

Signed-off-by: James Almer <jamrial@gmail.com>
2024-05-12 12:54:19 -03:00
Yotam Ofek 02c032abcd avcodec/aacenc_tns: remove unreachable code branch
the condition being tested was the same as the stop condition for the containing loop,
so inside the loop it would always test positive
2024-05-12 16:01:44 +02:00
Rémi Denis-Courmont 0d9591841b lavc/ac3dsp: add R-V Zvbb extract_exponents 2024-05-11 11:38:49 +03:00
Ramiro Polla b8af0809fb libavcodec/mpegvideo_enc: fix multi-threaded motion estimation rounding for mpeg4
ff_init_me() was being called after ff_update_duplicate_context(),
which caused the propagation of the initialization to other thread
contexts to be delayed by one frame.

In the case of mpeg4 (or flipflop_rounding), this would make the
hpel_put functions differ between the first thread (which would be
correctly initialized) and the other threads (which would be stale
from the previous frame).
2024-05-11 10:13:58 +02:00
Ramiro Polla 713c6eba8d libavcodec/motion_est: fix penalty_factor for b frames
In direct_search() and ff_estimate_b_frame_motion(), penalty_factor
would be used before being initialized in estimate_motion_b(). Also,
the initialization would happen more than once unnecessarily.
2024-05-11 09:38:34 +02:00
Haihao Xiang ceace488ff lavc/vaapi_encode_av1: insert HDR_CLL metadata if have
Only look for HDR_CLL on key frame on the output.

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2024-05-11 15:21:57 +08:00
Haihao Xiang 0bdf71ada7 lavc/vaapi_encode_av1: Insert HDR_MDCV metadata if have
Only look for HDR_MDVC on key frame on the output.

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2024-05-11 15:21:57 +08:00
Haihao Xiang 7f3ba6bbfa lavc/vaapi_encode_av1: implement write_extra_header callback
This can be used to insert a metadata OBU to the stream later.

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2024-05-11 15:21:57 +08:00
Niklas Haas 9c6c4f3d47 avcodec/libaomenc: properly clean up image metadata
This does not get consumed by aom_codec_encode().
2024-05-11 01:25:15 +02:00
Rémi Denis-Courmont c07af340ae lavc/riscv: explicitly require Zbb for MIN 2024-05-10 18:59:06 +03:00
sunyuechi 6e77af1c22 lavc/vp8dsp: R-V V put_epel v
C908:
vp8_put_epel4_v4_c: 11.0
vp8_put_epel4_v4_rvv_i32: 5.0
vp8_put_epel4_v6_c: 16.5
vp8_put_epel4_v6_rvv_i32: 6.2
vp8_put_epel8_v4_c: 43.7
vp8_put_epel8_v4_rvv_i32: 11.2
vp8_put_epel8_v6_c: 68.7
vp8_put_epel8_v6_rvv_i32: 13.2
vp8_put_epel16_v4_c: 92.5
vp8_put_epel16_v4_rvv_i32: 13.7
vp8_put_epel16_v6_c: 135.7
vp8_put_epel16_v6_rvv_i32: 16.5

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2024-05-10 18:41:13 +03:00
sunyuechi 109daea619 lavc/vp8dsp: R-V V put_epel h
C908:
vp8_put_epel4_h4_c: 10.7
vp8_put_epel4_h4_rvv_i32: 5.0
vp8_put_epel4_h6_c: 15.0
vp8_put_epel4_h6_rvv_i32: 6.2
vp8_put_epel8_h4_c: 43.2
vp8_put_epel8_h4_rvv_i32: 11.2
vp8_put_epel8_h6_c: 57.5
vp8_put_epel8_h6_rvv_i32: 13.5
vp8_put_epel16_h4_c: 92.5
vp8_put_epel16_h4_rvv_i32: 13.7
vp8_put_epel16_h6_c: 139.0
vp8_put_epel16_h6_rvv_i32: 16.5

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2024-05-10 18:41:13 +03:00
sunyuechi 538f217bbb lavc/vp8dsp: R-V V put_bilin_hv
C908:
vp8_put_bilin4_hv_c: 561.0
vp8_put_bilin4_hv_rvv_i32: 232.7
vp8_put_bilin8_hv_c: 2162.7
vp8_put_bilin8_hv_rvv_i32: 506.7
vp8_put_bilin16_hv_c: 4769.7
vp8_put_bilin16_hv_rvv_i32: 556.7

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2024-05-10 18:41:13 +03:00
sunyuechi bb5039b3cb lavc/vp8dsp: R-V V put_bilin_h v
C908:
vp8_put_bilin4_h_c: 367.0
vp8_put_bilin4_h_rvv_i32: 137.7
vp8_put_bilin4_v_c: 377.0
vp8_put_bilin4_v_rvv_i32: 137.7
vp8_put_bilin8_h_c: 1431.0
vp8_put_bilin8_h_rvv_i32: 297.5
vp8_put_bilin8_v_c: 1449.0
vp8_put_bilin8_v_rvv_i32: 297.5
vp8_put_bilin16_h_c: 2839.0
vp8_put_bilin16_h_rvv_i32: 344.7
vp8_put_bilin16_v_c: 2857.0
vp8_put_bilin16_v_rvv_i32: 344.7

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2024-05-10 18:41:13 +03:00
sunyuechi 0b8e5e5a00 lavc/vp8dsp: R-V put_vp8_pixels
C908:
vp8_put_pixels4_c: 78.0
vp8_put_pixels4_rvi: 33.7
vp8_put_pixels8_c: 278.0
vp8_put_pixels8_rvi: 55.0
vp8_put_pixels16_c: 999.0
vp8_put_pixels16_rvi: 86.7

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2024-05-10 18:41:13 +03:00
Michael Niedermayer d7924a4f60 avcodec/cbs_av1: Avoid shift overflow
Fixes: CID1465488 Unintentional integer overflow

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-05-09 16:17:40 +02:00
Dawid Kozinski e8e84dc325 avcodec/evc: Reference to ISO_IEC_23094-1-2020 document section for EVC_MAX_APS_COUNT enum has been fixed
Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com>
2024-05-08 21:15:05 -03:00
Dawid Kozinski cf45526a0d avcodec/bitstream_filters: Declaration of the ff_evc_frame_merge_bsf variable has been moved to the appropriate following the alphabetical order
Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com>
2024-05-08 21:15:05 -03:00
Dawid Kozinski 0797651c12 avcodec/evc: Set the AV_FRAME_FLAG_KEY flag for a decoded frame when the decoded packet contains a keyframe
Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com>
2024-05-08 21:14:56 -03:00
James Almer 214cbe29dc x86/blockdsp: add sse2 and avx2 versions of fill_block_tab
blockdsp.fill_block_tab[0]_c: 34.1
blockdsp.fill_block_tab[0]_sse2: 11.1
blockdsp.fill_block_tab[0]_avx2: 10.1
blockdsp.fill_block_tab[1]_c: 10.1
blockdsp.fill_block_tab[1]_sse2: 6.1
blockdsp.fill_block_tab[1]_avx2: 5.6

Signed-off-by: James Almer <jamrial@gmail.com>
2024-05-08 21:13:23 -03:00
Rémi Denis-Courmont f8715d0300 lavc/vp9dsp: fix compilation with llvm-as 2024-05-08 18:26:32 +03:00
Andreas Rheinhardt 07c1bd5feb avcodec/Makefile: Fix intrax8 objects
Forgotten in d1d30edf42.
This fixes standalone compilation of the VC-1 based
decoders when using shared builds (for static builds,
nothing pulls in msmpeg4data.o, yet for shared builds
the default behaviour of linkers is different, leading
to undefined references because msmpeg4data.o relies
on stuff from mpeg4video.o).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-05-07 23:53:26 +02:00
Andreas Rheinhardt 8b7f089e4b avcodec/Makefile: Correct name of cbd2_dpcm decoder
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-05-07 23:53:26 +02:00
Andreas Rheinhardt df2416ca97 Remove remnants of prores_lgpl decoder
Forgotten in 5c6a3604f0.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-05-07 23:53:26 +02:00
Andreas Rheinhardt db2cd9cabf avcodec/Makefile, v408(dec|enc): Remove remnants of AYUV codecs
Forgotten in 9ee59b63f5.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-05-07 23:53:26 +02:00
Andreas Rheinhardt 39ce8a9695 avcodec/diracdec: Don't use EDGE_WIDTH from mpegpicture.h
There is nothing that forces us to use the same value
as mpegvideo_enc.c, so define our own constant.

Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-05-07 13:24:32 +02:00
Andreas Rheinhardt 2eab5a1f54 avcodec/aac/aacdec: Fix linking errors with only one decoder enabled
This is achieved by using function pointers for AAC SBR functions.
This unfortunately necessitated to use void* in
ff_aac_sbr_apply(_fixed).
Fixes ticket #10999.

Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-05-07 12:33:50 +02:00
Mandava, Mounika b1037d4ebe lavc/qsvenc: add support for oneVPL string API
A new option -qsv_params <str> is added, where <str> is a :-separated
list of key=value parameters.

Example:
$ ffmpeg -y -f lavfi -i testsrc -vf "format=nv12" -c:v h264_qsv -qsv_params
"TargetUsage=1:GopPicSize=30:GopRefDist=2:TargetKbps=5000" -f null -

Signed-off-by: Mounika Mandava <mounika.mandava@intel.com>
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2024-05-07 11:06:37 +08:00