Hi, The Time Has Come. For those who forgot what TEP2 is, a short summary: 1) AVCodecContext is a struct that stores * stream parameters * decoder or encoder options * decoder or encoder state 2) AVCodecContext is used by the demuxers to export stream parameters and by the muxers to receive stream parameters from the caller 3) AVCodecContext is also used by parsers and bitstream filters for undocumented and not well specified purposes 4) until recently, it has been common practice to use the AVCodecContext embedded in AVStream for all of the above cases, which results in an immense mess, where different components do various not well defined things to one shared struct
Since all the components except the encoders/decoders only need the stream parameters, the solution is to add a new structure that stores only those and that will replace AVCodecContext everywhere except for actual encoding/decoding. In the upcoming set, this is done for lavf only, with parsers and bitstream filters hopefully following later. To simplify review, I will send the set in smallish batches. This one contains some preparatory work. -- Anton Khirnov _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel