Opened 3 years ago
Closed 4 weeks ago
#9291 closed defect (fixed)
exact=1 crop filter for nv12-format video seems to swap color components (when specifying odd crop coordinates)
Reported by: | nijikilling | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | git-master | Keywords: | cuda |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug: when crop filtering any video in nv12 format with exact=1, it works good for even (x, y), but for odd (x, y) the resulting video has strong color mismatch as if two color components were swapped in process.
How to reproduce: decode video using h264_cuvid, in video filter specify "hwdownload,format=nv12,crop=...:x=(even):y=(even):exact=1".
In the report below, video https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_10mb.mp4 was used, but it seems to happen on every video I checked.
ffmpeg started on 2021-06-15 at 16:40:00 Report written to "ffmpeg-20210615-164000.log" Log level: 48 Command line: ffmpeg -report -hwaccel cuda -c:v h264_cuvid -hwaccel_output_format cuda -vsync 0 -i /code/data/sample.mp4 -vsync 0 -cq:v 16 -c:v h264_nvenc -pix_fmt yuv420p -f mp4 -y -filter_complex "hwdownload,format=nv12,crop=w=240:h=240:x=133:y=133:exact=1" /code/data/sample-coded-2.mp4 ffmpeg version N-102632-g575e52272d Copyright (c) 2000-2021 the FFmpeg developers built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1) configuration: --enable-nonfree --enable-gpl --enable-libnpp --enable-libx264 --enable-libx265 --enable-cuda --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 libavutil 57. 0.100 / 57. 0.100 libavcodec 59. 1.100 / 59. 1.100 libavformat 59. 2.101 / 59. 2.101 libavdevice 59. 0.100 / 59. 0.100 libavfilter 8. 0.101 / 8. 0.101 libswscale 6. 0.100 / 6. 0.100 libswresample 4. 0.100 / 4. 0.100 libpostproc 56. 0.100 / 56. 0.100 Splitting the commandline. Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'. Reading option '-hwaccel' ... matched as option 'hwaccel' (use HW accelerated decoding) with argument 'cuda'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'h264_cuvid'. Reading option '-hwaccel_output_format' ... matched as option 'hwaccel_output_format' (select output format used with HW accelerated decoding) with argument 'cuda'. Reading option '-vsync' ... matched as option 'vsync' (video sync method) with argument '0'. Reading option '-i' ... matched as input url with argument '/code/data/sample.mp4'. Reading option '-vsync' ... matched as option 'vsync' (video sync method) with argument '0'. Reading option '-cq:v' ... matched as AVOption 'cq:v' with argument '16'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'h264_nvenc'. Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'yuv420p'. Reading option '-f' ... matched as option 'f' (force format) with argument 'mp4'. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option '-filter_complex' ... matched as option 'filter_complex' (create a complex filtergraph) with argument 'hwdownload,format=nv12,crop=w=240:h=240:x=133:y=133:exact=1'. Reading option '/code/data/sample-coded-2.mp4' ... matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option report (generate a report) with argument 1. Applying option vsync (video sync method) with argument 0. Applying option vsync (video sync method) with argument 0. Applying option y (overwrite output files) with argument 1. Applying option filter_complex (create a complex filtergraph) with argument hwdownload,format=nv12,crop=w=240:h=240:x=133:y=133:exact=1. Successfully parsed a group of options. Parsing a group of options: input url /code/data/sample.mp4. Applying option hwaccel (use HW accelerated decoding) with argument cuda. Applying option c:v (codec name) with argument h264_cuvid. Applying option hwaccel_output_format (select output format used with HW accelerated decoding) with argument cuda. Successfully parsed a group of options. Opening an input file: /code/data/sample.mp4. [NULL @ 0x55cd727d2380] Opening '/code/data/sample.mp4' for reading [file @ 0x55cd727d3d00] Setting default whitelist 'file,crypto,data' [mov,mp4,m4a,3gp,3g2,mj2 @ 0x55cd727d2380] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x55cd727d2380] ISO: File Type Major Brand: isom [mov,mp4,m4a,3gp,3g2,mj2 @ 0x55cd727d2380] Unknown dref type 0x206c7275 size 12 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x55cd727d2380] Processing st: 0, edit list 0 - media time: 0, duration: 67584 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x55cd727d2380] Unknown dref type 0x206c7275 size 12 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x55cd727d2380] Processing st: 1, edit list 0 - media time: 0, duration: 254976 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x55cd727d2380] Before avformat_find_stream_info() pos: 1055736 bytes read:36997 seeks:1 nb_streams:2 [h264 @ 0x55cd727d4b00] nal_unit_type: 7(SPS), nal_ref_idc: 3 [h264 @ 0x55cd727d4b00] nal_unit_type: 8(PPS), nal_ref_idc: 3 [h264 @ 0x55cd727d4b00] nal_unit_type: 5(IDR), nal_ref_idc: 3 [h264 @ 0x55cd727d4b00] Format yuv420p chosen by get_format(). [h264 @ 0x55cd727d4b00] Reinit context to 1280x720, pix_fmt: yuv420p [mov,mp4,m4a,3gp,3g2,mj2 @ 0x55cd727d2380] All info found [mov,mp4,m4a,3gp,3g2,mj2 @ 0x55cd727d2380] After avformat_find_stream_info() pos: 106237 bytes read:143186 seeks:2 frames:2 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/code/data/sample.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 creation_time : 1970-01-01T00:00:00.000000Z encoder : Lavf53.24.2 Duration: 00:00:05.31, start: 0.000000, bitrate: 1589 kb/s Stream #0:0(und), 1, 1/12800: Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1205 kb/s, 25 fps, 25 tbr, 12800 tbn (default) Metadata: creation_time : 1970-01-01T00:00:00.000000Z handler_name : VideoHandler vendor_id : [0][0][0][0] Stream #0:1(und), 1, 1/48000: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 384 kb/s (default) Metadata: creation_time : 1970-01-01T00:00:00.000000Z handler_name : SoundHandler vendor_id : [0][0][0][0] Successfully opened the file. [Parsed_format_1 @ 0x55cd728024c0] Setting 'pix_fmts' to value 'nv12' [Parsed_crop_2 @ 0x55cd72804d00] Setting 'w' to value '240' [Parsed_crop_2 @ 0x55cd72804d00] Setting 'h' to value '240' [Parsed_crop_2 @ 0x55cd72804d00] Setting 'x' to value '133' [Parsed_crop_2 @ 0x55cd72804d00] Setting 'y' to value '133' [Parsed_crop_2 @ 0x55cd72804d00] Setting 'exact' to value '1' Parsing a group of options: output url /code/data/sample-coded-2.mp4. Applying option c:v (codec name) with argument h264_nvenc. Applying option pix_fmt (set pixel format) with argument yuv420p. Applying option f (force format) with argument mp4. Successfully parsed a group of options. Opening an output file: /code/data/sample-coded-2.mp4. [file @ 0x55cd727fffc0] Setting default whitelist 'file,crypto,data' Successfully opened the file. [AVHWDeviceContext @ 0x55cd727e5800] Loaded lib: libcuda.so.1 [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuInit [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuDeviceGetCount [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuDeviceGet [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuDeviceGetAttribute [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuDeviceGetName [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuDeviceComputeCapability [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuCtxCreate_v2 [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuCtxSetLimit [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuCtxPushCurrent_v2 [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuCtxPopCurrent_v2 [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuCtxDestroy_v2 [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuMemAlloc_v2 [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuMemAllocPitch_v2 [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuMemsetD8Async [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuMemFree_v2 [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuMemcpy [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuMemcpyAsync [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuMemcpy2D_v2 [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuMemcpy2DAsync_v2 [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuGetErrorName [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuGetErrorString [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuCtxGetDevice [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuDevicePrimaryCtxRetain [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuDevicePrimaryCtxRelease [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuDevicePrimaryCtxSetFlags [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuDevicePrimaryCtxGetState [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuDevicePrimaryCtxReset [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuStreamCreate [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuStreamQuery [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuStreamSynchronize [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuStreamDestroy_v2 [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuStreamAddCallback [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuEventCreate [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuEventDestroy_v2 [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuEventSynchronize [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuEventQuery [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuEventRecord [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuLaunchKernel [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuLinkCreate [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuLinkAddData [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuLinkComplete [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuLinkDestroy [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuModuleLoadData [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuModuleUnload [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuModuleGetFunction [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuModuleGetGlobal [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuTexObjectCreate [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuTexObjectDestroy [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuGLGetDevices_v2 [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuGraphicsGLRegisterImage [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuGraphicsUnregisterResource [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuGraphicsMapResources [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuGraphicsUnmapResources [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuGraphicsSubResourceGetMappedArray [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuDeviceGetUuid [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuImportExternalMemory [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuDestroyExternalMemory [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuExternalMemoryGetMappedBuffer [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuExternalMemoryGetMappedMipmappedArray [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuMipmappedArrayGetLevel [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuMipmappedArrayDestroy [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuImportExternalSemaphore [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuDestroyExternalSemaphore [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuSignalExternalSemaphoresAsync [AVHWDeviceContext @ 0x55cd727e5800] Loaded sym: cuWaitExternalSemaphoresAsync [h264_cuvid @ 0x55cd72802100] Format cuda chosen by get_format(). [h264_cuvid @ 0x55cd72802100] Loaded lib: libnvcuvid.so.1 [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidGetDecoderCaps [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidCreateDecoder [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidDestroyDecoder [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidDecodePicture [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidGetDecodeStatus [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidReconfigureDecoder [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidMapVideoFrame64 [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidUnmapVideoFrame64 [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidCtxLockCreate [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidCtxLockDestroy [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidCtxLock [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidCtxUnlock [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidCreateVideoSource [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidCreateVideoSourceW [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidDestroyVideoSource [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidSetVideoSourceState [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidGetVideoSourceState [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidGetSourceVideoFormat [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidGetSourceAudioFormat [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidCreateVideoParser [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidParseVideoData [h264_cuvid @ 0x55cd72802100] Loaded sym: cuvidDestroyVideoParser [h264_cuvid @ 0x55cd72802100] CUVID capabilities for h264_cuvid: [h264_cuvid @ 0x55cd72802100] 8 bit: supported: 1, min_width: 48, max_width: 4096, min_height: 16, max_height: 4096 [h264_cuvid @ 0x55cd72802100] 10 bit: supported: 0, min_width: 0, max_width: 0, min_height: 0, max_height: 0 [h264_cuvid @ 0x55cd72802100] 12 bit: supported: 0, min_width: 0, max_width: 0, min_height: 0, max_height: 0 Stream mapping: Stream #0:0 (h264_cuvid) -> hwdownload (graph 0) crop (graph 0) -> Stream #0:0 (h264_nvenc) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) detected 64 logical cores [graph_1_in_0_1 @ 0x55cd736116c0] Setting 'time_base' to value '1/48000' [graph_1_in_0_1 @ 0x55cd736116c0] Setting 'sample_rate' to value '48000' [graph_1_in_0_1 @ 0x55cd736116c0] Setting 'sample_fmt' to value 'fltp' [graph_1_in_0_1 @ 0x55cd736116c0] Setting 'channel_layout' to value '0x3f' [graph_1_in_0_1 @ 0x55cd736116c0] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3f [format_out_0_1 @ 0x55cd73612ac0] Setting 'sample_fmts' to value 'fltp' [format_out_0_1 @ 0x55cd73612ac0] Setting 'sample_rates' to value '96000|88200|64000|48000|44100|32000|24000|22050|16000|12000|11025|8000|7350' [AVFilterGraph @ 0x55cd7360a380] query_formats: 4 queried, 9 merged, 0 already done, 0 delayed cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) [h264_cuvid @ 0x55cd72802100] Format cuda chosen by get_format(). [h264_cuvid @ 0x55cd72802100] Formats: Original: cuda | HW: cuda | SW: nv12 [AVHWFramesContext @ 0x55cd730e07c0] CUDA texture alignment: 512 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) [Parsed_format_1 @ 0x55cd739d6f00] Setting 'pix_fmts' to value 'nv12' [Parsed_crop_2 @ 0x55cd739d7a00] Setting 'w' to value '240' [Parsed_crop_2 @ 0x55cd739d7a00] Setting 'h' to value '240' [Parsed_crop_2 @ 0x55cd739d7a00] Setting 'x' to value '133' [Parsed_crop_2 @ 0x55cd739d7a00] Setting 'y' to value '133' [Parsed_crop_2 @ 0x55cd739d7a00] Setting 'exact' to value '1' [graph 0 input from stream 0:0 @ 0x55cd739d8b80] Setting 'video_size' to value '1280x720' [graph 0 input from stream 0:0 @ 0x55cd739d8b80] Setting 'pix_fmt' to value '117' [graph 0 input from stream 0:0 @ 0x55cd739d8b80] Setting 'time_base' to value '1/12800' [graph 0 input from stream 0:0 @ 0x55cd739d8b80] Setting 'pixel_aspect' to value '1/1' [graph 0 input from stream 0:0 @ 0x55cd739d8b80] Setting 'frame_rate' to value '25/1' [graph 0 input from stream 0:0 @ 0x55cd739d8b80] w:1280 h:720 pixfmt:cuda tb:1/12800 fr:25/1 sar:1/1 [format @ 0x55cd739d9c80] Setting 'pix_fmts' to value 'yuv420p' [auto_scaler_0 @ 0x55cd739dcc80] w:iw h:ih flags:'bilinear' interl:0 [format @ 0x55cd739d9c80] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_crop_2' and the filter 'format' [AVFilterGraph @ 0x55cd73978b00] query_formats: 6 queried, 4 merged, 1 already done, 0 delayed [Parsed_crop_2 @ 0x55cd739d7a00] w:1280 h:720 sar:1/1 -> w:240 h:240 sar:1/1 [auto_scaler_0 @ 0x55cd739dcc80] w:240 h:240 fmt:nv12 sar:1/1 -> w:240 h:240 fmt:yuv420p sar:1/1 flags:0x2 [h264_nvenc @ 0x55cd72805bc0] Using device cuda0 (type cuda) with h264_nvenc encoder. [h264_nvenc @ 0x55cd72805bc0] Loaded lib: libcuda.so.1 [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuInit [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuDeviceGetCount [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuDeviceGet [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuDeviceGetAttribute [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuDeviceGetName [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuDeviceComputeCapability [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuCtxCreate_v2 [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuCtxSetLimit [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuCtxPushCurrent_v2 [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuCtxPopCurrent_v2 [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuCtxDestroy_v2 [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuMemAlloc_v2 [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuMemAllocPitch_v2 [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuMemsetD8Async [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuMemFree_v2 [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuMemcpy [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuMemcpyAsync [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuMemcpy2D_v2 [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuMemcpy2DAsync_v2 [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuGetErrorName [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuGetErrorString [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuCtxGetDevice [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuDevicePrimaryCtxRetain [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuDevicePrimaryCtxRelease [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuDevicePrimaryCtxSetFlags [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuDevicePrimaryCtxGetState [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuDevicePrimaryCtxReset [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuStreamCreate [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuStreamQuery [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuStreamSynchronize [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuStreamDestroy_v2 [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuStreamAddCallback [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuEventCreate [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuEventDestroy_v2 [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuEventSynchronize [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuEventQuery [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuEventRecord [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuLaunchKernel [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuLinkCreate [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuLinkAddData [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuLinkComplete [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuLinkDestroy [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuModuleLoadData [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuModuleUnload [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuModuleGetFunction [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuModuleGetGlobal [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuTexObjectCreate [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuTexObjectDestroy [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuGLGetDevices_v2 [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuGraphicsGLRegisterImage [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuGraphicsUnregisterResource [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuGraphicsMapResources [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuGraphicsUnmapResources [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuGraphicsSubResourceGetMappedArray [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuDeviceGetUuid [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuImportExternalMemory [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuDestroyExternalMemory [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuExternalMemoryGetMappedBuffer [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuExternalMemoryGetMappedMipmappedArray [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuMipmappedArrayGetLevel [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuMipmappedArrayDestroy [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuImportExternalSemaphore [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuDestroyExternalSemaphore [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuSignalExternalSemaphoresAsync [h264_nvenc @ 0x55cd72805bc0] Loaded sym: cuWaitExternalSemaphoresAsync [h264_nvenc @ 0x55cd72805bc0] Loaded lib: libnvidia-encode.so.1 [h264_nvenc @ 0x55cd72805bc0] Loaded sym: NvEncodeAPICreateInstance [h264_nvenc @ 0x55cd72805bc0] Loaded sym: NvEncodeAPIGetMaxSupportedVersion [h264_nvenc @ 0x55cd72805bc0] Loaded Nvenc version 11.0 [h264_nvenc @ 0x55cd72805bc0] Nvenc initialized successfully [h264_nvenc @ 0x55cd72805bc0] CQ(4096) mode enabled. Output #0, mp4, to '/code/data/sample-coded-2.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf59.2.101 Stream #0:0, 0, 1/12800: Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, progressive), 240x240 [SAR 1:1 DAR 1:1], q=2-31, 25 fps, 12800 tbn (default) Metadata: encoder : Lavc59.1.100 h264_nvenc Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 4000000 vbv_delay: N/A Stream #0:1(und), 0, 1/48000: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 341 kb/s (default) Metadata: creation_time : 1970-01-01T00:00:00.000000Z handler_name : SoundHandler vendor_id : [0][0][0][0] encoder : Lavc59.1.100 aac frame= 1 fps=0.0 q=0.0 size= 0kB time=00:00:00.14 bitrate= 2.6kbits/s speed=2.17x cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) [out_0_0 @ 0x55cd739d98c0] EOF on sink link out_0_0:default. [out_0_1 @ 0x55cd736126c0] EOF on sink link out_0_1:default. No more output streams to write to, finishing. frame= 132 fps=0.0 q=14.0 Lsize= 670kB time=00:00:05.31 bitrate=1033.0kbits/s speed=9.85x video:439kB audio:226kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.725292% Input file #0 (/code/data/sample.mp4): Input stream #0:0 (video): 132 packets read (795933 bytes); 132 frames decoded; Input stream #0:1 (audio): 249 packets read (255526 bytes); 249 frames decoded (254976 samples); Total: 381 packets (1051459 bytes) demuxed Output file #0 (/code/data/sample-coded-2.mp4): Output stream #0:0 (video): 132 frames encoded; 132 packets muxed (449780 bytes); Output stream #0:1 (audio): 249 frames encoded (254976 samples); 250 packets muxed (231187 bytes); Total: 382 packets (680967 bytes) muxed 381 frames successfully decoded, 0 decoding errors [AVIOContext @ 0x55cd727fe500] Statistics: 2 seeks, 6 writeouts [h264_nvenc @ 0x55cd72805bc0] Nvenc unloaded [aac @ 0x55cd7280db80] Qavg: 1497.885 [AVIOContext @ 0x55cd727dc0c0] Statistics: 1092685 bytes read, 2 seeks
video ffprobe:
ffprobe version N-102632-g575e52272d Copyright (c) 2007-2021 the FFmpeg developers built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1) configuration: --enable-nonfree --enable-gpl --enable-libnpp --enable-libx264 --enable-libx265 --enable-cuda --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 libavutil 57. 0.100 / 57. 0.100 libavcodec 59. 1.100 / 59. 1.100 libavformat 59. 2.101 / 59. 2.101 libavdevice 59. 0.100 / 59. 0.100 libavfilter 8. 0.101 / 8. 0.101 libswscale 6. 0.100 / 6. 0.100 libswresample 4. 0.100 / 4. 0.100 libpostproc 56. 0.100 / 56. 0.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/code/data/sample.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 creation_time : 1970-01-01T00:00:00.000000Z encoder : Lavf53.24.2 Duration: 00:00:05.31, start: 0.000000, bitrate: 1589 kb/s Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1205 kb/s, 25 fps, 25 tbr, 12800 tbn (default) Metadata: creation_time : 1970-01-01T00:00:00.000000Z handler_name : VideoHandler vendor_id : [0][0][0][0] Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 384 kb/s (default) Metadata: creation_time : 1970-01-01T00:00:00.000000Z handler_name : SoundHandler vendor_id : [0][0][0][0]
Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.
Attachments (1)
Change History (3)
by , 3 years ago
Attachment: | ffmpeg-20210615-171012.log added |
---|
comment:1 by , 3 years ago
Keywords: | cuda added; cropping cuvid filter_complex filtering nvidia removed |
---|
comment:2 by , 4 weeks ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Whatever it was it is fixed now. Both even and odd.
loglevel=99 another ffmpeg log with same launch command