[FFmpeg-devel] [PATCH 3/6] Add AV_PIX_FMT_NV12T.
Alexis Ballier
aballier at gentoo.org
Fri Nov 21 10:43:15 CET 2014
On Fri, 21 Nov 2014 10:15:29 +0100
Jean-Baptiste Kempf <jb at videolan.org> wrote:
> On 21 Nov, Alexis Ballier wrote :
> > > So you have a format outputted that is of no use, except if you
> > > use the filter.
> >
> > On MFCv5 yes; I don't assume because I'm working on this that it is
> > the only one :)
>
> So, basically, noone can display it, reencode or do anything with it,
> without the filter.
> Therefore, you should not introduce a new fmt for this.
First, I fail to see how this differs from AV_PIX_FMT_VDPAU & friends.
Second, I don't understand all the drama of using _one_ member of an
enum to avoid cluttering the code.
Let me re-explain my other mail:
Current decoding code is:
* open the decoder
* feed it with some data
* get the output format the decoder uses
* advertise it in codec context
* decoding loop is: get an avpacket, feed to decoder, obtain an avframe
Keeping it internal would mean, for the sole decoder:
* open the decoder
* feed it with some data
* get the output format
* if i dont like the format then:
* probe and open another random device that may or may not
exist for format conversion
* look for an output format i like
* advertise the output format i will give to codec context
* decoding loop is:
* get an avpacket, feed it to decoder, obtain an avframe
* if conversion is needed:
* feed frame to filter, obtain the converted frame
Now, if I want to use the fimc device to apply some effects I can't
because the decoder is magically using it behind my back.
If I want to use s5p-tv to display the decoded video over HDMI, then I
have post-processed the frame with fimc for nothing since NV12MT is
accepted.
> > MFCv6 and newer don't even understand nv12mt and can output standard
> > nv12:
> > http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c#n35
>
> This is yet another good reason to NOT introduce a new weird pix-fmt
> that will stay in FFmpeg for the next 10 years.
It will be in kernel headers and kernel ABI for like forever, so I
don't understand why this is so much of a problem.
Alexis.
More information about the ffmpeg-devel
mailing list