130 if (p->
state == STATE_INPUT_READY && !fctx->
die) {
132 while (p->
state == STATE_INPUT_READY && !fctx->
die)
137 if (fctx->
die)
break;
150 "free the frame on failure. This is a bug, please report it.\n");
156 p->
state = STATE_INPUT_READY;
230 #define copy_fields(s, e) memcpy(&dst->s, &src->s, (char*)&dst->e - (char*)&dst->s);
235 #if FF_API_GET_BUFFER
305 if (prev_thread->
state == STATE_SETTING_UP) {
307 while (prev_thread->
state == STATE_SETTING_UP)
330 p->
state = STATE_SETTING_UP;
347 while (p->
state != STATE_SETUP_FINISHED && p->
state != STATE_INPUT_READY) {
349 while (p->
state == STATE_SETTING_UP)
352 if (p->
state == STATE_GET_BUFFER) {
354 p->
state = STATE_SETTING_UP;
406 p = &fctx->
threads[finished++];
408 if (p->
state != STATE_INPUT_READY) {
410 while (p->
state != STATE_INPUT_READY)
445 if (!progress || progress[field] >= n)
return;
463 if (!progress || progress[field] >= n)
return;
471 while (progress[field] < n)
482 p->
state = STATE_SETUP_FINISHED;
492 for (i = 0; i < thread_count; i++) {
495 if (p->
state != STATE_INPUT_READY) {
497 while (p->
state != STATE_INPUT_READY)
517 for (i = 0; i < thread_count; i++) {
536 for (i = 0; i < thread_count; i++) {
584 if (thread_count <= 1) {
595 for (i = 0; i < thread_count; i++) {
634 err = codec->
init(copy);
703 if (p->
state != STATE_SETTING_UP &&
705 av_log(avctx,
AV_LOG_ERROR,
"get_buffer() cannot be called after ff_thread_finish_setup()\n");
717 progress[0] = progress[1] = -1;
732 p->
state = STATE_GET_BUFFER;
736 while (p->
state != STATE_SETTING_UP)
779 if (can_direct_free) {