[FFmpeg-devel] TrueHD track in EVO not playable/testable with ffplay

Michael Niedermayer michaelni
Sat Jul 25 10:36:58 CEST 2009


On Thu, Jul 23, 2009 at 06:01:03PM -0300, Ramiro Polla wrote:
> On Mon, Jul 20, 2009 at 7:30 PM, Justin Ruggles<justin.ruggles at gmail.com> wrote:
> > Baptiste Coudurier wrote:
> >> On 7/18/2009 3:15 PM, Ramiro Polla wrote:
> >>> On Tue, Jul 14, 2009 at 5:26 PM, Michael Niedermayer<michaelni at gmx.at> wrote:
> >>>> On Tue, Jul 14, 2009 at 02:59:13PM -0300, Ramiro Polla wrote:
> >>>>> On Mon, Jul 13, 2009 at 6:02 PM, Justin Ruggles<justin.ruggles at gmail.com> wrote:
> >>>>>> If you decide on using channels + request_channels + output_channels,
> >>>>>> here is what I think should happen.
> >>>>>>
> >>>>>> demuxer/parser : set channels to the number of source channels,
> >>>>>> completely ignoring request_channels.
> >>>>>>
> >>>>>> decoder : during init(), set channels to the number of source channels,
> >>>>>> set output_channels to what it will output, trying if it can to honor
> >>>>>> request_channels.
> >>>>>>
> >>>>>> The user can see if output_channels matches request_channels after
> >>>>>> decoder init.
> >>>>> And what shall the user do if output_channels has no value after decoder init?
> >>>> he should call av_find_stream_info() either way and that should fill it in,
> >>>> in theory ...
> >>> I have a few more ideas:
> >>> - av_find_stream_info() tests for output_channels if request_channels
> >>> is set. this would require request_channels to be set before even
> >>> opening the codec;
> >>> - av_find_stream_info() fills possible channel combinations in
> >>> coded_channels[] and the user chooses from that to set
> >>> request_channels. In this case it would set coded_channels[0] = 2;
> >>> coded_channels[1] = 6; coded_channels[2] = 0; or something like that.
> >>
> >> I really don't think av_find_stream_info you touch output_channels at
> >> all, this is a decoding problem not a stream info problem.
> >
> > +1
> 
> Hmm... Now we have Michael who thinks av_find_stream_info() should get
> information about request_channels, and Justin and Baptiste who think
> otherwise.

i have no strong oppinion on this.
But there is a somewhat similar issue currently, namely the r_frame_rate
its set by av_find_stream_info() but its ideal value depends on the output
format (for mpeg1/2 it should favor framerates that are allowed in mpeg
for avi it should try hard to pick a rate that is small, ...)


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

it is not once nor twice but times without number that the same ideas make
their appearance in the world. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090725/49683cf1/attachment.pgp>



More information about the ffmpeg-devel mailing list