1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-02 03:06:28 +02:00
Commit Graph

28 Commits

Author SHA1 Message Date
Andreas Rheinhardt
423b6a7e49 avutil/imgutils: Add wrapper for av_image_copy() to avoid casts
av_image_copy() accepts const uint8_t* const * as source;
lots of user have uint8_t* const * and therefore either
cast (the majority) or copy the array of pointers.

This commit changes this by adding a static inline wrapper
for av_image_copy() that casts between the two types
so that we do not need to add casts everywhere else.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2023-09-12 09:42:27 +02:00
Andreas Rheinhardt
0c6e5f321b avformat/avformat: Avoid including codec.h, frame.h
AVCodec is only ever used as an incomplete type (i.e. via a pointer
to an AVCodec) in avformat.h and it is not really part of the core
of avformat.h or libavformat; almost none of our internal users
make use of it (and none make use of hwcontext.h, which is implicitly
included). So switch to use struct AVCodec, but continue to include
codec.h for external users for compatibility.

Also, do the same for AVFrame and frame.h, which is implicitly included
by codec.h (via lavu/hwcontext.h).

Also, remove an unnecessary inclusion of <time.h>.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2023-09-07 00:30:08 +02:00
Andreas Rheinhardt
59c9dc82f4 avformat/avformat: Move AVOutputFormat internals out of public header
This commit does for AVOutputFormat what commit
20f9727018 did for AVCodec:
It adds a new type FFOutputFormat, moves all the internals
of AVOutputFormat to it and adds a now reduced AVOutputFormat
as first member.

This does not affect/improve extensibility of both public
or private fields for muxers (it is still a mess due to lavd).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2023-02-09 15:24:15 +01:00
Andreas Rheinhardt
f4a2d722aa avformat/internal: Move muxing-only functions to new mux.h header
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-05-10 07:27:01 +02:00
Andreas Rheinhardt
9b17273c77 avdevice/xv: Increase array size
av_image_copy() expects an array of four pointers according to its
declaration; although it currently only touches pointers that
are actually in use (depending upon the pixel format) this might
change at any time (as has already happened for the linesizes
in d7bc52bf45).

This fixes ticket #9264 as well as a warning from GCC 11.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-10-09 13:24:38 +02:00
Andreas Rheinhardt
d92f38c179 avdevice: Constify all devices
This is possible now that the next-API is gone.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2021-04-27 11:48:05 -03:00
Marton Balint
e4ce40d25b avdevice/xv: add support of wrapped avframe codec
Also change the default to that.

Signed-off-by: Marton Balint <cus@passwd.hu>
2020-04-16 23:52:12 +02:00
Marton Balint
4bb0409820 avdevice: migrate to AVFormatContext->url
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-28 23:06:43 +01:00
Derek Buitenhuis
6f69f7a8bf Merge commit '9200514ad8717c63f82101dc394f4378854325bf'
* commit '9200514ad8717c63f82101dc394f4378854325bf':
  lavf: replace AVStream.codec with AVStream.codecpar

This has been a HUGE effort from:
    - Derek Buitenhuis <derek.buitenhuis@gmail.com>
    - Hendrik Leppkes <h.leppkes@gmail.com>
    - wm4 <nfxjfg@googlemail.com>
    - Clément Bœsch <clement@stupeflix.com>
    - James Almer <jamrial@gmail.com>
    - Michael Niedermayer <michael@niedermayer.cc>
    - Rostislav Pehlivanov <atomnuker@gmail.com>

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-10 20:59:55 +01:00
Timothy Gu
13b8ba8c9d xv: Remove AVPicture usage 2016-02-02 18:06:13 -08:00
Reimar Döffinger
8c63a0d171 xv.c: Add missing const to lookup table.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-30 18:02:45 +02:00
Michael Niedermayer
9efa7f82ce avdevice/xv: fix missing {
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 21:32:19 +02:00
Lukasz Marek
e5c806fd67 lavd/xv: handle delete window message
User may close X11 window by close button on tray.
FFmpeg leaves in graceless way.
This commit detects it and return EPIPE error.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 19:20:32 +02:00
Lukasz Marek
fa4f7b17bc lavd/xv: reident after previous commits
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-02 18:04:05 +02:00
Lukasz Marek
de705e52d4 lavd/xv: implement repaint message
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-19 02:18:45 +02:00
Lukasz Marek
9fcdfac894 lavd/xv: add window id param
Device is able to use existing window, that can be a
part of existing GUI - instead of newly created one.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-19 02:18:45 +02:00
Lukasz Marek
5053897b6a lavd/xv: keep aspect ratio
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-19 02:18:45 +02:00
Nicolas George
c37bbe54f4 lavd/xv: take aspect ratio into account. 2014-03-08 12:29:32 +01:00
Lukasz Marek
f607767d93 lavd: add categories to device implementations
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-03 23:34:46 +01:00
Nicolas George
d201a0f0f8 lavd/xv: preliminary support of uncoded frame. 2014-02-11 10:29:02 +01:00
Nicolas George
fde219cfa8 lavd/xv: report if no adaptor present. 2013-12-29 19:51:42 +01:00
Lukasz Marek
995f450b44 lavd/xv: free resources on errors
xv_write_header callback leave not freed resources on errors.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-11-15 09:56:58 +01:00
Lukasz Marek
57bca5a2b6 lavd/xv: add more supported formats
Add support for following pixel formats:
- AV_PIX_FMT_UYVY422
- AV_PIX_FMT_YUYV422

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-11-15 09:56:58 +01:00
Lukasz Marek
5d8619595b lavd/xv: simplify write_packet
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-11-15 09:56:58 +01:00
Lukasz Marek
f04fe23a52 lavd/xv: fix memory leak
Results of XvQueryAdaptors have to be freed with XvFreeAdaptorInfo.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-11-13 11:34:19 +01:00
Lukasz Marek
c617c669e9 lavd/xv: free graphics context
Valgrind detects mem leak from XCreateGC.
Free it with XFreeGC.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-11-01 16:20:50 +01:00
Carl Eugen Hoyos
3aa576513b lavd/xv.c: Include XShm.h before Xvlib.h.
This may fix compilation with libxv 1.0.4.
2013-10-09 19:01:11 +02:00
Stefano Sabatini
9f8937b5ef lavd: add xv output device
Based on the work of Jeff Moguillansky <Jeff.Moguillansky@am.sony.com>.

See thread:
Subject: [FFmpeg-devel] x11 output device for libavdevice
Date: Wed, 10 Apr 2013 23:10:47 +0000
2013-05-30 10:44:54 +02:00