Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RDY] Support current FFMPEG / libAV APIs #1228

Merged
merged 3 commits into from Jul 12, 2017

Conversation

TheCycoONE
Copy link
Member

Conditionally replaces deprecated ffmpeg / libav functions and procedures with current equivalents. The most significant being the change to the avcodec_send_packet / avcodec_receive_frame decoding API that replaces the old avcodec_video_decode and avcodec_audio_decode functions.

From https://wiki.libav.org/Migration/12

"It used to be common practice to use this embedded AVCodecContext as the
actual encoding or decoding context. It also used to be passed to
bitstream filters and parsers. This process was extremely ill-defined
and unsafe, since all those components may see the stream at different
stages (since each component has its own, potentially quite large,
delay) and may try to overwrite various AVCodecContext fields in ways
that are unexpected for the other components."

"To solve those issues, a new AVCodecParameters object is introduced,
and its instance is added to AVStream as AVStream.codecpar. The demuxers
now export all codec parameters read from the input stream into this new
object. Similarly, the caller should set the stream parameters in this
object when muxing. For encoding or decoding, the caller should allocate
a separate AVCodecContext object.
avcodec_parameters_from_context()/avcodec_parameters_to_context()
functions are provided to transfer the stream parameters between an
AVCodecContext and AVCodecParameters, so that a caller can easily
initialise a decoder with demuxer information, or a muxer with encoder
information."
@Alberth289346 Alberth289346 merged commit 5fb691f into CorsixTH:master Jul 12, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants