Hi,

On Tue, Jan 10, 2012 at 3:09 PM, Justin Ruggles
<[email protected]> wrote:
> 4th try at new audio encoding API.
>
> a few differences:
>
> I included Ronald's suggestion of got_packet_ptr instead of inspecting
> various packet fields to decide whether the output packet is empty.
>
> I left out passing of the input timestamps to the encoder in the avconv
> conversion patch for now because it exposes many timestamp bugs in various
> demuxers and breaks FATE. Currently output timestamps are made-up by the
> encoder and/or lavf because we don't have a way to pass input timestamps to
> the encoder, but with the new API we do, thus exposing any timestamp issues
> on the demuxer side. I already fixed a few of the bugs earlier today, but I
> still have about 20 failing fate tests to fix before we can start passing
> the timestamps to the encoder in avconv or implement encode2() in any
> CODEC_CAP_DELAY encoders (which would rely on timestamps from the user).
>
> I also added code in the avcodec_encode_audio() compatibility code for
> removing any side-data from the temp packet. None of the audio encoders
> send side-data currently, but having the code there now will ensure we
> don't forget to handle it later.
>
> Thanks,
> Justin
>
> Justin Ruggles (5):
>  avcodec: add a public function, avcodec_fill_audio_frame().
>  avcodec: Add avcodec_encode_audio2() as replacement for
>    avcodec_encode_audio()
>  avcodec: bump minor version and add APIChanges for the new audio
>    encoding API
>  pcmenc: use AVCodec.encode2()
>  avconv: use avcodec_encode_audio2()
>
>  avconv.c              |  208 ++++++++++++++++---------------
>  doc/APIchanges        |    8 ++
>  libavcodec/avcodec.h  |   92 ++++++++++++++-
>  libavcodec/internal.h |   25 ++++
>  libavcodec/pcm.c      |   28 +++--
>  libavcodec/utils.c    |  327 
> ++++++++++++++++++++++++++++++++++++++++---------
>  libavcodec/version.h  |    7 +-
>  7 files changed, 524 insertions(+), 171 deletions(-)

I don't have any more comments, and OK'ed all other patches except for
the one implementing encode() (because of the missing got_packet_ptr)
in the previous version, so I'll take the lame duck approach and OK
them all together in a single go here: LGTM.

(And I mean that in a good way, I really like the way this code looks, thanks!)

Ronald
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to