Skip to content

Add decoder_fusion module without hooking it up (#515)#515

Open
terrelln wants to merge 3 commits intofacebook:devfrom
terrelln:export-D96491175
Open

Add decoder_fusion module without hooking it up (#515)#515
terrelln wants to merge 3 commits intofacebook:devfrom
terrelln:export-D96491175

Conversation

@terrelln
Copy link
Contributor

@terrelln terrelln commented 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

Differential Revision: D96393907
Differential Revision: D96396998
@meta-codesync
Copy link

meta-codesync bot commented Mar 13, 2026

@terrelln has exported this pull request. If you are a Meta employee, you can view the originating Diff in D96491175.

@meta-codesync meta-codesync bot changed the title Add decoder_fusion module without hooking it up Add decoder_fusion module without hooking it up (#515) Mar 13, 2026
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
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:
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
@terrelln terrelln force-pushed the export-D96491175 branch 2 times, most recently from e2c93f4 to 7349584 Compare March 13, 2026 21:19
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant