#11339: ffmpeg misdetecting framerate of dv
--------------------------------------+----------------------------------
             Reporter:  dave rice     |                     Type:  defect
               Status:  new           |                 Priority:  normal
            Component:  undetermined  |                  Version:  7.1
             Keywords:  dv            |               Blocked By:
             Blocking:                |  Reproduced by developer:  0
Analyzed by developer:  0             |
--------------------------------------+----------------------------------
 Summary of the bug:
 How to reproduce:

 make a sample dv. Here I note that the output is 29.97 fps.
 {{{
 $ ffmpeg -y -f lavfi -i testsrc2=r=30000/1001:s=720x480 -f lavfi -i sine
 -pix_fmt yuv411p -c:v dvvideo -t 2 -ac 2 -ar 48000 test.dv
 ffmpeg version 7.1 Copyright (c) 2000-2024 the FFmpeg developers
   built with Apple clang version 14.0.0 (clang-1400.0.29.202)
   configuration: --prefix=/usr/local/Cellar/ffmpeg/7.1_3 --enable-shared
 --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-
 ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom
 --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-
 libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-
 librav1e --enable-librist --enable-librubberband --enable-libsnappy
 --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract
 --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis
 --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265
 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig
 --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-
 amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex
 --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack
 --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox
   libavutil      59. 39.100 / 59. 39.100
   libavcodec     61. 19.100 / 61. 19.100
   libavformat    61.  7.100 / 61.  7.100
   libavdevice    61.  3.100 / 61.  3.100
   libavfilter    10.  4.100 / 10.  4.100
   libswscale      8.  3.100 /  8.  3.100
   libswresample   5.  3.100 /  5.  3.100
   libpostproc    58.  3.100 / 58.  3.100
 Input #0, lavfi, from 'testsrc2=r=30000/1001:s=720x480':
   Duration: N/A, start: 0.000000, bitrate: N/A
   Stream #0:0: Video: wrapped_avframe, yuv420p, 720x480 [SAR 1:1 DAR 3:2],
 29.97 fps, 29.97 tbr, 29.97 tbn
 Input #1, lavfi, from 'sine':
   Duration: N/A, start: 0.000000, bitrate: 705 kb/s
   Stream #1:0: Audio: pcm_s16le, 44100 Hz, mono, s16, 705 kb/s
 Stream mapping:
   Stream #0:0 -> #0:0 (wrapped_avframe (native) -> dvvideo (native))
   Stream #1:0 -> #0:1 (pcm_s16le (native) -> pcm_s16le (native))
 Press [q] to stop, [?] for help
 [dvvideo @ 0x7fd195f17840] Only top-left chroma location is supported in
 DV, input value is: unspecified
 [dvvideo @ 0x7fd195f181c0] Only top-left chroma location is supported in
 DV, input value is: unspecified
 [dvvideo @ 0x7fd195f18b00] Only top-left chroma location is supported in
 DV, input value is: unspecified
 [dvvideo @ 0x7fd195f19480] Only top-left chroma location is supported in
 DV, input value is: unspecified
 [dvvideo @ 0x7fd195f19dc0] Only top-left chroma location is supported in
 DV, input value is: unspecified
 [dvvideo @ 0x7fd195f1a740] Only top-left chroma location is supported in
 DV, input value is: unspecified
 [dvvideo @ 0x7fd195f1b080] Only top-left chroma location is supported in
 DV, input value is: unspecified
 [dvvideo @ 0x7fd196a07d80] Only top-left chroma location is supported in
 DV, input value is: unspecified
 [dvvideo @ 0x7fd195f0a440] Only top-left chroma location is supported in
 DV, input value is: unspecified
 Output #0, dv, to 'test.dv':
   Metadata:
     encoder         : Lavf61.7.100
   Stream #0:0: Video: dvvideo, yuv411p(tv, progressive), 720x480 [SAR 1:1
 DAR 3:2], q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn
       Metadata:
         encoder         : Lavc61.19.100 dvvideo
   Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
       Metadata:
         encoder         : Lavc61.19.100 pcm_s16le
 [out#0/dv @ 0x7fd195f090c0] video:7031KiB audio:375KiB subtitle:0KiB other
 streams:0KiB global headers:0KiB muxing overhead: unknown
 frame=   60 fps=0.0 q=-0.0 Lsize=    6914KiB time=00:00:02.00
 bitrate=28320.0kbits/s speed=45.3x
 }}}

 When I read the output back into ffmpeg, the frame rate is now 60K!
 {{{
 $ ffmpeg -i test.dv
 ffmpeg version 7.1 Copyright (c) 2000-2024 the FFmpeg developers
   built with Apple clang version 14.0.0 (clang-1400.0.29.202)
   configuration: --prefix=/usr/local/Cellar/ffmpeg/7.1_3 --enable-shared
 --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-
 ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom
 --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-
 libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-
 librav1e --enable-librist --enable-librubberband --enable-libsnappy
 --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract
 --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis
 --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265
 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig
 --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-
 amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex
 --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack
 --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox
   libavutil      59. 39.100 / 59. 39.100
   libavcodec     61. 19.100 / 61. 19.100
   libavformat    61.  7.100 / 61.  7.100
   libavdevice    61.  3.100 / 61.  3.100
   libavfilter    10.  4.100 / 10.  4.100
   libswscale      8.  3.100 /  8.  3.100
   libswresample   5.  3.100 /  5.  3.100
   libpostproc    58.  3.100 / 58.  3.100
 [dv @ 0x7f9d7f804540] Estimating duration from bitrate, this may be
 inaccurate
 Input #0, dv, from 'test.dv':
   Metadata:
     timecode        : 00:00:00:00
   Duration: 00:00:01.97, start: 0.000000, bitrate: 28771 kb/s
   Stream #0:0: Video: dvvideo, yuv411p, 720x480 [SAR 8:9 DAR 4:3], 28771
 kb/s, 60k fps, 29.97 tbr, 60k tbn
   Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
 At least one output file must be specified
 }}}

 The framerate thus causes fails when rewrapping the dv, such as `ffmpeg -i
 test.dv -map 0 -c copy test.mov` gives a `fps 60000 is too large` error.

 Patches should be submitted to the ffmpeg-devel mailing list and not this
 bug tracker.
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/11339>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
_______________________________________________
FFmpeg-trac mailing list
FFmpeg-trac@avcodec.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-trac

To unsubscribe, visit link above, or email
ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to