aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--main.c1
-rw-r--r--msm-v4l2-controls.h455
-rw-r--r--video.c3
4 files changed, 3 insertions, 458 deletions
diff --git a/Makefile b/Makefile
index 6bcfff7..8c2bcaf 100644
--- a/Makefile
+++ b/Makefile
@@ -47,7 +47,7 @@ all: $(EXEC)
$(CC) -c $(CFLAGS) $(INCLUDES) $<
$(EXEC): $(OBJECTS)
- $(CC) -o v4l2_encode $(OBJECTS) -lpthread
+ $(CC) -o $(EXEC) $(OBJECTS) -lpthread
clean:
rm -f *.o $(EXEC)
diff --git a/main.c b/main.c
index 2d3e5fd..b945ee9 100644
--- a/main.c
+++ b/main.c
@@ -24,7 +24,6 @@
#include <stdio.h>
#include <string.h>
#include <linux/videodev2.h>
-#include "msm-v4l2-controls.h"
#include <sys/ioctl.h>
#include <sys/time.h>
#include <poll.h>
diff --git a/msm-v4l2-controls.h b/msm-v4l2-controls.h
deleted file mode 100644
index 0b5639f..0000000
--- a/msm-v4l2-controls.h
+++ /dev/null
@@ -1,455 +0,0 @@
-#ifndef __MSM_V4L2_CONTROLS_H__
-#define __MSM_V4L2_CONTROLS_H__
-
-#include <linux/v4l2-controls.h>
-
-/* MPEG-class control IDs specific to the msm_vidc driver */
-#define V4L2_CID_MPEG_MSM_VIDC_BASE (V4L2_CTRL_CLASS_MPEG | 0x2000)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_ENABLE_PICTURE_TYPE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE+0)
-#define V4L2_CID_MPEG_VIDC_VIDEO_KEEP_ASPECT_RATIO \
- (V4L2_CID_MPEG_MSM_VIDC_BASE+1)
-#define V4L2_CID_MPEG_VIDC_VIDEO_POST_LOOP_DEBLOCKER_MODE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE+2)
-#define V4L2_CID_MPEG_VIDC_VIDEO_DIVX_FORMAT \
- (V4L2_CID_MPEG_MSM_VIDC_BASE+3)
-enum v4l2_mpeg_vidc_video_divx_format_type {
- V4L2_MPEG_VIDC_VIDEO_DIVX_FORMAT_4 = 0,
- V4L2_MPEG_VIDC_VIDEO_DIVX_FORMAT_5 = 1,
- V4L2_MPEG_VIDC_VIDEO_DIVX_FORMAT_6 = 2,
-};
-#define V4L2_CID_MPEG_VIDC_VIDEO_MB_ERROR_MAP_REPORTING \
- (V4L2_CID_MPEG_MSM_VIDC_BASE+4)
-#define V4L2_CID_MPEG_VIDC_VIDEO_CONTINUE_DATA_TRANSFER \
- (V4L2_CID_MPEG_MSM_VIDC_BASE+5)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_STREAM_FORMAT (V4L2_CID_MPEG_MSM_VIDC_BASE+6)
-enum v4l2_mpeg_vidc_video_stream_format {
- V4L2_MPEG_VIDC_VIDEO_NAL_FORMAT_STARTCODES = 0,
- V4L2_MPEG_VIDC_VIDEO_NAL_FORMAT_ONE_NAL_PER_BUFFER = 1,
- V4L2_MPEG_VIDC_VIDEO_NAL_FORMAT_ONE_BYTE_LENGTH = 2,
- V4L2_MPEG_VIDC_VIDEO_NAL_FORMAT_TWO_BYTE_LENGTH = 3,
- V4L2_MPEG_VIDC_VIDEO_NAL_FORMAT_FOUR_BYTE_LENGTH = 4,
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_OUTPUT_ORDER (V4L2_CID_MPEG_MSM_VIDC_BASE+7)
-enum v4l2_mpeg_vidc_video_output_order {
- V4L2_MPEG_VIDC_VIDEO_OUTPUT_ORDER_DISPLAY = 0,
- V4L2_MPEG_VIDC_VIDEO_OUTPUT_ORDER_DECODE = 1,
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_FRAME_RATE (V4L2_CID_MPEG_MSM_VIDC_BASE+8)
-#define V4L2_CID_MPEG_VIDC_VIDEO_IDR_PERIOD (V4L2_CID_MPEG_MSM_VIDC_BASE+9)
-#define V4L2_CID_MPEG_VIDC_VIDEO_NUM_P_FRAMES (V4L2_CID_MPEG_MSM_VIDC_BASE+10)
-#define V4L2_CID_MPEG_VIDC_VIDEO_NUM_B_FRAMES (V4L2_CID_MPEG_MSM_VIDC_BASE+11)
-#define V4L2_CID_MPEG_VIDC_VIDEO_REQUEST_IFRAME (V4L2_CID_MPEG_MSM_VIDC_BASE+12)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL (V4L2_CID_MPEG_MSM_VIDC_BASE+13)
-enum v4l2_mpeg_vidc_video_rate_control {
- V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_OFF = 0,
- V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_VBR_VFR = 1,
- V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_VBR_CFR = 2,
- V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_VFR = 3,
- V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_CFR = 4,
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_ROTATION (V4L2_CID_MPEG_MSM_VIDC_BASE+14)
-enum v4l2_mpeg_vidc_video_rotation {
- V4L2_CID_MPEG_VIDC_VIDEO_ROTATION_NONE = 0,
- V4L2_CID_MPEG_VIDC_VIDEO_ROTATION_90 = 1,
- V4L2_CID_MPEG_VIDC_VIDEO_ROTATION_180 = 2,
- V4L2_CID_MPEG_VIDC_VIDEO_ROTATION_270 = 3,
-};
-#define MSM_VIDC_BASE V4L2_CID_MPEG_MSM_VIDC_BASE
-#define V4L2_CID_MPEG_VIDC_VIDEO_H264_CABAC_MODEL (MSM_VIDC_BASE+15)
-enum v4l2_mpeg_vidc_h264_cabac_model {
- V4L2_CID_MPEG_VIDC_VIDEO_H264_CABAC_MODEL_0 = 0,
- V4L2_CID_MPEG_VIDC_VIDEO_H264_CABAC_MODEL_1 = 1,
- V4L2_CID_MPEG_VIDC_VIDEO_H264_CABAC_MODEL_2 = 2,
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_MODE (MSM_VIDC_BASE+16)
-enum v4l2_mpeg_vidc_video_intra_refresh_mode {
- V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_NONE = 0,
- V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_CYCLIC = 1,
- V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_ADAPTIVE = 2,
- V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_CYCLIC_ADAPTIVE = 3,
- V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_RANDOM = 4,
-};
-#define V4L2_CID_MPEG_VIDC_VIDEO_AIR_MBS (V4L2_CID_MPEG_MSM_VIDC_BASE+17)
-#define V4L2_CID_MPEG_VIDC_VIDEO_AIR_REF (V4L2_CID_MPEG_MSM_VIDC_BASE+18)
-#define V4L2_CID_MPEG_VIDC_VIDEO_CIR_MBS (V4L2_CID_MPEG_MSM_VIDC_BASE+19)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_H263_PROFILE (V4L2_CID_MPEG_MSM_VIDC_BASE+20)
-enum v4l2_mpeg_vidc_video_h263_profile {
- V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_BASELINE = 0,
- V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_H320CODING = 1,
- V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_BACKWARDCOMPATIBLE = 2,
- V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_ISWV2 = 3,
- V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_ISWV3 = 4,
- V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_HIGHCOMPRESSION = 5,
- V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_INTERNET = 6,
- V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_INTERLACE = 7,
- V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_HIGHLATENCY = 8,
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_H263_LEVEL (V4L2_CID_MPEG_MSM_VIDC_BASE+21)
-enum v4l2_mpeg_vidc_video_h263_level {
- V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_1_0 = 0,
- V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_2_0 = 1,
- V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_3_0 = 2,
- V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_4_0 = 3,
- V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_4_5 = 4,
- V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_5_0 = 5,
- V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_6_0 = 6,
- V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_7_0 = 7,
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_H264_AU_DELIMITER \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 22)
-enum v4l2_mpeg_vidc_video_h264_au_delimiter {
- V4L2_MPEG_VIDC_VIDEO_H264_AU_DELIMITER_DISABLED = 0,
- V4L2_MPEG_VIDC_VIDEO_H264_AU_DELIMITER_ENABLED = 1
-};
-#define V4L2_CID_MPEG_VIDC_VIDEO_SYNC_FRAME_DECODE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 23)
-enum v4l2_mpeg_vidc_video_sync_frame_decode {
- V4L2_MPEG_VIDC_VIDEO_SYNC_FRAME_DECODE_DISABLE = 0,
- V4L2_MPEG_VIDC_VIDEO_SYNC_FRAME_DECODE_ENABLE = 1
-};
-#define V4L2_CID_MPEG_VIDC_VIDEO_SECURE (V4L2_CID_MPEG_MSM_VIDC_BASE+24)
-#define V4L2_CID_MPEG_VIDC_VIDEO_EXTRADATA \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 25)
-enum v4l2_mpeg_vidc_extradata {
- V4L2_MPEG_VIDC_EXTRADATA_NONE = 0,
- V4L2_MPEG_VIDC_EXTRADATA_MB_QUANTIZATION = 1,
- V4L2_MPEG_VIDC_EXTRADATA_INTERLACE_VIDEO = 2,
- V4L2_MPEG_VIDC_EXTRADATA_VC1_FRAMEDISP = 3,
- V4L2_MPEG_VIDC_EXTRADATA_VC1_SEQDISP = 4,
- V4L2_MPEG_VIDC_EXTRADATA_TIMESTAMP = 5,
- V4L2_MPEG_VIDC_EXTRADATA_S3D_FRAME_PACKING = 6,
- V4L2_MPEG_VIDC_EXTRADATA_FRAME_RATE = 7,
- V4L2_MPEG_VIDC_EXTRADATA_PANSCAN_WINDOW = 8,
- V4L2_MPEG_VIDC_EXTRADATA_RECOVERY_POINT_SEI = 9,
- V4L2_MPEG_VIDC_EXTRADATA_MULTISLICE_INFO = 10,
- V4L2_MPEG_VIDC_EXTRADATA_NUM_CONCEALED_MB = 11,
- V4L2_MPEG_VIDC_EXTRADATA_METADATA_FILLER = 12,
- V4L2_MPEG_VIDC_EXTRADATA_INPUT_CROP = 13,
- V4L2_MPEG_VIDC_EXTRADATA_DIGITAL_ZOOM = 14,
- V4L2_MPEG_VIDC_EXTRADATA_ASPECT_RATIO = 15,
- V4L2_MPEG_VIDC_EXTRADATA_MPEG2_SEQDISP = 16,
- V4L2_MPEG_VIDC_EXTRADATA_STREAM_USERDATA = 17,
- V4L2_MPEG_VIDC_EXTRADATA_FRAME_QP = 18,
- V4L2_MPEG_VIDC_EXTRADATA_FRAME_BITS_INFO = 19,
- V4L2_MPEG_VIDC_EXTRADATA_LTR = 20,
- V4L2_MPEG_VIDC_EXTRADATA_METADATA_MBI = 21,
-};
-
-#define V4L2_CID_MPEG_VIDC_SET_PERF_LEVEL (V4L2_CID_MPEG_MSM_VIDC_BASE + 26)
-enum v4l2_mpeg_vidc_perf_level {
- V4L2_CID_MPEG_VIDC_PERF_LEVEL_NOMINAL = 0,
- V4L2_CID_MPEG_VIDC_PERF_LEVEL_PERFORMANCE = 1,
- V4L2_CID_MPEG_VIDC_PERF_LEVEL_TURBO = 2,
-};
-#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_GOB \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 27)
-
-#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_DELIVERY_MODE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 28)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_H264_VUI_TIMING_INFO \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 29)
-enum v4l2_mpeg_vidc_video_h264_vui_timing_info {
- V4L2_MPEG_VIDC_VIDEO_H264_VUI_TIMING_INFO_DISABLED = 0,
- V4L2_MPEG_VIDC_VIDEO_H264_VUI_TIMING_INFO_ENABLED = 1
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_ALLOC_MODE_INPUT \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 30)
-#define V4L2_CID_MPEG_VIDC_VIDEO_ALLOC_MODE_OUTPUT \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 31)
-enum v4l2_mpeg_vidc_video_alloc_mode_type {
- V4L2_MPEG_VIDC_VIDEO_STATIC = 0,
- V4L2_MPEG_VIDC_VIDEO_RING = 1,
- V4L2_MPEG_VIDC_VIDEO_DYNAMIC = 2,
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_FRAME_ASSEMBLY \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 32)
-enum v4l2_mpeg_vidc_video_assembly {
- V4L2_MPEG_VIDC_FRAME_ASSEMBLY_DISABLE = 0,
- V4L2_MPEG_VIDC_FRAME_ASSEMBLY_ENABLE = 1,
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_VP8_PROFILE_LEVEL \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 33)
-enum v4l2_mpeg_vidc_video_vp8_profile_level {
- V4L2_MPEG_VIDC_VIDEO_VP8_UNUSED,
- V4L2_MPEG_VIDC_VIDEO_VP8_VERSION_0,
- V4L2_MPEG_VIDC_VIDEO_VP8_VERSION_1,
- V4L2_MPEG_VIDC_VIDEO_VP8_VERSION_2,
- V4L2_MPEG_VIDC_VIDEO_VP8_VERSION_3,
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_H264_VUI_BITSTREAM_RESTRICT \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 34)
-enum v4l2_mpeg_vidc_video_h264_vui_bitstream_restrict {
- V4L2_MPEG_VIDC_VIDEO_H264_VUI_BITSTREAM_RESTRICT_DISABLED = 0,
- V4L2_MPEG_VIDC_VIDEO_H264_VUI_BITSTREAM_RESTRICT_ENABLED = 1
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_PRESERVE_TEXT_QUALITY \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 35)
-enum v4l2_mpeg_vidc_video_preserve_text_quality {
- V4L2_MPEG_VIDC_VIDEO_PRESERVE_TEXT_QUALITY_DISABLED = 0,
- V4L2_MPEG_VIDC_VIDEO_PRESERVE_TEXT_QUALITY_ENABLED = 1
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_DEINTERLACE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 36)
-enum v4l2_mpeg_vidc_video_deinterlace {
- V4L2_CID_MPEG_VIDC_VIDEO_DEINTERLACE_DISABLED = 0,
- V4L2_CID_MPEG_VIDC_VIDEO_DEINTERLACE_ENABLED = 1
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_MPEG4_TIME_RESOLUTION \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 37)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_STREAM_OUTPUT_MODE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 38)
-enum v4l2_mpeg_vidc_video_decoder_multi_stream {
- V4L2_CID_MPEG_VIDC_VIDEO_STREAM_OUTPUT_PRIMARY = 0,
- V4L2_CID_MPEG_VIDC_VIDEO_STREAM_OUTPUT_SECONDARY = 1,
-};
-#define V4L2_CID_MPEG_VIDC_VIDEO_SCS_THRESHOLD \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 39)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_MPEG2_LEVEL (V4L2_CID_MPEG_MSM_VIDC_BASE+40)
-enum v4l2_mpeg_vidc_video_mpeg2_level {
- V4L2_MPEG_VIDC_VIDEO_MPEG2_LEVEL_0 = 0,
- V4L2_MPEG_VIDC_VIDEO_MPEG2_LEVEL_1 = 1,
- V4L2_MPEG_VIDC_VIDEO_MPEG2_LEVEL_2 = 2,
- V4L2_MPEG_VIDC_VIDEO_MPEG2_LEVEL_3 = 3,
-};
-#define V4L2_CID_MPEG_VIDC_VIDEO_MPEG2_PROFILE (V4L2_CID_MPEG_MSM_VIDC_BASE+41)
-enum v4l2_mpeg_vidc_video_mpeg2_profile {
- V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_SIMPLE = 0,
- V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_MAIN = 1,
- V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_422 = 2,
- V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_SNR_SCALABLE = 3,
- V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_SPATIAL_SCALABLE = 4,
- V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_HIGH = 5,
-};
-#define V4L2_CID_MPEG_VIDC_VIDEO_REQUEST_SEQ_HEADER \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 42)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_MVC_BUFFER_LAYOUT \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 43)
-enum v4l2_mpeg_vidc_video_mvc_layout {
- V4L2_MPEG_VIDC_VIDEO_MVC_SEQUENTIAL = 0,
- V4L2_MPEG_VIDC_VIDEO_MVC_TOP_BOTTOM = 1
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_VP8_MIN_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 44)
-#define V4L2_CID_MPEG_VIDC_VIDEO_VP8_MAX_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 45)
-#define V4L2_CID_MPEG_VIDC_VIDEO_CONCEAL_COLOR \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 46)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_LTRMODE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 47)
-
-enum v4l2_mpeg_vidc_video_ltrmode {
- V4L2_MPEG_VIDC_VIDEO_LTR_MODE_DISABLE = 0,
- V4L2_MPEG_VIDC_VIDEO_LTR_MODE_MANUAL = 1,
- V4L2_MPEG_VIDC_VIDEO_LTR_MODE_PERIODIC = 2
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_LTRCOUNT \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 48)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_USELTRFRAME \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 49)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_MARKLTRFRAME \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 50)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_HIER_P_NUM_LAYERS \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 51)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 52)
-enum v4l2_mpeg_vidc_video_rate_control_timestamp_mode {
- V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_HONOR = 0,
- V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_IGNORE = 1,
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_ENABLE_INITIAL_QP \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 53)
-enum vl42_mpeg_vidc_video_enable_initial_qp {
- V4L2_CID_MPEG_VIDC_VIDEO_ENABLE_INITIAL_QP_IFRAME = 0x1,
- V4L2_CID_MPEG_VIDC_VIDEO_ENABLE_INITIAL_QP_PFRAME = 0x2,
- V4L2_CID_MPEG_VIDC_VIDEO_ENABLE_INITIAL_QP_BFRAME = 0x4,
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_I_FRAME_QP \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 54)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_P_FRAME_QP \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 55)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_B_FRAME_QP \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 56)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_IFRAME_X_RANGE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 57)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_PFRAME_X_RANGE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 58)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_BFRAME_X_RANGE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 59)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_IFRAME_Y_RANGE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 60)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_PFRAME_Y_RANGE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 61)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_BFRAME_Y_RANGE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 62)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_VPX_ERROR_RESILIENCE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 63)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_BUFFER_SIZE_LIMIT \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 64)
-
-enum vl42_mpeg_vidc_video_vpx_error_resilience {
- V4L2_MPEG_VIDC_VIDEO_VPX_ERROR_RESILIENCE_DISABLED = 0,
- V4L2_MPEG_VIDC_VIDEO_VPX_ERROR_RESILIENCE_ENABLED = 1,
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_HEVC_PROFILE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 65)
-enum v4l2_mpeg_video_hevc_profile {
- V4L2_MPEG_VIDC_VIDEO_HEVC_PROFILE_MAIN = 0,
- V4L2_MPEG_VIDC_VIDEO_HEVC_PROFILE_MAIN10 = 1,
- V4L2_MPEG_VIDC_VIDEO_HEVC_PROFILE_MAIN_STILL_PIC = 2,
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_HEVC_TIER_LEVEL \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 66)
-enum v4l2_mpeg_video_hevc_level {
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_1 = 0,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_1 = 1,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_2 = 2,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_2 = 3,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_2_1 = 4,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_2_1 = 5,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_3 = 6,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_3 = 7,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_3_1 = 8,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_3_1 = 9,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_4 = 10,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_4 = 11,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_4_1 = 12,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_4_1 = 13,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_5 = 14,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_5 = 15,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_5_1 = 16,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_5_1 = 17,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_5_2 = 18,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_5_2 = 19,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_6 = 20,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_6 = 21,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_6_1 = 22,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_6_1 = 23,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_6_2 = 24,
- V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_6_2 = 25,
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_H264_NAL_SVC \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 67)
-
-enum vl42_mpeg_vidc_video_h264_svc_nal {
- V4L2_CID_MPEG_VIDC_VIDEO_H264_NAL_SVC_DISABLED = 0,
- V4L2_CID_MPEG_VIDC_VIDEO_H264_NAL_SVC_ENABLED = 1,
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_PERF_MODE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 68)
-
-enum v4l2_mpeg_vidc_video_perf_mode {
- V4L2_MPEG_VIDC_VIDEO_PERF_MAX_QUALITY = 1,
- V4L2_MPEG_VIDC_VIDEO_PERF_POWER_SAVE = 2
-};
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_HIER_B_NUM_LAYERS \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 69)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_SECURE_SCALING_THRESHOLD \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 70)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_NON_SECURE_OUTPUT2 \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 71)
-
-#define V4L2_CID_MPEG_VIDC_VIDEO_HYBRID_HIERP_MODE \
- (V4L2_CID_MPEG_MSM_VIDC_BASE + 72)
-
-/* Vendor extensions */
-#define V4L2_QCOM_BUF_FLAG_CODECCONFIG 0x10000
-#define V4L2_QCOM_BUF_FLAG_EOSEQ 0x20000
-#define V4L2_QCOM_BUF_TIMESTAMP_INVALID 0x40000
-#define V4L2_QCOM_BUF_FLAG_IDRFRAME 0x80000 /*Image is a IDR-frame*/
-#define V4L2_QCOM_BUF_FLAG_DECODEONLY 0x100000
-#define V4L2_QCOM_BUF_DATA_CORRUPT 0x200000
-#define V4L2_QCOM_BUF_DROP_FRAME 0x400000
-#define V4L2_QCOM_BUF_INPUT_UNSUPPORTED 0x800000
-#define V4L2_QCOM_BUF_FLAG_EOS 0x1000000
-#define V4L2_QCOM_BUF_TS_DISCONTINUITY 0x2000000
-#define V4L2_QCOM_BUF_TS_ERROR 0x4000000
-#define V4L2_QCOM_BUF_FLAG_READONLY 0x8000000
-#define V4L2_MSM_VIDC_BUF_START_CODE_NOT_FOUND 0x10000000
-#define V4L2_MSM_BUF_FLAG_YUV_601_709_CLAMP 0x20000000
-#define V4L2_MSM_BUF_FLAG_MBAFF 0x40000000
-
-/* Capabilities */
-#define V4L2_CAP_QCOM_FRAMESKIP 0x2000 /* frame skipping is supported */
-
-struct v4l2_qcom_frameskip {
- __u64 maxframeinterval;
- __u8 fpsvariance;
-};
-
-/* Encoder commands */
-#define V4L2_ENC_QCOM_CMD_FLUSH (4)
-
-/* Decoder commands */
-#define V4L2_DEC_QCOM_CMD_FLUSH (4)
-
-/* Flags for V4L2_DEC_QCOM_CMD_FLUSH */
-#define V4L2_DEC_QCOM_CMD_FLUSH_OUTPUT (1 << 0)
-#define V4L2_DEC_QCOM_CMD_FLUSH_CAPTURE (1 << 1)
-
-#define V4L2_QCOM_CMD_FLUSH_OUTPUT (1 << 0)
-#define V4L2_QCOM_CMD_FLUSH_CAPTURE (1 << 1)
-
-/* Events */
-#define V4L2_EVENT_MSM_VIDC_START (V4L2_EVENT_PRIVATE_START + 0x00001000)
-#define V4L2_EVENT_MSM_VIDC_FLUSH_DONE (V4L2_EVENT_MSM_VIDC_START + 1)
-#define V4L2_EVENT_MSM_VIDC_PORT_SETTINGS_CHANGED_SUFFICIENT \
- (V4L2_EVENT_MSM_VIDC_START + 2)
-#define V4L2_EVENT_MSM_VIDC_PORT_SETTINGS_CHANGED_INSUFFICIENT \
- (V4L2_EVENT_MSM_VIDC_START + 3)
-#define V4L2_EVENT_MSM_VIDC_CLOSE_DONE (V4L2_EVENT_MSM_VIDC_START + 4)
-#define V4L2_EVENT_MSM_VIDC_SYS_ERROR (V4L2_EVENT_MSM_VIDC_START + 5)
-#define V4L2_EVENT_MSM_VIDC_RELEASE_BUFFER_REFERENCE \
- (V4L2_EVENT_MSM_VIDC_START + 6)
-#define V4L2_EVENT_MSM_VIDC_RELEASE_UNQUEUED_BUFFER \
- (V4L2_EVENT_MSM_VIDC_START + 7)
-#define V4L2_EVENT_MSM_VIDC_HW_OVERLOAD (V4L2_EVENT_MSM_VIDC_START + 8)
-#define V4L2_EVENT_MSM_VIDC_MAX_CLIENTS (V4L2_EVENT_MSM_VIDC_START + 9)
-#define V4L2_EVENT_MSM_VIDC_HW_UNSUPPORTED (V4L2_EVENT_MSM_VIDC_START + 10)
-
-#endif/* __MSM_V4L2_CONTROLS_H__ */
diff --git a/video.c b/video.c
index e6f9a58..096c7d1 100644
--- a/video.c
+++ b/video.c
@@ -21,7 +21,6 @@
*/
#include <linux/videodev2.h>
-#include "msm-v4l2-controls.h"
#include <fcntl.h>
#include <string.h>
#include <sys/mman.h>
@@ -37,6 +36,8 @@
/* mem2mem encoder/decoder */
#define V4L2_BUF_FLAG_LAST 0x00100000
+#define V4L2_QCOM_BUF_FLAG_EOS 0x1000000
+
static char *dbg_type[2] = {"OUTPUT", "CAPTURE"};
static char *dbg_status[2] = {"ON", "OFF"};