public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
* [ITP] ffmpeg (5.1.2)
@ 2023-01-20 10:35 Takashi Yano
  2023-01-20 15:04 ` Thomas Wolff
  2023-01-20 18:40 ` Jon Turney
  0 siblings, 2 replies; 17+ messages in thread
From: Takashi Yano @ 2023-01-20 10:35 UTC (permalink / raw)
  To: cygwin-apps

I would like to propose new package ffmpeg which is
well known audio/video tool. ffmpeg is ported to
many linux distributions and other unix like systems
as well as widows. Since there is windows build,
the demand of cygwin port might be relatively small,
however its libraries are usefull for other softwares.

I have posted another ITP for MOC (Music On Console)
which is a ncurses based music player, whose plugin
uses ffmpeg libraries.

I have already prepared the ffmpeg package as follows.

https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/

To build ffmpeg, other new packages i.e., x264, x265 and
xvidcore are required, I have proposed ITP at the same
time.

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [ITP] ffmpeg (5.1.2)
  2023-01-20 10:35 [ITP] ffmpeg (5.1.2) Takashi Yano
@ 2023-01-20 15:04 ` Thomas Wolff
  2023-01-20 15:28   ` Takashi Yano
  2023-01-20 18:40 ` Jon Turney
  1 sibling, 1 reply; 17+ messages in thread
From: Thomas Wolff @ 2023-01-20 15:04 UTC (permalink / raw)
  To: cygwin-apps



Am 20.01.2023 um 11:35 schrieb Takashi Yano via Cygwin-apps:
> I would like to propose new package ffmpeg which is
> well known audio/video tool. ffmpeg is ported to
> many linux distributions and other unix like systems
> as well as widows. Since there is windows build,
> the demand of cygwin port might be relatively small,
> however its libraries are usefull for other softwares.
>
> I have posted another ITP for MOC (Music On Console)
> which is a ncurses based music player, whose plugin
> uses ffmpeg libraries.
>
> I have already prepared the ffmpeg package as follows.
>
> https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/
>
> To build ffmpeg, other new packages i.e., x264, x265 and
> xvidcore are required, I have proposed ITP at the same
> time.
>
It's also missing cygswscale-6.dll which I don't find anywhere.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [ITP] ffmpeg (5.1.2)
  2023-01-20 15:04 ` Thomas Wolff
@ 2023-01-20 15:28   ` Takashi Yano
  2023-01-20 15:47     ` Thomas Wolff
  0 siblings, 1 reply; 17+ messages in thread
From: Takashi Yano @ 2023-01-20 15:28 UTC (permalink / raw)
  To: cygwin-apps

On Fri, 20 Jan 2023 16:04:46 +0100
Thomas Wolff wrote:
> Am 20.01.2023 um 11:35 schrieb Takashi Yano via Cygwin-apps:
> > I would like to propose new package ffmpeg which is
> > well known audio/video tool. ffmpeg is ported to
> > many linux distributions and other unix like systems
> > as well as widows. Since there is windows build,
> > the demand of cygwin port might be relatively small,
> > however its libraries are usefull for other softwares.
> >
> > I have posted another ITP for MOC (Music On Console)
> > which is a ncurses based music player, whose plugin
> > uses ffmpeg libraries.
> >
> > I have already prepared the ffmpeg package as follows.
> >
> > https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/
> >
> > To build ffmpeg, other new packages i.e., x264, x265 and
> > xvidcore are required, I have proposed ITP at the same
> > time.
> >
> It's also missing cygswscale-6.dll which I don't find anywhere.

It should be in:

https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/libffmpeg/libffmpeg-5.1.2-1.tar.xz

which is reuqired by ffmpeg-5.1.2-1.tar.xz.

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [ITP] ffmpeg (5.1.2)
  2023-01-20 15:28   ` Takashi Yano
@ 2023-01-20 15:47     ` Thomas Wolff
  2023-01-20 15:58       ` Takashi Yano
  0 siblings, 1 reply; 17+ messages in thread
From: Thomas Wolff @ 2023-01-20 15:47 UTC (permalink / raw)
  To: cygwin-apps



Am 20.01.2023 um 16:28 schrieb Takashi Yano via Cygwin-apps:
> On Fri, 20 Jan 2023 16:04:46 +0100
> Thomas Wolff wrote:
>> Am 20.01.2023 um 11:35 schrieb Takashi Yano via Cygwin-apps:
>>> I would like to propose new package ffmpeg which is
>>> well known audio/video tool. ffmpeg is ported to
>>> many linux distributions and other unix like systems
>>> as well as widows. Since there is windows build,
>>> the demand of cygwin port might be relatively small,
>>> however its libraries are usefull for other softwares.
>>>
>>> I have posted another ITP for MOC (Music On Console)
>>> which is a ncurses based music player, whose plugin
>>> uses ffmpeg libraries.
>>>
>>> I have already prepared the ffmpeg package as follows.
>>>
>>> https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/
>>>
>>> To build ffmpeg, other new packages i.e., x264, x265 and
>>> xvidcore are required, I have proposed ITP at the same
>>> time.
>>>
>> It's also missing cygswscale-6.dll which I don't find anywhere.
> It should be in:
>
> https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/libffmpeg/libffmpeg-5.1.2-1.tar.xz
>
> which is reuqired by ffmpeg-5.1.2-1.tar.xz.
OK, I had overlooked that in the ffmpeg folder.
Now I get:

C:/cygwin64/bin/ffmpeg.exe: error while loading shared libraries: ?: 
cannot open shared object file: No such file or directory

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [ITP] ffmpeg (5.1.2)
  2023-01-20 15:47     ` Thomas Wolff
@ 2023-01-20 15:58       ` Takashi Yano
  2023-01-20 20:05         ` Thomas Wolff
  0 siblings, 1 reply; 17+ messages in thread
From: Takashi Yano @ 2023-01-20 15:58 UTC (permalink / raw)
  To: cygwin-apps

On Fri, 20 Jan 2023 16:47:01 +0100
Thomas Wolff wrote:
> Am 20.01.2023 um 16:28 schrieb Takashi Yano via Cygwin-apps:
> > On Fri, 20 Jan 2023 16:04:46 +0100
> > Thomas Wolff wrote:
> >> Am 20.01.2023 um 11:35 schrieb Takashi Yano via Cygwin-apps:
> >>> I would like to propose new package ffmpeg which is
> >>> well known audio/video tool. ffmpeg is ported to
> >>> many linux distributions and other unix like systems
> >>> as well as widows. Since there is windows build,
> >>> the demand of cygwin port might be relatively small,
> >>> however its libraries are usefull for other softwares.
> >>>
> >>> I have posted another ITP for MOC (Music On Console)
> >>> which is a ncurses based music player, whose plugin
> >>> uses ffmpeg libraries.
> >>>
> >>> I have already prepared the ffmpeg package as follows.
> >>>
> >>> https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/
> >>>
> >>> To build ffmpeg, other new packages i.e., x264, x265 and
> >>> xvidcore are required, I have proposed ITP at the same
> >>> time.
> >>>
> >> It's also missing cygswscale-6.dll which I don't find anywhere.
> > It should be in:
> >
> > https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/libffmpeg/libffmpeg-5.1.2-1.tar.xz
> >
> > which is reuqired by ffmpeg-5.1.2-1.tar.xz.
> OK, I had overlooked that in the ffmpeg folder.
> Now I get:
> 
> C:/cygwin64/bin/ffmpeg.exe: error while loading shared libraries: ?: 
> cannot open shared object file: No such file or directory

Thanks for testing.

You need libSDL2_2.0_0 package installed as described in
https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/ffmpeg-5.1.2-1.hint

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [ITP] ffmpeg (5.1.2)
  2023-01-20 10:35 [ITP] ffmpeg (5.1.2) Takashi Yano
  2023-01-20 15:04 ` Thomas Wolff
@ 2023-01-20 18:40 ` Jon Turney
  2023-01-20 21:04   ` Brian Inglis
  2023-01-22 12:25   ` Takashi Yano
  1 sibling, 2 replies; 17+ messages in thread
From: Jon Turney @ 2023-01-20 18:40 UTC (permalink / raw)
  To: takashi Yano, cygwin-apps

On 20/01/2023 10:35, Takashi Yano via Cygwin-apps wrote:
> I would like to propose new package ffmpeg which is
> well known audio/video tool. ffmpeg is ported to
> many linux distributions and other unix like systems
> as well as widows. Since there is windows build,
> the demand of cygwin port might be relatively small,
> however its libraries are usefull for other softwares.
> 
> I have posted another ITP for MOC (Music On Console)
> which is a ncurses based music player, whose plugin
> uses ffmpeg libraries.
> 
> I have already prepared the ffmpeg package as follows.
> 
> https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/
> 
> To build ffmpeg, other new packages i.e., x264, x265 and
> xvidcore are required, I have proposed ITP at the same
> time.

Thanks!

For a long time, ffmpeg was not included in Fedora, due to concerns 
about codec patents, but those issues seem to have been resolved.

Can you please investigate what configuration is used in Fedora, and 
what the effects of matching that would be?



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [ITP] ffmpeg (5.1.2)
  2023-01-20 15:58       ` Takashi Yano
@ 2023-01-20 20:05         ` Thomas Wolff
  2023-01-22 12:20           ` Takashi Yano
  0 siblings, 1 reply; 17+ messages in thread
From: Thomas Wolff @ 2023-01-20 20:05 UTC (permalink / raw)
  To: cygwin-apps



Am 20.01.2023 um 16:58 schrieb Takashi Yano via Cygwin-apps:
> On Fri, 20 Jan 2023 16:47:01 +0100
> Thomas Wolff wrote:
>> Am 20.01.2023 um 16:28 schrieb Takashi Yano via Cygwin-apps:
>>> On Fri, 20 Jan 2023 16:04:46 +0100
>>> Thomas Wolff wrote:
>>>> Am 20.01.2023 um 11:35 schrieb Takashi Yano via Cygwin-apps:
>>>>> I would like to propose new package ffmpeg which is
>>>>> well known audio/video tool. ffmpeg is ported to
>>>>> many linux distributions and other unix like systems
>>>>> as well as widows. Since there is windows build,
>>>>> the demand of cygwin port might be relatively small,
>>>>> however its libraries are usefull for other softwares.
>>>>>
>>>>> I have posted another ITP for MOC (Music On Console)
>>>>> which is a ncurses based music player, whose plugin
>>>>> uses ffmpeg libraries.
>>>>>
>>>>> I have already prepared the ffmpeg package as follows.
>>>>>
>>>>> https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/
>>>>>
>>>>> To build ffmpeg, other new packages i.e., x264, x265 and
>>>>> xvidcore are required, I have proposed ITP at the same
>>>>> time.
>>>>>
>>>> It's also missing cygswscale-6.dll which I don't find anywhere.
>>> It should be in:
>>>
>>> https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/libffmpeg/libffmpeg-5.1.2-1.tar.xz
>>>
>>> which is reuqired by ffmpeg-5.1.2-1.tar.xz.
>> OK, I had overlooked that in the ffmpeg folder.
>> Now I get:
>>
>> C:/cygwin64/bin/ffmpeg.exe: error while loading shared libraries: ?:
>> cannot open shared object file: No such file or directory
> Thanks for testing.
>
> You need libSDL2_2.0_0 package installed as described in
> https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/ffmpeg-5.1.2-1.hint
A first test suggests that this build may be significantly (~70%) slower 
than the native Windows build of ffmpeg, unfortunately. Do you see a 
possible reason for that and a chance to compensate?

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [ITP] ffmpeg (5.1.2)
  2023-01-20 18:40 ` Jon Turney
@ 2023-01-20 21:04   ` Brian Inglis
  2023-01-22 12:25   ` Takashi Yano
  1 sibling, 0 replies; 17+ messages in thread
From: Brian Inglis @ 2023-01-20 21:04 UTC (permalink / raw)
  To: cygwin-apps

On 2023-01-20 11:40, Jon Turney via Cygwin-apps wrote:
> On 20/01/2023 10:35, Takashi Yano via Cygwin-apps wrote:
>> I would like to propose new package ffmpeg which is
>> well known audio/video tool. ffmpeg is ported to
>> many linux distributions and other unix like systems
>> as well as widows. Since there is windows build,
>> the demand of cygwin port might be relatively small,
>> however its libraries are usefull for other softwares.
>> I have posted another ITP for MOC (Music On Console)
>> which is a ncurses based music player, whose plugin
>> uses ffmpeg libraries.
>> I have already prepared the ffmpeg package as follows.
>> https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/
>> To build ffmpeg, other new packages i.e., x264, x265 and
>> xvidcore are required, I have proposed ITP at the same
>> time.

> For a long time, ffmpeg was not included in Fedora, due to concerns about codec 
> patents, but those issues seem to have been resolved.
> Can you please investigate what configuration is used in Fedora, and what the 
> effects of matching that would be?

As well as looking at:

	https://src.fedoraproject.org/rpms/ffmpeg/tree/

I've found it useful to look at other work done in recent forks e.g.

https://src.fedoraproject.org/fork/yselkowitz/rpms/ffmpeg/commits/rawhide

and other distros; OpenSuSE and Arch are like Fedora; Gentoo is like Cygwin; 
OpenBSD is behind on v4 so skipped:

	https://github.com/bmwiedemann/openSUSE/tree/master/packages/f/ffmpeg-5

	https://aur.archlinux.org/packages/ffmpeg-full

	https://packages.debian.org/source/sid/ffmpeg

https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/ffmpeg/ffmpeg-5.1.2-r1.ebuild

	https://github.com/macports/macports-ports/tree/master/multimedia/ffmpeg

	https://cgit.freebsd.org/ports/tree/multimedia/ffmpeg

	http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/multimedia/ffmpeg5/

-- 
Take care. Thanks, Brian Inglis			Calgary, Alberta, Canada

La perfection est atteinte			Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter	not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer	but when there is no more to cut
			-- Antoine de Saint-Exupéry

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [ITP] ffmpeg (5.1.2)
  2023-01-20 20:05         ` Thomas Wolff
@ 2023-01-22 12:20           ` Takashi Yano
  0 siblings, 0 replies; 17+ messages in thread
From: Takashi Yano @ 2023-01-22 12:20 UTC (permalink / raw)
  To: cygwin-apps

On Fri, 20 Jan 2023 21:05:51 +0100
Thomas Wolff wrote:
> Am 20.01.2023 um 16:58 schrieb Takashi Yano via Cygwin-apps:
> > On Fri, 20 Jan 2023 16:47:01 +0100
> > Thomas Wolff wrote:
> >> Am 20.01.2023 um 16:28 schrieb Takashi Yano via Cygwin-apps:
> >>> On Fri, 20 Jan 2023 16:04:46 +0100
> >>> Thomas Wolff wrote:
> >>>> Am 20.01.2023 um 11:35 schrieb Takashi Yano via Cygwin-apps:
> >>>>> I would like to propose new package ffmpeg which is
> >>>>> well known audio/video tool. ffmpeg is ported to
> >>>>> many linux distributions and other unix like systems
> >>>>> as well as widows. Since there is windows build,
> >>>>> the demand of cygwin port might be relatively small,
> >>>>> however its libraries are usefull for other softwares.
> >>>>>
> >>>>> I have posted another ITP for MOC (Music On Console)
> >>>>> which is a ncurses based music player, whose plugin
> >>>>> uses ffmpeg libraries.
> >>>>>
> >>>>> I have already prepared the ffmpeg package as follows.
> >>>>>
> >>>>> https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/
> >>>>>
> >>>>> To build ffmpeg, other new packages i.e., x264, x265 and
> >>>>> xvidcore are required, I have proposed ITP at the same
> >>>>> time.
> >>>>>
> >>>> It's also missing cygswscale-6.dll which I don't find anywhere.
> >>> It should be in:
> >>>
> >>> https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/libffmpeg/libffmpeg-5.1.2-1.tar.xz
> >>>
> >>> which is reuqired by ffmpeg-5.1.2-1.tar.xz.
> >> OK, I had overlooked that in the ffmpeg folder.
> >> Now I get:
> >>
> >> C:/cygwin64/bin/ffmpeg.exe: error while loading shared libraries: ?:
> >> cannot open shared object file: No such file or directory
> > Thanks for testing.
> >
> > You need libSDL2_2.0_0 package installed as described in
> > https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/ffmpeg-5.1.2-1.hint
> A first test suggests that this build may be significantly (~70%) slower 
> than the native Windows build of ffmpeg, unfortunately. Do you see a 
> possible reason for that and a chance to compensate?

I tested the encoding speed of ffmpeg and the cygwin build indeed
slower than windows build. In my test, the speed is almos half.

However, I noticed that if "-threads 64" option is added, it gets
faster. Even with this option, cygwin build is 15% slower.

I am not sure why...

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [ITP] ffmpeg (5.1.2)
  2023-01-20 18:40 ` Jon Turney
  2023-01-20 21:04   ` Brian Inglis
@ 2023-01-22 12:25   ` Takashi Yano
  2023-01-24  3:28     ` Takashi Yano
  1 sibling, 1 reply; 17+ messages in thread
From: Takashi Yano @ 2023-01-22 12:25 UTC (permalink / raw)
  To: cygwin-apps

On Fri, 20 Jan 2023 18:40:44 +0000
Jon Turney wrote:
> On 20/01/2023 10:35, Takashi Yano via Cygwin-apps wrote:
> > I would like to propose new package ffmpeg which is
> > well known audio/video tool. ffmpeg is ported to
> > many linux distributions and other unix like systems
> > as well as widows. Since there is windows build,
> > the demand of cygwin port might be relatively small,
> > however its libraries are usefull for other softwares.
> > 
> > I have posted another ITP for MOC (Music On Console)
> > which is a ncurses based music player, whose plugin
> > uses ffmpeg libraries.
> > 
> > I have already prepared the ffmpeg package as follows.
> > 
> > https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/
> > 
> > To build ffmpeg, other new packages i.e., x264, x265 and
> > xvidcore are required, I have proposed ITP at the same
> > time.
> 
> Thanks!
> 
> For a long time, ffmpeg was not included in Fedora, due to concerns 
> about codec patents, but those issues seem to have been resolved.
> 
> Can you please investigate what configuration is used in Fedora, and 
> what the effects of matching that would be?

Thanks. I will check the configuration of fedora.

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [ITP] ffmpeg (5.1.2)
  2023-01-22 12:25   ` Takashi Yano
@ 2023-01-24  3:28     ` Takashi Yano
  2023-02-04 16:45       ` Jon Turney
  0 siblings, 1 reply; 17+ messages in thread
From: Takashi Yano @ 2023-01-24  3:28 UTC (permalink / raw)
  To: cygwin-apps

On Sun, 22 Jan 2023 21:25:59 +0900
Takashi Yano wrote:
> On Fri, 20 Jan 2023 18:40:44 +0000
> Jon Turney wrote:
> > On 20/01/2023 10:35, Takashi Yano via Cygwin-apps wrote:
> > > I would like to propose new package ffmpeg which is
> > > well known audio/video tool. ffmpeg is ported to
> > > many linux distributions and other unix like systems
> > > as well as widows. Since there is windows build,
> > > the demand of cygwin port might be relatively small,
> > > however its libraries are usefull for other softwares.
> > > 
> > > I have posted another ITP for MOC (Music On Console)
> > > which is a ncurses based music player, whose plugin
> > > uses ffmpeg libraries.
> > > 
> > > I have already prepared the ffmpeg package as follows.
> > > 
> > > https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/
> > > 
> > > To build ffmpeg, other new packages i.e., x264, x265 and
> > > xvidcore are required, I have proposed ITP at the same
> > > time.
> > 
> > Thanks!
> > 
> > For a long time, ffmpeg was not included in Fedora, due to concerns 
> > about codec patents, but those issues seem to have been resolved.
> > 
> > Can you please investigate what configuration is used in Fedora, and 
> > what the effects of matching that would be?
> 
> Thanks. I will check the configuration of fedora.

I have checked the configuration of ffmpeg in fedora.
It seems that most of codecs are disabled in fedora
by default unless 'all_codecs' flag is specified.
https://src.fedoraproject.org/rpms/ffmpeg/blob/f37/f/ffmpeg.spec

I have built a ffmpeg package using the configuration
almost imitated fedora.
https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg-free/

You would find this ffmpeg of the above configuration is
almost unuseful...
aac, h264, hevc, mpeg4, wma, wmv, etc. are not supported.

I also imitated the configuration with 'all_codecs' flag
and have built another ffmpeg package.
https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg-all_codecs/

This is almost common with the major ports of ffmpeg.

Could you please review them?

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [ITP] ffmpeg (5.1.2)
  2023-01-24  3:28     ` Takashi Yano
@ 2023-02-04 16:45       ` Jon Turney
  2023-02-05  8:40         ` Takashi Yano
  0 siblings, 1 reply; 17+ messages in thread
From: Jon Turney @ 2023-02-04 16:45 UTC (permalink / raw)
  To: Takashi Yano, cygwin-apps

On 24/01/2023 03:28, Takashi Yano via Cygwin-apps wrote:
>>> Thanks!
>>>
>>> For a long time, ffmpeg was not included in Fedora, due to concerns
>>> about codec patents, but those issues seem to have been resolved.
>>>
>>> Can you please investigate what configuration is used in Fedora, and
>>> what the effects of matching that would be?
>>
>> Thanks. I will check the configuration of fedora.
> 
> I have checked the configuration of ffmpeg in fedora.
> It seems that most of codecs are disabled in fedora
> by default unless 'all_codecs' flag is specified.
> https://src.fedoraproject.org/rpms/ffmpeg/blob/f37/f/ffmpeg.spec
> 
> I have built a ffmpeg package using the configuration
> almost imitated fedora.
> https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg-free/
> 
> You would find this ffmpeg of the above configuration is
> almost unuseful...
> aac, h264, hevc, mpeg4, wma, wmv, etc. are not supported.
> 
> I also imitated the configuration with 'all_codecs' flag
> and have built another ffmpeg package.
> https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg-all_codecs/
> 
> This is almost common with the major ports of ffmpeg.
> 
> Could you please review them?

Thanks for looking into this.  The packaging looks fine from a technical 
standpoint.

The concern here is that we have an informal policy to only accept 
packages which is would be allowed in Fedora (by it's policies on 
content and being free of legal encumbrances (e.g. license, patent and 
trademark issues))

After some discussions, it seems that policy should be formal.  I've 
amended [1] to state that.


I'm sorry to cause you more trouble, but given that, can you package 
this based on the codec set in Fedora's ffmpeg-free?


If you don't think the package is useful under those constraints, don't 
let this discourage you from offering either the cygport for interested 
people to build it themselves, or the packages via an overlay package 
server [2]

[1] https://cygwin.com/packaging-contributors-guide.html#submitting
[2] https://cygwin.com/package-server.html#overlay

(Note for the peanut gallery: none of this should be construed as 
reflecting my personal opinions on the virtues and validity of software 
patents generally, or in this specific case.  This is not the place for 
discussion of such issues)


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [ITP] ffmpeg (5.1.2)
  2023-02-04 16:45       ` Jon Turney
@ 2023-02-05  8:40         ` Takashi Yano
  2023-02-06 13:53           ` Takashi Yano
  0 siblings, 1 reply; 17+ messages in thread
From: Takashi Yano @ 2023-02-05  8:40 UTC (permalink / raw)
  To: cygwin-apps

On Sat, 4 Feb 2023 16:45:13 +0000
Jon Turney wrote:
> On 24/01/2023 03:28, Takashi Yano via Cygwin-apps wrote:
> >>> Thanks!
> >>>
> >>> For a long time, ffmpeg was not included in Fedora, due to concerns
> >>> about codec patents, but those issues seem to have been resolved.
> >>>
> >>> Can you please investigate what configuration is used in Fedora, and
> >>> what the effects of matching that would be?
> >>
> >> Thanks. I will check the configuration of fedora.
> > 
> > I have checked the configuration of ffmpeg in fedora.
> > It seems that most of codecs are disabled in fedora
> > by default unless 'all_codecs' flag is specified.
> > https://src.fedoraproject.org/rpms/ffmpeg/blob/f37/f/ffmpeg.spec
> > 
> > I have built a ffmpeg package using the configuration
> > almost imitated fedora.
> > https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg-free/
> > 
> > You would find this ffmpeg of the above configuration is
> > almost unuseful...
> > aac, h264, hevc, mpeg4, wma, wmv, etc. are not supported.
> > 
> > I also imitated the configuration with 'all_codecs' flag
> > and have built another ffmpeg package.
> > https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg-all_codecs/
> > 
> > This is almost common with the major ports of ffmpeg.
> > 
> > Could you please review them?
> 
> Thanks for looking into this.  The packaging looks fine from a technical 
> standpoint.
> 
> The concern here is that we have an informal policy to only accept 
> packages which is would be allowed in Fedora (by it's policies on 
> content and being free of legal encumbrances (e.g. license, patent and 
> trademark issues))
> 
> After some discussions, it seems that policy should be formal.  I've 
> amended [1] to state that.
> 
> I'm sorry to cause you more trouble, but given that, can you package 
> this based on the codec set in Fedora's ffmpeg-free?

Thank you for your consideration. I have re-arranged the ffmpeg
package basend on Fedora's ffmpeg-free package.

https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/

> If you don't think the package is useful under those constraints, don't 
> let this discourage you from offering either the cygport for interested 
> people to build it themselves, or the packages via an overlay package 
> server [2]

As I mentioned in IRC, the Fedora approved numerous of codecs for
ffmpeg recently. As a result, ffmpeg-free package becomes much more
useful compared to the past.

As far as using for ffmpeg-plugin of moc (Music player), it has
almost enough codecs.

ffmpeg itself might be somewhat weak (e.g., no x264, x265),
however, it whold be much better than nothing.

> [1] https://cygwin.com/packaging-contributors-guide.html#submitting
> [2] https://cygwin.com/package-server.html#overlay

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [ITP] ffmpeg (5.1.2)
  2023-02-05  8:40         ` Takashi Yano
@ 2023-02-06 13:53           ` Takashi Yano
  2023-02-13 18:28             ` Jon Turney
  0 siblings, 1 reply; 17+ messages in thread
From: Takashi Yano @ 2023-02-06 13:53 UTC (permalink / raw)
  To: cygwin-apps

[-- Attachment #1: Type: text/plain, Size: 3024 bytes --]

On Sun, 5 Feb 2023 17:40:18 +0900
Takashi Yano wrote:
> On Sat, 4 Feb 2023 16:45:13 +0000
> Jon Turney wrote:
> > On 24/01/2023 03:28, Takashi Yano via Cygwin-apps wrote:
> > >>> Thanks!
> > >>>
> > >>> For a long time, ffmpeg was not included in Fedora, due to concerns
> > >>> about codec patents, but those issues seem to have been resolved.
> > >>>
> > >>> Can you please investigate what configuration is used in Fedora, and
> > >>> what the effects of matching that would be?
> > >>
> > >> Thanks. I will check the configuration of fedora.
> > > 
> > > I have checked the configuration of ffmpeg in fedora.
> > > It seems that most of codecs are disabled in fedora
> > > by default unless 'all_codecs' flag is specified.
> > > https://src.fedoraproject.org/rpms/ffmpeg/blob/f37/f/ffmpeg.spec
> > > 
> > > I have built a ffmpeg package using the configuration
> > > almost imitated fedora.
> > > https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg-free/
> > > 
> > > You would find this ffmpeg of the above configuration is
> > > almost unuseful...
> > > aac, h264, hevc, mpeg4, wma, wmv, etc. are not supported.
> > > 
> > > I also imitated the configuration with 'all_codecs' flag
> > > and have built another ffmpeg package.
> > > https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg-all_codecs/
> > > 
> > > This is almost common with the major ports of ffmpeg.
> > > 
> > > Could you please review them?
> > 
> > Thanks for looking into this.  The packaging looks fine from a technical 
> > standpoint.
> > 
> > The concern here is that we have an informal policy to only accept 
> > packages which is would be allowed in Fedora (by it's policies on 
> > content and being free of legal encumbrances (e.g. license, patent and 
> > trademark issues))
> > 
> > After some discussions, it seems that policy should be formal.  I've 
> > amended [1] to state that.
> > 
> > I'm sorry to cause you more trouble, but given that, can you package 
> > this based on the codec set in Fedora's ffmpeg-free?
> 
> Thank you for your consideration. I have re-arranged the ffmpeg
> package basend on Fedora's ffmpeg-free package.
> 
> https://tyan0.yr32.net/cygwin/x86_64/release/ffmpeg/
> 
> > If you don't think the package is useful under those constraints, don't 
> > let this discourage you from offering either the cygport for interested 
> > people to build it themselves, or the packages via an overlay package 
> > server [2]
> 
> As I mentioned in IRC, the Fedora approved numerous of codecs for
> ffmpeg recently. As a result, ffmpeg-free package becomes much more
> useful compared to the past.
> 
> As far as using for ffmpeg-plugin of moc (Music player), it has
> almost enough codecs.
> 
> ffmpeg itself might be somewhat weak (e.g., no x264, x265),
> however, it whold be much better than nothing.
> 
> > [1] https://cygwin.com/packaging-contributors-guide.html#submitting
> > [2] https://cygwin.com/package-server.html#overlay

I revised the cygport file as attached.

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>

[-- Attachment #2: ffmpeg.cygport --]
[-- Type: text/plain, Size: 4801 bytes --]

NAME="ffmpeg"
VERSION=5.1.2
RELEASE=1
CATEGORY="Audio Video"
SUMMARY="A complete solution to record, convert and stream audio and video."
DESCRIPTION="FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream and filter pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge."
HOMEPAGE="https://ffmpeg.org/"
LICENSE="GPL-3.0-or-later"
SRC_URI="http://ffmpeg.org/releases/${NAME}-${VERSION}.tar.xz"
PATCH_URI="
	https://src.fedoraproject.org/rpms/ffmpeg/raw/rawhide/f/ffmpeg-codec-choice.patch
	https://src.fedoraproject.org/rpms/ffmpeg/raw/rawhide/f/ffmpeg-new-coder-errors.patch
	https://src.fedoraproject.org/rpms/ffmpeg/raw/rawhide/f/ffmpeg-allow-fdk-aac-free.patch
	https://src.fedoraproject.org/rpms/ffmpeg/raw/rawhide/f/ffmpeg-dlopen-openh264.patch
"

all_codecs="no" # Set to "yes" if you want to enable all codecs.

if [ ${all_codecs} = "yes" ]
then
	cat << _EOF_ > ffmpeg-wchar.patch
--- origsrc/ffmpeg-5.1.2/libavcodec/mf_utils.h	2022-07-23 02:58:39.000000000 +0900
+++ src/ffmpeg-5.1.2/libavcodec/mf_utils.h	2023-01-26 12:33:12.745550400 +0900
@@ -29,6 +29,7 @@
 // mf*.h headers below indirectly include strmif.h.)
 #include <icodecapi.h>
 #else
+#include <wchar.h>
 #define NO_DSHOW_STRSAFE
 #include <dshow.h>
 // Older versions of mingw-w64 need codecapi.h explicitly included, while newer
_EOF_
	PATCH_URI+=" ffmpeg-wchar.patch"
else
	SRC_URI+=" ffmpeg_free_sources enable_decoders enable_encoders"
fi

CYGPORT_USE_UNSTABLE_API=1
src_unpack_hook() {
	rm -f libavcodec/libopenh264_dlopen.{c,h}
	if [ ${all_codecs} = "yes" ]
	then
		# restore original sources
		pushd ..
		pushd ../..
		rm ${NAME}-${VERSION}.tar.xz
		wget http://ffmpeg.org/releases/${NAME}-${VERSION}.tar.xz
		popd
		tar xf ../../${NAME}-${VERSION}.tar.xz
		popd
	else
		# make tarball which has only free sources
		pushd ..
		free_sources=$(sed "s%^%${NAME}-${VERSION}/%" ../../ffmpeg_free_sources)
		free_sources_tarball="../../${NAME}-${VERSION}.tar.xz"
		tar acf ${free_sources_tarball} ${free_sources}
		rm -rf ${NAME}-${VERSION}
		tar xf ${free_sources_tarball}
		popd
	fi
}

PKG_NAMES="ffmpeg libffmpeg5 libffmpeg-devel ffmpeg-doc"
ffmpeg_CONTENTS="--exclude=usr/share/ffmpeg/examples usr/bin/*.exe usr/share/ffmpeg usr/share/man/man1"
libffmpeg5_CATEGORY="Audio Video Libs"
libffmpeg5_SUMMARY="FFmpeg runtime libraries."
libffmpeg5_CONTENTS="usr/bin/*.dll"
libffmpeg_devel_CATEGORY="Audio Video Devel"
libffmpeg_devel_SUMMARY="FFmpeg development package."
libffmpeg_devel_CONTENTS="usr/include usr/lib usr/share/ffmpeg/examples usr/share/man/man3"
ffmpeg_doc_CATEGORY="Audio Video"
ffmpeg_doc_SUMMARY="FFmpeg documentation"
ffmpeg_doc_CONTENTS="usr/share/doc"

conf_args="--prefix=/usr
		--enable-pic
		--disable-stripping
		--enable-shared
		--disable-static
		--enable-gpl
		--enable-version3
		--disable-openssl
		--enable-bzlib
		--enable-gcrypt
		--enable-gnutls
		--enable-ladspa
		--disable-cuda-sdk
		--enable-libaom
		--enable-libass
		--enable-libbs2b
		--enable-libfdk-aac
		--enable-libfontconfig
		--enable-libfreetype
		--enable-libfribidi
		--enable-libgsm
		--enable-libmfx
		--enable-libmodplug
		--enable-libmp3lame
		--enable-libopenh264-dlopen
		--enable-libopenjpeg
		--enable-libopenmpt
		--enable-libopus
		--enable-libpulse
		--enable-librsvg
		--enable-libsnappy
		--enable-libsoxr
		--enable-libspeex
		--enable-libssh
		--enable-libtheora
		--enable-libtwolame
		--enable-libvorbis
		--enable-libvpx
		--enable-libwebp
		--enable-libxml2
		--enable-libxvid
		--enable-libzmq
		--enable-openal
		--enable-opencl
		--enable-opengl
		--enable-pthreads"

if [ ${all_codecs} = "yes" ]
then
	conf_args+="
		--pkg-config-flags=--static
		--enable-libx264
		--enable-libx265"
else
	conf_args+="
		--enable-muxers
		--enable-demuxers
		--enable-hwaccels
		--disable-encoders
		--disable-decoders
		--disable-decoder=h264,hevc,vc1
		--enable-encoder=$(perl -pe 's{^(\w*).*}{$1,}gs' < enable_encoders)
		--enable-decoder=$(perl -pe 's{^(\w*).*}{$1,}gs' < enable_decoders)"
fi

src_compile() {
	cd ${B}
	${S}/configure ${conf_args}
	cygmake
}

BUILD_REQUIRES="libiconv-devel liblzma-devel libzstd-devel libbz2-devel libxcb-shm-devel libSDL2-devel libgnutls-devel ladspa-sdk cygwin-devel libass-devel libbs2b-devel libmp3lame-devel libopenjpeg-devel libopenmpt-devel librsvg2-devel libsnappy-devel libsoxr-devel speex-devel libssh-devel libtheora-devel libtwolame-devel libvorbis-devel libvpx-devel libwebp-devel libxml2-devel libzmq-devel libfribidi-devel libmodplug-devel libgsm-devel libopenjp2-devel libgcrypt-devel libfontconfig-devel libfreetype-devel libopenal-devel libOpenCL-devel libfdk-aac-devel xvidcore libopenh264-headers nv-codec-headers AMF libmfx-devel libaom-devel"

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [ITP] ffmpeg (5.1.2)
  2023-02-06 13:53           ` Takashi Yano
@ 2023-02-13 18:28             ` Jon Turney
  2023-02-14  9:11               ` Takashi Yano
  0 siblings, 1 reply; 17+ messages in thread
From: Jon Turney @ 2023-02-13 18:28 UTC (permalink / raw)
  To: Takashi Yano, cygwin-apps

On 06/02/2023 13:53, Takashi Yano via Cygwin-apps wrote:
> if [ ${all_codecs} = "yes" ]
> then
> 	cat <<_EOF_  > ffmpeg-wchar.patch
> --- origsrc/ffmpeg-5.1.2/libavcodec/mf_utils.h	2022-07-23 02:58:39.000000000 +0900
> +++ src/ffmpeg-5.1.2/libavcodec/mf_utils.h	2023-01-26 12:33:12.745550400 +0900
> @@ -29,6 +29,7 @@
>   // mf*.h headers below indirectly include strmif.h.)
>   #include <icodecapi.h>
>   #else
> +#include <wchar.h>
>   #define NO_DSHOW_STRSAFE
>   #include <dshow.h>
>   // Older versions of mingw-w64 need codecapi.h explicitly included, while newer
> _EOF_
> 	PATCH_URI+=" ffmpeg-wchar.patch"
> el

This seems an odd way to write this. If possible, just apply the patch 
unconditionally (I assume it doesn't break all_codec=no builds), and 
treat it normally (i.e. keep it next to the cygport, list it in 
PATCH_URI, so it gets placed into the source package.)

If it's really necessary to only apply the patch in the all_codec=yes 
case, use src_patch_apply_hook [1].

[1] 
https://cygwin.github.io/cygport/src_prep_cygpart.html#src_patch_apply_hook

Otherwise, looks good.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [ITP] ffmpeg (5.1.2)
  2023-02-13 18:28             ` Jon Turney
@ 2023-02-14  9:11               ` Takashi Yano
  2023-02-16 18:48                 ` Jon Turney
  0 siblings, 1 reply; 17+ messages in thread
From: Takashi Yano @ 2023-02-14  9:11 UTC (permalink / raw)
  To: cygwin-apps

[-- Attachment #1: Type: text/plain, Size: 1480 bytes --]

On Mon, 13 Feb 2023 18:28:37 +0000
Jon Turney wrote:
> On 06/02/2023 13:53, Takashi Yano via Cygwin-apps wrote:
> > if [ ${all_codecs} = "yes" ]
> > then
> > 	cat <<_EOF_  > ffmpeg-wchar.patch
> > --- origsrc/ffmpeg-5.1.2/libavcodec/mf_utils.h	2022-07-23 02:58:39.000000000 +0900
> > +++ src/ffmpeg-5.1.2/libavcodec/mf_utils.h	2023-01-26 12:33:12.745550400 +0900
> > @@ -29,6 +29,7 @@
> >   // mf*.h headers below indirectly include strmif.h.)
> >   #include <icodecapi.h>
> >   #else
> > +#include <wchar.h>
> >   #define NO_DSHOW_STRSAFE
> >   #include <dshow.h>
> >   // Older versions of mingw-w64 need codecapi.h explicitly included, while newer
> > _EOF_
> > 	PATCH_URI+=" ffmpeg-wchar.patch"
> > el
> 
> This seems an odd way to write this. If possible, just apply the patch 
> unconditionally (I assume it doesn't break all_codec=no builds), and 
> treat it normally (i.e. keep it next to the cygport, list it in 
> PATCH_URI, so it gets placed into the source package.)
> 
> If it's really necessary to only apply the patch in the all_codec=yes 
> case, use src_patch_apply_hook [1].
> 
> [1] 
> https://cygwin.github.io/cygport/src_prep_cygpart.html#src_patch_apply_hook
> 
> Otherwise, looks good.

Patching conditionally is necessary because the target file
is excluded from free-source tarball (ffmpeg_free_sources)
if all_codecs != "yes".

I revised the cygport file which uses src_patch_apply_hook()
as you recommended.

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>

[-- Attachment #2: ffmpeg.cygport --]
[-- Type: text/plain, Size: 4511 bytes --]

NAME="ffmpeg"
VERSION=5.1.2
RELEASE=1
CATEGORY="Audio Video"
SUMMARY="A complete solution to record, convert and stream audio and video."
DESCRIPTION="FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream and filter pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge."
HOMEPAGE="https://ffmpeg.org/"
LICENSE="GPL-3.0-or-later"
SRC_URI="
	http://ffmpeg.org/releases/${NAME}-${VERSION}.tar.xz
	ffmpeg_free_sources
	enable_decoders
	enable_encoders"
PATCH_URI="
	https://src.fedoraproject.org/rpms/ffmpeg/raw/rawhide/f/ffmpeg-codec-choice.patch
	https://src.fedoraproject.org/rpms/ffmpeg/raw/rawhide/f/ffmpeg-new-coder-errors.patch
	https://src.fedoraproject.org/rpms/ffmpeg/raw/rawhide/f/ffmpeg-allow-fdk-aac-free.patch
	https://src.fedoraproject.org/rpms/ffmpeg/raw/rawhide/f/ffmpeg-dlopen-openh264.patch
	ffmpeg-wchar.patch
"

all_codecs="no" # Set to "yes" if you want to enable all codecs.

CYGPORT_USE_UNSTABLE_API=1
src_patch_apply_hook() {
	if [ "$1" != "ffmpeg-wchar.patch" -o ${all_codecs} = "yes" ]
	then
		return 0 # apply patch
	else
		echo "$1 will be skipped because all_codecs is \"${all_codecs}\"."
		return 1 # skip patch
	fi
}

src_unpack_hook() {
	rm -f libavcodec/libopenh264_dlopen.{c,h}
	if [ ${all_codecs} = "yes" ]
	then
		# restore original sources
		pushd ..
		pushd ../..
		rm ${NAME}-${VERSION}.tar.xz
		wget http://ffmpeg.org/releases/${NAME}-${VERSION}.tar.xz
		popd
		tar xf ../../${NAME}-${VERSION}.tar.xz
		popd
	else
		# make tarball which has only free sources
		pushd ..
		free_sources=$(sed "s%^%${NAME}-${VERSION}/%" ../../ffmpeg_free_sources)
		free_sources_tarball="../../${NAME}-${VERSION}.tar.xz"
		tar acf ${free_sources_tarball} ${free_sources}
		rm -rf ${NAME}-${VERSION}
		tar xf ${free_sources_tarball}
		popd
	fi
}

PKG_NAMES="ffmpeg libffmpeg5 libffmpeg-devel ffmpeg-doc"
ffmpeg_CONTENTS="--exclude=usr/share/ffmpeg/examples usr/bin/*.exe usr/share/ffmpeg usr/share/man/man1"
libffmpeg5_CATEGORY="Audio Video Libs"
libffmpeg5_SUMMARY="FFmpeg runtime libraries."
libffmpeg5_CONTENTS="usr/bin/*.dll"
libffmpeg_devel_CATEGORY="Audio Video Devel"
libffmpeg_devel_SUMMARY="FFmpeg development package."
libffmpeg_devel_CONTENTS="usr/include usr/lib usr/share/ffmpeg/examples usr/share/man/man3"
ffmpeg_doc_CATEGORY="Audio Video Doc"
ffmpeg_doc_SUMMARY="FFmpeg documentation"
ffmpeg_doc_CONTENTS="usr/share/doc"

conf_args="--prefix=/usr
		--enable-pic
		--disable-stripping
		--enable-shared
		--disable-static
		--enable-gpl
		--enable-version3
		--disable-openssl
		--enable-bzlib
		--enable-gcrypt
		--enable-gnutls
		--enable-ladspa
		--disable-cuda-sdk
		--enable-libaom
		--enable-libass
		--enable-libbs2b
		--enable-libfdk-aac
		--enable-libfontconfig
		--enable-libfreetype
		--enable-libfribidi
		--enable-libgsm
		--enable-libmfx
		--enable-libmodplug
		--enable-libmp3lame
		--enable-libopenh264-dlopen
		--enable-libopenjpeg
		--enable-libopenmpt
		--enable-libopus
		--enable-libpulse
		--enable-librsvg
		--enable-libsnappy
		--enable-libsoxr
		--enable-libspeex
		--enable-libssh
		--enable-libtheora
		--enable-libtwolame
		--enable-libvorbis
		--enable-libvpx
		--enable-libwebp
		--enable-libxml2
		--enable-libxvid
		--enable-libzmq
		--enable-openal
		--enable-opencl
		--enable-opengl
		--enable-pthreads"

if [ ${all_codecs} = "yes" ]
then
	conf_args+="
		--pkg-config-flags=--static
		--enable-libx264
		--enable-libx265"
else
	conf_args+="
		--enable-muxers
		--enable-demuxers
		--enable-hwaccels
		--disable-encoders
		--disable-decoders
		--disable-decoder=h264,hevc,vc1
		--enable-encoder=$(perl -pe 's{^(\w*).*}{$1,}gs' < enable_encoders)
		--enable-decoder=$(perl -pe 's{^(\w*).*}{$1,}gs' < enable_decoders)"
fi

src_compile() {
	cd ${B}
	${S}/configure ${conf_args}
	cygmake
}

BUILD_REQUIRES="libiconv-devel liblzma-devel libzstd-devel libbz2-devel libxcb-shm-devel libSDL2-devel libgnutls-devel ladspa-sdk cygwin-devel libass-devel libbs2b-devel libmp3lame-devel libopenjpeg-devel libopenmpt-devel librsvg2-devel libsnappy-devel libsoxr-devel speex-devel libssh-devel libtheora-devel libtwolame-devel libvorbis-devel libvpx-devel libwebp-devel libxml2-devel libzmq-devel libfribidi-devel libmodplug-devel libgsm-devel libopenjp2-devel libgcrypt-devel libfontconfig-devel libfreetype-devel libopenal-devel libOpenCL-devel libfdk-aac-devel xvidcore libopenh264-headers nv-codec-headers AMF libmfx-devel libaom-devel"

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [ITP] ffmpeg (5.1.2)
  2023-02-14  9:11               ` Takashi Yano
@ 2023-02-16 18:48                 ` Jon Turney
  0 siblings, 0 replies; 17+ messages in thread
From: Jon Turney @ 2023-02-16 18:48 UTC (permalink / raw)
  To: Takashi Yano, cygwin-apps

On 14/02/2023 09:11, Takashi Yano via Cygwin-apps wrote:
> On Mon, 13 Feb 2023 18:28:37 +0000
> Jon Turney wrote:
>> On 06/02/2023 13:53, Takashi Yano via Cygwin-apps wrote:
>>> if [ ${all_codecs} = "yes" ]
>>> then
>>> 	cat <<_EOF_  > ffmpeg-wchar.patch
>>> --- origsrc/ffmpeg-5.1.2/libavcodec/mf_utils.h	2022-07-23 02:58:39.000000000 +0900
>>> +++ src/ffmpeg-5.1.2/libavcodec/mf_utils.h	2023-01-26 12:33:12.745550400 +0900
>>> @@ -29,6 +29,7 @@
>>>    // mf*.h headers below indirectly include strmif.h.)
>>>    #include <icodecapi.h>
>>>    #else
>>> +#include <wchar.h>
>>>    #define NO_DSHOW_STRSAFE
>>>    #include <dshow.h>
>>>    // Older versions of mingw-w64 need codecapi.h explicitly included, while newer
>>> _EOF_
>>> 	PATCH_URI+=" ffmpeg-wchar.patch"
>>> el
>>
>> This seems an odd way to write this. If possible, just apply the patch
>> unconditionally (I assume it doesn't break all_codec=no builds), and
>> treat it normally (i.e. keep it next to the cygport, list it in
>> PATCH_URI, so it gets placed into the source package.)
>>
>> If it's really necessary to only apply the patch in the all_codec=yes
>> case, use src_patch_apply_hook [1].
>>
>> [1]
>> https://cygwin.github.io/cygport/src_prep_cygpart.html#src_patch_apply_hook
>>
>> Otherwise, looks good.
> 
> Patching conditionally is necessary because the target file
> is excluded from free-source tarball (ffmpeg_free_sources)
> if all_codecs != "yes".

Ah, I see.

> I revised the cygport file which uses src_patch_apply_hook()
> as you recommended.

Looks good.


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2023-02-16 18:48 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-20 10:35 [ITP] ffmpeg (5.1.2) Takashi Yano
2023-01-20 15:04 ` Thomas Wolff
2023-01-20 15:28   ` Takashi Yano
2023-01-20 15:47     ` Thomas Wolff
2023-01-20 15:58       ` Takashi Yano
2023-01-20 20:05         ` Thomas Wolff
2023-01-22 12:20           ` Takashi Yano
2023-01-20 18:40 ` Jon Turney
2023-01-20 21:04   ` Brian Inglis
2023-01-22 12:25   ` Takashi Yano
2023-01-24  3:28     ` Takashi Yano
2023-02-04 16:45       ` Jon Turney
2023-02-05  8:40         ` Takashi Yano
2023-02-06 13:53           ` Takashi Yano
2023-02-13 18:28             ` Jon Turney
2023-02-14  9:11               ` Takashi Yano
2023-02-16 18:48                 ` Jon Turney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).