Opened 7 weeks ago
Closed 3 hours ago
#11174 closed task (duplicate)
scale_npp can't parse ref_* like ref_w or ref_h
Reported by: | mytseng | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | ffmpeg |
Version: | git-master | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
because #10795 scale2ref is deprecated, scale2ref_npp also can't use, I change use scale_npp to replace scale2ref_npp , but scale2ref_npp can't parse any ref_* like ref_w or ref_h
How to reproduce:
ffmpeg -y -init_hw_device cuda=cuda -filter_hw_device cuda -hwaccel cuvid -i /home/mytseng/nginx_conf/20240903.mp4 -i /home/mytseng/nginx_conf/TWM.png -filter_complex "[1:v]format=yuva420p,hwupload[o];[v:0]scale_npp=format=yuv420p[m];[o][m]scale_npp=w=rw/5:h=ow/dar[foreg];[m][foreg]overlay_cuda=x=20:y=20" -c:v h264_nvenc -b:v 5M /home/mytseng/nginx_conf/testfile666.mp4 ffmpeg version N-116752-g507c2a5774 Copyright (c) 2000-2024 the FFmpeg developers built with gcc 12 (Ubuntu 12.2.0-3ubuntu1) configuration: --enable-nonfree --enable-cuda-nvcc --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --disable-static --enable-shared --enable-openssl --enable-nvenc --enable-cuvid --enable-cuda --enable-decoder=png --enable-encoder=png --enable-libx264 --enable-libfdk-aac --enable-gpl libavutil 59. 34.100 / 59. 34.100 libavcodec 61. 11.100 / 61. 11.100 libavformat 61. 5.101 / 61. 5.101 libavdevice 61. 2.100 / 61. 2.100 libavfilter 10. 2.102 / 10. 2.102 libswscale 8. 2.100 / 8. 2.100 libswresample 5. 2.100 / 5. 2.100 libpostproc 58. 2.100 / 58. 2.100 Splitting the commandline. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'cuda=cuda'. Reading option '-filter_hw_device' ... matched as option 'filter_hw_device' (set hardware device used when filtering) with argument 'cuda'. Reading option '-hwaccel' ... matched as option 'hwaccel' (use HW accelerated decoding) with argument 'cuvid'. Reading option '-i' ... matched as input url with argument '/home/mytseng/nginx_conf/20240903.mp4'. Reading option '-i' ... matched as input url with argument '/home/mytseng/nginx_conf/TWM.png'. Reading option '-filter_complex' ... matched as option 'filter_complex' (create a complex filtergraph) with argument '[1:v]format=yuva420p,hwupload[o];[v:0]scale_npp=format=yuv420p[m];[o][m]scale_npp=w=rw:h=ow/dar[foreg];[m][foreg]overlay_cuda=x=20:y=20'. Reading option '-c:v' ... matched as option 'c' (select encoder/decoder ('copy' to copy stream without reencoding)) with argument 'h264_nvenc'. Reading option '-b:v' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '5M'. Reading option '/home/mytseng/nginx_conf/testfile666.mp4' ... matched as output url. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Finished splitting the commandline. Parsing a group of options: global . Applying option y (overwrite output files) with argument 1. Applying option init_hw_device (initialise hardware device) with argument cuda=cuda. [AVHWDeviceContext @ 0x5633fc616540] Loaded lib: libcuda.so.1 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuInit [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDriverGetVersion [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDeviceGetCount [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDeviceGet [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDeviceGetAttribute [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDeviceGetName [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDeviceComputeCapability [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuCtxCreate_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuCtxGetCurrent [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuCtxSetLimit [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuCtxPushCurrent_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuCtxPopCurrent_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuCtxDestroy_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMemAlloc_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMemAllocPitch_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMemAllocManaged [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMemsetD8Async [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMemFree_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMemcpy [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMemcpyAsync [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMemcpy2D_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMemcpy2DAsync_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMemcpyHtoD_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMemcpyHtoDAsync_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMemcpyDtoH_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMemcpyDtoHAsync_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMemcpyDtoD_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMemcpyDtoDAsync_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuGetErrorName [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuGetErrorString [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuCtxGetDevice [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDevicePrimaryCtxRetain [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDevicePrimaryCtxRelease [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDevicePrimaryCtxSetFlags [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDevicePrimaryCtxGetState [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDevicePrimaryCtxReset [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuStreamCreate [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuStreamQuery [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuStreamSynchronize [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuStreamDestroy_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuStreamAddCallback [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuStreamWaitEvent [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuEventCreate [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuEventDestroy_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuEventSynchronize [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuEventQuery [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuEventRecord [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuLaunchKernel [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuLinkCreate [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuLinkAddData [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuLinkComplete [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuLinkDestroy [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuModuleLoadData [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuModuleUnload [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuModuleGetFunction [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuModuleGetGlobal [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuTexObjectCreate [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuTexObjectDestroy [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuGLGetDevices_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuGraphicsGLRegisterImage [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuGraphicsUnregisterResource [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuGraphicsMapResources [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuGraphicsUnmapResources [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuGraphicsSubResourceGetMappedArray [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuGraphicsResourceGetMappedPointer_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDeviceGetUuid [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDeviceGetUuid_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDeviceGetLuid [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDeviceGetByPCIBusId [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDeviceGetPCIBusId [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuImportExternalMemory [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDestroyExternalMemory [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuExternalMemoryGetMappedBuffer [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuExternalMemoryGetMappedMipmappedArray [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMipmappedArrayGetLevel [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuMipmappedArrayDestroy [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuImportExternalSemaphore [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuDestroyExternalSemaphore [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuSignalExternalSemaphoresAsync [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuWaitExternalSemaphoresAsync [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuArrayCreate_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuArray3DCreate_v2 [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuArrayDestroy [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuEGLStreamProducerConnect [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuEGLStreamProducerDisconnect [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuEGLStreamConsumerDisconnect [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuEGLStreamProducerPresentFrame [AVHWDeviceContext @ 0x5633fc616540] Loaded sym: cuEGLStreamProducerReturnFrame Applying option filter_hw_device (set hardware device used when filtering) with argument cuda. Applying option filter_complex (create a complex filtergraph) with argument [1:v]format=yuva420p,hwupload[o];[v:0]scale_npp=format=yuv420p[m];[o][m]scale_npp=w=rw:h=ow/dar[foreg];[m][foreg]overlay_cuda=x=20:y=20. [AVFilterGraph @ 0x5633fcf31780] Setting 'pix_fmts' to value 'yuva420p' [AVFilterGraph @ 0x5633fcf31780] Setting 'format' to value 'yuv420p' [AVFilterGraph @ 0x5633fcf31780] Setting 'w' to value 'rw' [AVFilterGraph @ 0x5633fcf31780] Setting 'h' to value 'ow/dar' [AVFilterGraph @ 0x5633fcf31780] Setting 'x' to value '20' [AVFilterGraph @ 0x5633fcf31780] Setting 'y' to value '20' [Parsed_scale_npp_3 @ 0x5633fcf34bc0] [Eval @ 0x7ffea76f16f0] Undefined constant or missing '(' in 'rw' [Parsed_scale_npp_3 @ 0x5633fcf34bc0] Cannot parse expression for width: 'rw' [AVFilterGraph @ 0x5633fcf31780] Error initializing filters Failed to set value '[1:v]format=yuva420p,hwupload[o];[v:0]scale_npp=format=yuv420p[m];[o][m]scale_npp=w=rw:h=ow/dar[foreg];[m][foreg]overlay_cuda=x=20:y=20' for option 'filter_complex': Invalid argument Error parsing global options: Invalid argument
Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.
Note:
See TracTickets
for help on using tickets.
it seems i have the same issue:
https://trac.ffmpeg.org/ticket/11257