[FFmpeg-trac] #9295(avdevice:new): avfoundation macOS has wrong resolution 2880x1800 should be 2560x1600

FFmpeg trac at avcodec.org
Sun Jun 20 06:28:18 EEST 2021


#9295: avfoundation macOS has wrong resolution 2880x1800 should be 2560x1600
-------------------------------------+-------------------------------------
             Reporter:  Harald       |                    Owner:  (none)
  Rudell                             |
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:  avdevice
              Version:  unspecified  |               Resolution:
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
Description changed by Harald Rudell:

Old description:

> Computer is MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
> — the M1 right next to it
> Display native resolution is 2560x1600
>
> BUG:
> avfoundation produces somewhat fuzzy video at resolution 2880x1800
> If output video is resized back to 2560x1600, it’s super-fuzzy
> other avfoundation device options seem ineffective
>
> EXPEXTED:
> Sharp image of Native resolution 2560x1600
>
> Here is the code line:
> https://github.com/FFmpeg/FFmpeg/blob/master/libavdevice/avfoundation.m#L404
>
> How to reproduce:
> {{{
> date && sw_vers && sysctl -n hw.model && ffmpeg \
>   -t 1 \
>   -pixel_format nv12 \
>   -framerate 30 \
>   -f avfoundation -i "Capture screen 1":none \
>   -f null -
> Sat Jun 19 20:05:00 PDT 2021
> ProductName:    macOS
> ProductVersion: 11.4
> BuildVersion:   20F71
> MacBookPro16,2
> ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
>   built with Apple clang version 12.0.0 (clang-1200.0.32.29)
>   configuration: --prefix=/usr/local/Cellar/ffmpeg/4.4_1 --enable-shared
> --enable-pthreads --enable-version3 --enable-avresample --cc=clang
> --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-
> gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-
> libmp3lame --enable-libopus --enable-librav1e --enable-librubberband
> --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-
> libtheora --enable-libvidstab --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
>   libavutil      56. 70.100 / 56. 70.100
>   libavcodec     58.134.100 / 58.134.100
>   libavformat    58. 76.100 / 58. 76.100
>   libavdevice    58. 13.100 / 58. 13.100
>   libavfilter     7.110.100 /  7.110.100
>   libavresample   4.  0.  0 /  4.  0.  0
>   libswscale      5.  9.100 /  5.  9.100
>   libswresample   3.  9.100 /  3.  9.100
>   libpostproc    55.  9.100 / 55.  9.100
> [AVFoundation indev @ 0x7fbf01904ac0] Configuration of video device
> failed, falling back to default.
> [avfoundation @ 0x7fbf03808200] Stream #0: not enough frames to estimate
> rate; consider increasing probesize
> Input #0, avfoundation, from 'Capture screen 1:none':
>   Duration: N/A, start: 505496.222500, bitrate: N/A
>   Stream #0:0: Video: rawvideo (NV12 / 0x3231564E), nv12, 2880x1800,
> 1000k tbr, 1000k tbn, 1000k tbc
> Stream mapping:
>   Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native))
> Press [q] to stop, [?] for help
> Output #0, null, to 'pipe:':
>   Metadata:
>     encoder         : Lavf58.76.100
>   Stream #0:0: Video: wrapped_avframe, nv12(progressive), 2880x1800,
> q=2-31, 200 kb/s, 1000k fps, 1000k tbn
>     Metadata:
>       encoder         : Lavc58.134.100 wrapped_avframe
> frame=   30 fps= 30 q=-0.0 Lsize=N/A time=00:00:00.96 bitrate=N/A
> speed=0.959x
> video:16kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
> muxing overhead: unknown
> }}}
> Patches should be submitted to the ffmpeg-devel mailing list and not this
> bug tracker.

New description:

 Computer is MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
 — the M1 right next to it
 Display native resolution is 2560x1600

 BUG:
 avfoundation produces somewhat fuzzy video at resolution 2880x1800
 If output video is resized back to 2560x1600, it’s super-fuzzy
 other avfoundation device options seem ineffective

 EXPEXTED:
 Sharp image of Native resolution 2560x1600

 Here is the code line:
 https://github.com/FFmpeg/FFmpeg/blob/master/libavdevice/avfoundation.m#L404

 Note: device name differs, could be "Capture screen 0"

 How to reproduce:
 {{{
 date && sw_vers && sysctl -n hw.model && ffmpeg \
   -t 1 \
   -pixel_format nv12 \
   -framerate 30 \
   -f avfoundation -i "Capture screen 1":none \
   -f null -
 Sat Jun 19 20:05:00 PDT 2021
 ProductName:    macOS
 ProductVersion: 11.4
 BuildVersion:   20F71
 MacBookPro16,2
 ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
   built with Apple clang version 12.0.0 (clang-1200.0.32.29)
   configuration: --prefix=/usr/local/Cellar/ffmpeg/4.4_1 --enable-shared
 --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-
 cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl
 --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame
 --enable-libopus --enable-librav1e --enable-librubberband --enable-
 libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora
 --enable-libvidstab --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
   libavutil      56. 70.100 / 56. 70.100
   libavcodec     58.134.100 / 58.134.100
   libavformat    58. 76.100 / 58. 76.100
   libavdevice    58. 13.100 / 58. 13.100
   libavfilter     7.110.100 /  7.110.100
   libavresample   4.  0.  0 /  4.  0.  0
   libswscale      5.  9.100 /  5.  9.100
   libswresample   3.  9.100 /  3.  9.100
   libpostproc    55.  9.100 / 55.  9.100
 [AVFoundation indev @ 0x7fbf01904ac0] Configuration of video device
 failed, falling back to default.
 [avfoundation @ 0x7fbf03808200] Stream #0: not enough frames to estimate
 rate; consider increasing probesize
 Input #0, avfoundation, from 'Capture screen 1:none':
   Duration: N/A, start: 505496.222500, bitrate: N/A
   Stream #0:0: Video: rawvideo (NV12 / 0x3231564E), nv12, 2880x1800, 1000k
 tbr, 1000k tbn, 1000k tbc
 Stream mapping:
   Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native))
 Press [q] to stop, [?] for help
 Output #0, null, to 'pipe:':
   Metadata:
     encoder         : Lavf58.76.100
   Stream #0:0: Video: wrapped_avframe, nv12(progressive), 2880x1800,
 q=2-31, 200 kb/s, 1000k fps, 1000k tbn
     Metadata:
       encoder         : Lavc58.134.100 wrapped_avframe
 frame=   30 fps= 30 q=-0.0 Lsize=N/A time=00:00:00.96 bitrate=N/A
 speed=0.959x
 video:16kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: unknown
 }}}
 Patches should be submitted to the ffmpeg-devel mailing list and not this
 bug tracker.

--
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/9295#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list