Runtime issues encountered with FFmpeg's VSR integration with software-based encoders
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 32/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- cpp
- Domínio
- audio-video-rtc
Direção de pesquisa
Start by reproducing the provided FFmpeg commands with the RAISR filter, comparing software-based libx264 and libx265 encoding with and without an OpenCL context. Trace the raisr filter's software-encoder path and the libx265 error, then verify that both encoders complete successfully with output files and no frame-submission errors.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Hello there,
I've built Intel's VSR from the reisr4nas branch of ffmpeg cartwheel, and can likewise confirm that it works as expected; at least in GPU modes where OpenCL is available.
However, the same cannot be said of the out-of-the-box ASM modes with software-based encoding via libx264 and libx265, as documented on the wiki.
These trivial examples simply fail/exit with no output(s) on the console:
With `libx264:
ffmpeg -init_hw_device qsv=hw \
-init_hw_device opencl=cl@hw \
-filter_hw_device cl \
-noautorotate -i "bbb.mp4" \
-vf "raisr=filterfolder=/filters_2x/filters_highres:asm=opencl" \
-c:v libx264 -pix_fmt yuv420p -x264-params "scenecut=0" -maxrate:v 5000k -bufsize:v 1250k \
-keyint_min 120 -g:v 120 -preset:v faster -tune:v fastdecode -bf:v 0 \
-flags +global_header+cgop -f mp4 -y libx264_highres.mp4
With `libx265:
ffmpeg -init_hw_device qsv=hw \
-init_hw_device opencl=cl@hw \
-filter_hw_device cl \
-noautorotate -i "bbb.mp4" \
-vf "raisr=filterfolder=/filters_2x/filters_highres:asm=opencl" \
-c:v libx265 -pix_fmt yuv420p -x265-params "scenecut=0" -maxrate:v 5000k -bufsize:v 1250k \
-keyint_min 120 -g:v 120 -preset:v faster -tune:v fastdecode -bf:v 0 \
-flags +global_header+cgop -f mp4 -y libx265_highres.mp4
Now, if an OpenCL hardware context is provided as with the trivial example below for libx264, and asm=opencl is set, the filter runs/executes as expected:
ffmpeg -init_hw_device qsv=hw \
-init_hw_device opencl=cl@hw \
-filter_hw_device cl \
-noautorotate -i "bbb.mp4" \
-vf "raisr=filterfolder=/filters_2x/filters_highres:asm=opencl" \
-c:v libx264 -pix_fmt yuv420p -x264-params "scenecut=0" -maxrate:v 5000k -bufsize:v 1250k \
-keyint_min 120 -g:v 120 -preset:v faster -tune:v fastdecode -bf:v 0 \
-flags +global_header+cgop -f mp4 -y libx264_highres.mp4
However, attempting the same with libx265 fails with the error:
[libx265 @ 0x556433417c80] Unknown picture type encountered.
[vost#0:0/libx265 @ 0x5564333c5d40] Error submitting video frame to the encoder
[vost#0:0/libx265 @ 0x5564333c5d40] Error encoding a frame: Generic error in an external library
[vost#0:0/libx265 @ 0x5564333c5d40] Task finished with error code: -542398533 (Generic error in an external library)
[vost#0:0/libx265 @ 0x5564333c5d40] Terminating thread with return code -542398533 (Generic error in an external library)
[out#0/mp4 @ 0x5564333fb8c0] video:0KiB audio:135KiB subtitle:0KiB other streams:0KiB global headers:3KiB muxing overhead: 1.210572%
frame= 0 fps=0.0 q=0.0 Lsize= 137KiB time=N/A bitrate=N/A dup=2 drop=0 speed=N/A
x265 [info]: frame I: 1, Avg QP:35.82 kb/s: 923.52
encoded 1 frames in 2.38s (0.42 fps), 923.52 kb/s, Avg QP:35.82
Regardless of the OpenCL device type/context created.
In brief: The filter is virtually unusable with the software-based libx264 and libx265 encoders, as-is, out of the box.
- Linguagem predominante
- C++
- Estrelas
- 93
- Forks
- 14
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de OpenVisualCloud/Video-Super-Resolution-Library
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
OpenVisualCloud/Video-Super-Resolution-Library#24 · 3 comentários ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
OpenVisualCloud/Video-Super-Resolution-Library#23 · 2 comentários ·
-
Docker build failsAberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
OpenVisualCloud/Video-Super-Resolution-Library#4 · 3 comentários · 1 reação ·
-
Pkg-config fileAberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
OpenVisualCloud/Video-Super-Resolution-Library#2 · 2 comentários · 1 reação ·
Todas as issues de OpenVisualCloud/Video-Super-Resolution-Library
Issues semelhantes
-
Page request: clang-replAbertahelp wanted new command
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
tldr-pages/tldr#25111 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 1 dia
-
bug test
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
OpenAssetIO/OpenAssetIO#1527 ·
-
iOS Fabric pointer-handler reset leaves the next lone touch non-primaryTalvez já em andamento @alleneubank assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
react/react-native#59919 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
ROCm/rocm-systems#15475 ·
Mantenedores costumam responder em até 2 dias