Add decoder_fusion module without hooking it up (#515)#515
Open
terrelln wants to merge 3 commits intofacebook:devfrom
Open
Add decoder_fusion module without hooking it up (#515)#515terrelln wants to merge 3 commits intofacebook:devfrom
terrelln wants to merge 3 commits intofacebook:devfrom
Conversation
Differential Revision: D96393907
Differential Revision: D96396998
terrelln
added a commit
to terrelln/openzl
that referenced
this pull request
Mar 13, 2026
Summary:
This diff adds a new `decoder_fusion.[hc]` module to OpenZL without hooking it up the the decoding process, so in itself is a no-op.
The key APIs are:
1. `ZL_DecoderFusionDesc` describes the decoder fusion with two parts:
a. The `ZL_DecoderFusionPattern` describes the codec pattern to search for
b. The `ZL_DecoderFusionFn` implements the fusion given the `ZL_DecoderFusion* state`.
2. An empty static registry of built-in decoder fusions in `decoder_registry.c`.
3. `ZL_DecoderFusionState_registerFusion()` allows registering decoder fusions at runtime for unit testing.
4. `ZL_DecoderFusionState_maybeFuse() ` efficiently determines whether fusion can be applied given the parent codec during chunk header decoding in `fillStoredStreams()`.
Differential Revision: D96491175
09665d4 to
16ccb40
Compare
terrelln
added a commit
to terrelln/openzl
that referenced
this pull request
Mar 13, 2026
Summary:
This diff adds a new `decoder_fusion.[hc]` module to OpenZL without hooking it up the the decoding process, so in itself is a no-op.
The key APIs are:
1. `ZL_DecoderFusionDesc` describes the decoder fusion with two parts:
a. The `ZL_DecoderFusionPattern` describes the codec pattern to search for
b. The `ZL_DecoderFusionFn` implements the fusion given the `ZL_DecoderFusion* state`.
2. An empty static registry of built-in decoder fusions in `decoder_registry.c`.
3. `ZL_DecoderFusionState_registerFusion()` allows registering decoder fusions at runtime for unit testing.
4. `ZL_DecoderFusionState_maybeFuse() ` efficiently determines whether fusion can be applied given the parent codec during chunk header decoding in `fillStoredStreams()`.
Differential Revision: D96491175
terrelln
added a commit
to terrelln/openzl
that referenced
this pull request
Mar 13, 2026
Summary:
This diff adds a new `decoder_fusion.[hc]` module to OpenZL without hooking it up the the decoding process, so in itself is a no-op.
The key APIs are:
1. `ZL_DecoderFusionDesc` describes the decoder fusion with two parts:
a. The `ZL_DecoderFusionPattern` describes the codec pattern to search for
b. The `ZL_DecoderFusionFn` implements the fusion given the `ZL_DecoderFusion* state`.
2. An empty static registry of built-in decoder fusions in `decoder_registry.c`.
3. `ZL_DecoderFusionState_registerFusion()` allows registering decoder fusions at runtime for unit testing.
4. `ZL_DecoderFusionState_maybeFuse() ` efficiently determines whether fusion can be applied given the parent codec during chunk header decoding in `fillStoredStreams()`.
Differential Revision: D96491175
16ccb40 to
c137796
Compare
terrelln
added a commit
to terrelln/openzl
that referenced
this pull request
Mar 13, 2026
Summary: Pull Request resolved: facebook#515 This diff adds a new `decoder_fusion.[hc]` module to OpenZL without hooking it up the the decoding process, so in itself is a no-op. The key APIs are: 1. `ZL_DecoderFusionDesc` describes the decoder fusion with two parts: a. The `ZL_DecoderFusionPattern` describes the codec pattern to search for b. The `ZL_DecoderFusionFn` implements the fusion given the `ZL_DecoderFusion* state`. 2. An empty static registry of built-in decoder fusions in `decoder_registry.c`. 3. `ZL_DecoderFusionState_registerFusion()` allows registering decoder fusions at runtime for unit testing. 4. `ZL_DecoderFusionState_maybeFuse() ` efficiently determines whether fusion can be applied given the parent codec during chunk header decoding in `fillStoredStreams()`. Differential Revision: D96491175
terrelln
added a commit
to terrelln/openzl
that referenced
this pull request
Mar 13, 2026
Summary:
This diff adds a new `decoder_fusion.[hc]` module to OpenZL without hooking it up the the decoding process, so in itself is a no-op.
The key APIs are:
1. `ZL_DecoderFusionDesc` describes the decoder fusion with two parts:
a. The `ZL_DecoderFusionPattern` describes the codec pattern to search for
b. The `ZL_DecoderFusionFn` implements the fusion given the `ZL_DecoderFusion* state`.
2. An empty static registry of built-in decoder fusions in `decoder_registry.c`.
3. `ZL_DecoderFusionState_registerFusion()` allows registering decoder fusions at runtime for unit testing.
4. `ZL_DecoderFusionState_maybeFuse() ` efficiently determines whether fusion can be applied given the parent codec during chunk header decoding in `fillStoredStreams()`.
Differential Revision: D96491175
e2c93f4 to
7349584
Compare
terrelln
added a commit
to terrelln/openzl
that referenced
this pull request
Mar 13, 2026
Summary:
This diff adds a new `decoder_fusion.[hc]` module to OpenZL without hooking it up the the decoding process, so in itself is a no-op.
The key APIs are:
1. `ZL_DecoderFusionDesc` describes the decoder fusion with two parts:
a. The `ZL_DecoderFusionPattern` describes the codec pattern to search for
b. The `ZL_DecoderFusionFn` implements the fusion given the `ZL_DecoderFusion* state`.
2. An empty static registry of built-in decoder fusions in `decoder_registry.c`.
3. `ZL_DecoderFusionState_registerFusion()` allows registering decoder fusions at runtime for unit testing.
4. `ZL_DecoderFusionState_maybeFuse() ` efficiently determines whether fusion can be applied given the parent codec during chunk header decoding in `fillStoredStreams()`.
Differential Revision: D96491175
terrelln
added a commit
to terrelln/openzl
that referenced
this pull request
Mar 13, 2026
Summary:
This diff adds a new `decoder_fusion.[hc]` module to OpenZL without hooking it up the the decoding process, so in itself is a no-op.
The key APIs are:
1. `ZL_DecoderFusionDesc` describes the decoder fusion with two parts:
a. The `ZL_DecoderFusionPattern` describes the codec pattern to search for
b. The `ZL_DecoderFusionFn` implements the fusion given the `ZL_DecoderFusion* state`.
2. An empty static registry of built-in decoder fusions in `decoder_registry.c`.
3. `ZL_DecoderFusionState_registerFusion()` allows registering decoder fusions at runtime for unit testing.
4. `ZL_DecoderFusionState_maybeFuse() ` efficiently determines whether fusion can be applied given the parent codec during chunk header decoding in `fillStoredStreams()`.
Differential Revision: D96491175
Summary: Pull Request resolved: facebook#515 This diff adds a new `decoder_fusion.[hc]` module to OpenZL without hooking it up the the decoding process, so in itself is a no-op. The key APIs are: 1. `ZL_DecoderFusionDesc` describes the decoder fusion with two parts: a. The `ZL_DecoderFusionPattern` describes the codec pattern to search for b. The `ZL_DecoderFusionFn` implements the fusion given the `ZL_DecoderFusion* state`. 2. An empty static registry of built-in decoder fusions in `decoder_registry.c`. 3. `ZL_DecoderFusionState_registerFusion()` allows registering decoder fusions at runtime for unit testing. 4. `ZL_DecoderFusionState_maybeFuse() ` efficiently determines whether fusion can be applied given the parent codec during chunk header decoding in `fillStoredStreams()`. Differential Revision: D96491175
7349584 to
c9a3719
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
This diff adds a new
decoder_fusion.[hc]module to OpenZL without hooking it up the the decoding process, so in itself is a no-op.The key APIs are:
ZL_DecoderFusionDescdescribes the decoder fusion with two parts:a. The
ZL_DecoderFusionPatterndescribes the codec pattern to search forb. The
ZL_DecoderFusionFnimplements the fusion given theZL_DecoderFusion* state.decoder_registry.c.ZL_DecoderFusionState_registerFusion()allows registering decoder fusions at runtime for unit testing.ZL_DecoderFusionState_maybeFuse()efficiently determines whether fusion can be applied given the parent codec during chunk header decoding infillStoredStreams().Differential Revision: D96491175