diff options
| author | Udaya Bhaskara Reddy Mallavarapu <udaym@codeaurora.org> | 2017-03-15 23:29:09 +0530 |
|---|---|---|
| committer | Udaya Bhaskara Reddy Mallavarapu <udaym@codeaurora.org> | 2017-03-17 11:09:10 +0530 |
| commit | 5693233c0f366e685d98e49871c83fb13e01a0d0 (patch) | |
| tree | 7da48bc5ea3e264021d6a34d76747ef53f2aeffd | |
| parent | 6f55033ecf068f77136caac2e7c4a7869b3ec2bd (diff) | |
media: platform: msm: dvb: video frame event notification changes
video frame event notification is changed so that events will be raised
for all frames both predicted and non predicted frames and invalidate
pts and dts values for predicted frames. This change is specific to
IoT targets in which only non predicted frames will be decoded
and rendered for performance improvement.
CR's-Fixed: 2005724
Change-Id: I08f648a89eb043938fcc7d3d81e83c3599a2f160
Signed-off-by: Udaya Bhaskara Reddy Mallavarapu <udaym@codeaurora.org>
| -rw-r--r-- | drivers/media/platform/msm/dvb/demux/mpq_dmx_plugin_common.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/drivers/media/platform/msm/dvb/demux/mpq_dmx_plugin_common.c b/drivers/media/platform/msm/dvb/demux/mpq_dmx_plugin_common.c index ef0ef1512211..2fc3ce406c27 100644 --- a/drivers/media/platform/msm/dvb/demux/mpq_dmx_plugin_common.c +++ b/drivers/media/platform/msm/dvb/demux/mpq_dmx_plugin_common.c @@ -3969,6 +3969,18 @@ static int mpq_dmx_process_video_packet_framing( mpq_dmx_update_decoder_stat(mpq_feed); + if (video_b_frame_events == 1) { + if (non_predicted_video_frame == 0) { + struct dmx_pts_dts_info *pts_dts; + + pts_dts = + &meta_data.info.framing.pts_dts_info; + pts_dts->pts_exist = 0; + pts_dts->pts = 0; + pts_dts->dts_exist = 0; + pts_dts->dts = 0; + } + } /* * Write meta-data that includes the framing information */ @@ -3986,14 +3998,7 @@ static int mpq_dmx_process_video_packet_framing( stream_buffer, &data, ret); /* Trigger ES Data Event for VPTS */ - if (video_b_frame_events == 1) { - if (non_predicted_video_frame == 1) - feed->data_ready_cb.ts - (&feed->feed.ts, &data); - } else { - feed->data_ready_cb.ts(&feed->feed.ts, - &data); - } + feed->data_ready_cb.ts(&feed->feed.ts, &data); if (feed_data->video_buffer->mode == MPQ_STREAMBUFFER_BUFFER_MODE_LINEAR) |
