Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Marton Balint <cus@passwd.hu>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH 3/3] avformat/electronicarts: add option to return alpha channel in the main video stream in VP6A codec
Date: Mon, 14 Nov 2022 23:05:44 +0100 (CET)
Message-ID: <362f6c69-b72d-447-7ab5-4a24695c58c8@passwd.hu> (raw)
In-Reply-To: <166844365819.20155.3362908166990565436@lain.khirnov.net>



On Mon, 14 Nov 2022, Anton Khirnov wrote:

> Quoting Marton Balint (2022-11-13 19:44:41)
>> Signed-off-by: Marton Balint <cus@passwd.hu>
>> ---
>>  doc/demuxers.texi            | 18 ++++++++++++++++
>>  libavformat/electronicarts.c | 42 +++++++++++++++++++++++++++++++-----
>>  libavformat/version.h        |  2 +-
>>  3 files changed, 56 insertions(+), 6 deletions(-)
>>
>> diff --git a/doc/demuxers.texi b/doc/demuxers.texi
>> index 2b6dd86c2a..f07f3f5318 100644
>> --- a/doc/demuxers.texi
>> +++ b/doc/demuxers.texi
>> @@ -285,6 +285,24 @@ This demuxer accepts the following option:
>>
>>  @end table
>>
>> +@section ea
>> +
>> +Electronic Arts Multimedia format demuxer.
>> +
>> +This format is used by various Electronic Arts games.
>> +
>> +@subsection Options
>> +
>> +@table @option
>> +
>> +@item merge_alpha @var{bool}
>> +
>> +Normally the VP6 alpha channel (if exists) is returned as a secondary video
>> +stream,
>
> Why? And why keep it as the default?

VP6 alpha in EA format is a second VP6 encoded video stream where only the 
Y component is used and is interpreted as the alpha channel of the first 
VP6 stream. The alpha VP6 stream is muxed separately from the main VP6 
stream, has its own stream headers and packet headers. In theory the two 
streams might not even have the same resolution (although most likely 
that is not something that is seen or supported in the wild), but the 
format is capable of doing it.

Merged VP6 alpha (also known as the VP6A codec) means that a packet of the 
video stream contains the corresponding packet of both VP6 substreams like 
this:
{OffsetOfAlpha, DataPacket, AlphaDataPacet}
So data and alpha data of a frame is merged to a single packet, this is 
how VP6 video with alpha is muxed in FLV and SWF.

So the first approach is more like how the demuxer sees data in the EA 
format, unfortunately it is different to what the FLV or SWF format 
expects, so - having no better place for it in the framework - I decided 
to do an optional format conversion in the EA demuxer.

I did not want to change the default, but certainly doable if people 
prefer it.

Regards,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

  reply	other threads:[~2022-11-14 22:06 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-13 18:44 [FFmpeg-devel] [PATCH 1/3] avformat/electronicarts: fix EOF check Marton Balint
2022-11-13 18:44 ` [FFmpeg-devel] [PATCH 2/3] avformat/electronicarts: set packet_read in one place Marton Balint
2022-11-17  7:30   ` Peter Ross
2022-11-13 18:44 ` [FFmpeg-devel] [PATCH 3/3] avformat/electronicarts: add option to return alpha channel in the main video stream in VP6A codec Marton Balint
2022-11-14 16:34   ` Anton Khirnov
2022-11-14 22:05     ` Marton Balint [this message]
2022-11-17  7:32       ` Peter Ross
2022-11-22 22:31         ` Marton Balint
2022-11-17  7:29 ` [FFmpeg-devel] [PATCH 1/3] avformat/electronicarts: fix EOF check Peter Ross

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=362f6c69-b72d-447-7ab5-4a24695c58c8@passwd.hu \
    --to=cus@passwd.hu \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git