DO NOT MERGE mm-video-v4l2: vdec: Avoid processing ETBs/FTBs in invalid states

(per the spec) ETB/FTB should not be handled in states other than
Executing, Paused and Idle. This avoids accessing invalid buffers.
Also add a lock to protect the private-buffers from being deleted
while accessing from another thread.

Bug: 27890802
Security Vulnerability - Heap Use-After-Free and Possible LPE in
MediaServer (libOmxVdec problem #6)

CRs-Fixed: 1008882

Change-Id: Iaac2e383cd53cf9cf8042c9ed93ddc76dba3907e

void omx_vdec::perf_control::request_cores(int frame_duration_us)
{
 if (frame_duration_us > MIN_FRAME_DURATION_FOR_PERF_REQUEST_US) {
 return;
 }
    load_lib();
 if (m_perf_lock_acquire && m_perf_handle < 0) {
 int arg = 0x700 /*base value*/ + 2 /*cores*/;
        m_perf_handle = m_perf_lock_acquire(m_perf_handle, 0, &arg, sizeof(arg)/sizeof(int));
 if (m_perf_handle) {
            DEBUG_PRINT_HIGH("perf lock acquired");
 }
 }
}

void omx_vdec::perf_control::request_cores(int frame_duration_us)
{
 if (frame_duration_us > MIN_FRAME_DURATION_FOR_PERF_REQUEST_US) {
 return;
 }
    load_lib();
 if (m_perf_lock_acquire && m_perf_handle < 0) {
 int arg = 0x700 /*base value*/ + 2 /*cores*/;
        m_perf_handle = m_perf_lock_acquire(m_perf_handle, 0, &arg, sizeof(arg)/sizeof(int));
 if (m_perf_handle) {
            DEBUG_PRINT_HIGH("perf lock acquired");
 }
 }
}
