[FFmpeg-devel] [PATCH WIPv2 2/2] avdev: add sdl2 device

Michael Niedermayer michael at niedermayer.cc
Sun May 22 00:30:32 CEST 2016


On Sun, May 22, 2016 at 12:27:20AM +0200, Michael Niedermayer wrote:
> On Sat, May 21, 2016 at 11:39:01PM +0200, Michael Niedermayer wrote:
> > On Sat, May 21, 2016 at 07:35:04PM +0100, Josh de Kock wrote:
> > > Hi Marton,
> > > 
> > > Sorry for not updating it after we last spoke, I lost my source for the
> > > patch so I was force to do it again. Anyways, here it is. I'm using
> > > SDL_Events for sending the packets, using SDL_WaitEvent to throttle it,
> > > and Conditions to make sure that the queue doesn't build up. Is there
> > > anything I missed?
> > > 
> > > There's still an issue with the window freezing up though, and on quit
> > > there are "uncommitted CATransaction[s]" (an OSX thing, but I'm sure
> > > that it would still impact other systems if it is a problem on OSX).
> > > 
> > > I spoke to some of the people in the #sdl IRC channel on freenode, and
> > > they said that, even with most of the SDL functions in the separate
> > > thread, it shouldn't work.
> > > 
> > > Any and all help would be much appreciated,
> > > 
> > > Josh
> > > 
> > > ---
> > >  libavdevice/Makefile     |   1 +
> > >  libavdevice/alldevices.c |   1 +
> > >  libavdevice/sdl2.c       | 458 +++++++++++++++++++++++++++++++++++++++++++++++
> > >  3 files changed, 460 insertions(+)
> > >  create mode 100644 libavdevice/sdl2.c
> > 
> > breaks build
> > make distclean ; ./configure && make -j12
> > 
> > libavdevice/sdl2.c:40:5: error: unknown type name ‘SDL_Window’
> > libavdevice/sdl2.c:41:5: error: unknown type name ‘SDL_Renderer’
> > libavdevice/sdl2.c:47:5: error: unknown type name ‘SDL_Texture’
> > libavdevice/sdl2.c:64:24: error: ‘SDL_PIXELFORMAT_RGB332’ undeclared here (not in a function)
> > libavdevice/sdl2.c:65:26: error: ‘SDL_PIXELFORMAT_RGB444’ undeclared here (not in a function)
> > libavdevice/sdl2.c:66:26: error: ‘SDL_PIXELFORMAT_RGB555’ undeclared here (not in a function)
> > libavdevice/sdl2.c:67:26: error: ‘SDL_PIXELFORMAT_BGR555’ undeclared here (not in a function)
> > libavdevice/sdl2.c:78:26: error: ‘SDL_PIXELFORMAT_RGB565’ undeclared here (not in a function)
> > libavdevice/sdl2.c:79:26: error: ‘SDL_PIXELFORMAT_BGR565’ undeclared here (not in a function)
> > libavdevice/sdl2.c:80:25: error: ‘SDL_PIXELFORMAT_RGB24’ undeclared here (not in a function)
> > libavdevice/sdl2.c:81:25: error: ‘SDL_PIXELFORMAT_BGR24’ undeclared here (not in a function)
> > libavdevice/sdl2.c:82:25: error: ‘SDL_PIXELFORMAT_RGB888’ undeclared here (not in a function)
> > libavdevice/sdl2.c:83:24: error: ‘SDL_PIXELFORMAT_RGBX8888’ undeclared here (not in a function)
> > libavdevice/sdl2.c:84:25: error: ‘SDL_PIXELFORMAT_BGR888’ undeclared here (not in a function)
> > libavdevice/sdl2.c:85:24: error: ‘SDL_PIXELFORMAT_BGRX8888’ undeclared here (not in a function)
> > libavdevice/sdl2.c:86:24: error: ‘SDL_PIXELFORMAT_ARGB8888’ undeclared here (not in a function)
> > libavdevice/sdl2.c:87:24: error: ‘SDL_PIXELFORMAT_RGBA8888’ undeclared here (not in a function)
> > libavdevice/sdl2.c:88:24: error: ‘SDL_PIXELFORMAT_ABGR8888’ undeclared here (not in a function)
> > libavdevice/sdl2.c:89:24: error: ‘SDL_PIXELFORMAT_BGRA8888’ undeclared here (not in a function)
> > libavdevice/sdl2.c:93:27: error: ‘SDL_PIXELFORMAT_IYUV’ undeclared here (not in a function)
> > libavdevice/sdl2.c:94:27: error: ‘SDL_PIXELFORMAT_YUY2’ undeclared here (not in a function)
> > libavdevice/sdl2.c:95:27: error: ‘SDL_PIXELFORMAT_UYVY’ undeclared here (not in a function)
> > libavdevice/sdl2.c: In function ‘event_thread’:
> > libavdevice/sdl2.c:167:17: error: ‘SDL_WINDOW_RESIZABLE’ undeclared (first use in this function)
> > libavdevice/sdl2.c:167:17: note: each undeclared identifier is reported only once for each function it appears in
> > libavdevice/sdl2.c:167:17: error: invalid operands to binary | (have ‘int’ and ‘const struct sdl_texture_pix_fmt_entry *’)
> > libavdevice/sdl2.c:167:60: error: ‘SDL_WINDOW_FULLSCREEN’ undeclared (first use in this function)
> > libavdevice/sdl2.c:167:32: error: invalid operands to binary | (have ‘const struct sdl_texture_pix_fmt_entry *’ and ‘const struct sdl_texture_pix_fmt_entry *’)
> > libavdevice/sdl2.c:168:60: error: ‘SDL_WINDOW_BORDERLESS’ undeclared (first use in this function)
> > libavdevice/sdl2.c:167:87: error: invalid operands to binary | (have ‘const struct sdl_texture_pix_fmt_entry *’ and ‘const struct sdl_texture_pix_fmt_entry *’)
> > libavdevice/sdl2.c:167:17: warning: initialization makes integer from pointer without a cast [enabled by default]
> > libavdevice/sdl2.c:181:5: error: implicit declaration of function ‘SDL_CreateWindowAndRenderer’ [-Werror=implicit-function-declaration]
> > libavdevice/sdl2.c:188:5: error: implicit declaration of function ‘SDL_SetWindowTitle’ [-Werror=implicit-function-declaration]
> > libavdevice/sdl2.c:190:5: error: implicit declaration of function ‘SDL_CreateTexture’ [-Werror=implicit-function-declaration]
> > libavdevice/sdl2.c:190:71: error: ‘SDL_TEXTUREACCESS_STREAMING’ undeclared (first use in this function)
> > libavdevice/sdl2.c:190:18: warning: assignment makes pointer from integer without a cast [enabled by default]
> > libavdevice/sdl2.c:235:18: error: ‘SDL_WINDOWEVENT’ undeclared (first use in this function)
> > libavdevice/sdl2.c:236:29: error: ‘SDL_Event’ has no member named ‘window’
> > libavdevice/sdl2.c:236:36: error: request for member ‘event’ in something not a structure or union
> > libavdevice/sdl2.c:237:26: error: ‘SDL_WINDOWEVENT_RESIZED’ undeclared (first use in this function)
> > libavdevice/sdl2.c:238:26: error: ‘SDL_WINDOWEVENT_SIZE_CHANGED’ undeclared (first use in this function)
> > libavdevice/sdl2.c:239:51: error: ‘SDL_Event’ has no member named ‘window’
> > libavdevice/sdl2.c:239:58: error: request for member ‘data1’ in something not a structure or union
> > libavdevice/sdl2.c:239:44: warning: assignment makes integer from pointer without a cast [enabled by default]
> > libavdevice/sdl2.c:240:51: error: ‘SDL_Event’ has no member named ‘window’
> > libavdevice/sdl2.c:240:58: error: request for member ‘data2’ in something not a structure or union
> > libavdevice/sdl2.c:240:44: warning: assignment makes integer from pointer without a cast [enabled by default]
> > libavdevice/sdl2.c:255:17: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
> > libavdevice/sdl2.c:262:25: error: implicit declaration of function ‘SDL_UpdateYUVTexture’ [-Werror=implicit-function-declaration]
> > libavdevice/sdl2.c:296:25: error: implicit declaration of function ‘SDL_UpdateTexture’ [-Werror=implicit-function-declaration]
> > libavdevice/sdl2.c:303:17: error: implicit declaration of function ‘SDL_RenderClear’ [-Werror=implicit-function-declaration]
> > libavdevice/sdl2.c:304:17: error: implicit declaration of function ‘SDL_RenderCopy’ [-Werror=implicit-function-declaration]
> > libavdevice/sdl2.c:305:17: error: implicit declaration of function ‘SDL_RenderPresent’ [-Werror=implicit-function-declaration]
> > libavdevice/sdl2.c:315:9: error: implicit declaration of function ‘SDL_DestroyTexture’ [-Werror=implicit-function-declaration]
> > libavdevice/sdl2.c:319:9: error: implicit declaration of function ‘SDL_DestroyRenderer’ [-Werror=implicit-function-declaration]
> > libavdevice/sdl2.c:323:9: error: implicit declaration of function ‘SDL_DestroyWindow’ [-Werror=implicit-function-declaration]
> > libavdevice/sdl2.c: In function ‘sdl2_write_header’:
> > libavdevice/sdl2.c:383:5: warning: passing argument 2 of ‘SDL_CreateThread’ discards ‘const’ qualifier from pointer target type [enabled by default]
> > /usr/include/SDL/SDL_thread.h:93:38: note: expected ‘void *’ but argument is of type ‘const char *’
> > libavdevice/sdl2.c:383:5: error: too many arguments to function ‘SDL_CreateThread’
> > /usr/include/SDL/SDL_thread.h:93:38: note: declared here
> > libavdevice/sdl2.c: In function ‘sdl2_write_packet’:
> > libavdevice/sdl2.c:414:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
> > libavdevice/sdl2.c:416:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
> > CC      libavdevice/xv.o
> > cc1: some warnings being treated as errors
> > make: *** [libavdevice/sdl2.o] Error 1
> > make: *** Waiting for unfinished jobs....
> 
> with patches 1+2
> 
> git log -2
> commit b8dd3fe28d2ba221e1862880ce4597e1354b87c8
> Author: Josh de Kock <josh at itanimul.li>
> Date:   Sat May 21 19:35:04 2016 +0100
> 
>     avdev: add sdl2 device
> 
>     Hi Marton,
> 
>     Sorry for not updating it after we last spoke, I lost my source for the
>     patch so I was force to do it again. Anyways, here it is. I'm using
>     SDL_Events for sending the packets, using SDL_WaitEvent to throttle it,
>     and Conditions to make sure that the queue doesn't build up. Is there
>     anything I missed?
> 
>     There's still an issue with the window freezing up though, and on quit
>     there are "uncommitted CATransaction[s]" (an OSX thing, but I'm sure
>     that it would still impact other systems if it is a problem on OSX).
> 
>     I spoke to some of the people in the #sdl IRC channel on freenode, and
>     they said that, even with most of the SDL functions in the separate
>     thread, it shouldn't work.
> 
>     Any and all help would be much appreciated,
> 
>     Josh
> 
>     Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> 
> commit fa10dcacc4bbad46e58b8fc5c16c5f619061cd8a
> Author: Marton Balint <cus at passwd.hu>
> Date:   Tue May 17 18:00:22 2016 +0100
> 
>     ffplay: convert ffplay to use SDL2
> 
>     This patch looks mostly fine, there's just one thing though, which is
>     the ALSA fix using envvars. There doesn't seem to be a replacement for
>     these functions in SDL2, so I was wondering how else it could be done.
>     Maybe through putenv()?
> 
>     Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> 
> make distclean ; ./configure && make -j12
> 
> libavdevice/sdl2.c:40:5: error: unknown type name ‘SDL_Window’
> libavdevice/sdl2.c:41:5: error: unknown type name ‘SDL_Renderer’
> libavdevice/sdl2.c:47:5: error: unknown type name ‘SDL_Texture’
> libavdevice/sdl2.c:64:24: error: ‘SDL_PIXELFORMAT_RGB332’ undeclared here (not in a function)
> libavdevice/sdl2.c:65:26: error: ‘SDL_PIXELFORMAT_RGB444’ undeclared here (not in a function)
> libavdevice/sdl2.c:66:26: error: ‘SDL_PIXELFORMAT_RGB555’ undeclared here (not in a function)
> libavdevice/sdl2.c:67:26: error: ‘SDL_PIXELFORMAT_BGR555’ undeclared here (not in a function)
> libavdevice/sdl2.c:78:26: error: ‘SDL_PIXELFORMAT_RGB565’ undeclared here (not in a function)
> libavdevice/sdl2.c:79:26: error: ‘SDL_PIXELFORMAT_BGR565’ undeclared here (not in a function)
> libavdevice/sdl2.c:80:25: error: ‘SDL_PIXELFORMAT_RGB24’ undeclared here (not in a function)
> libavdevice/sdl2.c:81:25: error: ‘SDL_PIXELFORMAT_BGR24’ undeclared here (not in a function)
> libavdevice/sdl2.c:82:25: error: ‘SDL_PIXELFORMAT_RGB888’ undeclared here (not in a function)
> libavdevice/sdl2.c:83:24: error: ‘SDL_PIXELFORMAT_RGBX8888’ undeclared here (not in a function)
> libavdevice/sdl2.c:84:25: error: ‘SDL_PIXELFORMAT_BGR888’ undeclared here (not in a function)
> libavdevice/sdl2.c:85:24: error: ‘SDL_PIXELFORMAT_BGRX8888’ undeclared here (not in a function)
> libavdevice/sdl2.c:86:24: error: ‘SDL_PIXELFORMAT_ARGB8888’ undeclared here (not in a function)
> libavdevice/sdl2.c:87:24: error: ‘SDL_PIXELFORMAT_RGBA8888’ undeclared here (not in a function)
> libavdevice/sdl2.c:88:24: error: ‘SDL_PIXELFORMAT_ABGR8888’ undeclared here (not in a function)
> libavdevice/sdl2.c:89:24: error: ‘SDL_PIXELFORMAT_BGRA8888’ undeclared here (not in a function)
> libavdevice/sdl2.c:93:27: error: ‘SDL_PIXELFORMAT_IYUV’ undeclared here (not in a function)
> libavdevice/sdl2.c:94:27: error: ‘SDL_PIXELFORMAT_YUY2’ undeclared here (not in a function)
> libavdevice/sdl2.c:95:27: error: ‘SDL_PIXELFORMAT_UYVY’ undeclared here (not in a function)
> libavdevice/sdl2.c: In function ‘event_thread’:
> libavdevice/sdl2.c:167:17: error: ‘SDL_WINDOW_RESIZABLE’ undeclared (first use in this function)
> libavdevice/sdl2.c:167:17: note: each undeclared identifier is reported only once for each function it appears in
> libavdevice/sdl2.c:167:17: error: invalid operands to binary | (have ‘int’ and ‘const struct sdl_texture_pix_fmt_entry *’)
> libavdevice/sdl2.c:167:60: error: ‘SDL_WINDOW_FULLSCREEN’ undeclared (first use in this function)
> libavdevice/sdl2.c:167:32: error: invalid operands to binary | (have ‘const struct sdl_texture_pix_fmt_entry *’ and ‘const struct sdl_texture_pix_fmt_entry *’)
> libavdevice/sdl2.c:168:60: error: ‘SDL_WINDOW_BORDERLESS’ undeclared (first use in this function)
> libavdevice/sdl2.c:167:87: error: invalid operands to binary | (have ‘const struct sdl_texture_pix_fmt_entry *’ and ‘const struct sdl_texture_pix_fmt_entry *’)
> libavdevice/sdl2.c:167:17: warning: initialization makes integer from pointer without a cast [enabled by default]
> libavdevice/sdl2.c:181:5: error: implicit declaration of function ‘SDL_CreateWindowAndRenderer’ [-Werror=implicit-function-declaration]
> libavdevice/sdl2.c:188:5: error: implicit declaration of function ‘SDL_SetWindowTitle’ [-Werror=implicit-function-declaration]
> libavdevice/sdl2.c:190:5: error: implicit declaration of function ‘SDL_CreateTexture’ [-Werror=implicit-function-declaration]
> libavdevice/sdl2.c:190:71: error: ‘SDL_TEXTUREACCESS_STREAMING’ undeclared (first use in this function)
> libavdevice/sdl2.c:190:18: warning: assignment makes pointer from integer without a cast [enabled by default]
> libavdevice/sdl2.c:235:18: error: ‘SDL_WINDOWEVENT’ undeclared (first use in this function)
> libavdevice/sdl2.c:236:29: error: ‘SDL_Event’ has no member named ‘window’
> libavdevice/sdl2.c:236:36: error: request for member ‘event’ in something not a structure or union
> libavdevice/sdl2.c:237:26: error: ‘SDL_WINDOWEVENT_RESIZED’ undeclared (first use in this function)
> libavdevice/sdl2.c:238:26: error: ‘SDL_WINDOWEVENT_SIZE_CHANGED’ undeclared (first use in this function)
> libavdevice/sdl2.c:239:51: error: ‘SDL_Event’ has no member named ‘window’
> libavdevice/sdl2.c:239:58: error: request for member ‘data1’ in something not a structure or union
> libavdevice/sdl2.c:239:44: warning: assignment makes integer from pointer without a cast [enabled by default]
> libavdevice/sdl2.c:240:51: error: ‘SDL_Event’ has no member named ‘window’
> libavdevice/sdl2.c:240:58: error: request for member ‘data2’ in something not a structure or union
> libavdevice/sdl2.c:240:44: warning: assignment makes integer from pointer without a cast [enabled by default]
> libavdevice/sdl2.c:255:17: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
> libavdevice/sdl2.c:262:25: error: implicit declaration of function ‘SDL_UpdateYUVTexture’ [-Werror=implicit-function-declaration]
> libavdevice/sdl2.c:296:25: error: implicit declaration of function ‘SDL_UpdateTexture’ [-Werror=implicit-function-declaration]
> libavdevice/sdl2.c:303:17: error: implicit declaration of function ‘SDL_RenderClear’ [-Werror=implicit-function-declaration]
> libavdevice/sdl2.c:304:17: error: implicit declaration of function ‘SDL_RenderCopy’ [-Werror=implicit-function-declaration]
> libavdevice/sdl2.c:305:17: error: implicit declaration of function ‘SDL_RenderPresent’ [-Werror=implicit-function-declaration]
> libavdevice/sdl2.c:315:9: error: implicit declaration of function ‘SDL_DestroyTexture’ [-Werror=implicit-function-declaration]
> libavdevice/sdl2.c:319:9: error: implicit declaration of function ‘SDL_DestroyRenderer’ [-Werror=implicit-function-declaration]
> libavdevice/sdl2.c:323:9: error: implicit declaration of function ‘SDL_DestroyWindow’ [-Werror=implicit-function-declaration]
> libavdevice/sdl2.c: In function ‘sdl2_write_header’:
> libavdevice/sdl2.c:383:5: warning: passing argument 2 of ‘SDL_CreateThread’ discards ‘const’ qualifier from pointer target type [enabled by default]
> /usr/include/SDL/SDL_thread.h:93:38: note: expected ‘void *’ but argument is of type ‘const char *’
> libavdevice/sdl2.c:383:5: error: too many arguments to function ‘SDL_CreateThread’
> /usr/include/SDL/SDL_thread.h:93:38: note: declared here
> libavdevice/sdl2.c: In function ‘sdl2_write_packet’:
> libavdevice/sdl2.c:414:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
> libavdevice/sdl2.c:416:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
> cc1: some warnings being treated as errors
> make: *** [libavdevice/sdl2.o] Error 1
> make: *** Waiting for unfinished jobs....
> CC      libavdevice/xv.o

with 1 + old #2

git log -2
commit cf97af7f328dfa677f7a011c6447bd91dae3f1cc
Author: Josh de Kock <josh at itanimul.li>
Date:   Tue May 17 18:00:23 2016 +0100

    avdev: add sdl2 device

    This "works", as in, it will play video fine (I haven't done too much
    testing yet). I was using the command,
    `./ffmpeg_g -f lavfi -i testsrc=size=1280x720:rate=30 -pix_fmt yuv420p -f sdl2 "k"`
    to test.
    It will crash on quit, and the Window bar is frozen. At first I thought
    it was because there was no ratelimiting, so I added a 10ms delay if
    there isn't any events as Marton suggested. However, it didn't seem to
    make any difference.

    I was also wondering if someone could check my pixel format mappings,
    I'm not too experienced with them. I wasn't sure what to do with the
    extra mappings as well, I thought that it might be useful to keep them
    in the source as a comment for completeness (so someone doesn't have
    to dig out which pixel formats weren't mapped at a later date).

    Thanks for the help.

    Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

commit fa10dcacc4bbad46e58b8fc5c16c5f619061cd8a
Author: Marton Balint <cus at passwd.hu>
Date:   Tue May 17 18:00:22 2016 +0100

    ffplay: convert ffplay to use SDL2

    This patch looks mostly fine, there's just one thing though, which is
    the ALSA fix using envvars. There doesn't seem to be a replacement for
    these functions in SDL2, so I was wondering how else it could be done.
    Maybe through putenv()?

    Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

libavdevice/sdl2.c:40:5: error: unknown type name ‘SDL_Window’
libavdevice/sdl2.c:41:5: error: unknown type name ‘SDL_Renderer’
libavdevice/sdl2.c:47:5: error: unknown type name ‘SDL_Texture’
libavdevice/sdl2.c:63:24: error: ‘SDL_PIXELFORMAT_RGB332’ undeclared here (not in a function)
libavdevice/sdl2.c:64:26: error: ‘SDL_PIXELFORMAT_RGB444’ undeclared here (not in a function)
libavdevice/sdl2.c:65:26: error: ‘SDL_PIXELFORMAT_RGB555’ undeclared here (not in a function)
libavdevice/sdl2.c:66:26: error: ‘SDL_PIXELFORMAT_BGR555’ undeclared here (not in a function)
libavdevice/sdl2.c:75:26: error: ‘SDL_PIXELFORMAT_RGB565’ undeclared here (not in a function)
libavdevice/sdl2.c:76:26: error: ‘SDL_PIXELFORMAT_BGR565’ undeclared here (not in a function)
libavdevice/sdl2.c:77:25: error: ‘SDL_PIXELFORMAT_RGB24’ undeclared here (not in a function)
libavdevice/sdl2.c:78:25: error: ‘SDL_PIXELFORMAT_BGR24’ undeclared here (not in a function)
libavdevice/sdl2.c:79:25: error: ‘SDL_PIXELFORMAT_RGB888’ undeclared here (not in a function)
libavdevice/sdl2.c:80:24: error: ‘SDL_PIXELFORMAT_RGBX8888’ undeclared here (not in a function)
libavdevice/sdl2.c:81:25: error: ‘SDL_PIXELFORMAT_BGR888’ undeclared here (not in a function)
libavdevice/sdl2.c:82:24: error: ‘SDL_PIXELFORMAT_BGRX8888’ undeclared here (not in a function)
libavdevice/sdl2.c:83:24: error: ‘SDL_PIXELFORMAT_ARGB8888’ undeclared here (not in a function)
libavdevice/sdl2.c:84:24: error: ‘SDL_PIXELFORMAT_RGBA8888’ undeclared here (not in a function)
libavdevice/sdl2.c:85:24: error: ‘SDL_PIXELFORMAT_ABGR8888’ undeclared here (not in a function)
libavdevice/sdl2.c:86:24: error: ‘SDL_PIXELFORMAT_BGRA8888’ undeclared here (not in a function)
libavdevice/sdl2.c:88:27: error: ‘SDL_PIXELFORMAT_IYUV’ undeclared here (not in a function)
libavdevice/sdl2.c:89:27: error: ‘SDL_PIXELFORMAT_YUY2’ undeclared here (not in a function)
libavdevice/sdl2.c:90:27: error: ‘SDL_PIXELFORMAT_UYVY’ undeclared here (not in a function)
libavdevice/sdl2.c:91:5: warning: initialization makes integer from pointer without a cast [enabled by default]
libavdevice/sdl2.c:91:5: warning: (near initialization for ‘sdl_texture_pix_fmt_map[19].texture_fmt’) [enabled by default]
libavdevice/sdl2.c: In function ‘compute_texture_rect’:
libavdevice/sdl2.c:101:5: warning: ‘codec’ is deprecated (declared at ./libavformat/avformat.h:880) [-Wdeprecated-declarations]
libavdevice/sdl2.c: In function ‘sdl2_write_trailer’:
libavdevice/sdl2.c:143:9: error: implicit declaration of function ‘SDL_DestroyTexture’ [-Werror=implicit-function-declaration]
libavdevice/sdl2.c:156:9: error: implicit declaration of function ‘SDL_DestroyRenderer’ [-Werror=implicit-function-declaration]
libavdevice/sdl2.c:160:9: error: implicit declaration of function ‘SDL_DestroyWindow’ [-Werror=implicit-function-declaration]
libavdevice/sdl2.c: In function ‘event_thread’:
libavdevice/sdl2.c:174:5: warning: ‘codec’ is deprecated (declared at ./libavformat/avformat.h:880) [-Wdeprecated-declarations]
libavdevice/sdl2.c:176:17: error: ‘SDL_WINDOW_RESIZABLE’ undeclared (first use in this function)
libavdevice/sdl2.c:176:17: note: each undeclared identifier is reported only once for each function it appears in
libavdevice/sdl2.c:176:17: error: invalid operands to binary | (have ‘int’ and ‘const struct sdl_texture_pix_fmt_entry *’)
libavdevice/sdl2.c:176:60: error: ‘SDL_WINDOW_FULLSCREEN’ undeclared (first use in this function)
libavdevice/sdl2.c:176:32: error: invalid operands to binary | (have ‘const struct sdl_texture_pix_fmt_entry *’ and ‘const struct sdl_texture_pix_fmt_entry *’)
libavdevice/sdl2.c:177:60: error: ‘SDL_WINDOW_BORDERLESS’ undeclared (first use in this function)
libavdevice/sdl2.c:176:87: error: invalid operands to binary | (have ‘const struct sdl_texture_pix_fmt_entry *’ and ‘const struct sdl_texture_pix_fmt_entry *’)
libavdevice/sdl2.c:176:17: warning: initialization makes integer from pointer without a cast [enabled by default]
libavdevice/sdl2.c:190:5: error: implicit declaration of function ‘SDL_CreateWindowAndRenderer’ [-Werror=implicit-function-declaration]
libavdevice/sdl2.c:197:5: error: implicit declaration of function ‘SDL_SetWindowTitle’ [-Werror=implicit-function-declaration]
libavdevice/sdl2.c:199:5: error: implicit declaration of function ‘SDL_CreateTexture’ [-Werror=implicit-function-declaration]
libavdevice/sdl2.c:199:71: error: ‘SDL_TEXTUREACCESS_STREAMING’ undeclared (first use in this function)
libavdevice/sdl2.c:199:18: warning: assignment makes pointer from integer without a cast [enabled by default]
libavdevice/sdl2.c:248:18: error: ‘SDL_WINDOWEVENT’ undeclared (first use in this function)
libavdevice/sdl2.c:249:29: error: ‘SDL_Event’ has no member named ‘window’
libavdevice/sdl2.c:249:36: error: request for member ‘event’ in something not a structure or union
libavdevice/sdl2.c:250:26: error: ‘SDL_WINDOWEVENT_RESIZED’ undeclared (first use in this function)
libavdevice/sdl2.c:251:26: error: ‘SDL_WINDOWEVENT_SIZE_CHANGED’ undeclared (first use in this function)
libavdevice/sdl2.c:252:51: error: ‘SDL_Event’ has no member named ‘window’
libavdevice/sdl2.c:252:58: error: request for member ‘data1’ in something not a structure or union
libavdevice/sdl2.c:252:44: warning: assignment makes integer from pointer without a cast [enabled by default]
libavdevice/sdl2.c:253:51: error: ‘SDL_Event’ has no member named ‘window’
libavdevice/sdl2.c:253:58: error: request for member ‘data2’ in something not a structure or union
libavdevice/sdl2.c:253:44: warning: assignment makes integer from pointer without a cast [enabled by default]
libavdevice/sdl2.c: In function ‘sdl2_write_header’:
libavdevice/sdl2.c:275:5: warning: ‘codec’ is deprecated (declared at ./libavformat/avformat.h:880) [-Wdeprecated-declarations]
libavdevice/sdl2.c:323:5: warning: passing argument 2 of ‘SDL_CreateThread’ discards ‘const’ qualifier from pointer target type [enabled by default]
/usr/include/SDL/SDL_thread.h:93:38: note: expected ‘void *’ but argument is of type ‘const char *’
libavdevice/sdl2.c:323:5: error: too many arguments to function ‘SDL_CreateThread’
/usr/include/SDL/SDL_thread.h:93:38: note: declared here
libavdevice/sdl2.c: In function ‘sdl2_write_packet’:
libavdevice/sdl2.c:352:5: warning: ‘codec’ is deprecated (declared at ./libavformat/avformat.h:880) [-Wdeprecated-declarations]
libavdevice/sdl2.c:362:13: error: implicit declaration of function ‘SDL_UpdateYUVTexture’ [-Werror=implicit-function-declaration]
libavdevice/sdl2.c:394:13: error: implicit declaration of function ‘SDL_UpdateTexture’ [-Werror=implicit-function-declaration]
libavdevice/sdl2.c:401:5: error: implicit declaration of function ‘SDL_RenderClear’ [-Werror=implicit-function-declaration]
libavdevice/sdl2.c:402:5: error: implicit declaration of function ‘SDL_RenderCopy’ [-Werror=implicit-function-declaration]
libavdevice/sdl2.c:403:5: error: implicit declaration of function ‘SDL_RenderPresent’ [-Werror=implicit-function-declaration]
CC      libavdevice/xv.o
CC      libavfilter/aeval.o
cc1: some warnings being treated as errors
make: *** [libavdevice/sdl2.o] Error 1
make: *** Waiting for unfinished jobs....



[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Asymptotically faster algorithms should always be preferred if you have
asymptotical amounts of data
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160522/272af57d/attachment.sig>


More information about the ffmpeg-devel mailing list