fix: Use parsebin instead of h266parse - #342
Conversation
rgonzalezfluendo
left a comment
There was a problem hiding this comment.
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.
fc1b1b5 to
a62026e
Compare
a62026e to
39b147f
Compare
| # 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}" |
There was a problem hiding this comment.
Unfortunately self.decoder_bin is can has values as
avdec_mpeg2video(where trim is needed)fluaacdec trim=0vulkanvp9dec ! vulkandownload(where vulkanvp9dec or both must have MAX rank)
Where env must be like:
avdec_mpeg2video:MAXfluaacdec:MAXvulkanvp9dec:MAX,vulkandownload:MAX
There was a problem hiding this comment.
I've stepped back here. I've set GST_PLUGIN_FEATURE_RANK only in FluendoVVCdeCH266Decoder. For simplicity's sake.
There was a problem hiding this comment.
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)
acd1410 to
dce8754
Compare
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
dce8754 to
8d72754
Compare
|
I drop this PR in favor of #345 |
|
|
This cleaner and allows to use other parsers rather than "h266parse".
Issue: OCP_7503