Skip to content

fix: Use parsebin instead of h266parse#342

Open
carlosfg-flu wants to merge 3 commits intomasterfrom
OCP-7503_h266_use_parsebin
Open

fix: Use parsebin instead of h266parse#342
carlosfg-flu wants to merge 3 commits intomasterfrom
OCP-7503_h266_use_parsebin

Conversation

@carlosfg-flu
Copy link
Contributor

This cleaner and allows to use other parsers rather than "h266parse".

Issue: OCP_7503

@carlosfg-flu carlosfg-flu requested a review from cfoch March 20, 2026 13:51
Copy link
Contributor

@rgonzalezfluendo rgonzalezfluendo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can not use parsebin with h266 for all the decoders. Note #312

The correcto solution is using GST_PLUGIN_FEATURE_RANK to promote decoder to test.

@carlosfg-flu carlosfg-flu force-pushed the OCP-7503_h266_use_parsebin branch from fc1b1b5 to a62026e Compare March 20, 2026 15:25
@carlosfg-flu carlosfg-flu force-pushed the OCP-7503_h266_use_parsebin branch from a62026e to 39b147f Compare March 20, 2026 15:33
# GStreamer has, like when "parsebin" set its caps based on the first
# decoder it found
current_feat_rank = self.extra_env.get("GST_PLUGIN_FEATURE_RANK", "")
self.extra_env["GST_PLUGIN_FEATURE_RANK"] = f"{self.decoder_bin}:MAX,{current_feat_rank}"
Copy link
Contributor

@rgonzalezfluendo rgonzalezfluendo Mar 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately self.decoder_bin is can has values as

  • avdec_mpeg2video (where trim is needed)
  • fluaacdec trim=0
  • vulkanvp9dec ! vulkandownload (where vulkanvp9dec or both must have MAX rank)

Where env must be like:

  • avdec_mpeg2video:MAX
  • fluaacdec:MAX
  • vulkanvp9dec:MAX,vulkandownload:MAX

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've stepped back here. I've set GST_PLUGIN_FEATURE_RANK only in FluendoVVCdeCH266Decoder. For simplicity's sake.

Copy link
Contributor

@rgonzalezfluendo rgonzalezfluendo Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHO: Let's do the extra mile to implement a generic solution.

You can assume the decoder is the the first word of the bin string. (We don't need to promote extra elements as vulkandownload)

@carlosfg-flu carlosfg-flu force-pushed the OCP-7503_h266_use_parsebin branch 5 times, most recently from acd1410 to dce8754 Compare March 23, 2026 07:19
Add a "extra_env" argument to run_command() and run_command_with_output()
that allows to extend its environment.

Issue: OCP_7503
Use GST_PLUGIN_FEATURE_RANK for setting the rank of the decoder being
tested to maximun so it avoid issues like in
654b042

Issue: OCP_7503
This cleaner and allows to use other parsers rather than "h266parse".

Issue: OCP_7503
@carlosfg-flu carlosfg-flu force-pushed the OCP-7503_h266_use_parsebin branch from dce8754 to 8d72754 Compare March 23, 2026 09:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants