This is required to fulfill avcodec_decode_video2() promise to return the number of consumed bytes on success.tags/n0.9
| @@ -522,7 +522,7 @@ int ff_thread_decode_frame(AVCodecContext *avctx, | |||||
| if (fctx->next_decoding >= (avctx->thread_count-1)) fctx->delaying = 0; | if (fctx->next_decoding >= (avctx->thread_count-1)) fctx->delaying = 0; | ||||
| *got_picture_ptr=0; | *got_picture_ptr=0; | ||||
| return 0; | |||||
| return avpkt->size; | |||||
| } | } | ||||
| /* | /* | ||||
| @@ -563,7 +563,8 @@ int ff_thread_decode_frame(AVCodecContext *avctx, | |||||
| fctx->next_finished = finished; | fctx->next_finished = finished; | ||||
| return p->result; | |||||
| /* return the size of the consumed packet if no error occurred */ | |||||
| return (p->result >= 0) ? avpkt->size : p->result; | |||||
| } | } | ||||
| void ff_thread_report_progress(AVFrame *f, int n, int field) | void ff_thread_report_progress(AVFrame *f, int n, int field) | ||||
| @@ -42,6 +42,9 @@ void ff_thread_flush(AVCodecContext *avctx); | |||||
| * Submits a new frame to a decoding thread. | * Submits a new frame to a decoding thread. | ||||
| * Returns the next available frame in picture. *got_picture_ptr | * Returns the next available frame in picture. *got_picture_ptr | ||||
| * will be 0 if none is available. | * will be 0 if none is available. | ||||
| * The return value on success is the size of the consumed packet for | |||||
| * compatiblity with avcodec_decode_video2(). This means the decoder | |||||
| * has to consume the full packet. | |||||
| * | * | ||||
| * Parameters are the same as avcodec_decode_video2(). | * Parameters are the same as avcodec_decode_video2(). | ||||
| */ | */ | ||||