[FFmpeg-trac] #4079(undetermined:new): Screen capture with AV Foundation has an extra pixel width when cropping

FFmpeg trac at avcodec.org
Tue Nov 4 19:52:17 CET 2014


#4079: Screen capture with AV Foundation has an extra pixel width when cropping
---------------------------------+----------------------------------------
             Reporter:  LordHDL  |                    Owner:
                 Type:  defect   |                   Status:  new
             Priority:  normal   |                Component:  undetermined
              Version:  2.4.3    |               Resolution:
             Keywords:           |               Blocked By:
             Blocking:           |  Reproduced by developer:  0
Analyzed by developer:  0        |
---------------------------------+----------------------------------------

Comment (by LordHDL):

 {{{
 Last login: Tue Nov  4 14:46:57 on ttys001
 HDLs-MacBook-Pro:~ HDL$ cd ~/Desktop
 HDLs-MacBook-Pro:Desktop HDL$ ./ffmpeg -f avfoundation -video_device_index
 3 -i "" -c:v mpeg4 -qscale 2 -vf crop=426:240:507:339 out.avi
 ffmpeg version N-67454-g0971154-tessus Copyright (c) 2000-2014 the FFmpeg
 developers
   built on Nov  3 2014 23:27:57 with Apple LLVM version 6.0
 (clang-600.0.54) (based on LLVM 3.5svn)
   configuration: --cc=/usr/bin/clang
 --prefix=/Users/tessus/data/ext/ffmpeg/sw --as=yasm --extra-version=tessus
 --disable-shared --enable-static --disable-ffplay --enable-gpl --enable-
 pthreads --enable-postproc --enable-libmp3lame --enable-libtheora
 --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libxvid
 --enable-libspeex --enable-bzlib --enable-zlib --enable-libopencore-amrnb
 --enable-libopencore-amrwb --enable-libxavs --enable-libsoxr --enable-
 libwavpack --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc
 --enable-libvpx --enable-libgsm --enable-libopus --enable-libmodplug
 --enable-fontconfig --enable-libfreetype --enable-libass --enable-
 libbluray --enable-filters --disable-indev=qtkit --disable-
 indev=x11grab_xcb --enable-runtime-cpudetect
   libavutil      54. 11.100 / 54. 11.100
   libavcodec     56. 10.102 / 56. 10.102
   libavformat    56. 12.100 / 56. 12.100
   libavdevice    56.  2.100 / 56.  2.100
   libavfilter     5.  2.102 /  5.  2.102
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
   libpostproc    53.  3.100 / 53.  3.100
 2014-11-04 14:47:40.857 ffmpeg[3209:200060] alloc
 2014-11-04 14:47:40.857 ffmpeg[3209:200060] query 2
 2014-11-04 14:47:40.857 ffmpeg[3209:200060] release 2
 2014-11-04 14:47:40.858 ffmpeg[3209:200060] **
 MyPlugInitializeWithObjectID
 2014-11-04 14:47:40.858 ffmpeg[3209:200060] init
 2014-11-04 14:47:40.858 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:40.858 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:40.858 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:40.939 ffmpeg[3209:200060] <CMVideoFormatDescription
 0x7fbb90d3b490 [0x7fff7bfb7cf0]> {
         mediaType:'vide'
         mediaSubType:'BGRA'
         mediaSpecific: {
                 codecType: 'BGRA'               dimensions: 640 x 480
         }
         extensions: {<CFBasicHash 0x7fbb90d3d650 [0x7fff7bfb7cf0]>{type =
 immutable dict, count = 4,
 entries =>
         1 : <CFString 0x7fff7c3e2f08 [0x7fff7bfb7cf0]>{contents =
 "CVFieldCount"} = <CFNumber 0x137 [0x7fff7bfb7cf0]>{value = +1, type =
 kCFNumberSInt64Type}
         2 : <CFString 0x10999b7f0 [0x7fff7bfb7cf0]>{contents =
 "CVBytesPerRow"} = <CFNumber 0xa0037 [0x7fff7bfb7cf0]>{value = +2560, type
 = kCFNumberSInt64Type}
         4 : <CFString 0x7fff7a4d8e50 [0x7fff7bfb7cf0]>{contents =
 "com.apple.cmio.format_extension.video.only_has_i_frames"} = <CFBoolean
 0x7fff7bfb86c8 [0x7fff7bfb7cf0]>{value = true}
         5 : <CFString 0x7fff7b59d6f0 [0x7fff7bfb7cf0]>{contents =
 "FormatName"} = <CFString 0x10999b810 [0x7fff7bfb7cf0]>{contents =
 "Component Video - CCIR-601 RGB"}
 }
 }
 }
 2014-11-04 14:47:40.940 ffmpeg[3209:200060] alloc
 2014-11-04 14:47:40.940 ffmpeg[3209:200060] query 2
 2014-11-04 14:47:40.940 ffmpeg[3209:200060] release 2
 2014-11-04 14:47:40.940 ffmpeg[3209:200060] **
 MyPlugInitializeWithObjectID
 2014-11-04 14:47:40.940 ffmpeg[3209:200060] init
 2014-11-04 14:47:40.940 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:40.940 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:40.940 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:40.941 ffmpeg[3209:200060] <CMVideoFormatDescription
 0x7fbb90f1c6b0 [0x7fff7bfb7cf0]> {
         mediaType:'vide'
         mediaSubType:'2vuy'
         mediaSpecific: {
                 codecType: '2vuy'               dimensions: 640 x 480
         }
         extensions: {<CFBasicHash 0x7fbb90e110e0 [0x7fff7bfb7cf0]>{type =
 immutable dict, count = 6,
 entries =>
         0 : <CFString 0x7fff7c3e3088 [0x7fff7bfb7cf0]>{contents =
 "CVImageBufferYCbCrMatrix"} = <CFString 0x7fff7c3e30c8
 [0x7fff7bfb7cf0]>{contents = "ITU_R_601_4"}
         1 : <CFString 0x7fff7c3e2f08 [0x7fff7bfb7cf0]>{contents =
 "CVFieldCount"} = <CFNumber 0x137 [0x7fff7bfb7cf0]>{value = +1, type =
 kCFNumberSInt64Type}
         2 : <CFString 0x7fff7c3e3188 [0x7fff7bfb7cf0]>{contents =
 "CVImageBufferTransferFunction"} = <CFString 0x7fff7c3e30a8
 [0x7fff7bfb7cf0]>{contents = "ITU_R_709_2"}
         4 : <CFString 0x7fff7a4d8e50 [0x7fff7bfb7cf0]>{contents =
 "com.apple.cmio.format_extension.video.only_has_i_frames"} = <CFBoolean
 0x7fff7bfb86c8 [0x7fff7bfb7cf0]>{value = true}
         5 : <CFString 0x7fff7c3e3108 [0x7fff7bfb7cf0]>{contents =
 "CVImageBufferColorPrimaries"} = <CFString 0x7fff7c3e3148
 [0x7fff7bfb7cf0]>{contents = "SMPTE_C"}
         6 : <CFString 0x7fff7b59d6f0 [0x7fff7bfb7cf0]>{contents =
 "FormatName"} = <CFString 0x10999b870 [0x7fff7bfb7cf0]>{contents =
 "Component Video - CCIR-601 uyvy"}
 }
 }
 }
 2014-11-04 14:47:41.043 ffmpeg[3209:200060] MyPlugObjectHasProperty
 2014-11-04 14:47:41.043 ffmpeg[3209:200060] enog
 2014-11-04 14:47:41.043 ffmpeg[3209:200060] bolg
 2014-11-04 14:47:41.043 ffmpeg[3209:200060] 0
 2014-11-04 14:47:41.043 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:41.043 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:41.043 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:41.043 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:41.044 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:41.044 ffmpeg[3209:200060]
 MyPlugObjectGetPropertyDataSize
 2014-11-04 14:47:41.044 ffmpeg[3209:200060] sel dnwo
 2014-11-04 14:47:41.044 ffmpeg[3209:200060] scope bolg
 2014-11-04 14:47:41.044 ffmpeg[3209:200060] elt 0
 2014-11-04 14:47:41.044 ffmpeg[3209:200060]
 MyPlugObjectGetPropertyDataSize
 2014-11-04 14:47:41.044 ffmpeg[3209:200060] sel dnwo
 2014-11-04 14:47:41.044 ffmpeg[3209:200060] scope bolg
 2014-11-04 14:47:41.044 ffmpeg[3209:200060] elt 0
 2014-11-04 14:47:41.045 ffmpeg[3209:200060]
 MyPlugObjectGetPropertyDataSize
 2014-11-04 14:47:41.045 ffmpeg[3209:200060] sel dnwo
 2014-11-04 14:47:41.045 ffmpeg[3209:200060] scope bolg
 2014-11-04 14:47:41.045 ffmpeg[3209:200060] elt 0
 2014-11-04 14:47:41.045 ffmpeg[3209:200060]
 MyPlugObjectGetPropertyDataSize
 2014-11-04 14:47:41.045 ffmpeg[3209:200060] sel dnwo
 2014-11-04 14:47:41.045 ffmpeg[3209:200060] scope bolg
 2014-11-04 14:47:41.045 ffmpeg[3209:200060] elt 0
 2014-11-04 14:47:41.045 ffmpeg[3209:200060]
 MyPlugObjectGetPropertyDataSize
 2014-11-04 14:47:41.045 ffmpeg[3209:200060] sel dnwo
 2014-11-04 14:47:41.046 ffmpeg[3209:200060] scope bolg
 2014-11-04 14:47:41.046 ffmpeg[3209:200060] elt 0
 2014-11-04 14:47:41.046 ffmpeg[3209:200060]
 MyPlugObjectGetPropertyDataSize
 2014-11-04 14:47:41.046 ffmpeg[3209:200060] sel dnwo
 2014-11-04 14:47:41.046 ffmpeg[3209:200060] scope bolg
 2014-11-04 14:47:41.046 ffmpeg[3209:200060] elt 0
 2014-11-04 14:47:41.046 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:41.046 ffmpeg[3209:200060] MyPlugObjectHasProperty
 2014-11-04 14:47:41.046 ffmpeg[3209:200060] grrf
 2014-11-04 14:47:41.046 ffmpeg[3209:200060] bolg
 2014-11-04 14:47:41.047 ffmpeg[3209:200060] 0
 2014-11-04 14:47:41.047 ffmpeg[3209:200060] MyPlugObjectHasProperty
 2014-11-04 14:47:41.047 ffmpeg[3209:200060] grrf
 2014-11-04 14:47:41.047 ffmpeg[3209:200060] bolg
 2014-11-04 14:47:41.047 ffmpeg[3209:200060] 0
 2014-11-04 14:47:41.047 ffmpeg[3209:200060] MyPlugObjectHasProperty
 2014-11-04 14:47:41.047 ffmpeg[3209:200060] trfn
 2014-11-04 14:47:41.047 ffmpeg[3209:200060] bolg
 2014-11-04 14:47:41.047 ffmpeg[3209:200060] 0
 2014-11-04 14:47:41.047 ffmpeg[3209:200060] MyPlugObjectHasProperty
 2014-11-04 14:47:41.048 ffmpeg[3209:200060] trfm
 2014-11-04 14:47:41.048 ffmpeg[3209:200060] bolg
 2014-11-04 14:47:41.048 ffmpeg[3209:200060] 0
 2014-11-04 14:47:41.048 ffmpeg[3209:200060] MyPlugObjectHasProperty
 2014-11-04 14:47:41.048 ffmpeg[3209:200060] trfn
 2014-11-04 14:47:41.048 ffmpeg[3209:200060] bolg
 2014-11-04 14:47:41.048 ffmpeg[3209:200060] 0
 2014-11-04 14:47:41.048 ffmpeg[3209:200060] MyPlugObjectHasProperty
 2014-11-04 14:47:41.048 ffmpeg[3209:200060] dulp
 2014-11-04 14:47:41.048 ffmpeg[3209:200060] tpni
 2014-11-04 14:47:41.049 ffmpeg[3209:200060] 0
 2014-11-04 14:47:41.049 ffmpeg[3209:200060]
 MyPlugObjectGetPropertyDataSize
 2014-11-04 14:47:41.049 ffmpeg[3209:200060] sel dnwo
 2014-11-04 14:47:41.049 ffmpeg[3209:200060] scope bolg
 2014-11-04 14:47:41.049 ffmpeg[3209:200060] elt 0
 2014-11-04 14:47:41.049 ffmpeg[3209:200060] MyPlugObjectHasProperty
 2014-11-04 14:47:41.049 ffmpeg[3209:200060] enog
 2014-11-04 14:47:41.049 ffmpeg[3209:200060] bolg
 2014-11-04 14:47:41.049 ffmpeg[3209:200060] 0
 2014-11-04 14:47:41.049 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:41.050 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:41.050 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:41.050 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:41.050 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:41.050 ffmpeg[3209:200060]
 MyPlugObjectGetPropertyDataSize
 2014-11-04 14:47:41.050 ffmpeg[3209:200060] sel dnwo
 2014-11-04 14:47:41.050 ffmpeg[3209:200060] scope bolg
 2014-11-04 14:47:41.051 ffmpeg[3209:200060] elt 0
 2014-11-04 14:47:41.051 ffmpeg[3209:200060]
 MyPlugObjectGetPropertyDataSize
 2014-11-04 14:47:41.051 ffmpeg[3209:200060] sel dnwo
 2014-11-04 14:47:41.051 ffmpeg[3209:200060] scope bolg
 2014-11-04 14:47:41.051 ffmpeg[3209:200060] elt 0
 2014-11-04 14:47:41.051 ffmpeg[3209:200060]
 MyPlugObjectGetPropertyDataSize
 2014-11-04 14:47:41.051 ffmpeg[3209:200060] sel dnwo
 2014-11-04 14:47:41.052 ffmpeg[3209:200060] scope bolg
 2014-11-04 14:47:41.052 ffmpeg[3209:200060] elt 0
 2014-11-04 14:47:41.052 ffmpeg[3209:200060]
 MyPlugObjectGetPropertyDataSize
 2014-11-04 14:47:41.052 ffmpeg[3209:200060] sel dnwo
 2014-11-04 14:47:41.052 ffmpeg[3209:200060] scope bolg
 2014-11-04 14:47:41.052 ffmpeg[3209:200060] elt 0
 2014-11-04 14:47:41.052 ffmpeg[3209:200060]
 MyPlugObjectGetPropertyDataSize
 2014-11-04 14:47:41.052 ffmpeg[3209:200060] sel dnwo
 2014-11-04 14:47:41.053 ffmpeg[3209:200060] scope bolg
 2014-11-04 14:47:41.053 ffmpeg[3209:200060] elt 0
 2014-11-04 14:47:41.053 ffmpeg[3209:200060]
 MyPlugObjectGetPropertyDataSize
 2014-11-04 14:47:41.053 ffmpeg[3209:200060] sel dnwo
 2014-11-04 14:47:41.053 ffmpeg[3209:200060] scope bolg
 2014-11-04 14:47:41.053 ffmpeg[3209:200060] elt 0
 2014-11-04 14:47:41.053 ffmpeg[3209:200060] MyPlugObjectSetPropertyData
 2014-11-04 14:47:41.053 ffmpeg[3209:200060] MyPlugObjectHasProperty
 2014-11-04 14:47:41.053 ffmpeg[3209:200060] grrf
 2014-11-04 14:47:41.053 ffmpeg[3209:200060] bolg
 2014-11-04 14:47:41.054 ffmpeg[3209:200060] 0
 2014-11-04 14:47:41.054 ffmpeg[3209:200060] MyPlugObjectHasProperty
 2014-11-04 14:47:41.054 ffmpeg[3209:200060] grrf
 2014-11-04 14:47:41.054 ffmpeg[3209:200060] bolg
 2014-11-04 14:47:41.054 ffmpeg[3209:200060] 0
 2014-11-04 14:47:41.054 ffmpeg[3209:200060] MyPlugObjectHasProperty
 2014-11-04 14:47:41.054 ffmpeg[3209:200060] trfn
 2014-11-04 14:47:41.054 ffmpeg[3209:200060] bolg
 2014-11-04 14:47:41.054 ffmpeg[3209:200060] 0
 2014-11-04 14:47:41.054 ffmpeg[3209:200060] MyPlugObjectHasProperty
 2014-11-04 14:47:41.055 ffmpeg[3209:200060] trfm
 2014-11-04 14:47:41.055 ffmpeg[3209:200060] bolg
 2014-11-04 14:47:41.055 ffmpeg[3209:200060] 0
 2014-11-04 14:47:41.055 ffmpeg[3209:200060] MyPlugObjectHasProperty
 2014-11-04 14:47:41.055 ffmpeg[3209:200060] trfn
 2014-11-04 14:47:41.055 ffmpeg[3209:200060] bolg
 2014-11-04 14:47:41.055 ffmpeg[3209:200060] 0
 2014-11-04 14:47:41.055 ffmpeg[3209:200060] MyPlugObjectHasProperty
 2014-11-04 14:47:41.055 ffmpeg[3209:200060] dulp
 2014-11-04 14:47:41.055 ffmpeg[3209:200060] tpni
 2014-11-04 14:47:41.056 ffmpeg[3209:200060] 0
 2014-11-04 14:47:41.056 ffmpeg[3209:200060]
 MyPlugObjectGetPropertyDataSize
 2014-11-04 14:47:41.056 ffmpeg[3209:200060] sel dnwo
 2014-11-04 14:47:41.056 ffmpeg[3209:200060] scope bolg
 2014-11-04 14:47:41.056 ffmpeg[3209:200060] elt 0
 [avfoundation @ 0x7fbb91806000] Selected pixel format (yuv420p) is not
 supported by the input device.
 [avfoundation @ 0x7fbb91806000] Supported pixel formats:
 [avfoundation @ 0x7fbb91806000]   uyvy422
 [avfoundation @ 0x7fbb91806000]   yuyv422
 [avfoundation @ 0x7fbb91806000]   nv12
 [avfoundation @ 0x7fbb91806000]   0rgb
 [avfoundation @ 0x7fbb91806000]   bgr0
 [avfoundation @ 0x7fbb91806000] Overriding selected pixel format to use
 uyvy422 instead.
 [avfoundation @ 0x7fbb91806000] Stream #0: not enough frames to estimate
 rate; consider increasing probesize
 Input #0, avfoundation, from '':
   Duration: N/A, start: 0.409295, bitrate: 2822 kb/s
     Stream #0:0: Video: rawvideo (UYVY / 0x59565955), uyvy422, 1440x900,
 1000k tbr, 1000k tbn, 1000k tbc
     Stream #0:1: Audio: pcm_f32le, 44100 Hz, stereo, flt, 2822 kb/s
 Please use -q:a or -q:v, -qscale is ambiguous
 File 'out.avi' already exists. Overwrite ? [y/N] y
 [avi @ 0x7fbb9283b400] Frame rate very high for a muxer not efficiently
 supporting it.
 Please consider specifying a lower framerate, a different muxer or -vsync
 2
 Output #0, avi, to 'out.avi':
   Metadata:
     ISFT            : Lavf56.12.100
     Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 426x240,
 q=2-31, 200 kb/s, 65535 fps, 600 tbn, 65535 tbc
     Metadata:
       encoder         : Lavc56.10.102 mpeg4
     Stream #0:1: Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 44100 Hz,
 stereo, fltp
     Metadata:
       encoder         : Lavc56.10.102 libmp3lame
 Stream mapping:
   Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg4 (native))
   Stream #0:1 -> #0:1 (pcm_f32le (native) -> mp3 (libmp3lame))
 Press [q] to stop, [?] for help
 frame=   11 fps=0.0 q=2.0 size=     121kB time=00:00:02.65 bitrate=
 374.3kbits/sframe=   18 fps= 18 q=2.0 size=     285kB time=00:00:03.12
 bitrate= 746.3kbits/sframe=   26 fps= 17 q=2.0 size=     429kB
 time=00:00:03.65 bitrate= 960.7kbits/sframe=   34 fps= 17 q=2.0 size=
 636kB time=00:00:04.19 bitrate=1243.7kbits/sframe=   41 fps= 16 q=2.0
 size=     838kB time=00:00:04.65 bitrate=1474.1kbits/sframe=   49 fps= 16
 q=2.0 size=    1210kB time=00:00:05.18 bitrate=1910.5kbits/sframe=   57
 fps= 16 q=2.0 size=    1651kB time=00:00:05.72 bitrate=2363.4kbits/sframe=
 64 fps= 16 q=2.0 size=    1997kB time=00:00:06.18
 bitrate=2644.2kbits/sframe=   72 fps= 16 q=2.0 size=    2412kB
 time=00:00:06.72 bitrate=2939.6kbits/sframe=   79 fps= 16 q=2.0 size=
 2772kB time=00:00:07.19 bitrate=3155.8kbits/sframe=   87 fps= 16 q=2.0
 size=    3121kB time=00:00:07.72 bitrate=3312.2kbits/sframe=   95 fps= 16
 q=2.0 size=    3347kB time=00:00:08.25 bitrate=3322.3kbits/sframe=  102
 fps= 15 q=2.0 size=    3446kB time=00:00:08.73 bitrate=3233.7kbits/sframe=
 110 fps= 15 q=2.0 size=    3509kB time=00:00:09.25
 bitrate=3106.8kbits/sframe=  113 fps= 15 q=2.0 Lsize=    3708kB
 time=00:00:09.53 bitrate=3185.8kbits/s
 video:3439kB audio:118kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 4.268150%
 2014-11-04 14:47:50.760 ffmpeg[3209:200060] MyPlugTeardown
 2014-11-04 14:47:50.761 ffmpeg[3209:200060] MyPlugTeardown
 HDLs-MacBook-Pro:Desktop HDL$
 }}}

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


More information about the FFmpeg-trac mailing list