On Sun, 14 Dec 2008 21:26:46 -0500, AliReza Khoshgoftar  
<[email protected]> wrote:
> 2- I am trying to change FFMPEG's source code to force it decode the
> corrupted video from the first place it makes sense.
> I taken a look at the "av_decode_video"'s definition in "utils.c" and it
> seems a member function of "AVCodec" structure called "decode"   does
> everything.
> But I have never found this function's body.
> Dose anybody know where it can be found?

C doesn't have member functions, only pointers to functions.  Each codec  
defines a AVCodec and sets its pointers to functions declared in the code  
for that codec.

For example:

libavcodec/h263dec.c line 728
   AVCodec h263_decoder = {
     "h263",
     CODEC_TYPE_VIDEO,
     CODEC_ID_H263,
     sizeof(MpegEncContext),
     ff_h263_decode_init,
     NULL,
     ff_h263_decode_end,
     ff_h263_decode_frame,
     CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_TRUNCATED |  
CODEC_CAP_DELAY,
     .flush= ff_mpeg_flush,
   };

libavcodec/mpegvideo_enc.c line 3738
   AVCodec h263_encoder = {
     "h263",
     CODEC_TYPE_VIDEO,
     CODEC_ID_H263,
     sizeof(MpegEncContext),
     MPV_encode_init,
     MPV_encode_picture,
     MPV_encode_end,
     .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, -1},
   };

-- 
Michael Conrad
IntelliTree Solutions llc.
513-552-6362
[email protected]
_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to