적절한 AVCodec
에 대한 포인터를 수신하는 데 사용할 수있는 매개 변수 지정 (11.7, 윈도우, i686으로는, GPL은 libav) libav의 av_find_best_stream
기능에 대한 문서 :디코더 반환 av_find_best_stream 대 avcodec_find_decoder
decoder_ret을 - NULL이 아닌 경우, ID를 주어진
AVCodec
를 찾을 수avcodec_find_decoder
기능도있다 선택된 스트림
위한 디코더를 반환한다.
그러나, 공식 demuxing + decoding example는 스트림을 찾을 av_find_best_stream
를 사용하지만, av_find_best_stream
의 코덱 반환 매개 변수 대신 코덱 찾기 위해 avcodec_find_decoder
을 사용하도록 선택 :
ret = av_find_best_stream(fmt_ctx, type, -1, -1, NULL, 0);
...
stream_index = ret;
st = fmt_ctx->streams[stream_index];
...
/* find decoder for the stream */
dec = avcodec_find_decoder(st->codecpar->codec_id);
을
ret = av_find_best_stream(fmt_ctx, type, -1, -1, &dec, 0);
제 질문은 av_find_best_stream
의 반환 매개 변수 대 avcodec_find_decoder
을 사용하는 것의 차이점은입니다?
내가보기에는 예제가 좀 더 편리한 반환 매개 변수가 아닌 avcodec_find_decoder
을 사용하기로 선택했기 때문에 그 이유가 구체적 이유인지 여부를 알 수 없습니다. 문서 자체는 약간 얼룩덜룩하고 분리되어 있으므로 이와 같은 것이 중요한 이유 때문에 수행되는지 여부를 알기는 어렵습니다. 나는 그 예가 그러한 방식으로 "해야"함을 암시하는지, 아니면 예를 든 저자가 좀 더 임의적 인 개인적인 이유로 그것을 행했는지를 말할 수 없다.