videorenderer: CF2 frame advance [1/1]
PD#SWPL-77942
Problem:
add new ioctl
1.V4L2_CID_EXT_VDEC_FRAME_ADVANCE
2.V4L2_CID_EXT_VDEC_DECODED_PICTURE_BUFFER
Solution:
add new ioctl
1.V4L2_CID_EXT_VDEC_FRAME_ADVANCE
2.V4L2_CID_EXT_VDEC_DECODED_PICTURE_BUFFER
Verify:
ar321
Build Tag:
Buildroot_DRM_PatchBuild-1155
Commits:
buildroot/package/amlogic/linuxdrm/media_hal:
version: 3.7.42-gd05cab3(build:1155)
d05cab3 videorenderer: CF2 frame advance [1/1]
Git Hash-Object:
f02d7271f0ffb556e58d5a2b2a2064ae1637bb1d
prebuilt/aarch64.lp64./libmediahal_tsplayer.so
45261c2d56cf70d20a46d7c6c7ae46f35490a6d7
prebuilt/aarch64.lp64./libmediahal_videodec.so
0ce0f0d8babe66cdd68f9e853cff0322768f4778
prebuilt/aarch64.lp64./libmediahal_videorender.so
9051ba920c1641d1a95de82d62cbc8574445325b
prebuilt/aarch64.lp64./videorender_server
d597111d47f43d0638fb70f643cc50bf116a3313
prebuilt/arm.aapcs-linux.hard/libmediahal_tsplayer.so
3445526398f7a22556caa56ddac5dfd2f9aa7bf9
prebuilt/arm.aapcs-linux.hard/libmediahal_videodec.so
16dc13995354545d18889fccb5d91173439e24f9
prebuilt/arm.aapcs-linux.hard/libmediahal_videorender.so
9a9d82843cf0afa9540216e81e1a1b6438408b24
prebuilt/arm.aapcs-linux.hard/videorender_server
d81e65215af838a95c29547569314aab8cff6c78
prebuilt/noarch/include/render_lib.h
986c171721f8690aae1148669d09e139f140123e
version.txt
Change-Id: Id8ba74bd116838a31baaebc91321f018dfeb8e12
Signed-off-by: DRM Auto Build <tao.guo@amlogic.com>
diff --git a/prebuilt/aarch64.lp64./libmediahal_tsplayer.so b/prebuilt/aarch64.lp64./libmediahal_tsplayer.so
index 9a70e51..f02d727 100644
--- a/prebuilt/aarch64.lp64./libmediahal_tsplayer.so
+++ b/prebuilt/aarch64.lp64./libmediahal_tsplayer.so
Binary files differ
diff --git a/prebuilt/aarch64.lp64./libmediahal_videodec.so b/prebuilt/aarch64.lp64./libmediahal_videodec.so
index 0673001..45261c2 100644
--- a/prebuilt/aarch64.lp64./libmediahal_videodec.so
+++ b/prebuilt/aarch64.lp64./libmediahal_videodec.so
Binary files differ
diff --git a/prebuilt/aarch64.lp64./libmediahal_videorender.so b/prebuilt/aarch64.lp64./libmediahal_videorender.so
index 2562b7f..0ce0f0d 100644
--- a/prebuilt/aarch64.lp64./libmediahal_videorender.so
+++ b/prebuilt/aarch64.lp64./libmediahal_videorender.so
Binary files differ
diff --git a/prebuilt/aarch64.lp64./videorender_server b/prebuilt/aarch64.lp64./videorender_server
index 0863af8..9051ba9 100755
--- a/prebuilt/aarch64.lp64./videorender_server
+++ b/prebuilt/aarch64.lp64./videorender_server
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.hard/libmediahal_tsplayer.so b/prebuilt/arm.aapcs-linux.hard/libmediahal_tsplayer.so
index 44566be..d597111 100644
--- a/prebuilt/arm.aapcs-linux.hard/libmediahal_tsplayer.so
+++ b/prebuilt/arm.aapcs-linux.hard/libmediahal_tsplayer.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.hard/libmediahal_videodec.so b/prebuilt/arm.aapcs-linux.hard/libmediahal_videodec.so
index a69e423..3445526 100644
--- a/prebuilt/arm.aapcs-linux.hard/libmediahal_videodec.so
+++ b/prebuilt/arm.aapcs-linux.hard/libmediahal_videodec.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.hard/libmediahal_videorender.so b/prebuilt/arm.aapcs-linux.hard/libmediahal_videorender.so
index 63dd76a..16dc139 100644
--- a/prebuilt/arm.aapcs-linux.hard/libmediahal_videorender.so
+++ b/prebuilt/arm.aapcs-linux.hard/libmediahal_videorender.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.hard/videorender_server b/prebuilt/arm.aapcs-linux.hard/videorender_server
index 1ee8177..9a9d828 100755
--- a/prebuilt/arm.aapcs-linux.hard/videorender_server
+++ b/prebuilt/arm.aapcs-linux.hard/videorender_server
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.softfp/libmediahal_tsplayer.so b/prebuilt/arm.aapcs-linux.softfp/libmediahal_tsplayer.so
index a21e5eb..104b6c5 100644
--- a/prebuilt/arm.aapcs-linux.softfp/libmediahal_tsplayer.so
+++ b/prebuilt/arm.aapcs-linux.softfp/libmediahal_tsplayer.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.softfp/libmediahal_videorender.so b/prebuilt/arm.aapcs-linux.softfp/libmediahal_videorender.so
index 71fff41..6d0f44d 100644
--- a/prebuilt/arm.aapcs-linux.softfp/libmediahal_videorender.so
+++ b/prebuilt/arm.aapcs-linux.softfp/libmediahal_videorender.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.softfp/videorender_server b/prebuilt/arm.aapcs-linux.softfp/videorender_server
index 35b86b2..d987aee 100755
--- a/prebuilt/arm.aapcs-linux.softfp/videorender_server
+++ b/prebuilt/arm.aapcs-linux.softfp/videorender_server
Binary files differ
diff --git a/prebuilt/noarch/include/render_lib.h b/prebuilt/noarch/include/render_lib.h
index ee0a1fc..d81e652 100644
--- a/prebuilt/noarch/include/render_lib.h
+++ b/prebuilt/noarch/include/render_lib.h
@@ -42,6 +42,11 @@
void *priv;
} RenderBuffer;
+typedef struct _StepFrameInfo {
+ int on; //if 1 means on, 0 means off
+ int intervalMs; //step display frame interval, if this set to -1,only step one frame until next api invoked
+} StepFrameInfo;
+
/*render key*/
enum _RenderKey {
KEY_WINDOW_SIZE = 300, //set/get the video window size,value type is RenderWindowSize
@@ -56,20 +61,23 @@
KEY_FORCE_ASPECT_RATIO, //set/get force pixel aspect ratio,value type is int, 1 is force,0 is not force
KEY_SELECT_DISPLAY_OUTPUT,//set/get display output index,value type is int,0 is primary output and default value, 1 is extend display output
KEY_IMMEDIATELY_OUTPUT, //set/get immediately output video frame to display, 0 is default value off, 1 is on
+ KEY_STEP_DISPLAY_FRAME, //set/get step display frame,the value type is StepFrameInfo struct
KEY_MEDIASYNC_INSTANCE_ID = 400, //set/get mediasync instance id, value type is int
KEY_MEDIASYNC_PCR_PID, ///set/get mediasync pcr id ,value type is int
KEY_MEDIASYNC_DEMUX_ID, //set/get mediasync demux id ,value type is int
- KEY_MEDIASYNC_SYNC_MODE, //set/get mediasync sync mode,value type is int, 0:vmaster,1:amaster,2:pcrmaster
+ KEY_MEDIASYNC_SYNC_MODE, //set/get mediasync sync mode,value type is int, 0:vmaster,1:amaster,2:pcrmaster,3:videofreerun
KEY_MEDIASYNC_TUNNEL_MODE, //set mediasync to use tunnel mode, 0:notunnelmode 1:tunnelmode
KEY_MEDIASYNC_HAS_AUDIO, //set/get having audio,value type is int,0:not,1:has
KEY_MEDIASYNC_VIDEOLATENCY, //set/get mediasync video latency
KEY_MEDIASYNC_STARTTHRESHOLD, //set/get mediasync start threshold
KEY_MEDIASYNC_VIDEOWORKMODE, //set/get mediasync video work mode
- KEY_MEDIASYNC_AUDIO_MUTE, //set/get
+ KEY_MEDIASYNC_AUDIO_MUTE, //set/get audio mute
KEY_MEDIASYNC_SOURCETYPE, //set/get media sync source type
KEY_MEDIASYNC_VIDEOFRAME, //set/get
KEY_MEDIASYNC_PLAYER_INSTANCE_ID,
KEY_MEDIASYNC_PLAYBACK_RATE, //set/get playback rate,value type is float,0.5 is 0.5 rate, 1.0 is normal, 2.0 is 2x rate
+ KEY_MEDIASYNC_VIDEO_SYNC_THRESHOLD, //set/get video free run threshold,value type is int,time is us
+ KEY_MEDIASYNC_VIDEO_FREERUN, //set/get video freerun when video is displayed
//set/get video tunnel instance id when videotunnel plugin be selected,value type is int,this key must set before render_connect
KEY_VIDEOTUNNEL_ID = 450,
};
@@ -92,20 +100,22 @@
typedef enum _RenderMsgType {
//frame buffer is released
- MSG_RELEASE_BUFFER = 100, //the msg value type is RenderBuffer
+ MSG_RELEASE_BUFFER = 100, //the msg value type is RenderBuffer
//frame buffer is displayed
- MSG_DISPLAYED_BUFFER = 101, //the msg value type is RenderBuffer
+ MSG_DISPLAYED_BUFFER = 101, //the msg value type is RenderBuffer
//the frame buffer is droped
- MSG_DROPED_BUFFER = 102,//the msg value type is RenderBuffer
+ MSG_DROPED_BUFFER = 102,//the msg value type is RenderBuffer
//first frame displayed msg
- MSG_FIRST_FRAME = 103, //the msg value type is frame pts
+ MSG_FIRST_FRAME = 103, //the msg value type is frame pts
//under flow msg
- MSG_UNDER_FLOW = 104, //the msg value type is null
+ MSG_UNDER_FLOW = 104, //the msg value type is null
+ //pause with special pts
+ MSG_PAUSED_PTS = 105, //the msg value type is RenderBuffer
//render lib connected failed
- MSG_CONNECTED_FAIL = 200, //the msg value type is string
+ MSG_CONNECTED_FAIL = 200, //the msg value type is string
//render lib disconnected failed
- MSG_DISCONNECTED_FAIL, //the msg value type is string
+ MSG_DISCONNECTED_FAIL = 201, //the msg value type is string
} RenderMsgType;
/**
diff --git a/version.txt b/version.txt
index fe5d2a0..986c171 100644
--- a/version.txt
+++ b/version.txt
@@ -1,10 +1,34 @@
=========RELEALSE NOTE=================
-Version: V3.7.41-gcee7c8a
+Version: V3.7.42-gd05cab3
========================================
Git commit:
+commit d05cab305f6c4850c0e068669c9260a540b5e0f9
+Author: fei.deng <fei.deng@amlogic.com>
+Date: Wed Sep 21 19:55:00 2022 +0800
+
+ videorenderer: CF2 frame advance [1/1]
+
+ PD#SWPL-77942
+
+ Problem:
+ add new ioctl
+ 1.V4L2_CID_EXT_VDEC_FRAME_ADVANCE
+ 2.V4L2_CID_EXT_VDEC_DECODED_PICTURE_BUFFER
+
+ Solution:
+ add new ioctl
+ 1.V4L2_CID_EXT_VDEC_FRAME_ADVANCE
+ 2.V4L2_CID_EXT_VDEC_DECODED_PICTURE_BUFFER
+
+ Verify:
+ ar321
+
+ Change-Id: I6523361081c6b482c290343403f40a4d3587b991
+ Signed-off-by: fei.deng <fei.deng@amlogic.com>
+
commit cee7c8a54da15876fe5f99fdceb988da363c1fc3
Author: yunmin.chen <yunmin.chen@amlogic.com>
Date: Wed Sep 21 16:10:14 2022 +0800
@@ -200,32 +224,9 @@
Change-Id: Ic191c4b80c2896c58ead4ae7a0e204ad19caea45
Signed-off-by: yu.xie <yu.xie@amlogic.com>
-commit 70f2f5ebbd321fb2ce57b2246f1f7aab6a50742f
-Author: yu.xie <yu.xie@amlogic.com>
-Date: Tue Sep 13 14:08:05 2022 +0800
-
- v4l_dvb_test: CF2 test extend cmd V4L2_CID_EXT_VDEC_DECODER_STATUS. [1/1]
-
- PD#SWPL-77955
-
- Problem:
- support to test three extend commands,
- and add the file that drip decoder mode will use.
-
- Solution:
- add v4l2 event subscribe codes when v4l2 device open,
- and then add the event handle codes in the function of
- _v4l2_handle_event
-
- Verify:
- AR321
-
- Change-Id: I7182e40b939b6b265afe03fe0dd9bd076413aebb
- Signed-off-by: yu.xie <yu.xie@amlogic.com>
-
========================================
-Release time: 2022-09-29-17-03
+Release time: 2022-09-30-17-27
========================================