0013-ffmpeg-replace-the-indent-with-space.patch 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433
  1. From 1a2947195001880a05af0e225b6e93c6f2349123 Mon Sep 17 00:00:00 2001
  2. From: "arvin.zhu" <arvin.zhu@starfivetech.com>
  3. Date: Fri, 23 Sep 2022 10:17:00 +0800
  4. Subject: [PATCH] ffmpeg: replace the indent with space
  5. replace the indent with space
  6. Signed-off-by: arvin.zhu <arvin.zhu@starfivetech.com>
  7. ---
  8. libavcodec/omx.c | 46 +++++-----
  9. libavcodec/omxdec.c | 212 ++++++++++++++++++++++----------------------
  10. 2 files changed, 129 insertions(+), 129 deletions(-)
  11. diff --git a/libavcodec/omx.c b/libavcodec/omx.c
  12. index 1d121af..1c4179f 100755
  13. --- a/libavcodec/omx.c
  14. +++ b/libavcodec/omx.c
  15. @@ -1,6 +1,6 @@
  16. /*
  17. - * OMX Video encoder
  18. - * Copyright (C) 2011 Martin Storsjo
  19. + * OMX Video decoder
  20. + * Copyright (C) 2018-2022 Starfive Technology
  21. *
  22. * This file is part of FFmpeg.
  23. *
  24. @@ -685,8 +685,8 @@ static av_cold int omx_encode_init(AVCodecContext *avctx)
  25. role = "video_encoder.avc";
  26. break;
  27. case AV_CODEC_ID_HEVC:
  28. - role = "video_encoder.hevc";
  29. - break;
  30. + role = "video_encoder.hevc";
  31. + break;
  32. default:
  33. return AVERROR(ENOSYS);
  34. }
  35. @@ -752,7 +752,7 @@ static av_cold int omx_encode_init(AVCodecContext *avctx)
  36. }
  37. if (nals[HEVC_NAL_SPS] && nals[HEVC_NAL_PPS] && nals[HEVC_NAL_VPS])
  38. break;
  39. - } else {
  40. + } else {
  41. if (avctx->extradata_size > 0)
  42. break;
  43. }
  44. @@ -982,7 +982,7 @@ static const AVOption options_hevc[] = {
  45. { "omx_libname", "OpenMAX library name", OFFSET(libname), AV_OPT_TYPE_STRING, { 0 }, 0, 0, VDE },
  46. { "omx_libprefix", "OpenMAX library prefix", OFFSET(libprefix), AV_OPT_TYPE_STRING, { 0 }, 0, 0, VDE },
  47. { "zerocopy", "Try to avoid copying input frames if possible", OFFSET(input_zerocopy), AV_OPT_TYPE_INT, { .i64 = CONFIG_OMX_RPI }, 0, 1, VE },
  48. - { NULL },
  49. + { NULL },
  50. };
  51. static const enum AVPixelFormat omx_encoder_pix_fmts[] = {
  52. @@ -1032,23 +1032,23 @@ AVCodec ff_h264_omx_encoder = {
  53. };
  54. static const AVClass omx_hevcenc_class = {
  55. - .class_name = "hevc_omx",
  56. - .item_name = av_default_item_name,
  57. - .option = options_hevc,
  58. - .version = LIBAVUTIL_VERSION_INT,
  59. + .class_name = "hevc_omx",
  60. + .item_name = av_default_item_name,
  61. + .option = options_hevc,
  62. + .version = LIBAVUTIL_VERSION_INT,
  63. };
  64. AVCodec ff_hevc_omx_encoder = {
  65. - .name = "hevc_omx",
  66. - .long_name = NULL_IF_CONFIG_SMALL("OpenMAX IL HEVC video encoder"),
  67. - .type = AVMEDIA_TYPE_VIDEO,
  68. - .id = AV_CODEC_ID_HEVC,
  69. - .priv_data_size = sizeof(OMXCodecContext),
  70. - .init = omx_encode_init,
  71. - .encode2 = omx_encode_frame,
  72. - .close = omx_encode_end,
  73. - .pix_fmts = omx_encoder_pix_fmts,
  74. - .profiles = NULL_IF_CONFIG_SMALL(ff_hevc_profiles),
  75. - .capabilities = AV_CODEC_CAP_DELAY,
  76. - .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
  77. - .priv_class = &omx_hevcenc_class,
  78. + .name = "hevc_omx",
  79. + .long_name = NULL_IF_CONFIG_SMALL("OpenMAX IL HEVC video encoder"),
  80. + .type = AVMEDIA_TYPE_VIDEO,
  81. + .id = AV_CODEC_ID_HEVC,
  82. + .priv_data_size = sizeof(OMXCodecContext),
  83. + .init = omx_encode_init,
  84. + .encode2 = omx_encode_frame,
  85. + .close = omx_encode_end,
  86. + .pix_fmts = omx_encoder_pix_fmts,
  87. + .profiles = NULL_IF_CONFIG_SMALL(ff_hevc_profiles),
  88. + .capabilities = AV_CODEC_CAP_DELAY,
  89. + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
  90. + .priv_class = &omx_hevcenc_class,
  91. };
  92. diff --git a/libavcodec/omxdec.c b/libavcodec/omxdec.c
  93. index b489c09..20298b8 100755
  94. --- a/libavcodec/omxdec.c
  95. +++ b/libavcodec/omxdec.c
  96. @@ -269,7 +269,7 @@ typedef struct OMXCodecContext {
  97. int eos_sent, got_eos, evnet_bufferflag, first_get_outbuffer;
  98. - int extradata_sent;
  99. + int extradata_sent;
  100. uint8_t *output_buf;
  101. int output_buf_size;
  102. @@ -320,9 +320,9 @@ static OMX_ERRORTYPE event_handler(OMX_HANDLETYPE component, OMX_PTR app_data, O
  103. // unsigned long in official header versions (but there are also modified
  104. // versions where it is something else).
  105. OMX_PARAM_PORTDEFINITIONTYPE out_port_params = { 0 };
  106. - OMX_PORT_PARAM_TYPE video_port_params = { 0 };
  107. - OMX_ERRORTYPE err;
  108. - int i;
  109. + OMX_PORT_PARAM_TYPE video_port_params = { 0 };
  110. + OMX_ERRORTYPE err;
  111. + int i;
  112. switch (event) {
  113. case OMX_EventError:
  114. @@ -350,36 +350,36 @@ static OMX_ERRORTYPE event_handler(OMX_HANDLETYPE component, OMX_PTR app_data, O
  115. break;
  116. case OMX_EventPortSettingsChanged:
  117. av_log(s->avctx, AV_LOG_ERROR, "OMX port %"PRIu32" settings changed\n", (uint32_t) data1);
  118. - INIT_STRUCT(video_port_params);
  119. - err = OMX_GetParameter(s->handle, OMX_IndexParamVideoInit, &video_port_params);
  120. - if(err != OMX_ErrorNone){
  121. + INIT_STRUCT(video_port_params);
  122. + err = OMX_GetParameter(s->handle, OMX_IndexParamVideoInit, &video_port_params);
  123. + if(err != OMX_ErrorNone){
  124. av_log(s->avctx, AV_LOG_ERROR, "err %d\n",err);
  125. return AVERROR_UNKNOWN;
  126. - }
  127. -
  128. - for (i = 0; i < video_port_params.nPorts; i++) {
  129. - int port = video_port_params.nStartPortNumber + i;
  130. - OMX_PARAM_PORTDEFINITIONTYPE port_params = { 0 };
  131. - INIT_STRUCT(port_params);
  132. - port_params.nPortIndex = port;
  133. - err = OMX_GetParameter(s->handle, OMX_IndexParamPortDefinition, &port_params);
  134. - if (err != OMX_ErrorNone) {
  135. - av_log(s->avctx, AV_LOG_WARNING, "port %d error %x\n", port, err);
  136. + }
  137. +
  138. + for (i = 0; i < video_port_params.nPorts; i++) {
  139. + int port = video_port_params.nStartPortNumber + i;
  140. + OMX_PARAM_PORTDEFINITIONTYPE port_params = { 0 };
  141. + INIT_STRUCT(port_params);
  142. + port_params.nPortIndex = port;
  143. + err = OMX_GetParameter(s->handle, OMX_IndexParamPortDefinition, &port_params);
  144. + if (err != OMX_ErrorNone) {
  145. + av_log(s->avctx, AV_LOG_WARNING, "port %d error %x\n", port, err);
  146. return AVERROR_UNKNOWN;
  147. - }
  148. - if (port_params.eDir == OMX_DirOutput) {
  149. - out_port_params = port_params;
  150. - dec_out_width = out_port_params.format.video.nFrameWidth;
  151. - dec_out_height = out_port_params.format.video.nFrameHeight;
  152. - dec_pix_fmt = out_port_params.format.video.eColorFormat;
  153. -
  154. + }
  155. + if (port_params.eDir == OMX_DirOutput) {
  156. + out_port_params = port_params;
  157. + dec_out_width = out_port_params.format.video.nFrameWidth;
  158. + dec_out_height = out_port_params.format.video.nFrameHeight;
  159. + dec_pix_fmt = out_port_params.format.video.eColorFormat;
  160. +
  161. av_log(s->avctx, AV_LOG_VERBOSE, "w:%d, h:%d, fmt:%d\n", dec_out_width, dec_out_height, dec_pix_fmt);
  162. - }
  163. - }
  164. + }
  165. + }
  166. break;
  167. - case OMX_EventBufferFlag:
  168. - av_log(s->avctx, AV_LOG_VERBOSE, "OMX decoder competd set event_bufferflag\n");
  169. - evnet_bufferflag = 1;
  170. + case OMX_EventBufferFlag:
  171. + av_log(s->avctx, AV_LOG_VERBOSE, "OMX decoder competd set event_bufferflag\n");
  172. + evnet_bufferflag = 1;
  173. default:
  174. av_log(s->avctx, AV_LOG_VERBOSE, "OMX event %d %"PRIx32" %"PRIx32"\n",
  175. event, (uint32_t) data1, (uint32_t) data2);
  176. @@ -563,7 +563,7 @@ static av_cold int omx_component_init(AVCodecContext *avctx, const char *role)
  177. out_port_params.bPopulated = OMX_FALSE;
  178. out_port_params.eDomain = OMX_PortDomainVideo;
  179. out_port_params.format.video.pNativeRender = NULL;
  180. - out_port_params.format.video.bFlagErrorConcealment = OMX_FALSE;
  181. + out_port_params.format.video.bFlagErrorConcealment = OMX_FALSE;
  182. out_port_params.format.video.nFrameWidth = avctx->width;
  183. out_port_params.format.video.nFrameHeight = avctx->height;
  184. out_port_params.format.video.nStride = 0;
  185. @@ -747,11 +747,11 @@ static av_cold int omx_decode_init(AVCodecContext *avctx)
  186. role = "video_decoder.avc";
  187. break;
  188. case AV_CODEC_ID_HEVC:
  189. - role = "video_decoder.hevc";
  190. - break;
  191. + role = "video_decoder.hevc";
  192. + break;
  193. case AV_CODEC_ID_MJPEG:
  194. - role = "video_decoder.mjpeg";
  195. - break;
  196. + role = "video_decoder.mjpeg";
  197. + break;
  198. default:
  199. return AVERROR(ENOSYS);
  200. }
  201. @@ -809,7 +809,7 @@ static av_cold int omx_decode_init(AVCodecContext *avctx)
  202. // }
  203. // }
  204. // #endif
  205. -
  206. +
  207. return 0;
  208. fail:
  209. return ret;
  210. @@ -825,64 +825,64 @@ static int omx_decode_frame(AVCodecContext *avctx, void *data,
  211. OMX_ERRORTYPE err;
  212. int had_partial = 0;
  213. - AVFrame *avframe = data;
  214. -
  215. - uint8_t *dst[4];
  216. - int linesize[4];
  217. + AVFrame *avframe = data;
  218. +
  219. + uint8_t *dst[4];
  220. + int linesize[4];
  221. if (pkt->size) {
  222. -
  223. +
  224. //VPU init and fill buffer slow, so empty buf sleep to send before get vpu fill buf.
  225. if(!s->first_get_outbuffer)
  226. av_usleep(100000);
  227. buffer = get_buffer(&s->input_mutex, &s->input_cond,
  228. &s->num_free_in_buffers, s->free_in_buffers, 1);
  229. - if (!buffer) {
  230. - av_log(avctx, AV_LOG_ERROR, "get_buffer NULL\n");
  231. + if (!buffer) {
  232. + av_log(avctx, AV_LOG_ERROR, "get_buffer NULL\n");
  233. return AVERROR(ENOMEM);
  234. }
  235. - //cpy the extradata
  236. - if(!s->extradata_sent && avctx->extradata ) {
  237. -
  238. - memcpy(buffer->pBuffer + buffer->nOffset, avctx->extradata, avctx->extradata_size);
  239. - memcpy(buffer->pBuffer + buffer->nOffset + avctx->extradata_size, pkt->data, pkt->size);
  240. - buffer->nFilledLen = pkt->size + avctx->extradata_size;
  241. - s->extradata_sent = 1;
  242. -
  243. - }
  244. - else {
  245. - memcpy(buffer->pBuffer + buffer->nOffset, pkt->data, pkt->size);
  246. - buffer->nFilledLen = pkt->size;
  247. - }
  248. -
  249. - /* avoid memcpy. point it addr*/
  250. - //buffer->pAppPrivate = pkt;
  251. - //buffer->pBuffer = pkt->data;
  252. - //buffer->nFilledLen = pkt->size;
  253. -
  254. - buffer->pOutputPortPrivate = NULL;
  255. - buffer->pAppPrivate = avctx->priv_data;
  256. + //cpy the extradata
  257. + if(!s->extradata_sent && avctx->extradata ) {
  258. +
  259. + memcpy(buffer->pBuffer + buffer->nOffset, avctx->extradata, avctx->extradata_size);
  260. + memcpy(buffer->pBuffer + buffer->nOffset + avctx->extradata_size, pkt->data, pkt->size);
  261. + buffer->nFilledLen = pkt->size + avctx->extradata_size;
  262. + s->extradata_sent = 1;
  263. +
  264. + }
  265. + else {
  266. + memcpy(buffer->pBuffer + buffer->nOffset, pkt->data, pkt->size);
  267. + buffer->nFilledLen = pkt->size;
  268. + }
  269. +
  270. + /* avoid memcpy. point it addr*/
  271. + //buffer->pAppPrivate = pkt;
  272. + //buffer->pBuffer = pkt->data;
  273. + //buffer->nFilledLen = pkt->size;
  274. +
  275. + buffer->pOutputPortPrivate = NULL;
  276. + buffer->pAppPrivate = avctx->priv_data;
  277. buffer->nFlags = OMX_BUFFERFLAG_ENDOFFRAME;
  278. - err = OMX_EmptyThisBuffer(s->handle, buffer);
  279. - if (err != OMX_ErrorNone) {
  280. - append_buffer(&s->input_mutex, &s->input_cond, &s->num_free_in_buffers, s->free_in_buffers, buffer);
  281. - av_log(avctx, AV_LOG_ERROR, "OMX_EmptyThisBuffer failed: %x\n", err);
  282. - return AVERROR_UNKNOWN;
  283. - }
  284. + err = OMX_EmptyThisBuffer(s->handle, buffer);
  285. + if (err != OMX_ErrorNone) {
  286. + append_buffer(&s->input_mutex, &s->input_cond, &s->num_free_in_buffers, s->free_in_buffers, buffer);
  287. + av_log(avctx, AV_LOG_ERROR, "OMX_EmptyThisBuffer failed: %x\n", err);
  288. + return AVERROR_UNKNOWN;
  289. + }
  290. } else if (!s->eos_sent) {
  291. -
  292. +
  293. if(!s->first_get_outbuffer)
  294. av_usleep(1000000);
  295. buffer = get_buffer(&s->input_mutex, &s->input_cond,
  296. &s->num_free_in_buffers, s->free_in_buffers, 1);
  297. if(!buffer) {
  298. - av_log(avctx, AV_LOG_ERROR, "get_buffer NULL\n");
  299. + av_log(avctx, AV_LOG_ERROR, "get_buffer NULL\n");
  300. return AVERROR(ENOMEM);
  301. - }
  302. + }
  303. buffer->nFilledLen = 0;
  304. buffer->nFlags = OMX_BUFFERFLAG_EOS;
  305. @@ -907,58 +907,58 @@ static int omx_decode_frame(AVCodecContext *avctx, void *data,
  306. if (!buffer) {
  307. /*eos is sent wait for vpu evnet_bufferflag to get all frames
  308. - mjpeg: sent a frame, then wait for a decoder frame
  309. - */
  310. + mjpeg: sent a frame, then wait for a decoder frame
  311. + */
  312. if((s->eos_sent && !evnet_bufferflag) || (avctx->codec_id == AV_CODEC_ID_MJPEG )) {
  313. - continue;
  314. + continue;
  315. }
  316. break;
  317. }
  318. - //if (!buffer)
  319. + //if (!buffer)
  320. // break;
  321. if(!s->first_get_outbuffer)
  322. s->first_get_outbuffer = 1;
  323. - if(!buffer->nFilledLen){
  324. + if(!buffer->nFilledLen){
  325. av_log(avctx, AV_LOG_ERROR, "buffer->nFilledLen %d\n",(int)buffer->nFilledLen);
  326. goto end;
  327. }
  328. avctx->width = dec_out_width;
  329. - avctx->height = dec_out_height;
  330. + avctx->height = dec_out_height;
  331. avctx->pix_fmt = omx_map_color_format(avctx, dec_pix_fmt);
  332. - s->stride = avctx->width;
  333. - s->plane_size = avctx->height;
  334. -
  335. + s->stride = avctx->width;
  336. + s->plane_size = avctx->height;
  337. +
  338. if (buffer->nFlags & OMX_BUFFERFLAG_EOS)
  339. s->got_eos = 1;
  340. -
  341. - if ((ret = ff_get_buffer(avctx, avframe, 0)) < 0) {
  342. - av_log(avctx, AV_LOG_ERROR, "Unable to allocate buffer\n");
  343. - goto end;
  344. - }
  345. -
  346. - ret = av_image_fill_arrays(dst, linesize, buffer->pBuffer,
  347. - avctx->pix_fmt, s->stride, s->plane_size, 1);
  348. - if (ret < 0){
  349. +
  350. + if ((ret = ff_get_buffer(avctx, avframe, 0)) < 0) {
  351. + av_log(avctx, AV_LOG_ERROR, "Unable to allocate buffer\n");
  352. + goto end;
  353. + }
  354. +
  355. + ret = av_image_fill_arrays(dst, linesize, buffer->pBuffer,
  356. + avctx->pix_fmt, s->stride, s->plane_size, 1);
  357. + if (ret < 0){
  358. av_log(avctx, AV_LOG_ERROR, "av_image_fill_arrays ret:%d\n", ret);
  359. goto end;
  360. }
  361. - av_image_copy(avframe->data, avframe->linesize, (const uint8_t**)dst, linesize,
  362. - avctx->pix_fmt, avctx->width, avctx->height);
  363. -
  364. - //avframe->pts = buffer->nTimeStamp;
  365. - //avframe->pkt_dts = AV_NOPTS_VALUE;
  366. - //avframe->pict_type= AV_PICTURE_TYPE_I;
  367. - //avframe->key_frame= 1;
  368. + av_image_copy(avframe->data, avframe->linesize, (const uint8_t**)dst, linesize,
  369. + avctx->pix_fmt, avctx->width, avctx->height);
  370. - *got_packet = 1;
  371. + //avframe->pts = buffer->nTimeStamp;
  372. + //avframe->pkt_dts = AV_NOPTS_VALUE;
  373. + //avframe->pict_type= AV_PICTURE_TYPE_I;
  374. + //avframe->key_frame= 1;
  375. - /*
  376. - if ((ret = av_frame_ref(data, avframe)) < 0)
  377. - goto end;
  378. - */
  379. + *got_packet = 1;
  380. +
  381. + /*
  382. + if ((ret = av_frame_ref(data, avframe)) < 0)
  383. + goto end;
  384. + */
  385. end:
  386. err = OMX_FillThisBuffer(s->handle, buffer);
  387. @@ -998,7 +998,7 @@ static const AVOption options_hevc[] = {
  388. { "omx_libname", "OpenMAX library name", OFFSET(libname), AV_OPT_TYPE_STRING, { 0 }, 0, 0, VDE },
  389. { "omx_libprefix", "OpenMAX library prefix", OFFSET(libprefix), AV_OPT_TYPE_STRING, { 0 }, 0, 0, VDE },
  390. { "zerocopy", "Try to avoid copying input frames if possible", OFFSET(input_zerocopy), AV_OPT_TYPE_INT, { .i64 = CONFIG_OMX_RPI }, 0, 1, VE },
  391. - { NULL },
  392. + { NULL },
  393. };
  394. static const AVOption options_mjpeg[] = {
  395. @@ -1088,8 +1088,8 @@ AVCodec ff_mjpeg_omx_decoder = {
  396. .init = omx_decode_init,
  397. .decode = omx_decode_frame,
  398. .close = omx_decode_end,
  399. - .capabilities = AV_CODEC_CAP_DR1,
  400. - .max_lowres = 3,
  401. - .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
  402. + .capabilities = AV_CODEC_CAP_DR1,
  403. + .max_lowres = 3,
  404. + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
  405. .priv_class = &omx_mjpegdec_class,
  406. };
  407. --
  408. 2.17.1