Maria1099 / webm

Automatically exported from code.google.com/p/webm
0 stars 0 forks source link

Two-pass encoding says rc_twopass_stats_in missing EOS stats packet #493

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What is the expected behavior? What do you see instead?
When initializing the second pass I get rc_twopass_stats_in missing EOS stats 
packet. I guess I do something wrong but there is no hint in the source where 
the error is generated nor in the twopass_encoder.c example that tells what can 
cause this error.

What version are you using? On what operating system?
v1.1.0 "Eider"

Can you reproduce using the vpxdec or vpxenc tools? What command line are
you using?

Please provide any additional information below.

Original issue reported on code.google.com by jochen.w...@googlemail.com on 23 Oct 2012 at 5:14

GoogleCodeExporter commented 9 years ago
seems that at the end of a streem vpx_codec_encode has to be calles with img = 
NULL. in the documentation in the code I would suggest to change
\param[in]    img       Image data to encode, NULL to flush.
to 
\param[in]    img       Image data to encode, use NULL to flush at end of stream

and in vp8_cx_iface.c, line 222 (ERROR("rc_twopass_stats_in missing EOS stats 
packet")) I would add a comment that the stream was not flushed by calling 
vpx_codec_encode with img = NULL.

Original comment by jochen.w...@googlemail.com on 23 Oct 2012 at 5:46

GoogleCodeExporter commented 9 years ago

Original comment by albe...@google.com on 17 Jan 2013 at 11:25

GoogleCodeExporter commented 9 years ago
I think the documentation is pretty clear -- there's a paragraph above the line 
you suggest amending describing this procedure in detail:

   ...
   * When the last frame has been passed to the encoder, this function should
   * continue to be called, with the img parameter set to NULL. This will
   * signal the end-of-stream condition to the encoder and allow it to encode
   * any held buffers. Encoding is complete when vpx_codec_encode() is called
   * and vpx_codec_get_cx_data() returns no data.
   *
   * \param[in]    ctx       Pointer to this instance's context
   * \param[in]    img       Image data to encode, NULL to flush.
   ...

I'm happy to accept patches if you think the above text can be improved.

Original comment by jkoles...@google.com on 18 Jan 2013 at 5:36