[vlc-devel] CrystalHD decoder

Jean-Baptiste Kempf jb at videolan.org
Tue Dec 7 23:11:10 CET 2010


On Tue, Dec 07, 2010 at 08:38:33PM +0100, Laurent Aimar wrote :
> > +    /* Set output properties */
> > +    p_dec->fmt_out.i_cat          = VIDEO_ES;
> > +    p_dec->fmt_out.i_codec        = VLC_CODEC_YUYV;
>  I probably already asked you but doesn't CrystalHD support planar YUV?
MODE422_YUY2
MODE422_UYVY
MODE420

are my possibilities...

> > +            if( status != BC_STS_SUCCESS )
> > +                return NULL;
>  I wonder if you should ignore this error and simply continue to ensure that you
> correctly retreives all pending pictures. But it's only meaningful only if the
> decoder continues decoding without needed any new buffers.
I believe we do need new buffers to go on.

> > +            msg_Dbg( p_dec, "Format Change Detected [%i, %i], AR: %i/%i",
> > +                    proc_out.PicInfo.width, proc_out.PicInfo.height,
> > +                    p_dec->fmt_out.video.i_sar_num, p_dec->fmt_out.video.i_sar_den );
>  I think that in that case you should loop back to DtsProcOutput directly. With
> the current code I think it will delay the next pictures until you receive the
> next stream buffer. But I don't think it is really serious.

I would think the same, but I am not sure.

But first, I would like to try to use the vout buffers for decoding.

>  Are PicInfo.width and PicInfo.height the real size or they can contain
> padding? If they can, you will have overwrites.
Ok. I would love to remove this copy anyway :)


>  You could also always read the loop_end and simply do
>  & (j == 0 ? 0x1f : 0xff)

Magic!

>  Are you sure about the need for *j ? If it is an error you can use ++ to
> simplify a bit.
I am sure of nothing, except that I am a newbie at this :D

> Regards,

  Thanks, really :)


-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/
+33 672 704 734



More information about the vlc-devel mailing list