[FFmpeg-devel] (no subject)

2024-04-18 Thread pengxu
v2: Fixed fate errors in [Patch 2/2]
v3: Fixed fate errors in [Patch 2/2] 
Subject:[PATCH V3][Loongarch]Optimize aac decode/encode for Loongarch by LSX
In-Reply-To: 


___
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".


[FFmpeg-devel] (no subject)

2024-04-18 Thread pengxu
v2: Fixed build errors in [PATCH 2/2]
 
Subject: [PATCH V2][Loongarch]Optimize aac decode/encode for Loongarch by LSX
In-Reply-To: 


___
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".


[FFmpeg-devel] (no subject)

2023-10-14 Thread Logan.Lyu

checkasm bench:
put_hevc_qpel_hv4_8_c: 422.1
put_hevc_qpel_hv4_8_i8mm: 101.6
put_hevc_qpel_hv6_8_c: 756.4
put_hevc_qpel_hv6_8_i8mm: 225.9
put_hevc_qpel_hv8_8_c: 1189.9
put_hevc_qpel_hv8_8_i8mm: 296.6
put_hevc_qpel_hv12_8_c: 2407.4
put_hevc_qpel_hv12_8_i8mm: 552.4
put_hevc_qpel_hv16_8_c: 4021.4
put_hevc_qpel_hv16_8_i8mm: 886.6
put_hevc_qpel_hv24_8_c: 8992.1
put_hevc_qpel_hv24_8_i8mm: 1968.9
put_hevc_qpel_hv32_8_c: 15197.9
put_hevc_qpel_hv32_8_i8mm: 3209.4
put_hevc_qpel_hv48_8_c: 32811.1
put_hevc_qpel_hv48_8_i8mm: 7442.1
put_hevc_qpel_hv64_8_c: 58106.1
put_hevc_qpel_hv64_8_i8mm: 12423.9

Co-Authored-By: J. Dekker 
Signed-off-by: Logan Lyu 
---
 libavcodec/aarch64/hevcdsp_init_aarch64.c |   5 +
 libavcodec/aarch64/hevcdsp_qpel_neon.S| 397 ++
 2 files changed, 402 insertions(+)

diff --git a/libavcodec/aarch64/hevcdsp_init_aarch64.c 
b/libavcodec/aarch64/hevcdsp_init_aarch64.c

index f6b4c31d17..7d889efe68 100644
--- a/libavcodec/aarch64/hevcdsp_init_aarch64.c
+++ b/libavcodec/aarch64/hevcdsp_init_aarch64.c
@@ -208,6 +208,10 @@ NEON8_FNPROTO(qpel_v, (int16_t *dst,
 const uint8_t *src, ptrdiff_t srcstride,
 int height, intptr_t mx, intptr_t my, int width),);
 +NEON8_FNPROTO(qpel_hv, (int16_t *dst,
+const uint8_t *src, ptrdiff_t srcstride,
+int height, intptr_t mx, intptr_t my, int width), _i8mm);
+
 NEON8_FNPROTO(qpel_uni_v, (uint8_t *dst,  ptrdiff_t dststride,
 const uint8_t *src, ptrdiff_t srcstride,
 int height, intptr_t mx, intptr_t my, int width),);
@@ -335,6 +339,7 @@ av_cold void ff_hevc_dsp_init_aarch64(HEVCDSPContext 
*c, const int bit_depth)
 NEON8_FNASSIGN(c->put_hevc_epel_uni, 1, 1, epel_uni_hv, 
_i8mm);
 NEON8_FNASSIGN(c->put_hevc_epel_uni_w, 0, 1, epel_uni_w_h 
,_i8mm);

 NEON8_FNASSIGN(c->put_hevc_qpel, 0, 1, qpel_h, _i8mm);
+NEON8_FNASSIGN(c->put_hevc_qpel, 1, 1, qpel_hv, _i8mm);
 NEON8_FNASSIGN(c->put_hevc_qpel_uni, 1, 1, qpel_uni_hv, 
_i8mm);
 NEON8_FNASSIGN(c->put_hevc_qpel_uni_w, 0, 1, qpel_uni_w_h, 
_i8mm);
 NEON8_FNASSIGN(c->put_hevc_epel_uni_w, 1, 1, 
epel_uni_w_hv, _i8mm);
diff --git a/libavcodec/aarch64/hevcdsp_qpel_neon.S 
b/libavcodec/aarch64/hevcdsp_qpel_neon.S

index eff70d70a4..e4475ba920 100644
--- a/libavcodec/aarch64/hevcdsp_qpel_neon.S
+++ b/libavcodec/aarch64/hevcdsp_qpel_neon.S
@@ -3070,6 +3070,403 @@ function ff_hevc_put_hevc_qpel_h64_8_neon_i8mm, 
export=1

 ret
 endfunc
 +
+function ff_hevc_put_hevc_qpel_hv4_8_neon_i8mm, export=1
+add w10, w3, #7
+mov x7, #128
+lsl x10, x10, #7
+sub sp, sp, x10 // tmp_array
+stp x5, x30, [sp, #-32]!
+stp x0, x3, [sp, #16]
+add x0, sp, #32
+sub x1, x1, x2, lsl #1
+add x3, x3, #7
+sub x1, x1, x2
+bl  X(ff_hevc_put_hevc_qpel_h4_8_neon_i8mm)
+ldp x5, x30, [sp]
+ldp x0, x3, [sp, #16]
+add sp, sp, #32
+load_qpel_filterh x5, x4
+ldr d16, [sp]
+ldr d17, [sp, x7]
+add sp, sp, x7, lsl #1
+ldr d18, [sp]
+ldr d19, [sp, x7]
+add sp, sp, x7, lsl #1
+ldr d20, [sp]
+ldr d21, [sp, x7]
+add sp, sp, x7, lsl #1
+ldr d22, [sp]
+add sp, sp, x7
+.macro calc tmp, src0, src1, src2, src3, src4, src5, src6, src7
+ld1 {\tmp\().4h}, [sp], x7
+calc_qpelh  v1, \src0, \src1, \src2, \src3, \src4, \src5, 
\src6, \src7, sqshrn

+subsw3, w3, #1
+st1 {v1.4h}, [x0], x7
+.endm
+1:  calc_all
+.purgem calc
+2:  ret
+endfunc
+
+function ff_hevc_put_hevc_qpel_hv6_8_neon_i8mm, export=1
+add w10, w3, #7
+mov x7, #128
+lsl x10, x10, #7
+sub sp, sp, x10 // tmp_array
+stp x5, x30, [sp, #-32]!
+stp x0, x3, [sp, #16]
+add x0, sp, #32
+sub x1, x1, x2, lsl #1
+add x3, x3, #7
+sub x1, x1, x2
+bl  X(ff_hevc_put_hevc_qpel_h6_8_neon_i8mm)
+ldp x5, x30, [sp]
+mov x8, #120
+ldp x0, x3, [sp, #16]
+add sp, sp, #32
+load_qpel_filterh x5, x4
+ldr q16, [sp]
+ldr q17, [sp, x7]
+add sp, sp, x7, lsl #1
+ldr q18, [sp]
+ldr q19, [sp, x7]
+add sp, sp, x7, lsl #1
+ldr q20, [sp]
+ldr q21, [sp, 

[FFmpeg-devel] (no subject)

2023-10-14 Thread Logan.Lyu

checkasm bench:
put_hevc_qpel_v4_8_c: 138.1
put_hevc_qpel_v4_8_neon: 41.1
put_hevc_qpel_v6_8_c: 276.6
put_hevc_qpel_v6_8_neon: 60.9
put_hevc_qpel_v8_8_c: 478.9
put_hevc_qpel_v8_8_neon: 72.9
put_hevc_qpel_v12_8_c: 1072.6
put_hevc_qpel_v12_8_neon: 203.9
put_hevc_qpel_v16_8_c: 1852.1
put_hevc_qpel_v16_8_neon: 264.1
put_hevc_qpel_v24_8_c: 4137.6
put_hevc_qpel_v24_8_neon: 586.9
put_hevc_qpel_v32_8_c: 7579.1
put_hevc_qpel_v32_8_neon: 1036.6
put_hevc_qpel_v48_8_c: 16355.6
put_hevc_qpel_v48_8_neon: 2326.4
put_hevc_qpel_v64_8_c: 33545.1
put_hevc_qpel_v64_8_neon: 4126.4

Co-Authored-By: J. Dekker 
Signed-off-by: Logan Lyu 
---
 libavcodec/aarch64/hevcdsp_init_aarch64.c |   5 +
 libavcodec/aarch64/hevcdsp_qpel_neon.S| 347 +++---
 2 files changed, 314 insertions(+), 38 deletions(-)

diff --git a/libavcodec/aarch64/hevcdsp_init_aarch64.c 
b/libavcodec/aarch64/hevcdsp_init_aarch64.c

index e9a341ecb9..f6b4c31d17 100644
--- a/libavcodec/aarch64/hevcdsp_init_aarch64.c
+++ b/libavcodec/aarch64/hevcdsp_init_aarch64.c
@@ -204,6 +204,10 @@ NEON8_FNPROTO(qpel_h, (int16_t *dst,
 const uint8_t *_src, ptrdiff_t _srcstride,
 int height, intptr_t mx, intptr_t my, int width), _i8mm);
 +NEON8_FNPROTO(qpel_v, (int16_t *dst,
+const uint8_t *src, ptrdiff_t srcstride,
+int height, intptr_t mx, intptr_t my, int width),);
+
 NEON8_FNPROTO(qpel_uni_v, (uint8_t *dst,  ptrdiff_t dststride,
 const uint8_t *src, ptrdiff_t srcstride,
 int height, intptr_t mx, intptr_t my, int width),);
@@ -315,6 +319,7 @@ av_cold void ff_hevc_dsp_init_aarch64(HEVCDSPContext 
*c, const int bit_depth)

 NEON8_FNASSIGN(c->put_hevc_epel, 0, 0, pel_pixels,);
 NEON8_FNASSIGN(c->put_hevc_epel, 1, 0, epel_v,);
 NEON8_FNASSIGN(c->put_hevc_qpel, 0, 0, pel_pixels,);
+NEON8_FNASSIGN(c->put_hevc_qpel, 1, 0, qpel_v,);
 NEON8_FNASSIGN(c->put_hevc_epel_uni, 0, 0, pel_uni_pixels,);
 NEON8_FNASSIGN(c->put_hevc_epel_uni, 1, 0, epel_uni_v,);
 NEON8_FNASSIGN(c->put_hevc_qpel_uni, 0, 0, pel_uni_pixels,);
diff --git a/libavcodec/aarch64/hevcdsp_qpel_neon.S 
b/libavcodec/aarch64/hevcdsp_qpel_neon.S

index 4132d7a8a9..eff70d70a4 100644
--- a/libavcodec/aarch64/hevcdsp_qpel_neon.S
+++ b/libavcodec/aarch64/hevcdsp_qpel_neon.S
@@ -112,6 +112,44 @@ endconst
 .endif
 .endm
 +.macro calc_all
+calcv23, v16, v17, v18, v19, v20, v21, v22, v23
+b.eq2f
+calcv16, v17, v18, v19, v20, v21, v22, v23, v16
+b.eq2f
+calcv17, v18, v19, v20, v21, v22, v23, v16, v17
+b.eq2f
+calcv18, v19, v20, v21, v22, v23, v16, v17, v18
+b.eq2f
+calcv19, v20, v21, v22, v23, v16, v17, v18, v19
+b.eq2f
+calcv20, v21, v22, v23, v16, v17, v18, v19, v20
+b.eq2f
+calcv21, v22, v23, v16, v17, v18, v19, v20, v21
+b.eq2f
+calcv22, v23, v16, v17, v18, v19, v20, v21, v22
+b.hi1b
+.endm
+
+.macro calc_all2
+calc v30, v31, v16, v18, v20, v22, v24, v26, v28, v30, v17, 
v19, v21, v23, v25, v27, v29, v31

+b.eq2f
+calc v16, v17, v18, v20, v22, v24, v26, v28, v30, v16, v19, 
v21, v23, v25, v27, v29, v31, v17

+b.eq2f
+calc v18, v19, v20, v22, v24, v26, v28, v30, v16, v18, v21, 
v23, v25, v27, v29, v31, v17, v19

+b.eq2f
+calc v20, v21, v22, v24, v26, v28, v30, v16, v18, v20, v23, 
v25, v27, v29, v31, v17, v19, v21

+b.eq2f
+calc v22, v23, v24, v26, v28, v30, v16, v18, v20, v22, v25, 
v27, v29, v31, v17, v19, v21, v23

+b.eq2f
+calc v24, v25, v26, v28, v30, v16, v18, v20, v22, v24, v27, 
v29, v31, v17, v19, v21, v23, v25

+b.eq2f
+calc v26, v27, v28, v30, v16, v18, v20, v22, v24, v26, v29, 
v31, v17, v19, v21, v23, v25, v27

+b.eq2f
+calc v28, v29, v30, v16, v18, v20, v22, v24, v26, v28, v31, 
v17, v19, v21, v23, v25, v27, v29

+b.hi1b
+.endm
+
 .macro put_hevc type
 .ifc \type, qpel
 // void put_hevc_qpel_h(int16_t *dst,
@@ -558,6 +596,277 @@ put_hevc qpel
 put_hevc qpel_uni
 put_hevc qpel_bi
 +function ff_hevc_put_hevc_qpel_v4_8_neon, export=1
+load_qpel_filterb x5, x4
+sub x1, x1, x2, lsl #1
+mov x9, #(MAX_PB_SIZE * 2)
+sub x1, x1, x2
+ldr s16, [x1]
+ldr s17, [x1, x2]
+add x1, x1, x2, lsl #1
+ldr s18, [x1]
+ldr s19, [x1, x2]
+add x1, x1, x2, lsl #1
+ldr s20, [x1]
+ldr s21, [x1, x2]
+add x1, x1, x2, lsl #1
+ldr

[FFmpeg-devel] (no subject)

2023-10-14 Thread Logan.Lyu

checkasm bench:
put_hevc_epel_v4_8_c: 79.9
put_hevc_epel_v4_8_neon: 25.7
put_hevc_epel_v6_8_c: 151.4
put_hevc_epel_v6_8_neon: 46.4
put_hevc_epel_v8_8_c: 250.9
put_hevc_epel_v8_8_neon: 41.7
put_hevc_epel_v12_8_c: 542.7
put_hevc_epel_v12_8_neon: 108.7
put_hevc_epel_v16_8_c: 939.4
put_hevc_epel_v16_8_neon: 169.2
put_hevc_epel_v24_8_c: 2104.9
put_hevc_epel_v24_8_neon: 307.9
put_hevc_epel_v32_8_c: 3713.9
put_hevc_epel_v32_8_neon: 524.2
put_hevc_epel_v48_8_c: 8175.2
put_hevc_epel_v48_8_neon: 1197.2
put_hevc_epel_v64_8_c: 16049.4
put_hevc_epel_v64_8_neon: 2094.9

Co-Authored-By: J. Dekker 
Signed-off-by: Logan Lyu 
---
 libavcodec/aarch64/hevcdsp_epel_neon.S| 223 ++
 libavcodec/aarch64/hevcdsp_init_aarch64.c |   5 +
 2 files changed, 228 insertions(+)

diff --git a/libavcodec/aarch64/hevcdsp_epel_neon.S 
b/libavcodec/aarch64/hevcdsp_epel_neon.S

index b4ca1e4c20..e541db5430 100644
--- a/libavcodec/aarch64/hevcdsp_epel_neon.S
+++ b/libavcodec/aarch64/hevcdsp_epel_neon.S
@@ -243,6 +243,229 @@ function ff_hevc_put_hevc_pel_pixels64_8_neon, 
export=1

 ret
 endfunc
 +
+function ff_hevc_put_hevc_epel_v4_8_neon, export=1
+load_epel_filterb x5, x4
+sub x1, x1, x2
+mov x10, #(MAX_PB_SIZE * 2)
+ldr s16, [x1]
+ldr s17, [x1 ,x2]
+add x1, x1, x2, lsl #1
+ld1 {v18.s}[0], [x1], x2
+.macro calc src0, src1, src2, src3
+ld1 {\src3\().s}[0], [x1], x2
+moviv4.8h, #0
+calc_epelb  v4, \src0, \src1, \src2, \src3
+subsw3, w3, #1
+st1 {v4.4h}, [x0], x10
+.endm
+1:  calc_all4
+.purgem calc
+2:  ret
+endfunc
+
+function ff_hevc_put_hevc_epel_v6_8_neon, export=1
+load_epel_filterb x5, x4
+sub x1, x1, x2
+mov x10, #(MAX_PB_SIZE * 2 - 8)
+ldr d16, [x1]
+ldr d17, [x1, x2]
+add x1, x1, x2, lsl #1
+ld1 {v18.8b}, [x1], x2
+.macro calc src0, src1, src2, src3
+ld1 {\src3\().8b}, [x1], x2
+moviv4.8h, #0
+calc_epelb  v4, \src0, \src1, \src2, \src3
+st1 {v4.d}[0], [x0], #8
+subsw3, w3, #1
+st1 {v4.s}[2], [x0], x10
+.endm
+1:  calc_all4
+.purgem calc
+2:  ret
+endfunc
+
+function ff_hevc_put_hevc_epel_v8_8_neon, export=1
+load_epel_filterb x5, x4
+sub x1, x1, x2
+mov x10, #(MAX_PB_SIZE * 2)
+ldr d16, [x1]
+ldr d17, [x1, x2]
+add x1, x1, x2, lsl #1
+ld1 {v18.8b}, [x1], x2
+.macro calc src0, src1, src2, src3
+ld1 {\src3\().8b}, [x1], x2
+moviv4.8h, #0
+calc_epelb  v4, \src0, \src1, \src2, \src3
+subsw3, w3, #1
+st1 {v4.8h}, [x0], x10
+.endm
+1:  calc_all4
+.purgem calc
+2:  ret
+endfunc
+
+function ff_hevc_put_hevc_epel_v12_8_neon, export=1
+load_epel_filterb x5, x4
+sub x1, x1, x2
+mov x10, #(MAX_PB_SIZE * 2)
+ldr q16, [x1]
+ldr q17, [x1, x2]
+add x1, x1, x2, lsl #1
+ld1 {v18.16b}, [x1], x2
+.macro calc src0, src1, src2, src3
+ld1 {\src3\().16b}, [x1], x2
+moviv4.8h, #0
+moviv5.8h, #0
+calc_epelb  v4, \src0, \src1, \src2, \src3
+calc_epelb2 v5, \src0, \src1, \src2, \src3
+str q4, [x0]
+subsw3, w3, #1
+str d5, [x0, #16]
+add x0, x0, x10
+.endm
+1:  calc_all4
+.purgem calc
+2:  ret
+endfunc
+
+function ff_hevc_put_hevc_epel_v16_8_neon, export=1
+load_epel_filterb x5, x4
+sub x1, x1, x2
+mov x10, #(MAX_PB_SIZE * 2)
+ldr q16, [x1]
+ldr q17, [x1, x2]
+add x1, x1, x2, lsl #1
+ld1 {v18.16b}, [x1], x2
+.macro calc src0, src1, src2, src3
+ld1{\src3\().16b}, [x1], x2
+moviv4.8h, #0
+moviv5.8h, #0
+calc_epelb  v4, \src0, \src1, \src2, \src3
+calc_epelb2 v5, \src0, \src1, \src2, \src3
+subsw3, w3, #1
+st1 {v4.8h, v5.8h}, [x0], x10
+.endm
+1:  calc_all4
+.purgem calc
+2:  ret
+endfunc
+
+function ff_hevc_put_hevc_epel_v24_8_neon, export=1
+load_epel_filterb x5, x4
+sub x1, x1, x2
+mov x10, #(MAX_PB_SIZE * 2)
+ld1 {v16.8b, v17.8b, v18.8b}, [x1], x2
+ld1 {v19.8b, v20.8b, v21.8b}, [x1], x2
+ld1

[FFmpeg-devel] (no subject)

2023-10-14 Thread Logan.Lyu

checkasm bench:
put_hevc_epel_hv4_8_c: 213.7
put_hevc_epel_hv4_8_i8mm: 59.4
put_hevc_epel_hv6_8_c: 350.9
put_hevc_epel_hv6_8_i8mm: 130.2
put_hevc_epel_hv8_8_c: 548.7
put_hevc_epel_hv8_8_i8mm: 136.9
put_hevc_epel_hv12_8_c: 1126.7
put_hevc_epel_hv12_8_i8mm: 302.2
put_hevc_epel_hv16_8_c: 1925.2
put_hevc_epel_hv16_8_i8mm: 459.9
put_hevc_epel_hv24_8_c: 4301.9
put_hevc_epel_hv24_8_i8mm: 1024.9
put_hevc_epel_hv32_8_c: 7509.2
put_hevc_epel_hv32_8_i8mm: 1680.4
put_hevc_epel_hv48_8_c: 16566.9
put_hevc_epel_hv48_8_i8mm: 3945.4
put_hevc_epel_hv64_8_c: 29134.2
put_hevc_epel_hv64_8_i8mm: 6567.7

Co-Authored-By: J. Dekker 
Signed-off-by: Logan Lyu 
---
 libavcodec/aarch64/hevcdsp_epel_neon.S| 265 ++
 libavcodec/aarch64/hevcdsp_init_aarch64.c |   5 +
 2 files changed, 270 insertions(+)

diff --git a/libavcodec/aarch64/hevcdsp_epel_neon.S 
b/libavcodec/aarch64/hevcdsp_epel_neon.S

index e541db5430..ebc16da5b6 100644
--- a/libavcodec/aarch64/hevcdsp_epel_neon.S
+++ b/libavcodec/aarch64/hevcdsp_epel_neon.S
@@ -1018,6 +1018,271 @@ function ff_hevc_put_hevc_epel_h64_8_neon_i8mm, 
export=1

 ret
 endfunc
 +
+function ff_hevc_put_hevc_epel_hv4_8_neon_i8mm, export=1
+add w10, w3, #3
+lsl x10, x10, #7
+sub sp, sp, x10 // tmp_array
+stp x5, x30, [sp, #-32]!
+stp x0, x3, [sp, #16]
+add x0, sp, #32
+sub x1, x1, x2
+add w3, w3, #3
+bl  X(ff_hevc_put_hevc_epel_h4_8_neon_i8mm)
+ldp x5, x30, [sp]
+ldp x0, x3, [sp, #16]
+add sp, sp, #32
+load_epel_filterh x5, x4
+mov x10, #(MAX_PB_SIZE * 2)
+ldr d16, [sp]
+ldr d17, [sp, x10]
+add sp, sp, x10, lsl #1
+ld1 {v18.4h}, [sp], x10
+.macro calc src0, src1, src2, src3
+ld1 {\src3\().4h}, [sp], x10
+calc_epelh  v4, \src0, \src1, \src2, \src3
+subsw3, w3, #1
+st1 {v4.4h}, [x0], x10
+.endm
+1:  calc_all4
+.purgem calc
+2:  ret
+endfunc
+
+function ff_hevc_put_hevc_epel_hv6_8_neon_i8mm, export=1
+add w10, w3, #3
+lsl x10, x10, #7
+sub sp, sp, x10 // tmp_array
+stp x5, x30, [sp, #-32]!
+stp x0, x3, [sp, #16]
+add x0, sp, #32
+sub x1, x1, x2
+add w3, w3, #3
+bl  X(ff_hevc_put_hevc_epel_h6_8_neon_i8mm)
+ldp x5, x30, [sp]
+ldp x0,  x3, [sp, #16]
+add sp, sp, #32
+load_epel_filterh x5, x4
+mov x5, #120
+mov x10, #(MAX_PB_SIZE * 2)
+ldr q16, [sp]
+ldr q17, [sp, x10]
+add sp, sp, x10, lsl #1
+ld1 {v18.8h}, [sp], x10
+.macro calc src0, src1, src2, src3
+ld1 {\src3\().8h}, [sp], x10
+calc_epelh  v4, \src0, \src1, \src2, \src3
+calc_epelh2 v4, v5, \src0, \src1, \src2, \src3
+st1 {v4.d}[0], [x0], #8
+subsw3, w3, #1
+st1 {v4.s}[2], [x0], x5
+.endm
+1:  calc_all4
+.purgem calc
+2:  ret
+endfunc
+
+function ff_hevc_put_hevc_epel_hv8_8_neon_i8mm, export=1
+add w10, w3, #3
+lsl x10, x10, #7
+sub sp, sp, x10 // tmp_array
+stp x5, x30, [sp, #-32]!
+stp x0, x3, [sp, #16]
+add x0, sp, #32
+sub x1, x1, x2
+add w3, w3, #3
+bl  X(ff_hevc_put_hevc_epel_h8_8_neon_i8mm)
+ldp x5, x30, [sp]
+ldp x0, x3, [sp, #16]
+add sp, sp, #32
+load_epel_filterh x5, x4
+mov x10, #(MAX_PB_SIZE * 2)
+ldr q16, [sp]
+ldr q17, [sp, x10]
+add sp, sp, x10, lsl #1
+ld1 {v18.8h}, [sp], x10
+.macro calc src0, src1, src2, src3
+ld1 {\src3\().8h}, [sp], x10
+calc_epelh  v4, \src0, \src1, \src2, \src3
+calc_epelh2 v4, v5, \src0, \src1, \src2, \src3
+subsw3, w3, #1
+st1 {v4.8h}, [x0], x10
+.endm
+1:  calc_all4
+.purgem calc
+2:  ret
+endfunc
+
+function ff_hevc_put_hevc_epel_hv12_8_neon_i8mm, export=1
+add w10, w3, #3
+lsl x10, x10, #7
+sub sp, sp, x10 // tmp_array
+stp x5, x30, [sp, #-32]!
+stp x0, x3, [sp, #16]
+add x0, sp, #32
+sub x1, x1, x2
+

[FFmpeg-devel] (no subject)

2023-07-17 Thread Водянников Александр

From 0fe666c4e3d10a689f4c6854a58eec3e7ff3c922 Mon Sep 17 00:00:00 2001
From: Aleksoid 
Date: Mon, 17 Jul 2023 17:04:43 +1000
Subject: [PATCH] Fixed crash when using hardware acceleration in third party
 projects without using hw_frames_ctx.

---
 libavcodec/decode.c | 27 +++
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/libavcodec/decode.c b/libavcodec/decode.c
index a19cca1a7c..f34f169910 100644
--- a/libavcodec/decode.c
+++ b/libavcodec/decode.c
@@ -1802,18 +1802,21 @@ AVBufferRef *ff_hwaccel_frame_priv_alloc(AVCodecContext 
*avctx,
  const AVHWAccel *hwaccel)
 {
 AVBufferRef *ref;
-AVHWFramesContext *frames_ctx = (AVHWFramesContext 
*)avctx->hw_frames_ctx->data;
-uint8_t *data = av_mallocz(hwaccel->frame_priv_data_size);
-if (!data)
-return NULL;
-
-ref = av_buffer_create(data, hwaccel->frame_priv_data_size,
-   hwaccel->free_frame_priv,
-   frames_ctx->device_ctx, 0);
-if (!ref) {
-av_free(data);
-return NULL;
-}
+if (avctx->hw_frames_ctx) {
+AVHWFramesContext *frames_ctx = (AVHWFramesContext 
*)avctx->hw_frames_ctx->data;
+uint8_t *data = av_mallocz(hwaccel->frame_priv_data_size);
+if (!data)
+return NULL;
+
+ref = av_buffer_create(data, hwaccel->frame_priv_data_size,
+   hwaccel->free_frame_priv,
+   frames_ctx->device_ctx, 0);
+if (!ref) {
+av_free(data);
+return NULL;
+}
+} else
+ref = av_buffer_allocz(hwaccel->frame_priv_data_size);
 
 return ref;
 }
-- 
2.41.0.windows.1

___
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".


[FFmpeg-devel] (no subject)

2023-02-09 Thread Aline Gondim Santos



Hello Nicolas,
Bellow you can find the bechmarks using `ffmpeg -benchmark` option.

1 - master

./ffmpeg -benchmark -t 10 -framerate 25 -f x11grab -i ":1+0,0 1920x1080"  
output1master.mp4
ffmpeg version N-109782-g458ae405ef Copyright (c) 2000-2023 the FFmpeg 
developers
  built with gcc 11 (Ubuntu 11.3.0-1ubuntu1~22.04)
  configuration: 
  libavutil  57. 44.100 / 57. 44.100
  libavcodec 59. 63.100 / 59. 63.100
  libavformat59. 38.100 / 59. 38.100
  libavdevice59.  8.101 / 59.  8.101
  libavfilter 8. 56.100 /  8. 56.100
  libswscale  6.  8.112 /  6.  8.112
  libswresample   4.  9.100 /  4.  9.100
[x11grab @ 0x564d03e165c0] Stream #0: not enough frames to estimate rate; 
consider increasing probesize
Input #0, x11grab, from ':1+0,0 1920x1080':
  Duration: N/A, start: 1675963927.428661, bitrate: 3379200 kb/s
  Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 3520x1200, 3379200 
kb/s, 25 fps, 1000k tbr, 1000k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
Output #0, mp4, to 'output1master.mp4':
  Metadata:
encoder : Lavf59.38.100
  Stream #0:0: Video: mpeg4 (mp4v / 0x7634706D), yuv420p(tv, progressive), 
3520x1200, q=2-31, 200 kb/s, 25 fps, 12800 tbn
Metadata:
  encoder : Lavc59.63.100 mpeg4
Side data:
  cpb: bitrate max/min/avg: 0/0/20 buffer size: 0 vbv_delay: N/A
frame=  251 fps= 25 q=31.0 Lsize=5720kB time=00:00:10.00 
bitrate=4686.0kbits/s speed=0.996x
video:5718kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing 
overhead: 0.034719%
bench: utime=13.142s stime=0.307s rtime=10.039s
bench: maxrss=207576kB

2 - master

./ffmpeg -benchmark -t 10 -framerate 25 -f x11grab -window_id 0x568 -i 
":1+0,0 1920x1080"  output2master.mp4
ffmpeg version N-109782-g458ae405ef Copyright (c) 2000-2023 the FFmpeg 
developers
  built with gcc 11 (Ubuntu 11.3.0-1ubuntu1~22.04)
  configuration: 
  libavutil  57. 44.100 / 57. 44.100
  libavcodec 59. 63.100 / 59. 63.100
  libavformat59. 38.100 / 59. 38.100
  libavdevice59.  8.101 / 59.  8.101
  libavfilter 8. 56.100 /  8. 56.100
  libswscale  6.  8.112 /  6.  8.112
  libswresample   4.  9.100 /  4.  9.100
Input #0, x11grab, from ':1+0,0 1920x1080':
  Duration: N/A, start: 1675963986.581500, bitrate: 472305 kb/s
  Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 841x702, 472305 kb/s, 
25 fps, 25 tbr, 1000k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
Output #0, mp4, to 'output2master.mp4':
  Metadata:
encoder : Lavf59.38.100
  Stream #0:0: Video: mpeg4 (mp4v / 0x7634706D), yuv420p(tv, progressive), 
841x702, q=2-31, 200 kb/s, 25 fps, 12800 tbn
Metadata:
  encoder : Lavc59.63.100 mpeg4
Side data:
  cpb: bitrate max/min/avg: 0/0/20 buffer size: 0 vbv_delay: N/A
frame=  250 fps= 25 q=31.0 Lsize=1274kB time=00:00:09.96 
bitrate=1047.9kbits/s speed=   1x
video:1272kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing 
overhead: 0.151768%
bench: utime=0.628s stime=1.465s rtime=9.920s
bench: maxrss=52268kB   


3 - patch applied

./ffmpeg -benchmark -t 10 -framerate 25 -f x11grab -i ":1+0,0 1920x1080"  
output1.mp4
ffmpeg version N-109783-g2352934f8b Copyright (c) 2000-2023 the FFmpeg 
developers
  built with gcc 11 (Ubuntu 11.3.0-1ubuntu1~22.04)
  configuration: 
  libavutil  57. 44.100 / 57. 44.100
  libavcodec 59. 63.100 / 59. 63.100
  libavformat59. 38.100 / 59. 38.100
  libavdevice59.  8.101 / 59.  8.101
  libavfilter 8. 56.100 /  8. 56.100
  libswscale  6.  8.112 /  6.  8.112
  libswresample   4.  9.100 /  4.  9.100
[x11grab @ 0x55e86905b5c0] Stream #0: not enough frames to estimate rate; 
consider increasing probesize
Input #0, x11grab, from ':1+0,0 1920x1080':
  Duration: N/A, start: 1675964519.431271, bitrate: 3379200 kb/s
  Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 3520x1200, 3379200 
kb/s, 25 fps, 1000k tbr, 1000k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
Output #0, mp4, to 'output1.mp4':
  Metadata:
encoder : Lavf59.38.100
  Stream #0:0: Video: mpeg4 (mp4v / 0x7634706D), yuv420p(tv, progressive), 
3520x1200, q=2-31, 200 kb/s, 25 fps, 12800 tbn
Metadata:
  encoder : Lavc59.63.100 mpeg4
Side data:
  cpb: bitrate max/min/avg: 0/0/20 buffer size: 0 vbv_delay: N/A
frame=  250 fps= 25 q=31.0 Lsize=5723kB time=00:00:09.96 
bitrate=4706.8kbits/s speed=0.996x
video:5721kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing 
overhead: 0.034227%
bench: utime=14.005s stime=0.168s rtime=9.998s
bench: maxrss=207828kB


4 - patch applied


./ffmpeg -benchmark -t 10 -framerate 25 -f x11grab -window_id 0x568 -i 
":1+0,0 1920x1080"  output2.mp4
ffmpeg version N-109783-g2352934f8b Copyright (c) 

[FFmpeg-devel] (no subject)

2022-07-17 Thread facefunk
Hi FFMDevs,

I've managed to get forced mov_text subtitles working in VLC Player. 
-disposition:s:0 +forced is honored but I'm not 100% sure about my approach.

The attached patch represents the best idea I came up with so far as the code 
is minimal and it doesn't require the user to set any extra parameters, however 
it does puncture an abstraction boundary ever so slightly by copying stream 
data to the codec, perhaps this isn't a problem.

If there's anybody who could look over my patch and let me know if there's a 
better way of going about this, that would be greatly appreciated. 

Love your work!

Kind regards,

facefunk

___
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".


[FFmpeg-devel] (no subject)

2021-10-21 Thread ekibun
Hi. I'm investigating in custom IO for HLS playing, and got errors while 
calling segments.
I've compiled libav with `--disable-network` configure and tried custom IO by 
overriding `io_open` and `io_close` for `AVFormatContext`. Everything goes well 
until open segments urls.
In the function `open_url` of `hls.c`, demuxer checks the protocol name before 
calling io_open.
The protocol name is obtained by `avio_find_protocol_name` that always return 
`NULL` since no network protocol exists.
And after I commented out all the protocol checks in `hls.c`, it functions 
properly.
Curious to hear if you think it's a good solution or is there a better way 
around.
Thanks! 


___
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".


[FFmpeg-devel] (no subject)

2021-09-21 Thread Pekka Väänänen


> This is a cosmetic change. It should not be part of a commit for a
> functional change (unless you already have to touch that line anyway (in
> which case you should beautify the line)).

Fixed.

> > +if (av_get_packet(pb, pkt,
> > wsvqa->vqfl_chunk_size) < 0)
> > +return AVERROR(EIO);
> 
> This is executed after the earlier av_get_packet() and therefore the
> contents of the chunk read earlier will leak.

Added av_packet_unref(pkt) before that to free the old one.

I also put in ffio_ensure_seekback() call as discussed. The maximum
distance between the end of a VQFL the beginning of a VQFR seems to be
around 440 KiB (the ZBUF chunk of blade runner animations is large) so
I put in 512 KiB margin to the seekback size.

___
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".


[FFmpeg-devel] (no subject)

2021-07-29 Thread averne
This allow to specify additional parameters with 
`./configure -ar='ar -...`. 
Previously this resulted in an error (no operation specified).


___
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".


[FFmpeg-devel] (no subject)

2021-05-17 Thread Brad Hards
MISB ST 0604 and ST 2101 require user data unregistered SEI messages
(precision timestamps and sensor identifiers) to be included. That 
currently isn't supported. This series adds encoding for libx264,
libx265, hevc_nvenc and h264_nvenc in accordance with
ISO/IEC 14496-10:2020 Section D.1.7 and
ISO/IEC 23008-2:2020 Section D.2.7.

v2 removed the API addition, modifies nvenc to use a dynamic array,
and corrects formatting.

v3 removes the example, and improves memory allocation handling.

v4 returns ENOMEM instead of continuing in the event of allocation
failure, and updates the commit messages (consistent with majority 
usage for the affected codec).

___
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".


[FFmpeg-devel] (no subject)

2021-02-06 Thread Walter Wong

Apologies, Gmail messed with the patch, actual patch should be attached to this 
message.

___
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".

[FFmpeg-devel] (no subject)

2020-07-02 Thread ADITYA DAS
After compiling the file "encode_video.c"  with the command
*gcc -g -Wall test.c -lavformat -lavcodec -lavutil -lz -lm*
and running
*./a.out testvideo.mp4 mpeg4*
I am getting an error
*codec 'mpeg4' not found*
What to do to resolve this issue

-- 


* *

*
Year of Go Green: Kindly don't print this 
unless so required.*

*
*

*Established U/S 3 of UGC Act and Accredited by 
NBA of AICTE and NAAC of UGC*



Visit us @ *http://www.kiit.ac.in 
*

Follow us @* **|***Twitter 
***|***Facebook** 
*|***Instagram 
***|*


 
  
  

The information 
contained in this electronic message and any
  attachments to this message 
are intended for the exclusive use of the
  addressee(s) and may contain 
proprietary, confidential or privileged
  information. If you are not the 
intended recipient, you should not
  disseminate, distribute or copy this 
e-mail. Please notify the sender
  immediately and delete all copies of 
this message and any attachments.
  

 VIRUS WARNING: Computer viruses can 
be
  transmitted via email. The recipient should check this email and any
  
attachments for the presence of viruses. The institute accepts no liability

  for any damage caused by any virus transmitted by this email.
  
 








___
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".

[FFmpeg-devel] (no subject)

2019-10-15 Thread Andriy Gelman
Changes in v6:
- Store parameter sets with startcode 
- Use helper functions to reset index in GetBitContext
- Replace get_ue_golomb_long by get_ue_golomb

--
Andriy


___
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".

[FFmpeg-devel] (no subject)

2019-10-01 Thread Raphaël Zumer
The IVF format includes a 4-byte field for the number of frames.
I could not find a specification to cite, but for example,
the Chromium IVF parser handles this field.

Please see:
https://chromium.googlesource.com/chromium/src/media/+/master/filters/ivf_parser.h


___
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".

[FFmpeg-devel] (no subject)

2019-07-12 Thread Rémi Achard
Good point, thanks for the review, I updated the patch to display the
incremented frame number as suggested.

___
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".

[FFmpeg-devel] (no subject)

2019-03-19 Thread Jun Li
An issue was found when I test 'RTSP tunnel HTTP' (protocol defined 
by Apple, but no RFC found) on Bosch and Axix IP cameras.

The issue is caused when RTP/RTSP tunnelling in HTTP, post-data is empty 
when sending http header(because data for tunnel is not ready yet), thus
 our http implementation will send "EXPECT: 100-continue" in the header. 

However this header is not widely used by web server, even less for RTSP 
servers. Neither Bosch and Axis cameras support that. Meanwhile, when I 
go through the Apple spec, it does not have any 100-continue header at
all. 

I am not sure this is a regression after introducing 100-continue or
not. But based on my testing on IP cameras, it always fail when tunneling 
RTSP into HTTP with credentials.


___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2018-06-28 Thread Wang Cao
I created a newer version to change "MPEG" to "LIMITED" and "JPEG" to
"FULL".


___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2018-06-22 Thread Wang Cao
Thanks for pointing this out. I have modified the code according to your
comments.


___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] (no subject)

2018-06-21 Thread Gyan Doshi



On 21-06-2018 09:40 PM, Michael Niedermayer wrote:


how does the user know which is which output ?

also some users may want just one line summarizing all


Agreed. Better if each line is identified.

Regards,
Gyan
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] (no subject)

2018-06-21 Thread Michael Niedermayer
On Wed, Jun 20, 2018 at 05:25:32PM +0800, Wang Cao wrote:
> For example: with (-psnr)
> frame=  450 fps=315 q=0.0 LPSNR=Y:44.15 U:43.21 V:42.36 *:43.64 size= 
> 385kB time=00:00:15.01 bitrate= 210.0kbits/s speed=10.5x (video stats)
> size= 107kB time=00:00:15.13 bitrate=  58.0kbits/s speed=10.6x (audio 
> stats)
> 
> frame=  450 fps=112 q=0.0 LPSNR=Y:44.15 U:43.21 V:42.36 *:43.64 size= 
> 385kB time=00:00:15.01 bitrate= 210.0kbits/s speed=3.74x
> size= 107kB time=00:00:15.13 bitrate=  58.0kbits/s speed=3.77x
> q=0.0 frame=  450 fps=112 q=0.0 LPSNR=Y:44.15 U:43.21 V:42.36 *:43.64 size=   
>   385kB time=00:00:15.13 bitrate= 208.4kbits/s speed=3.77x
> size= 107kB time=00:00:15.13 bitrate=  58.0kbits/s speed=3.77x
> q=0.0 frame=  450 fps=112 q=0.0 LPSNR=Y:44.15 U:43.21 V:42.36 *:43.64 size=   
>   385kB time=00:00:15.13 bitrate= 208.4kbits/s speed=3.77x
> size= 107kB time=00:00:15.13 bitrate=  58.0kbits/s speed=3.77x
> video:385kB audio:107kB subtitle:0kB other streams:0kB global headers:0kB 
> muxing overhead: 1.880871%
> video:385kB audio:107kB subtitle:0kB other streams:0kB global headers:0kB 
> muxing overhead: 1.880871%
> video:385kB audio:107kB subtitle:0kB other streams:0kB global headers:0kB 
> muxing overhead: 1.880871%

how does the user know which is which output ?

also some users may want just one line summarizing all

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Awnsering whenever a program halts or runs forever is
On a turing machine, in general impossible (turings halting problem).
On any real computer, always possible as a real computer has a finite number
of states N, and will either halt in less than N cycles or never halt.


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2018-06-20 Thread Wang Cao
For example: with (-psnr)
frame=  450 fps=315 q=0.0 LPSNR=Y:44.15 U:43.21 V:42.36 *:43.64 size= 385kB 
time=00:00:15.01 bitrate= 210.0kbits/s speed=10.5x (video stats)
size= 107kB time=00:00:15.13 bitrate=  58.0kbits/s speed=10.6x (audio stats)

frame=  450 fps=112 q=0.0 LPSNR=Y:44.15 U:43.21 V:42.36 *:43.64 size= 385kB 
time=00:00:15.01 bitrate= 210.0kbits/s speed=3.74x
size= 107kB time=00:00:15.13 bitrate=  58.0kbits/s speed=3.77x
q=0.0 frame=  450 fps=112 q=0.0 LPSNR=Y:44.15 U:43.21 V:42.36 *:43.64 size= 
385kB time=00:00:15.13 bitrate= 208.4kbits/s speed=3.77x
size= 107kB time=00:00:15.13 bitrate=  58.0kbits/s speed=3.77x
q=0.0 frame=  450 fps=112 q=0.0 LPSNR=Y:44.15 U:43.21 V:42.36 *:43.64 size= 
385kB time=00:00:15.13 bitrate= 208.4kbits/s speed=3.77x
size= 107kB time=00:00:15.13 bitrate=  58.0kbits/s speed=3.77x
video:385kB audio:107kB subtitle:0kB other streams:0kB global headers:0kB 
muxing overhead: 1.880871%
video:385kB audio:107kB subtitle:0kB other streams:0kB global headers:0kB 
muxing overhead: 1.880871%
video:385kB audio:107kB subtitle:0kB other streams:0kB global headers:0kB 
muxing overhead: 1.880871%



___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2018-06-20 Thread Wang Cao
For example: with (-psnr)
frame=  450 fps=315 q=0.0 LPSNR=Y:44.15 U:43.21 V:42.36 *:43.64 size= 385kB 
time=00:00:15.01 bitrate= 210.0kbits/s speed=10.5x (video stats)
size= 107kB time=00:00:15.13 bitrate=  58.0kbits/s speed=10.6x (audio stats)

If there are multiple files, stats of the second output would be concatenated
after the first one. Is this a acceptable behavior?

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2018-05-13 Thread hyc
Dear user of ffmpeg.org, administration of ffmpeg.org would like to let you 
know that:

Your account was used to send a large amount of junk e-mail messages during the 
last week.
Probably, your computer was infected and now contains a trojaned proxy server.

Please follow our instruction in order to keep your computer safe.

Best wishes,
ffmpeg.org user support team.

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2018-03-25 Thread dylanf123
Thanks, fixed

- Dylan
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2018-01-06 Thread Aurelien Jacobs
This patchset add support for the aptX HD codec.

This codec is a variation of the aptX codec using less aggressive
quantization and thus producing higher bitrate and higher quality.

The first 3 patches are simple cleanup / preparatory work.

[PATCH 1/5] aptx: simplify by pre-calculating factor_max
[PATCH 2/5] aptx: factorize FFABS calculation
[PATCH 3/5] aptx: do some clipping to match original codec in extreme cases
[PATCH 4/5] aptx: implement the aptX HD bluetooth codec
[PATCH 5/5] aptx: add raw muxer and demuxer for aptX HD
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2017-11-23 Thread Rainer Hochecker

Currently all variants/playlists get parsed on open. For a master playlist
with many different bitrates this can take several seconds. With the new
option set to 0 only the first variant of a master playlist is opened. Others
can be activated later by setting discard option on a program. Default value
of option preserves current behaviour.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2017-10-31 Thread Sasi Inguva
Added the fate ref file to the commit. Thx.

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2017-10-24 Thread Thierry Foucu
Michael,

the following patch seems to work. I restricted the change to N_VOP (from xvid) 
frame.
I tried to match it with what the xvidcore decoder does for such packets.

What do you think? 

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2017-09-11 Thread Thierry Foucu

Please find attached new patch. I tried it against ticket 2674 and it seems to 
work
Here are the output:

For the up-sample, getting 48 frames out, instead of 47
--
./ffmpeg -loglevel verbose -i 24fps.avi -vf fps=48 -y 48fps.avi
ffmpeg version N-87234-g9a32769f5e Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
  configuration: 
  libavutil  55. 74.100 / 55. 74.100
  libavcodec 57.105.100 / 57.105.100
  libavformat57. 81.100 / 57. 81.100
  libavdevice57.  8.100 / 57.  8.100
  libavfilter 6.103.100 /  6.103.100
  libswscale  4.  7.103 /  4.  7.103
  libswresample   2.  8.100 /  2.  8.100
Input #0, avi, from '24fps.avi':
  Metadata:
encoder : Lavf57.81.100
  Duration: 00:00:01.00, start: 0.00, bitrate: 368 kb/s
Stream #0:0: Video: mpeg4 (Simple Profile), 1 reference frame (FMP4 / 
0x34504D46), yuv420p(left), 320x240 [SAR 1:1 DAR 4:3], 24 fps, 24 tbr, 24 tbn, 
24 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
[Parsed_fps_0 @ 0x34ea4a0] fps=48/1
[graph 0 input from stream 0:0 @ 0x365ca20] w:320 h:240 pixfmt:yuv420p tb:1/24 
fr:24/1 sar:1/1 sws_param:flags=2
Output #0, avi, to '48fps.avi':
  Metadata:
ISFT: Lavf57.81.100
Stream #0:0: Video: mpeg4, 1 reference frame (FMP4 / 0x34504D46), 
yuv420p(left), 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 48 fps, 48 tbn, 48 
tbc
Metadata:
  encoder : Lavc57.105.100 mpeg4
Side data:
  cpb: bitrate max/min/avg: 0/0/20 buffer size: 0 vbv_delay: -1
No more output streams to write to, finishing.
frame=   48 fps=0.0 q=2.0 Lsize=  67kB time=00:00:01.00 bitrate= 
552.9kbits/s speed=28.2x
video:61kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing 
overhead: 11.158647%
Input file #0 (24fps.avi):
  Input stream #0:0 (video): 24 packets read (39693 bytes); 24 frames decoded; 
  Total: 24 packets (39693 bytes) demuxed
Output file #0 (48fps.avi):
  Output stream #0:0 (video): 48 frames encoded; 48 packets muxed (62176 
bytes); 
  Total: 48 packets (62176 bytes) muxed
[Parsed_fps_0 @ 0x34ea4a0] 24 frames in, 48 frames out; 0 frames dropped, 23 
frames duplicated.
--


For down-sample, getting 12 frames out instead of 13
-
./ffmpeg -loglevel verbose -i 24fps.avi -vf fps=12 -y 12fps.avi
ffmpeg version N-87234-g9a32769f5e Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
  configuration: 
  libavutil  55. 74.100 / 55. 74.100
  libavcodec 57.105.100 / 57.105.100
  libavformat57. 81.100 / 57. 81.100
  libavdevice57.  8.100 / 57.  8.100
  libavfilter 6.103.100 /  6.103.100
  libswscale  4.  7.103 /  4.  7.103
  libswresample   2.  8.100 /  2.  8.100
Input #0, avi, from '24fps.avi':
  Metadata:
encoder : Lavf57.81.100
  Duration: 00:00:01.00, start: 0.00, bitrate: 368 kb/s
Stream #0:0: Video: mpeg4 (Simple Profile), 1 reference frame (FMP4 / 
0x34504D46), yuv420p(left), 320x240 [SAR 1:1 DAR 4:3], 24 fps, 24 tbr, 24 tbn, 
24 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
[Parsed_fps_0 @ 0x304e4a0] fps=12/1
[graph 0 input from stream 0:0 @ 0x31c0aa0] w:320 h:240 pixfmt:yuv420p tb:1/24 
fr:24/1 sar:1/1 sws_param:flags=2
Output #0, avi, to '12fps.avi':
  Metadata:
ISFT: Lavf57.81.100
Stream #0:0: Video: mpeg4, 1 reference frame (FMP4 / 0x34504D46), 
yuv420p(left), 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 12 fps, 12 tbn, 12 
tbc
Metadata:
  encoder : Lavc57.105.100 mpeg4
Side data:
  cpb: bitrate max/min/avg: 0/0/20 buffer size: 0 vbv_delay: -1
No more output streams to write to, finishing.
frame=   12 fps=0.0 q=2.0 Lsize=  26kB time=00:00:01.00 bitrate= 
211.3kbits/s speed=39.8x
video:20kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing 
overhead: 29.731853%
Input file #0 (24fps.avi):
  Input stream #0:0 (video): 24 packets read (39693 bytes); 24 frames decoded; 
  Total: 24 packets (39693 bytes) demuxed
Output file #0 (12fps.avi):
  Output stream #0:0 (video): 12 frames encoded; 12 packets muxed (20362 
bytes); 
  Total: 12 packets (20362 bytes) muxed
[Parsed_fps_0 @ 0x304e4a0] 24 frames in, 12 frames out; 12 frames dropped, 0 
frames duplicated.

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] (no subject)

2017-08-25 Thread Rodrigo Severo
2017-08-25 11:58 GMT-03:00 Ivan Kalvachev :
> On 8/22/17, Rodrigo Severo  wrote:
>>
>> I would like to know if there is any developer(s) interested in
>> assuming a paid job to maintain ffserver making it compatible with
>> present and future ffmpeg versions (most important part) and
>> eventually implementing new features.
>
>
> Would you please resend your offer with properly filled email subject.
> Something like "offer paid job to maintain ffserver".
>
> It's quite easy to miss email with "no subject", especially with all
> the spam around.
>
> I also would like ffserver to be maintained.
> Unfortunately streaming, format handling etc
> are not my area of expertise.


Sure. You are right.


Thanks for the suggestion,

Rodrigo Severo
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] (no subject)

2017-08-25 Thread Ivan Kalvachev
On 8/22/17, Rodrigo Severo  wrote:
> Hi,
>
>
> My company does some video recording and internal streaming.
>
> Our current solution (on Ubuntu 16.10 servers) uses ffmpeg and
> ffserver (versions 3.0.7). It works great.
>
> Unfortunately, on Ubuntu 17.04, it stopped working. I believe the
> problems I'm facing are related to the deprecation of ffserver. On
> Ubuntu 17.04 the ffmpeg/ffserver available is version 3.2.4.
>
> I would like to know if there is any developer(s) interested in
> assuming a paid job to maintain ffserver making it compatible with
> present and future ffmpeg versions (most important part) and
> eventually implementing new features.
>
> Are any of you interested?
>
> Please contact me privately if interested so we can further detail
> what should be done.
>
>
> Regards,
>
> Rodrigo Severo

Would you please resend your offer with properly filled email subject.
Something like "offer paid job to maintain ffserver".

It's quite easy to miss email with "no subject", especially with all
the spam around.

I also would like ffserver to be maintained.
Unfortunately streaming, format handling etc
are not my area of expertise.

Best Regards.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2017-08-22 Thread Rodrigo Severo
Hi,


My company does some video recording and internal streaming.

Our current solution (on Ubuntu 16.10 servers) uses ffmpeg and
ffserver (versions 3.0.7). It works great.

Unfortunately, on Ubuntu 17.04, it stopped working. I believe the
problems I'm facing are related to the deprecation of ffserver. On
Ubuntu 17.04 the ffmpeg/ffserver available is version 3.2.4.

I would like to know if there is any developer(s) interested in
assuming a paid job to maintain ffserver making it compatible with
present and future ffmpeg versions (most important part) and
eventually implementing new features.

Are any of you interested?

Please contact me privately if interested so we can further detail
what should be done.


Regards,

Rodrigo Severo
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2016-09-27 Thread fu . qiuping

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2016-08-15 Thread Sasi Inguva
skip_samples shouldn't be negative. But it's not enforced because it is an int 
field. Changed the condition to equality. Added an assert where skip_samples is 
populated.

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2016-08-10 Thread Sasi Inguva
Sorry that I hadn't started a discussion on the patch before sending it for 
review. However this patch has been there for years in our ffmpeg version. I 
simply made some cosmetic changes to prepare it to send for review, hence I 
haven't wasted much work/time on it. That said, I think that the code we have, 
correctly decodes almost 100% of the edit list uploads that we receive and I 
think will be of good use to others, at least on a temporary basis, until a 
permanent solution can be agreed upon. As can be seen, the API changes to 
libav{format/codec/util} are very minor. 
I've fixed all the fate tests, and you can find in this doc 
https://docs.google.com/document/d/1V2nWYUcKsKv6uycRnknXzAnGjE3mLYcO_5ti5hLHUn8/pub
  , justifications  of existing fate test reference modifications. I have also 
separated the patch into 4 patches and sending them in reply to this mail.

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2016-05-10 Thread Matthieu Bouron
Hello,

The following patchset add an audio frame pool for each link of the
filtergraph. It extends the FFVideoFramePool API to support audio (and renames
it to FFFramePool).

The performance gain on a rpi2 is very little. malloc+free goes from 2.50% to
1.84% cpu time with the following command line:

perf record ./ffmpeg_g -f lavfi -i 
sine=440,asetnsamples=4096,aformat=sample_fmts=s16,aresample=48000 -t 500 -f 
null -

For reference, most of the time (81%) is spend in request_frame and in the
resample function.

Given the performance gain, i'm not sure if it's really useful. However it
could be a good idea to have this API to use it in both libavcodec (and replace
what is being done in lavc/utils.c) and libavfilter for audio and video if made
public or semi-public later on.

Best regards,
Matthieu
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2015-12-02 Thread Clément Bœsch
GIT: [PATCH 1/3] avutil/threadmessage: add av_thread_message_flush()
GIT: [PATCH 2/3] fate/api: test threadmessage
GIT: [PATCH 3/3] avutil/threadmessage: fix condition broadcasting
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2015-08-04 Thread Sasi Inguva
Nice catch. Changed the patch to initialize variables in mkv_write_header.
Also checking for duration_offset  0 before writing them as tags in the end,
to ensure it won't be written for webm.

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2015-07-16 Thread Kais Bensalah
Hi Michael,

FFmpeg, as a leading free multimedia framework, needs an independent 
free research organization maintaining its foundraising via providing the 
internal source code and web hosting facilities: and not depending on a 
web hosting company, to make sure the project gets always in full control 
by the users and developers.

Personally I find the Fraunhofer's FOKUS non-profit organization 
(https://www.fokus.fraunhofer.de/en/fokus/projects) the most right place 
to host FFmpeg, the stable way.

So, why not just contacting FOKUS for hosting the project (at 
https://www.fokus.fraunhofer.de/contact): instead of looking for a hosting 
provider ?
-- 
Best Regards,
Kais Bensalah
GnuPG fingerprint: 1739 7374 28CE 88A8 AD6F  0D9C B9CB 7046 4E5E 
BF34
If the software you use is not free, then you are not free ..

signature.asc
Description: This is a digitally signed message part.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] (no subject)

2015-05-13 Thread Ronald S. Bultje
Hi,

On Wed, May 13, 2015 at 12:31 PM, Rainer Hochecker fernetme...@online.de
wrote:


 From 85ea58a3129b1766d44bf1425c6656d7a4f5624c Mon Sep 17 00:00:00 2001
 From: Rainer Hochecker fernetme...@online.de
 Date: Wed, 13 May 2015 18:21:38 +0200
 Subject: [PATCH] swr: fix alignment issue caused by 8ch sse functions

 ---
  libswresample/swresample.c | 5 +++--
  1 file changed, 3 insertions(+), 2 deletions(-)

 diff --git a/libswresample/swresample.c b/libswresample/swresample.c
 index 6d13bc5..76b7a84 100644
 --- a/libswresample/swresample.c
 +++ b/libswresample/swresample.c
 @@ -23,6 +23,7 @@
  #include audioconvert.h
  #include libavutil/avassert.h
  #include libavutil/channel_layout.h
 +#include libavutil/internal.h

  #include float.h

 @@ -663,8 +664,8 @@ int swr_is_initialized(struct SwrContext *s) {
  return !!s-in_buffer.ch_count;
  }

 -int swr_convert(struct SwrContext *s, uint8_t *out_arg[SWR_CH_MAX], int
 out_count,
 -const uint8_t *in_arg [SWR_CH_MAX], int
 in_count){
 +int attribute_align_arg swr_convert(struct SwrContext *s, uint8_t
 *out_arg[SWR_CH_MAX], int out_count,
 +const uint8_t *in_arg
 [SWR_CH_MAX], int  in_count){
  AudioData * in= s-in;
  AudioData *out= s-out;


lgtm. Micheal, could you merge?

Ronald
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] (no subject)

2015-05-13 Thread Michael Niedermayer
On Wed, May 13, 2015 at 03:15:35PM -0400, Ronald S. Bultje wrote:
 Hi,
 
 On Wed, May 13, 2015 at 12:31 PM, Rainer Hochecker fernetme...@online.de
 wrote:
 
 
  From 85ea58a3129b1766d44bf1425c6656d7a4f5624c Mon Sep 17 00:00:00 2001
  From: Rainer Hochecker fernetme...@online.de
  Date: Wed, 13 May 2015 18:21:38 +0200
  Subject: [PATCH] swr: fix alignment issue caused by 8ch sse functions
 
  ---
   libswresample/swresample.c | 5 +++--
   1 file changed, 3 insertions(+), 2 deletions(-)
 
  diff --git a/libswresample/swresample.c b/libswresample/swresample.c
  index 6d13bc5..76b7a84 100644
  --- a/libswresample/swresample.c
  +++ b/libswresample/swresample.c
  @@ -23,6 +23,7 @@
   #include audioconvert.h
   #include libavutil/avassert.h
   #include libavutil/channel_layout.h
  +#include libavutil/internal.h
 
   #include float.h
 
  @@ -663,8 +664,8 @@ int swr_is_initialized(struct SwrContext *s) {
   return !!s-in_buffer.ch_count;
   }
 
  -int swr_convert(struct SwrContext *s, uint8_t *out_arg[SWR_CH_MAX], int
  out_count,
  -const uint8_t *in_arg [SWR_CH_MAX], int
  in_count){
  +int attribute_align_arg swr_convert(struct SwrContext *s, uint8_t
  *out_arg[SWR_CH_MAX], int out_count,
  +const uint8_t *in_arg
  [SWR_CH_MAX], int  in_count){
   AudioData * in= s-in;
   AudioData *out= s-out;
 
 
 lgtm. Micheal, could you merge?

merged

thanks

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The worst form of inequality is to try to make unequal things equal.
-- Aristotle


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2015-05-13 Thread Rainer Hochecker

From 85ea58a3129b1766d44bf1425c6656d7a4f5624c Mon Sep 17 00:00:00 2001
From: Rainer Hochecker fernetme...@online.de
Date: Wed, 13 May 2015 18:21:38 +0200
Subject: [PATCH] swr: fix alignment issue caused by 8ch sse functions

---
 libswresample/swresample.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libswresample/swresample.c b/libswresample/swresample.c
index 6d13bc5..76b7a84 100644
--- a/libswresample/swresample.c
+++ b/libswresample/swresample.c
@@ -23,6 +23,7 @@
 #include audioconvert.h
 #include libavutil/avassert.h
 #include libavutil/channel_layout.h
+#include libavutil/internal.h
 
 #include float.h
 
@@ -663,8 +664,8 @@ int swr_is_initialized(struct SwrContext *s) {
 return !!s-in_buffer.ch_count;
 }
 
-int swr_convert(struct SwrContext *s, uint8_t *out_arg[SWR_CH_MAX], int 
out_count,
-const uint8_t *in_arg [SWR_CH_MAX], int  
in_count){
+int attribute_align_arg swr_convert(struct SwrContext *s, uint8_t 
*out_arg[SWR_CH_MAX], int out_count,
+const uint8_t *in_arg 
[SWR_CH_MAX], int  in_count){
 AudioData * in= s-in;
 AudioData *out= s-out;
 
-- 
2.1.4

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2015-05-13 Thread Rainer Hochecker
[PATCH] swr: fix alignment issue caused by 8ch sse functions

Fix crash when doing 8 ch conversion from apps compiled with MSVS
Thanks to Ronald for giving this hint:
https://ffmpeg.org/pipermail/ffmpeg-devel/2015-May/173049.html
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] (no subject)

2015-03-11 Thread Deepak Sharma
sir, i really want to contribute to your project on SUBTITLES.
i have good coding skill in c and i very well know how to use git.
but i have no idea of fansubbing but i will learn it as soon as possible.
please guide me here, i will be very thankful.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] (no subject)

2014-10-15 Thread Clément Bœsch
On Sat, Oct 11, 2014 at 07:59:05PM +0200, Clément Bœsch wrote:
 To be applied on top of the previous patch.
 

Patchset applied, thank you all for the reviews.

-- 
Clément B.


pgprFpCvlbyXw.pgp
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel