[Libav-user] PRORES decoding using AVCODEC and ffmpeg 3.3.3

Philippe Gorley philippe.gorley at savoirfairelinux.com
Mon Nov 6 18:47:10 EET 2017


On 2017-11-06 11:40 AM, Francesco, Cuzzocrea wrote:
> Hi to all
> 
> I found that ffmpeg can decode PRORES, while it seems that avcodec doesn't.
> 
> If I issue:
> 
> ffmpeg.exe -i test_prores.mov test.mp4
> 
> it convert the mov prores file correctly, whilst using libavcodec 
> doesn't.  Here is the snippet of code:
> 
>   vd_codec = avcodec_find_decoder(AV_CODEC_ID_PRORES);
> 
>   pCodecCtxFF = avcodec_alloc_context3(vd_codec);
> 
>   glob_frm = av_frame_alloc();   // allocate and init a re-usable frame
> 
>   avcodec_open2(pCodecCtxFF, vd_codec,NULL);
> 
>     av_init_packet(&thpkt);
> 
> // Read a single PRORES FRAME and put it into tempBuff
>    fileSize = PutFileIntoBuffer(srcFile.c_str(),tempBuff);
> 
> 
>    thpkt.size =  fileSize;    thpkt.data = tempBuff;
> 
>    conv_res = avcodec_send_packet(pCodecCtxFF, &thpkt);
>    if(conv_res<0)
>    {
>       if(av_strerror(conv_res, errbuf, 512)==0)  stre.printf("Error 
> sending packet : %s",errbuf);
>        else  stre.printf("Error %x returned from avcodec_send_packet : 
> %s",errbuf);
>       goto __exit_pres;
>    }
> 
> 
> result is the message "Error sending packet : Not yet implemented in 
> FFmpeg, patches welcome".
> 
> I attempt to compile with and without --enable-version3 in the configure 
> but nothing changes.
> 
> Anyone experienced decoding of PRORES frame ?
> 
> Regards
> 
> 

Are you registering the codec? IE: are you calling av_register_all() 
before using libav* code?

-- 
Philippe Gorley
Free Software Consultant | Montréal, Qc
Savoir-faire Linux

Confidentiality Message: This communication (including any files
transmitted with it) is intended solely for the person or entity to
whom it is addressed, and may contain confidential or privileged
information.
The disclosure, distribution or copying of this message is strictly
forbidden. Should you have received this communication in error,
kindly contact the sender promptly, destroy any copies and delete
this message from your computer system.


More information about the Libav-user mailing list