| 4748 | } |
| 4749 | |
| 4750 | static void job_setup(hb_job_t * job, hb_title_t * title) |
| 4751 | { |
| 4752 | if ( job == NULL || title == NULL ) |
| 4753 | return; |
| 4754 | |
| 4755 | job->title = title; |
| 4756 | |
| 4757 | /* Set defaults settings */ |
| 4758 | job->chapter_start = 1; |
| 4759 | job->chapter_end = hb_list_count( title->list_chapter ); |
| 4760 | job->list_chapter = hb_chapter_list_copy( title->list_chapter ); |
| 4761 | job->keep_duplicate_titles = title->keep_duplicate_titles; |
| 4762 | /* Autocrop by default. Gnark gnark */ |
| 4763 | memcpy( job->crop, title->crop, 4 * sizeof( int ) ); |
| 4764 | |
| 4765 | hb_geometry_t srcGeo, resultGeo; |
| 4766 | hb_geometry_settings_t uiGeo; |
| 4767 | |
| 4768 | srcGeo = title->geometry; |
| 4769 | |
| 4770 | memset(&uiGeo, 0, sizeof(uiGeo)); |
| 4771 | memcpy(uiGeo.crop, title->crop, 4 * sizeof( int )); |
| 4772 | uiGeo.geometry.width = srcGeo.width - uiGeo.crop[2] - uiGeo.crop[3]; |
| 4773 | uiGeo.geometry.height = srcGeo.height - uiGeo.crop[0] - uiGeo.crop[1]; |
| 4774 | uiGeo.mode = HB_ANAMORPHIC_NONE; |
| 4775 | uiGeo.keep = HB_KEEP_DISPLAY_ASPECT; |
| 4776 | |
| 4777 | hb_set_anamorphic_size2(&srcGeo, &uiGeo, &resultGeo); |
| 4778 | job->width = resultGeo.width; |
| 4779 | job->height = resultGeo.height; |
| 4780 | job->par = resultGeo.par; |
| 4781 | |
| 4782 | job->vcodec = HB_VCODEC_FFMPEG_MPEG4; |
| 4783 | job->vquality = HB_INVALID_VIDEO_QUALITY; |
| 4784 | job->vbitrate = 1000; |
| 4785 | job->multipass = 0; |
| 4786 | job->pass_id = HB_PASS_ENCODE; |
| 4787 | job->vrate = title->vrate; |
| 4788 | |
| 4789 | job->input_pix_fmt = AV_PIX_FMT_YUV420P; |
| 4790 | job->output_pix_fmt = AV_PIX_FMT_YUV420P; |
| 4791 | job->color_prim = title->color_prim; |
| 4792 | job->color_transfer = title->color_transfer; |
| 4793 | job->color_matrix = title->color_matrix; |
| 4794 | job->color_range = title->color_range; |
| 4795 | job->chroma_location = title->chroma_location; |
| 4796 | job->color_prim_override = HB_COLR_PRI_UNSET; |
| 4797 | job->color_transfer_override = HB_COLR_TRA_UNSET; |
| 4798 | job->color_matrix_override = HB_COLR_MAT_UNSET; |
| 4799 | |
| 4800 | job->mastering = title->mastering; |
| 4801 | job->coll = title->coll; |
| 4802 | job->ambient = title->ambient; |
| 4803 | job->dovi = title->dovi; |
| 4804 | job->passthru_dynamic_hdr_metadata |= title->dovi.dv_profile ? HB_HDR_DYNAMIC_METADATA_DOVI : HB_HDR_DYNAMIC_METADATA_NONE; |
| 4805 | job->passthru_dynamic_hdr_metadata |= title->hdr_10_plus ? HB_HDR_DYNAMIC_METADATA_HDR10PLUS : HB_HDR_DYNAMIC_METADATA_NONE; |
| 4806 | |
| 4807 | job->mux = HB_MUX_MP4; |
no test coverage detected