Signed-off-by: Connor Worley
---
libavutil/Makefile | 2 +
libavutil/hashtable.c | 192
libavutil/hashtable.h | 91 +
libavutil/tests/hashtable.c | 108
4 files changed, 393 insertions(+)
create
Offers a modest performance gain due to the switch from naive linear
probling to robin hood.
Signed-off-by: Connor Worley
---
libavcodec/dxvenc.c | 119
1 file changed, 32 insertions(+), 87 deletions(-)
diff --git a/libavcodec/dxvenc.c b/libavcodec
Signed-off-by: Connor Worley
---
libavutil/Makefile | 2 +
libavutil/hashtable.c | 192
libavutil/hashtable.h | 91 +
libavutil/tests/hashtable.c | 110 +
4 files changed, 395 insertions(+)
create
Offers a modest performance gain due to the switch from naive linear
probling to robin hood.
Signed-off-by: Connor Worley
---
libavcodec/dxvenc.c | 119
1 file changed, 32 insertions(+), 87 deletions(-)
diff --git a/libavcodec/dxvenc.c b/libavcodec
Signed-off-by: Connor Worley
---
libavutil/Makefile | 2 +
libavutil/hashtable.c | 192
libavutil/hashtable.h | 91 +
libavutil/tests/hashtable.c | 110 +
4 files changed, 395 insertions(+)
create
Offers a modest performance gain due to the switch from naive linear
probling to robin hood.
Signed-off-by: Connor Worley
---
libavcodec/dxvenc.c | 121
1 file changed, 33 insertions(+), 88 deletions(-)
diff --git a/libavcodec/dxvenc.c b/libavcodec
This change decouples the frame dimensions from avctx, which is useful
for DXV decoding, and fixes incorrect behavior in the existing
implementation.
Tested with `make fate THREADS=7` and
`make fate THREADS=7 THREAD_TYPE=slice`.
Signed-off-by: Connor Worley
---
libavcodec/dds.c
l
contains a fix.
--
Connor Worley
___
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".
This change decouples the frame dimensions from avctx, which is useful
for DXV decoding, and fixes incorrect behavior in the existing
implementation.
Tested with `make fate THREADS=7` and
`make fate THREADS=7 THREAD_TYPE=slice`.
Signed-off-by: Connor Worley
---
libavcodec/dds.c
Signed-off-by: Connor Worley
---
libavutil/Makefile | 2 +
libavutil/hashtable.c | 192
libavutil/hashtable.h | 40
libavutil/tests/hashtable.c | 108
4 files changed, 342 insertions(+)
create mode 100644
Offers a modest performance gain due to the switch from naive linear
probling to robin hood.
Signed-off-by: Connor Worley
---
libavcodec/dxvenc.c | 121
1 file changed, 33 insertions(+), 88 deletions(-)
diff --git a/libavcodec/dxvenc.c b/libavcodec
Signed-off-by: Connor Worley
---
libavutil/Makefile | 2 +
libavutil/hashtable.c | 192
libavutil/hashtable.h | 40
libavutil/tests/hashtable.c | 110 +
4 files changed, 344 insertions(+)
create mode
Offers a modest performance gain due to the switch from naive linear
probling to robin hood.
Signed-off-by: Connor Worley
---
libavcodec/dxvenc.c | 121
1 file changed, 33 insertions(+), 88 deletions(-)
diff --git a/libavcodec/dxvenc.c b/libavcodec
Any objections to this patchset?
On Sat, Feb 24, 2024 at 12:06 PM Connor Worley
wrote:
> Signed-off-by: Connor Worley
> ---
> libavutil/Makefile | 2 +
> libavutil/hashtable.c | 192
> libavutil/hashtabl
Signed-off-by: Connor Worley
---
Changelog | 1 +
configure | 1 +
doc/general_contents.texi | 3 +-
libavcodec/Makefile | 1 +
libavcodec/allcodecs.c| 1 +
libavcodec/dxvenc.c | 362 ++
libavcodec
Signed-off-by: Connor Worley
---
Changelog | 1 +
configure | 1 +
doc/general_contents.texi | 3 +-
libavcodec/Makefile | 1 +
libavcodec/allcodecs.c| 1 +
libavcodec/dxvenc.c | 362 ++
libavcodec
On 1/17/24 08:55, Connor Worley wrote:
Signed-off-by: Connor Worley
---
Changelog | 1 +
configure | 1 +
doc/general_contents.texi | 3 +-
libavcodec/Makefile | 1 +
libavcodec/allcodecs.c | 1 +
libavcodec/dxvenc.c | 362
Signed-off-by: Connor Worley
---
Changelog | 1 +
configure | 1 +
doc/general_contents.texi | 3 +-
libavcodec/Makefile | 1 +
libavcodec/allcodecs.c| 1 +
libavcodec/dxvenc.c | 358 ++
libavcodec
Signed-off-by: Connor Worley
---
Changelog | 1 +
configure | 1 +
doc/general_contents.texi | 3 +-
libavcodec/Makefile | 1 +
libavcodec/allcodecs.c| 1 +
libavcodec/dxvenc.c | 358 ++
libavcodec
coder;
>> diff --git a/libavcodec/dxvenc.c b/libavcodec/dxvenc.c
>> new file mode 100644
>> index 00..33080fa1c9
>> --- /dev/null
>> +++ b/libavcodec/dxvenc.c
>> @@ -0,0 +1,358 @@
>> +/*
>> + * Resolume DXV encoder
>> + * Copyright (C) 20
Signed-off-by: Connor Worley
---
Changelog | 1 +
configure | 1 +
doc/general_contents.texi | 3 +-
libavcodec/Makefile | 1 +
libavcodec/allcodecs.c| 1 +
libavcodec/dxvenc.c | 361 ++
libavcodec
I've tested the latest patch with both the lavc decoder and Resolume's
proprietary software, and the encoded outputs are working for me.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscrib
Adds tests to cover decoding YCoCg DXV3 formats with and without alpha
Samples:
https://connorworley.com/fate-suite/dxv/dxv3-hqna.mov
https://connorworley.com/fate-suite/dxv/dxv3-hqwa.mov
Signed-off-by: Connor Worley
---
tests/fate/video.mak | 6 ++
tests/ref/fate/dxv3-ycg6 | 6
Signed-off-by: Connor Worley
---
tests/fate/video.mak| 7 +++
tests/ref/fate/dxv3enc-dxt1 | 6 ++
2 files changed, 13 insertions(+)
create mode 100644 tests/ref/fate/dxv3enc-dxt1
diff --git a/tests/fate/video.mak b/tests/fate/video.mak
index 4e7a77537f..fbc8a1a682 100644
--- a
Adds tests to cover decoding YCoCg DXV3 formats with and without alpha
Samples:
https://connorworley.com/fate-suite/dxv/dxv3-hqna.mov
https://connorworley.com/fate-suite/dxv/dxv3-hqwa.mov
Signed-off-by: Connor Worley
---
tests/fate/video.mak | 6 ++
tests/ref/fate/dxv3-ycg6 | 6
_BUG;
> --
> 2.34.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 su
tx, AV_LOG_ERROR, "Could not initialize CRC
> table.\n");
> > return AVERROR_BUG;
>
> Will apply this patchset tomorrow unless there are objections.
>
> - Andreas
>
> ___
> ffmpeg-devel mailing list
> ff
Signed-off-by: Connor Worley
---
libavcodec/dxv.c| 9 +
libavcodec/dxv.h| 34 ++
libavcodec/dxvenc.c | 7 ++-
3 files changed, 41 insertions(+), 9 deletions(-)
create mode 100644 libavcodec/dxv.h
diff --git a/libavcodec/dxv.c b/libavcodec
Signed-off-by: Connor Worley
---
libavcodec/dxv.c | 289 ---
1 file changed, 75 insertions(+), 214 deletions(-)
diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c
index a2ae070984..cae5d8a92f 100644
--- a/libavcodec/dxv.c
+++ b/libavcodec/dxv.c
Signed-off-by: Connor Worley
---
libavcodec/dxv.c | 53
1 file changed, 9 insertions(+), 44 deletions(-)
diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c
index cae5d8a92f..b29adf8ad9 100644
--- a/libavcodec/dxv.c
+++ b/libavcodec/dxv.c
@@ -39,20
I'd like to get this series merged before doing any further DXV work. Is
anyone able to help with uploading the linked samples?
On Wed, Jan 24, 2024 at 11:45 AM Connor Worley
wrote:
> Adds tests to cover decoding YCoCg DXV3 formats with and without alpha
>
> Samples:
> https:/
I could generate smaller samples if preferred. I opted to match the
existing NQ ones.
On Mon, Jan 29, 2024 at 1:56 AM Andreas Rheinhardt <
andreas.rheinha...@outlook.com> wrote:
> Connor Worley:
> > Adds tests to cover decoding YCoCg DXV3 formats with and without alpha
> >
&
I'm not sure how I would write it in a way that isn't a repetition of the
new definition of ctx->tex_size
On Sun, Jan 28, 2024 at 11:52 PM Andreas Rheinhardt <
andreas.rheinha...@outlook.com> wrote:
> Connor Worley:
> > Signed-off-by: Connor Worley
> &
This bug causes the DXT5 decoder to produce incorrect block texture data.
After the fix, textures are visually correct and match data decoded by
Resolume Alley (extracted with Nvida Nsight for comparison). Current FATE DXT5
samples did not cover this case.
Signed-off-by: Connor Worley
Samples have been added, and this series now passes FATE
--
Connor Worley
___
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
ure what the process for removing samples from fate-suite is.
--
Connor Worley
___
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...@ffm
Each sample covers a different texture format, but it may be possible to
generate smaller versions for each case with the same or better coverage.
--
Connor Worley
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman
OK, attached are some significantly smaller HQ samples that produce the
same coverage.
5b11c393dda223b5dd198ad2f2576fe2 fate-suite/dxv/dxv3-hqna.mov
3af30eaba2b6ec68a0f5b2c136f4dab6 fate-suite/dxv/dxv3-hqwa.mov
--
Connor Worley
dxv3-hqwa.mov
Description: QuickTime movie
dxv3-hqna.mov
Signed-off-by: Connor Worley
---
tests/fate/video.mak| 7 +++
tests/ref/fate/dxv3enc-dxt1 | 6 ++
2 files changed, 13 insertions(+)
create mode 100644 tests/ref/fate/dxv3enc-dxt1
diff --git a/tests/fate/video.mak b/tests/fate/video.mak
index 4e7a77537f..fbc8a1a682 100644
--- a
Signed-off-by: Connor Worley
---
tests/fate/video.mak | 6 ++
tests/ref/fate/dxv3-ycg6 | 6 ++
tests/ref/fate/dxv3-yg10 | 6 ++
3 files changed, 18 insertions(+)
create mode 100644 tests/ref/fate/dxv3-ycg6
create mode 100644 tests/ref/fate/dxv3-yg10
diff --git a/tests/fate
Got some confirmation that this patch fixes
https://trac.ffmpeg.org/ticket/10264
--
Connor Worley
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg
This function should convert premultiplied alpha to straight, but does the
opposite.
Signed-off-by: Connor Worley
---
libavcodec/texturedsp.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavcodec/texturedsp.c b/libavcodec/texturedsp.c
index 5fb79937da..1b8237e9f7
t compared to git-master.
Signed-off-by: Connor Worley
---
libavcodec/dxv.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c
index 5923811b29..1e6791e63f 100644
--- a/libavcodec/dxv.c
+++ b/libavcodec/dxv.c
@@ -1074,7 +1074,8 @@ static int
For future use in lavc/dxvenc.
Signed-off-by: Connor Worley
---
libavcodec/texturedsp.h| 1 +
libavcodec/texturedspenc.c | 41 ++
2 files changed, 42 insertions(+)
diff --git a/libavcodec/texturedsp.h b/libavcodec/texturedsp.h
index 86c8eea02d
This function should convert premultiplied alpha to straight, but does the
opposite.
Signed-off-by: Connor Worley
---
libavcodec/texturedsp.c | 9 ++---
tests/ref/fate/dds-dxt2 | 2 +-
tests/ref/fate/dds-dxt4 | 2 +-
3 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/libavcodec
t compared to git-master.
Signed-off-by: Connor Worley
---
libavcodec/dxv.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c
index 5923811b29..1e6791e63f 100644
--- a/libavcodec/dxv.c
+++ b/libavcodec/dxv.c
@@ -1074,7 +1074,8 @@ static int
due to being premultiplied twice.
The color in patch.png is true to sample.png.
https://connorworley.com/sample.png
https://connorworley.com/sample.dds
https://connorworley.com/master.png
https://connorworley.com/patch.png
--
Connor Worley
___
ffmpeg
Any objections to merging this series?
--
Connor Worley
___
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
Samples have been added to fate-suite and this series is ready to be merged.
--
Connor Worley
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg
Signed-off-by: Connor Worley
---
libavutil/Makefile | 2 +
libavutil/hashtable.c | 172
libavutil/hashtable.h | 62 +
libavutil/tests/hashtable.c | 104 ++
4 files changed, 340 insertions(+)
create mode
Offers a modest performance gain due to the switch from naive linear
probling to robin hood.
Signed-off-by: Connor Worley
---
libavcodec/dxvenc.c | 121 +---
1 file changed, 35 insertions(+), 86 deletions(-)
diff --git a/libavcodec/dxvenc.c b/libavcodec
Given that Paul is no longer a maintainer, can someone else please take a
look?
--
Connor Worley
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg
Can confirm this fixes the build on my Mac.
--
Connor Worley
___
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
>
> How much would one gain if the hash function knew that key_size and
> val_size are four?
>
That yields a nice 10-20% speedup on my machine. Are you thinking of macros
to parametrize key/val size, or possibly optimized versions for common
sizes?
--
C
On Mon, Feb 5, 2024 at 12:06 PM Andreas Rheinhardt <
andreas.rheinha...@outlook.com> wrote:
> Connor Worley:
> >>
> >> How much would one gain if the hash function knew that key_size and
> >> val_size are four?
> >>
> >
> > That yields
On Mon, Feb 5, 2024 at 3:58 AM Andreas Rheinhardt <
andreas.rheinha...@outlook.com> wrote:
> Connor Worley:
> > +memcpy(ctx->tmp_key, ctx->set_key, ctx->key_size);
> > +memcpy(ctx->tmp_val, ctx->set_val, ctx->val_size);
>
>
NVM, I see what you mean by pointerswaps.
On Mon, Feb 5, 2024 at 9:00 PM Connor Worley
wrote:
> On Mon, Feb 5, 2024 at 3:58 AM Andreas Rheinhardt <
> andreas.rheinha...@outlook.com> wrote:
>
>> Connor Worley:
>> > +memcpy(ctx->tmp
Signed-off-by: Connor Worley
---
libavutil/Makefile | 2 +
libavutil/hashtable.c | 183
libavutil/hashtable.h | 47 +
libavutil/tests/hashtable.c | 108 +
4 files changed, 340 insertions(+)
create mode
Offers a modest performance gain due to the switch from naive linear
probling to robin hood.
Signed-off-by: Connor Worley
---
libavcodec/dxvenc.c | 121
1 file changed, 33 insertions(+), 88 deletions(-)
diff --git a/libavcodec/dxvenc.c b/libavcodec
This function should convert premultiplied alpha to straight, but does the
opposite.
Signed-off-by: Connor Worley
---
libavcodec/texturedsp.c | 9 ++---
tests/ref/fate/dds-dxt2 | 2 +-
tests/ref/fate/dds-dxt4 | 2 +-
3 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/libavcodec
t compared to git-master.
Signed-off-by: Connor Worley
---
libavcodec/dxv.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c
index 5923811b29..1e6791e63f 100644
--- a/libavcodec/dxv.c
+++ b/libavcodec/dxv.c
@@ -1074,7 +1074,8 @@ static int
Signed-off-by: Connor Worley
---
libavcodec/dxvenc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/dxvenc.c b/libavcodec/dxvenc.c
index ebc48aace3..b92d99981c 100644
--- a/libavcodec/dxvenc.c
+++ b/libavcodec/dxvenc.c
@@ -234,7 +234,7 @@ static av_cold int
Prevents access to uninitialized parts of ctx->tex_data, which were
causing FATE tets to fail under valgrind with --malloc-fill set.
Signed-off-by: Connor Worley
---
libavcodec/dxvenc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/dxvenc.c b/libavcodec/dxven
Prevents access to uninitialized parts of ctx->tex_data, which were
causing FATE tets to fail under valgrind with --malloc-fill set.
Signed-off-by: Connor Worley
---
libavcodec/dxvenc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/dxvenc.c b/libavcodec/dxven
s
the uninitialized reads causing current FATE tests to fail and produces
smaller encoded outputs.
Signed-off-by: Connor Worley
---
libavcodec/dxv.c| 6 +++---
libavcodec/dxvenc.c | 13 ++---
tests/ref/fate/dxv3enc-dxt1 | 2 +-
3 files changed, 14 insertions(
y the same.
In other words, the extra padding gained by 16x16 alignment over 4x4
alignment has no impact on decoded video.
Signed-off-by: Connor Worley
---
libavcodec/dxv.c| 6 +++---
libavcodec/dxvenc.c | 14 +++---
tests/ref/fate/dxv3enc-dxt1 | 2 +-
3 files changed
On Wed, Feb 7, 2024 at 2:16 AM Andreas Rheinhardt <
andreas.rheinha...@outlook.com> wrote:
> Connor Worley:
> > +#define ENTRY_PSL(entry) (entry)
> > +#define ENTRY_OCC(entry) (ENTRY_PSL(entry) + sizeof(size_t))
> > +#define ENTRY_KEY(entry) (ENTRY_OCC(entry) + 4)
&
Signed-off-by: Connor Worley
---
libavcodec/dxv.c| 9 +
libavcodec/dxv.h| 34 ++
libavcodec/dxvenc.c | 7 ++-
3 files changed, 41 insertions(+), 9 deletions(-)
create mode 100644 libavcodec/dxv.h
diff --git a/libavcodec/dxv.c b/libavcodec
Signed-off-by: Connor Worley
---
libavcodec/dxv.c | 289 ---
1 file changed, 75 insertions(+), 214 deletions(-)
diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c
index 16c34fff3b..cd78de3e0d 100644
--- a/libavcodec/dxv.c
+++ b/libavcodec/dxv.c
Signed-off-by: Connor Worley
---
libavcodec/dxv.c | 53
1 file changed, 9 insertions(+), 44 deletions(-)
diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c
index cd78de3e0d..82c493f1de 100644
--- a/libavcodec/dxv.c
+++ b/libavcodec/dxv.c
@@ -39,20
://connorworley.com/dxv2-dxt5.mov
Existing FATE tests for DXV2 files do not cover this change.
Signed-off-by: Connor Worley
---
libavcodec/dxv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c
index 82c493f1de..2eca14c129 100644
--- a
On Sun, Feb 11, 2024 at 1:03 AM Andreas Rheinhardt <
andreas.rheinha...@outlook.com> wrote:
> Connor Worley:
> > -{
> > -int w_block = avctx->coded_width / ctx->texture_block_w;
> > -int h_block = avctx->coded_height / ctx->texture_bloc
"or less than" is wrong -- rather tex_step seems to have been larger than
necessary in some cases. With the minimal tex_step in those cases, the new
tex_size should be equal to the LHS.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.
On Sun, Feb 11, 2024 at 9:41 AM James Almer wrote:
> On 2/11/2024 9:41 AM, Connor Worley wrote:
> > "or less than" is wrong -- rather tex_step seems to have been larger than
> > necessary in some cases. With the minimal tex_step in those cases, the
> new
> > t
74 matches
Mail list logo