On 06/11/2017 17.47, Philippe Gorley wrote:
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?


Of course. At start of program:

    avcodec_register_all();
    av_register_all();

--
/*******************************************************************\
*    Ing. Francesco  Cuzzocrea
\*******************************************************************/

_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to