[FFmpeg-trac] #9291(undetermined:new): exact=1 crop filter for nv12-format video seems to swap color components (when specifying odd crop coordinates)
FFmpeg
trac at avcodec.org
Tue Jun 15 20:04:46 EEST 2021
#9291: exact=1 crop filter for nv12-format video seems to swap color components
(when specifying odd crop coordinates)
-------------------------------------+-------------------------------------
Reporter: nijikilling | Type: defect
Status: new | Priority: normal
Component: | Version: git-
undetermined | master
Keywords: cropping | Blocked By:
cuvid filter_complex filtering |
nvidia |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
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.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/9291>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list