[FFmpeg-devel] Command-line parameters used too late for has_codec_parameters()

Luca Abeni lucabe72
Fri Jan 16 12:07:09 CET 2009


Hi Alexandre,

Alexandre FERRIEUX - FT/RD/SIRP/ASF/SOFTL wrote:
> Hi,
> 
> Currently in av_find_stream_info(), the logic deciding whether or not to 
> engage into parameter-guessing (by pre-reading several frames), which 
> calls  has_codec_parameters(), comes _before_ command-line parameters 
> like -pix_fmt get copied into the fields of the codec.

I think parameters like width, height, and pixel format are encoded in the
H.263 bitstream... In particular, I suspect pix_fmt is always PIX_FMT_YUV420P.
Such value is immediately set in ff_h263_decode_init() (which, if I understand
well, is called as soon as you start decoding the bitstream). Hence, I think
that if you see PIX_FMT_NONE after parsing more than 1 frame there is a
problem somewhere.

width and height should also be set as soon as their value appear in the
bitstream... I suspect there is a frame encoding width and height at the
beginning of every GOP? (so, after parsing at most one GOP such values should
be set, I think...).

Anyway, I think you can set width and height in rtp_parse_open()...
In this way, av_find_stream_info() should see the parameters as properly set,
and you have no delay (uhm... You probably also have to set the codec's time
base).


				Luca




More information about the ffmpeg-devel mailing list